QuantumATK Forum

QuantumATK => General Questions and Answers => Topic started by: kaihuang on May 10, 2025, 00:35

Title: Definition of Dzyaloshinskii–Moriya Interactions in QuantumATK
Post by: kaihuang on May 10, 2025, 00:35
Dear ATK developers,

In recent versions of QuantumATK, the implementation of Heisenberg exchange and Dzyaloshinskii–Moriya interaction (DMI) using the Green's function method has been a valuable tool for us, improving computational efficiency greatly compared to traditional methods.

While reviewing the documentation for the Heisenberg interaction, https://docs.quantumatk.com/manual/Types/HeisenbergExchange/HeisenbergExchange.html, I found the Hamiltonian of Heisenberg exchange is H = - summation of  J*Si*Sj for i not equal to j, which is clear, and it implies the J will be double counted for ij and ji, with positive J favoring ferromagnetic alignment. However, I couldn’t find the corresponding Hamiltonian form for the DMI in the documentation. Could you please clarify the exact definition of the DMI term used in the output?

Additionally, for the Heisenberg interaction, the output clearly distinguishes between values with and without spin scaling, as shown by the columns:
|  Distance   Local index   Translation    Symbol     J_ij      J_ij/(S_i*S_j) |
This helps us interpret the results appropriately. But in the DMI output, we see only:
|  Distance  Local index  Translation   Symbol   |D|       (Dx,  Dy,   Dz)     |
There is no mention of spin scaling. Could you confirm whether the reported |D| values include the product Si*Sj, or are they independent of spin magnitude?

Best regards,
Kai Huang
Title: Re: Definition of Dzyaloshinskii–Moriya Interactions in QuantumATK
Post by: Troels-Markussen on June 4, 2025, 12:56
The DMI vectors are calculated following this paper https://arxiv.org/abs/2009.01910v2, Eq. (17) and they are not scaled by the Si*Sj in the output.