exchange calculation in noncollinear triangular AFM

41 views
Skip to first unread message

Karel Carva

unread,
Jun 13, 2025, 6:13:18 AMJun 13
to TB2J
Dear all,
I am wondering whether exchange constants in a system with noncollinear AFM with moments on a triangle (rotated by 120 deg) can be calculated by TB2J. Nevertheless I attempted the calculation on Wannierized output from VASP, and noticed few strange things. Namely exchange.out ignores any moment in y direction - maybe some bug in reading spinor format?
Also assigned_basis.txt does not correspond to the expected order of Wannier bands (obtained by begin projections Mn:l=2 Ni:l=2 end projections)
I attach exchange.out, below I past how it should look like for the three M components (ions 1-3 are Mn - magnetic)

Best regards,
Karel

 magnetization (x)

# of ion       s       p       d       tot
------------------------------------------
    1       -0.030  -0.030  -3.053  -3.112
    2        0.015   0.015   1.526   1.556
    3        0.015   0.015   1.526   1.556
    4        0.000   0.000  -0.001  -0.001
    5        0.000  -0.001   0.000  -0.001
--------------------------------------------------
tot          0.000  -0.001  -0.002  -0.002



 magnetization (y)

# of ion       s       p       d       tot
------------------------------------------
    1        0.015   0.015   1.526   1.556
    2       -0.030  -0.030  -3.053  -3.112
    3        0.015   0.015   1.526   1.556
    4        0.000   0.000  -0.001  -0.001
    5        0.000  -0.001   0.000  -0.001
--------------------------------------------------
tot          0.000  -0.001  -0.002  -0.002



 magnetization (z)

# of ion       s       p       d       tot
------------------------------------------
    1        0.015   0.015   1.526   1.556
    2        0.015   0.015   1.526   1.556
    3       -0.030  -0.030  -3.053  -3.112
    4        0.000   0.000  -0.001  -0.001
    5        0.000  -0.001   0.000  -0.001
--------------------------------------------------
tot          0.000  -0.001  -0.002  -0.002

Karel Carva

unread,
Jun 13, 2025, 6:15:33 AMJun 13
to TB2J

Start of exchange.out below, not possible to attach it> 

==========================================================================================
Information:
Exchange parameters generated by TB2J 0.8.2.8
Generation time: 25/06/13 11:01:31
 Input from non-collinear Wannier90 data.
 Tight binding data from ./.
 Prefix of wannier function files:wannier90.
Warning: Please check if the noise level of Wannier function Hamiltonian to make sure it is much smaller than the exchange values.
 The DMI component parallel to the spin orientation, the Jani which has the component of that orientation should be disregarded
 e.g. if the spins are along z, the xz, yz, zz, zx, zy components and the z component of DMI.
 If you need these component, try to do three calculations with spin along x, y, z,  or use structure with z rotated to x, y and z. And then use TB2J_merge.py to get the full set of parameters.


==========================================================================================
Cell (Angstrom):
3.88800000  0.00000000  0.00000000
0.00000000  3.88800000  0.00000000
0.00000000  0.00000000  3.88800000

==========================================================================================
Atoms:  
(Note: charge and magmoms only count the wannier functions.)
Atom_number        x             y             z       w_charge    M(x)      M(y)      M(z)  
Mn1             0.00000000    1.94400000    1.94400000    6.0872   -2.9345    0.0000    1.4814
Mn2             1.94400000    0.00000000    1.94400000    6.0872    1.4672    0.0000    1.4814
Mn3             1.94400000    1.94400000    0.00000000    6.0869   -0.0000    0.0000    2.9477
Ni1             0.00000000    0.00000000    0.00000000    9.3976   -0.0007    0.0000   -0.0006
N1              1.94400000    1.94400000    1.94400000    5.5012   -0.0002    0.0000   -0.0003
Total                                                    33.1601   -1.4683    0.0000    5.9097

==========================================================================================
Exchange:
    i      j          R        J_iso(meV)          vector          distance(A)
