# MIF/Python 1.0”.
# MIF/Python 1.0
# MIF Example File: sample.mif
# Description: Hysteresis loop using Runge-Kutta evolver
# and time driver.
from math import pi
mu0 = 4*pi*1e-7
RandomSeed(1)
Parameter('cellsize', 5e-9)
Specify({'class' : 'Oxs_BoxAtlas', 'instance' : 'atlas',
'xrange' : [0, 200e-9],
'yrange' : [0, 100e-9],
'zrange' : [0, 20e-9]
})
Specify({'class' : 'Oxs_RectangularMesh', 'instance' : 'mesh',
'cellsize' : [cellsize, cellsize, cellsize],
'atlas' : ':atlas'
})
Specify({'class' : 'Oxs_CubicAnisotropy',
'K1' : -4.5e3,
'axis1' : [1, 0, 0],
'axis2' : [0, 1, 0]
})
Specify({'class' : 'Oxs_UniformExchange',
'A' : 9e-12,
'comment' : "In the line above 'A' is a single scalar, not a scalar field"
})
Specify({'class' : 'Oxs_UZeeman',
'multiplier' : 0.001/mu0,
'Hrange' : [[ 0, 0, 0, 100, 1, 0, 2],
[100, 1, 0, -100, 0, 0, 2],
[ 0, 0, 0, 0, 100, 0, 4],
[ 10, 10, 10, 50, 50, 50, 0]]
})
Specify({'class' : 'Oxs_Demag'})
Specify({'class' : 'Oxs_RungeKuttaEvolve', 'instance' : 'evolve'})
SetOptions({'basename' : 'sample'})
Specify({'class' : 'Oxs_TimeDriver',
'evolver' : ':evolve',
'stopping_dm_dt' : 0.1,
'mesh' : ':mesh',
'Ms' : 490e3,
'm0' : [1, 0.02, 0.01]
})