Posts: 5
 Last online: 06.29.2021


Dear Yang,
The procedure consists of several steps. As usual, an operator is calculated in the Bloch basis first, and then we "rotate" the representation into the Wannier basis. In FLEUR, we can do this for the torque operator "T=sigma x Om", where sigma is the Pauli matrix and Om is the effective field due to exchange interaction.
We plan to write documentation for the procedure to calculate the SOT soon in the FLEUR webpage with example (flapw.de). Please understand that this may take a while since Wannier routines of the FLEUR code are maintained by only a few people who have many other research projects as well...
Best, Dongwook

Dear Subhadip,
I apologize for the very late response. It's a bit difficult to tell exactly what went wrong, but this seems to come from a mistake.
Since the program complains about the energy eigenvalue, you might check again whether the band selection specifies correct indices of the FLEUR bands and enough number of energy eigenvalues are calculated (sometimes FLEUR does not calculate enough bands. In this case you can specify "numbands" in "inp.xml"). As the error says, the energy eigenvalues written in WF1.eig are quite low, compared to what I obtained in my calculation.
By the way, was there any progress since then?
Best, Dongwook


Dear Rafael,
If you refer to the symmetryadapted Wannier functions (PRB 87,235109), FLEUR code does not have an interface yet.
But usually, unless you have problems with a choice of the initial projection, the symmetry of the crystal (including magnetic) is preserved in the outcome of the calculation, e.g. band structure, expectation values, response functions. If you still have a problem, maybe you could try to set the initial projections such that they respect the symmetry of the crystal from the beginning. It would be helpful if you could tell us what types of calculations you are planning to do and what are the problems in detail.
Best, Dongwook

Dear Rafael,
In order to calculate the SOT, you need to obtain the following operators:
 Hamiltonian, position  Torque operator ~ sigma x M
For the Hamiltonian and position operators, you can obtain these from wannier90 by specifying "WRITE_HR=true" and "WRITE_RMN=true" in "WF1.win". The torque operator can be obtained in fleur as a postprocessing once you finished the wannierization.
First, run fleur with"updown" and "perpmag" key in the joblist. This will calculate the torque operator in the Bloch basis represetnation. Second, run fleur again with ""perpmagrs". With this, the fleur performs the inverse Fourier transformation to Rspace and applying the unitary matrix stored in ".chk" file.
Once you obtain these operators written in the Wannier basis, you need to make your own Wannier interpolation program to calculate a linear response of the torque from an external electric field.
Best, Dongwook


1 2 3 4 5 6 7 program HelloWorld print *, "Hello world!" end program

