Hello everyone,
I am trying to simulate the resonance of a type-A antiferromagnetic film with a YIG thin film underneath.
Now I have two questions. First, regarding the resonance results for a single antiferromagnetic material, the out-of-plane mode clearly shows the presence of two standing waves/modes,as shown in Figure 1.As shown in Figure 2, pure YIG does not exhibit many different modes.
The second problem is that the system combining antiferromagnetic material and YIG exhibits many standing waves under an applied magnetic field and resonance conditions, making it difficult to observe the resonance
peaks.as shown in Figure 3.
Could someone please tell me how to modify the code to fix these problems?, is it correct to perform an FFT on the overall magnetization of the combined structure?
Thanke you in advance for your help!
%%%CODE%%
//////// Structure parameters //////////////////
SetGridsize(50, 50, 43)
SetCellsize(5e-9, 5e-9, 5e-9)
setPBC(1,1,0)
a := cuboid(1000e-9, 1000e-9, 1200e-9).transl(0, 0, 0)
setgeom(a)
saveas(geom, "logicAdd")
for i:=0; i<33; i++ {
DefRegion(i+1, layer(i+10))
}
Ms_AF := 2.05e5
Aex_AF := 0.87e-12
alpha_AF := 5e-3
Ms_YIG := 1.4e5
Aex_YIG := 3.7e-12
alpha_YIG := 5e-4
Msat = 0
Aex = 0
alpha = 0
// YIG:region 0
Msat.SetRegion(0, Ms_YIG)
Aex.SetRegion(0, Aex_YIG)
alpha.SetRegion(0, alpha_YIG)
// AFM:regions 1..201
for i:=1; i<=33; i++ {
Msat.SetRegion(i, Ms_AF)
Aex.SetRegion(i, Aex_AF)
alpha.SetRegion(i, alpha_AF)
}
anisU.SetRegion(0, vector(0, 0, 0))
K1 := 2.85e4
u1 := ConstVector(0, 1, 0)
K3 := -1.0e5
u3 := ConstVector(0, 0, 1)
prefactor1 := Const( (2 * K1) / Ms_AF )
prefactor3 := Const( (2 * K3) / Ms_AF )
MyAnis1 := Mul(prefactor1, Mul( Dot(u1, m), u1))
MyAnis3 := Mul(prefactor3, Mul( Dot(u3, m), u3))
shapeAFM := layer(10)
for iz:=11; iz<43; iz++ {
shapeAFM = shapeAFM.Add(layer(iz))
}
m_AFM := Masked(m, shapeAFM)
shapeYIG := shapeAFM.Inverse()
m_YIG := Masked(m, shapeYIG)
MyAnis1_AF := Masked(MyAnis1, shapeAFM)
MyAnis3_AF := Masked(MyAnis3, shapeAFM)
AddFieldTerm(MyAnis1_AF)
AddFieldTerm(MyAnis3_AF)
for i:=1; i<=32; i++ {
ext_InterExchange(i, i+1, -0.45e-12)
}
for i:=1; 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))
}
}
m.SetRegion(0, uniform(-0.01*rand(), -1, 0))
RandomMagSeed(1)
//Temp = 24
save(geom)
save(m)
save(regions)
a1:=0
TableAdd(B_ext)
TableAddVar(a1, "step", "T")
TableAdd(m_YIG)
TableAdd(m_AFM)
// (FMR)
Bstep :=0.01
Amp := 0.001
t0 := 1e-10
f := 100e+9
w := 2*pi*f
nstep := 80
for i:=0; i<=nstep; i++ {
a1=i+1
B_bias:=0+Bstep*i
B_ext = vector(B_bias*0, B_bias, 0)
print(B_ext)
TableAutoSave(0)
RandomMagSeed(1)
relax()
Minimize()
run(2e-9)
//Minimize()
B_ext = vector(0, B_bias + Amp*sin(w*(t - t0))/(w*(t - t0)), 0)
//FixDt = 5e-13
TableAutoSave(5e-12)
run(8e-9)
//FixDt = 0
}