mumax / 3

GPU-accelerated micromagnetic simulator
Other
450 stars 150 forks source link

Feature/center wall per layer region #222

Open jsampaio opened 5 years ago

jsampaio commented 5 years ago

This change adds the possibility to ext_centerWall to follow only one region or one layer, which is useful for simulations of SAF (like the RKKY example) or odd-shaped geometries.

This change adds the following script functions and flags:

Example script:

c := 4e-9;
SetMesh(256, 32, 2, c, c, c, 0, 0, 0);
defRegion(0, layer(0));
defRegion(1, layer(1));

Msat = 1e6; 
Aex = 10e-12 ;
RKKY := -1e-3 ;
scale := (RKKY * c) / (2 * Aex.Average()) ; 
ext_scaleExchange(0, 1, scale);
anisU = vector(0, 0, 1);
Ku1 = 700000;

alpha = 0.1;
xi = 1;

m.setRegion(0, TwoDomain(0, 0, 1, 1, 0, 0, 0, 0, -1));
m.setRegion(1, TwoDomain(0, 0, -1, -1, 0, 0, 0, 0, 1));
ShiftMagL = vector(0,0,1); ShiftMagR = vector(0, 0,-1);

ext_centerWallInRegion(0, 2);
//ext_centerWallInLayer(0, 2);

snapshot(m); print(TotalShift);
shift(20);
snapshot(m); print(TotalShift);
relax(); 
snapshot(m); print(TotalShift);

tableadd(ext_dwpos);
tableautosave(0.1e-9);
J = vector(1e10, 0, 0);
Run(50e-09);
godsic commented 4 years ago

@jsampaio Do this one has unit tests?