Re: [mumax2] Mumax3 current density direction problem "J=vector(x,y,z)"

653 views
Skip to first unread message
Message has been deleted

Felipe Garcia

unread,
Jan 24, 2021, 9:17:24 AM1/24/21
to mumax2
Hi Zulfidin Khodzhaev,

I think one can not see how you finally assign the value of J, because your slice of script is not included. Anyway, I think you are moving the Skyrmion with the Zhang-Li torque, Spin transfer torque. This torque is produced by a current that runs through the ferromagnetic layer. It is active in your case by default. In the SOT case then it is usually moved with a vertical spin current and with a given SOT polarization, with the fixedlayer having the role of the SOT polarization. That agrees with the tutorial.
One can disable and enable both torques with DisableZhangLiTorque = true or DisableSlonczewskiTorque = true. One can see that explained in the section of Spin Currents in http://mumax.github.io/api.html. I think that if you disable the  Zhang Li  torque, your skyrmion will not move. For the differences and the origin of both motions one can take a look at the literature of Skyrmion motion.

Best regards,
Felipe

On Fri, Jan 22, 2021 at 9:07 AM Zulfidin Khodzhaev <zulfidin...@gmail.com> wrote:
Hello everyone and I appreciate the people's help here,

I encountered with skyrmion directionality problem:

So, this was giving a skyrmion moving to the "right" direction:
--------------------------------------------------------------------------------------
.
.
.
.
msat =960e3//saturation magnetization
Dind = 1.5e-3// interfacial Dmoria interaction
Ku1 = 0.717e6 // uniaxial anisotropy constant
anisu = vector(0, 0, 1)

Aex= 16e-12// exchange constant
Xi = 0.2 // torque
alpha = 0.1    //Landau-Lifshitz damping constant
m=uniform(0,0,1)


//Temp=0

// define grains with region number 0-255
grainSize  := 98e-9  // m
randomSeed := 1234567
maxRegion  := 100
ext_makegrains(grainSize, maxRegion, randomSeed)
for i:=4; i<maxRegion; i++{
// random 10% anisotropy variation
K := 0.717e6
Ku1.SetRegion(i, K + randNorm() * 0.015 * K)
}
.
.
pol = 0.4 // polarization
J11 := -5e11 // current densit
.
.
mask := newVectorMask(Nx, Ny, Nz)


for i:=0; i<Nx; i++{
     for j:=0; j<Ny; j++{
               mask.setVector(i, j, 0, vector(J11, 0, 0)) 
.
.
.
--------------------------------------------------------------------------------------

as you can see, there is no "Fixed Layer" and the current density is here: "vector(J11, 0, 0)" and the skyrmion was moving to the right.

Then, I saw tutorial 4 here and in order to move skyrmion for racetrack they did this:
image.png 
the current density is in "z" direction, and skyrmion in this case moves to the "right" too?!
--------------------------------------------------------------------------------------

Question: 
1. Why these 2 vector() definitons are different butskyrmion in both cases move to the right? 
2. How do you find out direction of the skyrmion motion (based on what parameters we can calculate the direction of the motion)?
3. How important is this Fixed Layer? why in my case, without definition of Fixed layer, skyrmion is stable and responds to J?


Thank you very much,
 
Best.
--------------------------------------
Zulfidin Khodzhaev
Ph.D. student
Oklahoma State University
--------------------------------------

--
You received this message because you are subscribed to the Google Groups "mumax2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mumax2+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mumax2/CACpz1kWbNmHkprbxAXH9_gAVCw%3D0tBaVsfbX%3D4j3-Yx_AbFXvg%40mail.gmail.com.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages