tsdev / spinw

SpinW Matlab library for spin wave calculation
www.psi.ch/spinw
GNU General Public License v3.0
30 stars 35 forks source link

Defination of biquadratic exchange #65

Open jingzhouphy opened 3 years ago

jingzhouphy commented 3 years ago

@tsdev Hi, Dr. Toth

I am trying to use the 'type' option to add biquadratic exahange in my model (bcc lattice) :

LaSrCrO4.addcoupling('mat','Biq','bond', 4, 'type', 'biquadratic');

I assume this add a Q(Si Sj)^2 type term to the Hamiltonian. However the spinwave calculated by SpinW is a little different from my analytic calculations. And I found that if the defination of biqudratic is 0.5Q(Si * Sj)^2 , these two results fit perfectly.

I read your tutorial document "tutorial28.m". This document also compared the results of analystic calculation and SpinW on fcc lattice.

fcc.addmatrix('label','B','value',-0.5*Q/S^3*2)

fcc.addcoupling('mat','B','bond',1,'type','biquadratic')

According to the paper ''PHYSICAL REVIEW B 85, 054409 (2012)'' mentioned in "tutorial28.m", their Hamiltonian is:

image

In this example, we also have to add another factor 2 in SpinW to get consistent results.

So I want to confirm that when we use command

fcc.addcoupling('mat','B','bond',1,'type','biquadratic')

we actually add 0.5Q(Si Sj)^2 instead of Q(Si * Sj)^2 to Hamiltonian?

JingZhou