-
Notifications
You must be signed in to change notification settings - Fork 1
/
Co_bulk1nm.mif2
82 lines (68 loc) · 1.87 KB
/
Co_bulk1nm.mif2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# MIF 2.1
# a simple system of to illustrate the effect of temperature scaling in dependence of the cell size
# starting conditions are Mx = Ms, My = Mz = 0
# The temperature leads to a decrease of the magnetization
# make sure that the time step is small enough!
# for details see:
#Temperature in micromagnetism: cell size and scaling effects of the stochastic Landau–Lifshitz equation
# https://doi.org/10.1088/2399-6528/ab31e6
# Marc Benjamin Hahn 2019 J. Phys. Commun. 3 075009
Destination archive1 mmArchive
Schedule DataTable archive1 Step 1
Destination archive2 mmArchive
Schedule Oxs_TimeDriver::Magnetization archive2 Stage 1
Parameter temperatur 4000
Parameter damp 0.05
Parameter cells 1e-9
Parameter ani 520E3
Parameter dtime 1e-15
Specify Oxs_BoxAtlas:cobalt "
xrange {0 [expr {30*$cells}]}
yrange {0 [expr {30*$cells}]}
zrange {0 [expr {10*$cells}]}
"
Specify Oxs_RectangularMesh:mesh "
cellsize {$cells $cells $cells}
atlas :cobalt
"
#specify exchange energies
Specify Oxs_Exchange6Ngbr {
default_A 30e-12
atlas cobalt
A {
cobalt cobalt 30E-12
}
}
Specify Oxs_Demag {}
Specify Oxs_UniaxialAnisotropy "
K1 { Oxs_AtlasScalarField {
atlas :cobalt
default_value 520E3
values {
cobalt 520E3
}
}}
axis {1 0 0}
"
# Specify a temperature and timestep you want to use
# make sure that the time step is small enough!
Specify UHH_ThetaEvolve "
do_precess 1
alpha $damp
fixed_timestep $dtime
temperature $temperatur
uniform_seed 111
"
# specifiy evolver UHH_thetaevolve
Specify Oxs_TimeDriver [subst {
basename ./CoBulk_d"$damp"_c"$cells"_a"$ani"_dt"$dtime"_t"$temperatur"
vector_field_output_format {binary 4}
scalar_output_format %.15g
evolver UHH_ThetaEvolve
mesh :mesh
stopping_time 5e-11
stage_count 0
Ms { Oxs_UniformScalarField {value 1400e3} }
m0 { Oxs_UniformVectorField { norm 1 vector {1 0 0} } }
}
]