Hi, I am working on current-induced switching; for that, I am giving pulsed current, i.e., after a certain time, a current density is applied, and then the current is switched off for a certain time. Since there are many oscillations and complete switching is not observed, I want to relax and show the saturation.
I just want clarification on whether to relax or run(time) / run after relax / relax after run. Or check whether my way of relaxing is correct or not. The code I am using is below. Please clarify and help me out of this.
setgridsize(256, 256, 1)
setcellsize(2e-9, 2e-9, 1e-9)
G := cylinder(512e-9, 1e-9)
setgeom(G)
Msat = 1.14e6
Aex = 12e-12
ku1 = 8.9e5
theta := 2*pi/180
AnisU = vector(sin(theta),0,cos(theta))
m = uniform(0,0,-1)
alpha = 0.02
//Dind = -0.76e-3
relax()
saveas(m, "uniform")
//Define constants
alphaH:=0.6
e:=1.6021766e-19
d:=1e-9
Ms:=1.14e6
hbar:=1.0545718e-34
p:=Constvector(0, 1, 0)
SOTxi:=-2
B_ext = vector(0.005, 0, 0)
J_SOT:=abs(9e10)
//Define prefactors aj and bj
aj := Const(J_SOT*(hbar/2.*alphaH/e/d/Ms))
bj := Mul(aj,Const(SOTxi))
// Add damping-like SOT term
dampinglike := Mul(aj, Cross(m,p))
AddFieldTerm(dampinglike)
AddEdensTerm(Mul(Const(-0.5),Dot(dampinglike,M_full)))
// Add field-like SOT term
fieldlike:= Mul(bj,p)
AddFieldTerm(fieldlike)
AddEdensTerm(Mul(Const(-0.5),Dot(fieldlike,M_full)))
autosave(m,0.05e-9)
tableAutosave(0.05e-9)
tableadd(B_ext)
tableadd(E_total)
tableadd(E_zeeman)
tableadd(E_demag)
tableadd(E_exch)
tableadd(E_anis)
tableadd(SpinAngle)
tableadd(MaxAngle)
tableadd(Edens_Zeeman)
tableadd(Edens_demag)
tableadd(Edens_exch)
tableadd(Edens_anis)
tableadd(Edens_total)
tableaddVar(J_SOT, "J_SOT", "A/m^2")
run(4.7e-9)
J_SOT = 0
B_ext = vector (0, 0, 0)
relax()
autosave(m, 0.5e-10)
tableautosave(0.5e-10)
run(5e-9)
Thank You.