Anisotropic DMI

913 views
Skip to first unread message

AgentTatar

unread,
Jun 15, 2020, 3:12:18 AM6/15/20
to mumax2
I'm trying to develop custom induced DMI with different constants along x and y axis to simulate elliptic skyrmion or antiskyrmion. I've modified custom_exchange.mx3 example. Can anybody help to find a mistake because the result of simulation with equal iDMIx == iDMIy differs from the built-in Dind. Here is the listing.

cellsizeX:=2e-9
cellsizeY:=2e-9
cellsizeZ:=8e-9
setgridsize(512, 512, 1)
setcellsize(cellsizeX,cellsizeY, cellsizeZ)

Aex   = 5e-12
Ku1 = 3.1e4
AnisU = vector(0,0,1)
alpha = 1
Msat  = 200e3
m = BlochSkyrmion(1,-1).scale(7,7,1)
// Dind = 135e-6

iDMIx := 135e-6
iDMIy := 170e-6
prefactorX := Const( (-1 * iDMIx) / (cellsizeX*Msat.Average()))
prefactorY := Const( (-1 * iDMIy) / (cellsizeY*Msat.Average()))

overx := Mul(prefactorX, Cross( constVector(0,1,0) , Add(Shifted(m, 1,0,0), Mul(Const(-1), Shifted(m, -1,0,0))) ) )
overy := Mul(prefactorY, Cross( constVector(-1,0,0) , Add(Shifted(m, 0,1,0), Mul(Const(-1), Shifted(m, 0,-1,0))) ) )

AnisDMI := Add( overx, overy )
AddFieldTerm(AnisDMI)
addEdensTerm(Mul(Const(-0.5),Dot(AnisDMI,M_full)))

MinimizerStop = 5e-5
Minimize()

OutputFormat = OVF1_TEXT
Save(m)

liyu9...@gmail.com

unread,
Jun 24, 2021, 5:26:12 PM6/24/21
to mumax2
In the equation of interfacial DMI vector:
D_ij = D ( z × r_ij)
the displacement vector r_ij points from the site i to site j.

Then I assume you should have different expressions for -x and +x; similarly, -y and +y.
I would suggest you to seperate the overx and overy terms, to -x, +x, -y, and +y.

SATEESH KANDUKURI

unread,
Sep 18, 2021, 10:36:34 AM9/18/21
to mumax2
Could you please help me to incorporate anisotropic DMI? 
Is the above programme working correctly?

Best regards,
Sateesh

Art

unread,
Sep 19, 2021, 1:16:16 PM9/19/21
to mumax2

I think that the above code does not include the boundary conditions.
Reply all
Reply to author
Forward
0 new messages