Hello everyone,I am working on simulating the antiferromagnetic resonance (AFMR) spectra of CrSbR consistent with the results in published papers. The figure presents my simulation outcomes, and I have encountered a problem: the low-frequency mode decreases to zero near the spin-flip point. This is inconsistent with both experimental data and theoretical conclusions.
I have tried modifying the values of the anisotropy field and exchange interaction field, but this phenomenon still persists and cannot be corrected. I would be grateful if anyone could give me some advice on revising my code to resolve this problem .
Thank you for your help in advance!
%%%code%%%
//-------- Structure parameters -----------------
SetGridsize(50, 50, 33)
SetCellsize(5e-9, 5e-9, 5e-9)
setPBC(1,1,0) //Set periodic boundary conditions
Msat = 2.05e+5
Aex = 0.87e-12
alpha = 0.0001
// ======= Anisotropy fields (hard axes) =======
// axis mapping: x=a, y=b (easy axis), z=c
Ha := 0.27 // Tesla, intermediate hard axis along a
Hc := 1.8 // Tesla, hard axis along c
// hard-axis field term: B_ani = -Ha*(m·a) a and -Hc*(m·c) c
uA := ConstVector(1, 0, 0) // a-axis (x)
uC := ConstVector(0, 0, 1) // c-axis (z)
BaniA := Mul(Const(-Ha), Mul(Dot(uA, m), uA))
BaniC := Mul(Const(-Hc), Mul(Dot(uC, m), uC))
AddFieldTerm(BaniA)
AddFieldTerm(BaniC)
//------ Assigning of the magnetization of each island ------
for i:=0; i<33; i++{
defRegion(i, layer(i))
}
for i := 0; i < 32; i++ {
ext_InterExchange(i, i+1, -2.3e-13)
}
for i:=0; i<33; i++{
if mod(i,2)==0.0{
m.SetRegion(i, uniform(0.01*rand(), 1, 0))
}else{
m.SetRegion(i, uniform(-0.01*rand(), -1, 0))
}
}
//Temp= 24
RandomMagSeed(1)
//////////// Output ////////////
save(geom)
save(m)
save(regions)
//autosave(m, 5e-9)
a1 := 0
TableAdd(B_ext)
TableAddVar(a1, "step", "T")
Bstep := 0.01
Amp := 0.001
t0 := 1e-10
f := 100e+9
w := 2*pi*f
//////// FMR response simulation (0 -> -0.8 T)//////////
nstep := 80 // i=0..80 -> B_bias=0..-0.8T
for i:=0; i<=nstep; i++ {
a1 = i + 1
B_bias := 0.0+Bstep*i // 0 -> -0.8 T
B_ext = vector(0, B_bias, 0)
print(B_ext)
TableAutoSave(0)
RandomMagSeed(1)
relax()
run(2e-9)
B_ext = vector(0, B_bias + Amp*sin(w*(t-t0))/(w*(t-t0)), 0)
TableAutoSave(5e-12)
run(8e-9)
}
////////////////////////////////////////////////////////////