Respected sir
I am running the below code with a 20 ns step pulse, but switching in mx, my, and mz could not be seen; it continuously oscillates back and forth. Even if I increase jc, there is still no effect. What specific issue exists in the code?
I want to reproduce this paper result; the link is given below.
Sun, Lin, et al. "A high-speed and power-efficient gradient-pulse injection method for spin-transfer torque magnetic random-access memory." Applied Physics Letters 123.3 (2023).// geometry
sizeX := 160e-9
sizeY := 80e-9
sizeZ := 5e-9
Nx := 64
Ny := 32
setgridsize(Nx, Ny, 1)
setcellsize(sizeX/Nx, sizeY/Ny, sizeZ)
setGeom(ellipse(sizeX, sizeY))
// set up free layer
Msat = 1000e3
Aex = 1.5e-11
alpha = 0.007
Ku1 = 0.6e6
anisu = vector( 0, 0, 0.6e6,)
// set up fixed layer polarization
angle := 20
px := cos(angle * pi/180)
py := sin(angle * pi/180)
fixedlayer = vector(-px, -py, 0)
// set up fixed and spacer layer parameters
lambda = 1
Pol = 0.5669
epsilonprime = 0
// send current
Jtot := 0.02 // total current in A
area := sizeX*sizeY*pi/4
jc := Jtot / area // current density in A/m2
J= vector(0,0,0)
run(1e-9)
J=vector(0,0,jc)
run(20e-9)
J= vector(0,0,0)
run(1e-9)
autosave(m, 10000e-12)
tableautosave(10e-12)
tableadd(E_Total)
tableAdd(E_anis)
tableAdd(E_demag)
tableAdd(E_Zeeman)
run(30e-9)