----------------------------------------------------------------------------------------
   Mn1   Mn2   ( -1,   0,   0) -17.6528   (-1.944, -1.944,  0.000)  2.749
J_iso: -17.6528
[Testing!] DMI: ( 7.8300  7.8299  7.7307)
[Testing!]J_ani:
[[-0.875  1.213 -3.355]
 [ 1.213 -0.887 -3.343]
 [-3.355 -3.343  3.71 ]]
----------------------------------------------------------------------------------------
   Mn1   Mn3   ( -1,   0,   0) 13.9197   (-1.944,  0.000, -1.944)  2.749
J_iso: 13.9197
[Testing!] DMI: ( 2.8176  7.6721 -5.3828)
[Testing!]J_ani:
[[-15.42    0.066   0.222]
 [  0.066 -13.664   5.499]
 [  0.222   5.499   0.669]]

Xu He

unread,
Jun 13, 2025, 7:59:27 AMJun 13
to Karel Carva, TB2J
Hello, 
I remember that the M(y)=0 was a bug in one version of TB2J and was fixed already. Could you try with the most recent version? 
For reading the Wannier functions, can you check the Wannier centers to see which atoms they are closed to? TB2J requires the orbitals to be close to the atom centers.  Can you also check if the Wannier spreads are small and the Wannier bands consist with the DFT results. For fully non-collinear case, the Wannierization can be a bit difficult. 
Best regards, 
HeXu

--
You received this message because you are subscribed to the Google Groups "TB2J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tb2j+uns...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/tb2j/aa409996-abdb-48c5-92f4-3711912abb8dn%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Karel Carva

unread,
Jun 16, 2025, 1:00:03 PMJun 16
to TB2J
Thank you! Version 0.99 indeed fixes the problem with M(y)
Assigned_basis is still permuted. wannier90_centres.xyz and .wout lists the order that is expected:

    51
 Wannier centres, written by Wannier90 on13Jun2025 at 07:51:40
X         -0.00000000      -1.94400000      -1.94400000
X         -0.00000000      -1.94400000      -1.94400000
X          0.00000000      -1.94400000      -1.94400000
X         -0.00000000      -1.94400000      -1.94400000
X         -0.00000000      -1.94400000      -1.94400000
X          0.00000000      -1.94400000      -1.94400000
X          0.00000000      -1.94400000      -1.94400000
X         -0.00000000      -1.94400000      -1.94400000
X          0.00000000      -1.94400000      -1.94400000
X         -0.00000000      -1.94400000      -1.94400000
X         -1.94400000      -0.00000000      -1.94400000
X         -1.94400000      -0.00000000      -1.94400000
X         -1.94400000       0.00000000      -1.94400000
X         -1.94400000       0.00000000      -1.94400000
X         -1.94400000       0.00000000      -1.94400000
X         -1.94400000      -0.00000000      -1.94400000
X         -1.94400000      -0.00000000      -1.94400000
X         -1.94400000      -0.00000000      -1.94400000
X         -1.94400000      -0.00000000      -1.94400000
X         -1.94400000      -0.00000000      -1.94400000
...etc. - 10 bands for atom Mn1, the same for Mn2, Mn3, Ni

But in assigned_basis the order is like this - jumping by 2:
Mn1|orb_1  1
Mn3|orb_1  2
Mn1|orb_2  3
Mn3|orb_2  4
Mn1|orb_3  5
Mn3|orb_3  6
Mn1|orb_4  7
Mn3|orb_4  8
Mn1|orb_5  9
Mn3|orb_5  10
Mn1|orb_6  11
Mn3|orb_6  12
Mn1|orb_7  13
Mn3|orb_7  14
Mn1|orb_8  15
Ni1|orb_1  16
Mn1|orb_9  17
Ni1|orb_2  18
Mn1|orb_10  19
Ni1|orb_3  20 

The main problem is that those J ,which should be equal by symmetry, are equal only sometimes
Reply all
Reply to author
Forward
0 new messages