Exchange Tensor

805 views
Skip to first unread message

Michail Tzoumanekas

unread,
Jan 31, 2022, 5:08:21 AM1/31/22
to Vampire Users
Dear all, 

I have a question about the form of the exchange tensor which includes the DMI components: 
                                            Jxx  Dz,ij  -Dy,ij
                             Jij   =     -Dz,ij  Jyy  Dx,ij
                                            Dy,ij  -Dx,ij  Jzz

The Jxx, Jyy, Jzz  components are only from the anisotropic part, or do they include the isotropic one?

Best regards

Tzoumanekas Michail

gabo...@gmail.com

unread,
Feb 1, 2022, 12:55:24 AM2/1/22
to Vampire Users
I could be wrong, but I'm thinking it is your choice whether Jij contains the isotropic exchange, anisotropic exchange, or both.

In the VAMPIRE 5.0 manual [1] on page 24 for the ucf file it has the following.

line 12Defines the total number of interactions for the unit cell and the expected type of exchange (isotropic, vectorial, tensorial, normalized-isotropic, normalized-vectorial, normalized-tensorial).

The "tensorial" seems to be what you would need to use for Jij.  It looks like the function spin_exchange_energy_tensorial on line 79 in energy.cpp [2] of VAMPIRE version 5.0 is defining the tensorial exchange energy.

I did NOT fully check that code, but if it happens to be defining the generalized exchange energy like in equation (2.11) on page 28 of the dissertation titled "The ultrafast magnetisation dynamics and the role of the exchange interactions" by R. M. Ortega [3].  Then, it looks like the tensor Jij with the isotropic exchange, anisotropic exchange, and DMI could be obtained by equation (2.13) in [3]:

Jij = Jij*I + Jij_S + J*Jij_A

where Jij is the isotropic exchange, I is the identity matrix, Jij_S is the two ion anisotropic exchange, and J*Jij_A is the DMI (Dzialoshinsky-Moriya Interaction).

The example on slide 9 in [4] seems to be showing the use of only an isotropic exchange Jxx = Jyy = Jzz = 1.6e-22 and DMI Jxz = Jzx = Dy,ij = -1.60e-22.

There seems to be package called TB2J [5] that when used with a density functional theory program (Abinit, Quantum Espresso, Siesta, VASP, etc.) can calculate the isotropic exchange, anisotropic exchange, and DMI.  The TB2J package seems to have a file named io_vampire.py [6] that will output ucf files (as well as create input and mat files) that can be used as input files to VAMPIRE.  However, the documentation for TB2J version 0.7.1 at [7] and past TB2J Google group post at [8] mention that currently only the isotropic exchange is being outputted by TB2J to the ucf file.  It says outputting of the anisotropic exchange and DMI will be soon added indicating the TB2J developers have plans to release that in a future version.  Thus, while waiting for the TB2J developers to modify their code to do that automatically, it looks like if you need the anisotropic exchange and DMI contribution to the exchange energy then you would have to get the data from the TBJ2 output file [9] and then add that the VAMPIRE ucf file manually by hand (unless you do your own programing to do it).

[3] http://hdl.handle.net/10486/680092

Hope that helps and good luck,
Gavin
VAMPIRE user

Michail Tzoumanekas

unread,
Feb 1, 2022, 4:47:49 AM2/1/22
to Vampire Users
Thank you Gavin!!

All of these you posted are very helpful. Actually, I am aware of the TB2J software. You shared my conversation in the TB2J forum, where I am asking about the deviation in the atomic magnetic moment of my system. For those who are interested in the calculation of the exchange interactions using TB2J and Quantum Espresso, when in Non-Collinear mode with SOC, by the method of averaging multiple parameters, the option --groupby orbital (For QE as far I know) must be considered. 

So I guess from what I understood, for complex systems all three terms of the exchange energy must be combined. 

Thank you again!

Tzoumanekas Michail

gabo...@gmail.com

unread,
Feb 1, 2022, 11:08:50 PM2/1/22
to Vampire Users
From reading about the isotropic and anisotropic components in the post at [1].  That's my understanding too that the three terms (isotropic, anisotropic, and DMI) of the exchange energy have to be combined to get the 3 x 3 tensor Jij. That way you could use the 3 x 3 tensor (9 values [2]) that the VAMPIRE developer Dr. Evans seems to describe as the Jij(r) function [3].


Kind Regards,
Gavin
VAMPIRE user

On Tuesday, February 1, 2022 at 2:47:49 AM UTC-7 pstm1...@uoi.gr wrote:
Thank you Gavin!!

All of these you posted are very helpful. Actually, I am aware of the TB2J software. You shared my conversation in the TB2J forum, where I am asking about the deviation in the atomic magnetic moment of my system. For those who are interested in the calculation of the exchange interactions using TB2J and Quantum Espresso, when in Non-Collinear mode with SOC, by the method of averaging multiple parameters, the option --groupby orbital (For QE as far I know) must be considered. 

So I guess from what I understood, for complex systems all three terms of the exchange energy must be combined. 

Thank you again!

Tzoumanekas Michail

Στις Τρίτη 1 Φεβρουαρίου 2022 στις 7:55:24 π.μ. UTC+2, ο χρήστης gabo...@gmail.com έγραψε:
I could be wrong, but I'm thinking it is your choice whether Jij contains the isotropic exchange, anisotropic exchange, or both.

In the VAMPIRE 5.0 manual [1] on page 24 for the ucf file it has the following.

line 12Defines the total number of interactions for the unit cell and the expected type of exchange (isotropic, vectorial, tensorial, normalized-isotropic, normalized-vectorial, normalized-tensorial).

The "tensorial" seems to be what you would need to use for Jij.  It looks like the function spin_exchange_energy_tensorial on line 79 in energy.cpp [2] of VAMPIRE version 5.0 is defining the tensorial exchange energy.

I did NOT fully check that code, but if it happens to be defining the generalized exchange energy like in equation (2.11) on page 28 of the dissertation titled "The ultrafast magnetisation dynamics and the role of the exchange interactions" by R. M. Ortega [3].  Then, it looks like the tensor Jij with the isotropic exchange, anisotropic exchange, and DMI could be obtained by equation (2.13) in [3]:

Jij = Jij*I + Jij_S + J*Jij_A

where Jij is the isotropic exchange, I is the identity matrix, Jij_S is the two ion anisotropic exchange, and J*Jij_A is the DMI (Dzialoshinsky-Moriya Interaction).

The example on slide 9 in [4] seems to be showing the use of only an isotropic exchange Jxx = Jyy = Jzz = 1.6e-22 and DMI Jxz = Jzx = Dy,ij = -1.60e-22.

There seems to be package called TB2J [5] that when used with a density functional theory program (Abinit, Quantum Espresso, Siesta, VASP, etc.) can calculate the isotropic exchange, anisotropic exchange, and DMI.  The TB2J package seems to have a file named io_vampire.py [6] that will output ucf files (as well as create input and mat files) that can be used as input files to VAMPIRE.  However, the documentation for TB2J version 0.7.1 at [7] and past TB2J Google group post at [8] mention that currently only the isotropic exchange is being outputted by TB2J to the ucf file.  It says outputting of the anisotropic exchange and DMI will be soon added indicating the TB2J developers have plans to release that in a future version.  Thus, while waiting for the TB2J developers to modify their code to do that automatically, it looks like if you need the anisotropic exchange and DMI contribution to the exchange energy then you would have to get the data from the TBJ2 output file [9] and then add that to the VAMPIRE ucf file manually by hand (unless you do your own programing to do it).

gabo...@gmail.com

unread,
Feb 1, 2022, 11:29:31 PM2/1/22
to Vampire Users
Sorry, for the previous post below, the following references to Dr. Evans publications were missing in it.


On Tuesday, February 1, 2022 at 9:08:50 PM UTC-7 gabo...@gmail.com wrote:
From reading about the isotropic and anisotropic components in the post at [1].  That's my understanding too that the three terms (isotropic, anisotropic, and DMI) of the exchange energy [4,5] have to be combined to get the 3 x 3 tensor Jij. That way you could use the 3 x 3 tensor (9 values [2]) that the VAMPIRE developer Dr. Evans seems to describe as the Jij(r) function [3].

Michail Tzoumanekas

unread,
Feb 4, 2022, 7:39:08 AM2/4/22
to Vampire Users
Gavin, may I ask you another question?

First of all, I have tried the combination of both Jiso+Jani+DMI (unbound_substrates_Jiso+Jani+DMI.png) and Jiso+DMI (unbound_substrates_Jiso+DMI.png), 
but I am getting the same behavior. The substrates seem to be unbound, despite the different parameters submitted to the system, meaning changes in the magnetic field, initial spin direction, and uniaxial anisotropy constant. 

Do you happen to know the reason for this behavior? I am in searching for specific magnetic configurations as in this picture bound_substrates.png. Of course, I compared the inputs files for these systems and the only reason that came up to me concerns the magnitude of the exchange interactions. If you or anyone know even intuitively any reason for such behavior, it would be extremely helpful.

Kind regards

Tzoumanekas Michail

* I have to mention that I observe these when am running field cooling simulations
** I have not yet tried the combination of Jani+DMI only 
unbound_substrates_Jiso+DMI.png
bound_substrates.png
unbound_substrates_Jiso+Jani+DMI.png
Reply all
Reply to author
Forward
0 new messages