Hi everyone,
I wanted to apply a radial current in an annular region with the outer diameter of 300 nm and an inner diameter of 100 nm, and move the skyrmion along that track. Can someone help me determine whether the current has been applied correctly? I am trying to apply the snippet below for the motion of the skyrmion, but the skyrmion is not moving.
Thank you in advance.
*****CODE*****
// Spin-orbit torque parameters
SOTxi := -2
AlphaH := 0.15
Pol = AlphaH
Lambda = 1
Epsilonprime = AlphaH * SOTxi / 2
// Mask for the fixed layer (tangential polarization)
mask := newVectorMask(Nx, Ny, 1)
for i := 0; i < Nx; i++ {
for j := 0; j < Ny; j++ {
r := index2coord(i, j, 0)
x := r.X()
y := r.Y()
phi := atan2(y, x)
Rval := sqrt(x*x + y*y)
// Only in the annular region
if Rval > Ri && Rval < Rc {
mask.setVector(i, j, 0, vector(-sin(phi), cos(phi), 0))
}
}
}
fixedlayer.Add(mask, 1)
Jmask := newVectorMask(Nx, Ny, 1)
for i := 0; i < Nx; i++ {
for j := 0; j < Ny; j++ {
r := index2coord(i, j, 0)
x := r.X()
y := r.Y()
phi := atan2(y, x)
Rval := sqrt(x*x + y*y)
// Only in the annular region
if Rval > Ri && Rval < Rc {
Jmask.setVector(i, j, 0, vector(cos(phi), sin(phi), 0))
}
}
}
J.Add(Jmask, -1e11)
// Output
autosave(m, 10e-12)
tableAutosave(10e-12)
run(10e-9)