Help with Relaxation of Synthetic AFM Thin Film with Neel Domain Wall

11 views
Skip to first unread message

Halima Arif

unread,
Dec 6, 2025, 10:48:25 AM (6 days ago) Dec 6
to mumax2

Hello MuMax3 community,

I am trying to simulate a thin magnetic film with two magnetic domains whose magnetizations point in opposite directions, separated by a Néel domain wall along the y-direction. I am using a synthetic antiferromagnet (SAF) approach with two layers (nz=2) to model the AFM sublattices.

My film lies in the xy-plane, with the domain wall along y. I want the two layers to relax into antiparallel alignment forming a stable Néel wall.

I have used the following MuMax3 code (see attached .mx3) for initialization and relaxation, but after relaxation, the magnetization does not appear to align antiparallel correctly. I have attached the code and screenshots from MuMax3 View showing the relaxed state. i even try RKKY :=  -1e-3 scale := (RKKY * cz) / (2 * Aex.Average())ext_scaleExchange(0, 1, scale), still i have the same image attached.

My questions:

  1. Is my initialization correct for a Néel domain wall in a SAF thin film?

  2. Is there something wrong in my relaxation procedure or layer coupling that prevents proper antiparallel alignment?

  3. Any advice on parameters (alpha, Jafm, anisotropy) or initialization profile to obtain the correct relaxed Néel wall?

Thank you in advance for your help!

// Parameters
OutputFormat = OVF1_TEXT
nx := 900; ny := 500; nz := 2
cx := 1e-9; cy := 1e-9; cz := 0.33e-9

SetGridsize(nx, ny, nz)
SetCellsize(cx, cy, cz)

// Material
Msat = 3.76e5
Ku1 = 1.16e5
Aex = 6.59e-12
anisU = vector(0,1,0)
alpha = 1

// AFM interlayer coupling
Jafm := -1e-3
exch_InterExchange(0, 1, Jafm)

// DW along x
w := 7.5e-9
Xc := nx * cx / 2

for i := 0; i < nx; i++ {
    x := i*cx
    mx := 1 / cosh((x - Xc)/w)
    my := -tanh((x - Xc)/w)
    for j := 0; j < ny; j++ {
        m.setcell(i, j, 0, vector(mx, my, 0))   // Sublattice A
        m.setcell(i, j, 1, vector(mx, -my, 0))  // Sublattice B
    }
}

saveas(m, "dw_initial")
relax()
saveas(m, "dw_relax")
image.png
Reply all
Reply to author
Forward
0 new messages