You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I added both the easy-plane anisotropy Dz and easy-axis anisotropy Dx in the magnetic Hamiltonian.
AFM.addmatrix('value',diag([Dx 0 Dz]),'label','D','color','black') (Dx<0 Dz>0)
But the symbolic solution only shows D, not Dx and Dz:
symSpec = spinwavesym(AFM,'hkl',[0; 0; 0])
pretty(symSpec.omega)
@dittosun I think you have to specify the matrices for the x and z anisotropy separately. SpinW uses the 'label' to define the symbols in the symbolic calculation and in your example you the same 'label' (D). Try:
The program can only know the latest addaniso Dx (If I invert the sequence like
AFM.addaniso('Dx')
AFM.addaniso('Dz')
only Dz is included in the calculation ).
And if I check the single-ion anisotropy matrix by using NiPS3.single_ion.aniso,
only one matrix is assigned to the single_ion term. So I don't know how to add two single-ion anisotropy in the program.
By the way, if I use AFM.addmatrix('value',diag([Dx 0 Dz]),'label','D','color','black') in the program,
the numeric plot of spinwave dispersion seems to be right, but only the symbolic solution is not correct.
I added both the easy-plane anisotropy Dz and easy-axis anisotropy Dx in the magnetic Hamiltonian.
AFM.addmatrix('value',diag([Dx 0 Dz]),'label','D','color','black') (Dx<0 Dz>0)
But the symbolic solution only shows D, not Dx and Dz:
symSpec = spinwavesym(AFM,'hkl',[0; 0; 0])
pretty(symSpec.omega)
#1 == sqrt((2 D - J1 + 3 J3) (D - 2 J1 + 4 J2)) 2
#2 == sqrt(2) sqrt((D - J1 + 2 J2) (D - J1 + 3 J3)) 2
#3 == sqrt(D (2 D + J1 + 4 J2 + 3 J3)) 2
#4 == sqrt(2) sqrt(D (D + J1 + 4 J2 + 3 J3)) 2
How can I get the right symbolic solution of eigenvalue with Dx and Dz, not D?
The text was updated successfully, but these errors were encountered: