Micromagnetic standard problem 4#
Author: Marijan Beg, Marc-Antonio Bisotti
Date: 18 Mar 2016
This notebook can be downloaded from the github repository, found here.
[1]:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
Problem specification#
The simulated sample is a thin film cuboid with dimensions:
length \(L = 500 \,\text{nm}\),
width \(d = 125 \,\text{nm}\), and
thickness \(t = 3 \,\text{nm}\).
[2]:
from fidimag.common import CuboidMesh
mesh = CuboidMesh(nx=160, ny=40, nz=1, dx=3.125, dy=3.125, dz=3, unit_length=1e-9)
The material parameters (similar to permalloy) are:
exchange energy constant \(A = 1.3 \times 10^{-11} \,\text{J/m}\),
magnetisation saturation \(M_\text{s} = 8 \times 10^{5} \,\text{A/m}\).
Magnetisation dynamics is governed by the Landau-Lifshitz-Gilbert equation
where \(\gamma_{0} = 2.211 \times 10^{5} \,\text{m}\,\text{A}^{-1}\,\text{s}^{-1}\) is the gyromagnetic ratio and \(\alpha=0.02\) is the Gilbert damping.
[3]:
A = 13e-12
Ms = 8.0e5
alpha = 0.02
gamma = 2.211e5
In the standard problem 4, the system is firstly relaxed at zero external magnetic field and then, stating from the obtained equlibrium configuration, the magnetisation dynamics is simulated for each of two different external magnetic fields:
\(\mathbf{H}_{1} = (-24.6, 4.3, 0.0) \,\text{mT}\)
\(\mathbf{H}_{2} = (-35.5, -6.3, 0.0) \,\text{mT}\)
The micromagnetic standard problem 4 specification can be also found in Ref. 1.
Simulation#
Getting the Initial Magnetisation#
The simulation object is created and parameters set.
[4]:
from fidimag.micro import Sim, UniformExchange, Demag, Zeeman, TimeZeeman
sim = Sim(mesh) # create simulation object
sim.driver.set_tols(rtol=1e-10, atol=1e-10)
sim.Ms = Ms
sim.driver.alpha = 0.5 # large value since the magnetisation dynamics is not important in the relexation stage
sim.driver.gamma = gamma
sim.driver.do_precession = False # speeds up the simulation
# Starting magnetisation.
sim.set_m((1, 0.25, 0.1))
sim.add(UniformExchange(A=A))
sim.add(Demag())
We have ignored the decaying external field. Finally, the system can be relaxed and the obtained equilibrium configuration saved, so that it can be used as an initial state for simulating magnetisation dynamics.
[5]:
# PYTEST_VALIDATE_IGNORE_OUTPUT
sim.driver.relax(dt=1e-13, stopping_dmdt=0.01, max_steps=5000, save_m_steps=None, save_vtk_steps=None);
np.save("m0.npy", sim.spin) # save equilibrium configuration
#1 t=1e-13 dt=1e-13 max_dmdt=517
#2 t=2e-13 dt=1e-13 max_dmdt=510
#3 t=3e-13 dt=1e-13 max_dmdt=502
#4 t=4e-13 dt=1e-13 max_dmdt=495
#5 t=5e-13 dt=1e-13 max_dmdt=489
#6 t=6e-13 dt=1e-13 max_dmdt=482
#7 t=7e-13 dt=1e-13 max_dmdt=476
#8 t=8e-13 dt=1e-13 max_dmdt=470
#9 t=9e-13 dt=1e-13 max_dmdt=464
#10 t=1e-12 dt=1e-13 max_dmdt=459
#11 t=1.14e-12 dt=1.43e-13 max_dmdt=453
#12 t=1.29e-12 dt=1.43e-13 max_dmdt=445
#13 t=1.43e-12 dt=1.43e-13 max_dmdt=439
#14 t=1.57e-12 dt=1.43e-13 max_dmdt=433
#15 t=1.72e-12 dt=1.43e-13 max_dmdt=428
#16 t=1.86e-12 dt=1.43e-13 max_dmdt=422
#17 t=2e-12 dt=1.43e-13 max_dmdt=417
#18 t=2.15e-12 dt=1.43e-13 max_dmdt=412
#19 t=2.29e-12 dt=1.43e-13 max_dmdt=407
#20 t=2.51e-12 dt=2.15e-13 max_dmdt=401
#21 t=2.72e-12 dt=2.15e-13 max_dmdt=394
#22 t=2.94e-12 dt=2.15e-13 max_dmdt=387
#23 t=3.15e-12 dt=2.15e-13 max_dmdt=381
#24 t=3.37e-12 dt=2.15e-13 max_dmdt=375
#25 t=3.58e-12 dt=2.15e-13 max_dmdt=369
#26 t=3.8e-12 dt=2.15e-13 max_dmdt=364
#27 t=4.01e-12 dt=2.15e-13 max_dmdt=358
#28 t=4.23e-12 dt=2.15e-13 max_dmdt=353
#29 t=4.44e-12 dt=2.15e-13 max_dmdt=348
#30 t=4.66e-12 dt=2.15e-13 max_dmdt=343
#31 t=4.87e-12 dt=2.15e-13 max_dmdt=338
#32 t=5.09e-12 dt=2.15e-13 max_dmdt=333
#33 t=5.3e-12 dt=2.15e-13 max_dmdt=328
#34 t=5.52e-12 dt=2.15e-13 max_dmdt=324
#35 t=5.73e-12 dt=2.15e-13 max_dmdt=320
#36 t=5.95e-12 dt=2.15e-13 max_dmdt=315
#37 t=6.16e-12 dt=2.15e-13 max_dmdt=311
#38 t=6.38e-12 dt=2.15e-13 max_dmdt=307
#39 t=6.59e-12 dt=2.15e-13 max_dmdt=303
#40 t=6.81e-12 dt=2.15e-13 max_dmdt=299
#41 t=7.02e-12 dt=2.15e-13 max_dmdt=295
#42 t=7.24e-12 dt=2.15e-13 max_dmdt=291
#43 t=7.45e-12 dt=2.15e-13 max_dmdt=288
#44 t=7.78e-12 dt=3.29e-13 max_dmdt=283
#45 t=8.11e-12 dt=3.29e-13 max_dmdt=278
#46 t=8.44e-12 dt=3.29e-13 max_dmdt=273
#47 t=8.77e-12 dt=3.29e-13 max_dmdt=268
#48 t=9.09e-12 dt=3.29e-13 max_dmdt=263
#49 t=9.42e-12 dt=3.29e-13 max_dmdt=258
#50 t=9.75e-12 dt=3.29e-13 max_dmdt=254
#51 t=1.01e-11 dt=3.29e-13 max_dmdt=249
#52 t=1.04e-11 dt=3.29e-13 max_dmdt=245
#53 t=1.07e-11 dt=3.29e-13 max_dmdt=240
#54 t=1.11e-11 dt=3.29e-13 max_dmdt=236
#55 t=1.14e-11 dt=3.29e-13 max_dmdt=232
#56 t=1.17e-11 dt=3.29e-13 max_dmdt=229
#57 t=1.21e-11 dt=3.29e-13 max_dmdt=225
#58 t=1.24e-11 dt=3.29e-13 max_dmdt=221
#59 t=1.27e-11 dt=3.29e-13 max_dmdt=218
#60 t=1.3e-11 dt=3.29e-13 max_dmdt=214
#61 t=1.34e-11 dt=3.29e-13 max_dmdt=211
#62 t=1.37e-11 dt=3.29e-13 max_dmdt=208
#63 t=1.4e-11 dt=3.29e-13 max_dmdt=204
#64 t=1.45e-11 dt=4.94e-13 max_dmdt=201
#65 t=1.5e-11 dt=4.94e-13 max_dmdt=196
#66 t=1.55e-11 dt=4.94e-13 max_dmdt=192
#67 t=1.6e-11 dt=4.94e-13 max_dmdt=188
#68 t=1.65e-11 dt=4.94e-13 max_dmdt=184
#69 t=1.7e-11 dt=4.94e-13 max_dmdt=180
#70 t=1.75e-11 dt=4.94e-13 max_dmdt=177
#71 t=1.8e-11 dt=4.94e-13 max_dmdt=173
#72 t=1.85e-11 dt=4.94e-13 max_dmdt=170
#73 t=1.9e-11 dt=4.94e-13 max_dmdt=167
#74 t=1.95e-11 dt=4.94e-13 max_dmdt=164
#75 t=2e-11 dt=4.94e-13 max_dmdt=161
#76 t=2.04e-11 dt=4.94e-13 max_dmdt=159
#77 t=2.09e-11 dt=4.94e-13 max_dmdt=156
#78 t=2.17e-11 dt=7.48e-13 max_dmdt=153
#79 t=2.24e-11 dt=7.48e-13 max_dmdt=150
#80 t=2.32e-11 dt=7.48e-13 max_dmdt=147
#81 t=2.39e-11 dt=7.48e-13 max_dmdt=144
#82 t=2.47e-11 dt=7.48e-13 max_dmdt=141
#83 t=2.54e-11 dt=7.48e-13 max_dmdt=138
#84 t=2.62e-11 dt=7.48e-13 max_dmdt=136
#85 t=2.69e-11 dt=7.48e-13 max_dmdt=134
#86 t=2.77e-11 dt=7.48e-13 max_dmdt=131
#87 t=2.84e-11 dt=7.48e-13 max_dmdt=129
#88 t=2.92e-11 dt=7.48e-13 max_dmdt=127
#89 t=2.99e-11 dt=7.48e-13 max_dmdt=125
#90 t=3.07e-11 dt=7.48e-13 max_dmdt=124
#91 t=3.14e-11 dt=7.48e-13 max_dmdt=122
#92 t=3.22e-11 dt=7.48e-13 max_dmdt=120
#93 t=3.29e-11 dt=7.48e-13 max_dmdt=119
#94 t=3.37e-11 dt=7.48e-13 max_dmdt=118
#95 t=3.44e-11 dt=7.48e-13 max_dmdt=116
#96 t=3.52e-11 dt=7.48e-13 max_dmdt=115
#97 t=3.59e-11 dt=7.48e-13 max_dmdt=114
#98 t=3.67e-11 dt=7.48e-13 max_dmdt=113
#99 t=3.74e-11 dt=7.48e-13 max_dmdt=112
#100 t=3.82e-11 dt=7.48e-13 max_dmdt=111
#101 t=3.89e-11 dt=7.48e-13 max_dmdt=110
#102 t=3.97e-11 dt=7.48e-13 max_dmdt=109
#103 t=4.04e-11 dt=7.48e-13 max_dmdt=108
#104 t=4.12e-11 dt=7.48e-13 max_dmdt=107
#105 t=4.19e-11 dt=7.48e-13 max_dmdt=107
#106 t=4.26e-11 dt=7.48e-13 max_dmdt=106
#107 t=4.34e-11 dt=7.48e-13 max_dmdt=105
#108 t=4.41e-11 dt=7.48e-13 max_dmdt=104
#109 t=4.49e-11 dt=7.48e-13 max_dmdt=104
#110 t=4.56e-11 dt=7.48e-13 max_dmdt=103
#111 t=4.64e-11 dt=7.48e-13 max_dmdt=102
#112 t=4.71e-11 dt=7.48e-13 max_dmdt=102
#113 t=4.79e-11 dt=7.48e-13 max_dmdt=101
#114 t=4.86e-11 dt=7.48e-13 max_dmdt=101
#115 t=4.94e-11 dt=7.48e-13 max_dmdt=100
#116 t=5.01e-11 dt=7.48e-13 max_dmdt=99.6
#117 t=5.09e-11 dt=7.48e-13 max_dmdt=99.1
#118 t=5.16e-11 dt=7.48e-13 max_dmdt=98.6
#119 t=5.24e-11 dt=7.48e-13 max_dmdt=98.2
#120 t=5.31e-11 dt=7.48e-13 max_dmdt=97.7
#121 t=5.39e-11 dt=7.48e-13 max_dmdt=97.2
#122 t=5.46e-11 dt=7.48e-13 max_dmdt=96.8
#123 t=5.54e-11 dt=7.48e-13 max_dmdt=96.3
#124 t=5.61e-11 dt=7.48e-13 max_dmdt=95.9
#125 t=5.69e-11 dt=7.48e-13 max_dmdt=95.5
#126 t=5.8e-11 dt=1.14e-12 max_dmdt=95
#127 t=5.91e-11 dt=1.14e-12 max_dmdt=94.4
#128 t=6.03e-11 dt=1.14e-12 max_dmdt=93.8
#129 t=6.14e-11 dt=1.14e-12 max_dmdt=93.2
#130 t=6.26e-11 dt=1.14e-12 max_dmdt=92.7
#131 t=6.37e-11 dt=1.14e-12 max_dmdt=92.2
#132 t=6.48e-11 dt=1.14e-12 max_dmdt=91.6
#133 t=6.6e-11 dt=1.14e-12 max_dmdt=91.1
#134 t=6.71e-11 dt=1.14e-12 max_dmdt=90.6
#135 t=6.82e-11 dt=1.14e-12 max_dmdt=90.1
#136 t=6.94e-11 dt=1.14e-12 max_dmdt=89.6
#137 t=7.05e-11 dt=1.14e-12 max_dmdt=89.2
#138 t=7.17e-11 dt=1.14e-12 max_dmdt=88.7
#139 t=7.28e-11 dt=1.14e-12 max_dmdt=88.2
#140 t=7.39e-11 dt=1.14e-12 max_dmdt=87.8
#141 t=7.51e-11 dt=1.14e-12 max_dmdt=87.3
#142 t=7.62e-11 dt=1.14e-12 max_dmdt=86.9
#143 t=7.74e-11 dt=1.14e-12 max_dmdt=86.4
#144 t=7.85e-11 dt=1.14e-12 max_dmdt=86
#145 t=7.96e-11 dt=1.14e-12 max_dmdt=85.6
#146 t=8.08e-11 dt=1.14e-12 max_dmdt=85.2
#147 t=8.19e-11 dt=1.14e-12 max_dmdt=84.8
#148 t=8.3e-11 dt=1.14e-12 max_dmdt=84.4
#149 t=8.42e-11 dt=1.14e-12 max_dmdt=84
#150 t=8.53e-11 dt=1.14e-12 max_dmdt=83.5
#151 t=8.65e-11 dt=1.14e-12 max_dmdt=83.1
#152 t=8.76e-11 dt=1.14e-12 max_dmdt=82.7
#153 t=8.87e-11 dt=1.14e-12 max_dmdt=82.3
#154 t=8.99e-11 dt=1.14e-12 max_dmdt=82
#155 t=9.1e-11 dt=1.14e-12 max_dmdt=81.6
#156 t=9.21e-11 dt=1.14e-12 max_dmdt=81.2
#157 t=9.33e-11 dt=1.14e-12 max_dmdt=80.8
#158 t=9.44e-11 dt=1.14e-12 max_dmdt=80.4
#159 t=9.56e-11 dt=1.14e-12 max_dmdt=80
#160 t=9.67e-11 dt=1.14e-12 max_dmdt=79.6
#161 t=9.78e-11 dt=1.14e-12 max_dmdt=79.3
#162 t=9.9e-11 dt=1.14e-12 max_dmdt=78.9
#163 t=1.01e-10 dt=1.75e-12 max_dmdt=78.4
#164 t=1.02e-10 dt=1.75e-12 max_dmdt=77.8
#165 t=1.04e-10 dt=1.75e-12 max_dmdt=77.3
#166 t=1.06e-10 dt=1.75e-12 max_dmdt=76.7
#167 t=1.08e-10 dt=1.75e-12 max_dmdt=76.1
#168 t=1.09e-10 dt=1.75e-12 max_dmdt=75.6
#169 t=1.11e-10 dt=1.75e-12 max_dmdt=75
#170 t=1.13e-10 dt=1.75e-12 max_dmdt=74.5
#171 t=1.15e-10 dt=1.75e-12 max_dmdt=74
#172 t=1.16e-10 dt=1.75e-12 max_dmdt=73.4
#173 t=1.18e-10 dt=1.75e-12 max_dmdt=72.9
#174 t=1.2e-10 dt=1.75e-12 max_dmdt=72.4
#175 t=1.22e-10 dt=1.75e-12 max_dmdt=71.8
#176 t=1.23e-10 dt=1.75e-12 max_dmdt=71.3
#177 t=1.25e-10 dt=1.75e-12 max_dmdt=70.8
#178 t=1.27e-10 dt=1.75e-12 max_dmdt=70.3
#179 t=1.29e-10 dt=1.75e-12 max_dmdt=69.8
#180 t=1.3e-10 dt=1.75e-12 max_dmdt=69.3
#181 t=1.32e-10 dt=1.75e-12 max_dmdt=68.8
#182 t=1.34e-10 dt=1.75e-12 max_dmdt=68.3
#183 t=1.36e-10 dt=1.75e-12 max_dmdt=67.8
#184 t=1.37e-10 dt=1.75e-12 max_dmdt=67.3
#185 t=1.39e-10 dt=1.75e-12 max_dmdt=66.8
#186 t=1.41e-10 dt=1.75e-12 max_dmdt=66.3
#187 t=1.43e-10 dt=1.75e-12 max_dmdt=65.8
#188 t=1.44e-10 dt=1.75e-12 max_dmdt=65.3
#189 t=1.46e-10 dt=1.75e-12 max_dmdt=64.8
#190 t=1.48e-10 dt=1.75e-12 max_dmdt=64.4
#191 t=1.5e-10 dt=1.75e-12 max_dmdt=63.9
#192 t=1.52e-10 dt=2.69e-12 max_dmdt=63.3
#193 t=1.55e-10 dt=2.69e-12 max_dmdt=62.6
#194 t=1.58e-10 dt=2.69e-12 max_dmdt=61.9
#195 t=1.6e-10 dt=2.69e-12 max_dmdt=61.2
#196 t=1.63e-10 dt=2.69e-12 max_dmdt=60.5
#197 t=1.66e-10 dt=2.69e-12 max_dmdt=59.8
#198 t=1.69e-10 dt=2.69e-12 max_dmdt=59.1
#199 t=1.71e-10 dt=2.69e-12 max_dmdt=58.4
#200 t=1.74e-10 dt=2.69e-12 max_dmdt=57.8
#201 t=1.77e-10 dt=2.69e-12 max_dmdt=57.1
#202 t=1.79e-10 dt=2.69e-12 max_dmdt=56.5
#203 t=1.83e-10 dt=4.09e-12 max_dmdt=55.7
#204 t=1.88e-10 dt=4.09e-12 max_dmdt=54.7
#205 t=1.92e-10 dt=4.09e-12 max_dmdt=53.8
#206 t=1.96e-10 dt=4.09e-12 max_dmdt=52.8
#207 t=2e-10 dt=4.09e-12 max_dmdt=51.9
#208 t=2.04e-10 dt=4.09e-12 max_dmdt=51
#209 t=2.08e-10 dt=4.09e-12 max_dmdt=50.2
#210 t=2.12e-10 dt=4.09e-12 max_dmdt=49.3
#211 t=2.16e-10 dt=4.09e-12 max_dmdt=48.5
#212 t=2.2e-10 dt=4.09e-12 max_dmdt=47.6
#213 t=2.24e-10 dt=4.09e-12 max_dmdt=46.8
#214 t=2.28e-10 dt=4.09e-12 max_dmdt=46
#215 t=2.32e-10 dt=4.09e-12 max_dmdt=45.3
#216 t=2.37e-10 dt=4.09e-12 max_dmdt=44.5
#217 t=2.41e-10 dt=4.09e-12 max_dmdt=43.7
#218 t=2.45e-10 dt=4.09e-12 max_dmdt=43
#219 t=2.49e-10 dt=4.09e-12 max_dmdt=42.3
#220 t=2.53e-10 dt=4.09e-12 max_dmdt=41.6
#221 t=2.57e-10 dt=4.09e-12 max_dmdt=40.9
#222 t=2.61e-10 dt=4.09e-12 max_dmdt=40.2
#223 t=2.65e-10 dt=4.09e-12 max_dmdt=39.5
#224 t=2.69e-10 dt=4.09e-12 max_dmdt=38.9
#225 t=2.73e-10 dt=4.09e-12 max_dmdt=38.2
#226 t=2.77e-10 dt=4.09e-12 max_dmdt=37.6
#227 t=2.81e-10 dt=4.09e-12 max_dmdt=37
#228 t=2.86e-10 dt=4.09e-12 max_dmdt=36.4
#229 t=2.9e-10 dt=4.09e-12 max_dmdt=35.8
#230 t=2.94e-10 dt=4.09e-12 max_dmdt=35.2
#231 t=3e-10 dt=6.13e-12 max_dmdt=34.5
#232 t=3.06e-10 dt=6.13e-12 max_dmdt=33.6
#233 t=3.12e-10 dt=6.13e-12 max_dmdt=32.8
#234 t=3.18e-10 dt=6.13e-12 max_dmdt=32.1
#235 t=3.24e-10 dt=6.13e-12 max_dmdt=31.3
#236 t=3.31e-10 dt=6.13e-12 max_dmdt=30.6
#237 t=3.37e-10 dt=6.13e-12 max_dmdt=29.9
#238 t=3.43e-10 dt=6.13e-12 max_dmdt=29.3
#239 t=3.49e-10 dt=6.13e-12 max_dmdt=28.6
#240 t=3.55e-10 dt=6.13e-12 max_dmdt=28
#241 t=3.61e-10 dt=6.13e-12 max_dmdt=27.4
#242 t=3.67e-10 dt=6.13e-12 max_dmdt=27
#243 t=3.73e-10 dt=6.13e-12 max_dmdt=26.6
#244 t=3.8e-10 dt=6.13e-12 max_dmdt=26.2
#245 t=3.86e-10 dt=6.13e-12 max_dmdt=25.8
#246 t=3.92e-10 dt=6.13e-12 max_dmdt=25.4
#247 t=3.98e-10 dt=6.13e-12 max_dmdt=25.1
#248 t=4.04e-10 dt=6.13e-12 max_dmdt=24.7
#249 t=4.1e-10 dt=6.13e-12 max_dmdt=24.3
#250 t=4.16e-10 dt=6.13e-12 max_dmdt=24
#251 t=4.22e-10 dt=6.13e-12 max_dmdt=23.6
#252 t=4.29e-10 dt=6.13e-12 max_dmdt=23.3
#253 t=4.35e-10 dt=6.13e-12 max_dmdt=22.9
#254 t=4.41e-10 dt=6.13e-12 max_dmdt=22.6
#255 t=4.51e-10 dt=9.73e-12 max_dmdt=22.2
#256 t=4.6e-10 dt=9.73e-12 max_dmdt=21.7
#257 t=4.7e-10 dt=9.73e-12 max_dmdt=21.2
#258 t=4.8e-10 dt=9.73e-12 max_dmdt=20.7
#259 t=4.9e-10 dt=9.73e-12 max_dmdt=20.2
#260 t=4.99e-10 dt=9.73e-12 max_dmdt=19.7
#261 t=5.09e-10 dt=9.73e-12 max_dmdt=19.4
#262 t=5.19e-10 dt=9.73e-12 max_dmdt=19.2
#263 t=5.28e-10 dt=9.73e-12 max_dmdt=19
#264 t=5.38e-10 dt=9.73e-12 max_dmdt=18.8
#265 t=5.48e-10 dt=9.73e-12 max_dmdt=18.7
#266 t=5.58e-10 dt=9.73e-12 max_dmdt=18.5
#267 t=5.67e-10 dt=9.73e-12 max_dmdt=18.3
#268 t=5.77e-10 dt=9.73e-12 max_dmdt=18.1
#269 t=5.87e-10 dt=9.73e-12 max_dmdt=18
#270 t=5.96e-10 dt=9.73e-12 max_dmdt=17.8
#271 t=6.06e-10 dt=9.73e-12 max_dmdt=17.6
#272 t=6.16e-10 dt=9.73e-12 max_dmdt=17.4
#273 t=6.26e-10 dt=9.73e-12 max_dmdt=17.2
#274 t=6.35e-10 dt=9.73e-12 max_dmdt=17.1
#275 t=6.45e-10 dt=9.73e-12 max_dmdt=16.9
#276 t=6.55e-10 dt=9.73e-12 max_dmdt=16.7
#277 t=6.65e-10 dt=9.73e-12 max_dmdt=16.5
#278 t=6.74e-10 dt=9.73e-12 max_dmdt=16.3
#279 t=6.84e-10 dt=9.73e-12 max_dmdt=16.1
#280 t=6.94e-10 dt=9.73e-12 max_dmdt=15.9
#281 t=7.03e-10 dt=9.73e-12 max_dmdt=15.7
#282 t=7.13e-10 dt=9.73e-12 max_dmdt=15.5
#283 t=7.23e-10 dt=9.73e-12 max_dmdt=15.3
#284 t=7.33e-10 dt=9.73e-12 max_dmdt=15.1
#285 t=7.42e-10 dt=9.73e-12 max_dmdt=14.9
#286 t=7.52e-10 dt=9.73e-12 max_dmdt=14.7
#287 t=7.62e-10 dt=9.73e-12 max_dmdt=14.5
#288 t=7.72e-10 dt=9.73e-12 max_dmdt=14.3
#289 t=7.81e-10 dt=9.73e-12 max_dmdt=14.1
#290 t=7.91e-10 dt=9.73e-12 max_dmdt=13.9
#291 t=8.01e-10 dt=9.73e-12 max_dmdt=13.7
#292 t=8.1e-10 dt=9.73e-12 max_dmdt=13.5
#293 t=8.2e-10 dt=9.73e-12 max_dmdt=13.3
#294 t=8.35e-10 dt=1.5e-11 max_dmdt=13.1
#295 t=8.5e-10 dt=1.5e-11 max_dmdt=12.8
#296 t=8.65e-10 dt=1.5e-11 max_dmdt=12.5
#297 t=8.8e-10 dt=1.5e-11 max_dmdt=12.2
#298 t=8.95e-10 dt=1.5e-11 max_dmdt=11.9
#299 t=9.1e-10 dt=1.5e-11 max_dmdt=11.7
#300 t=9.25e-10 dt=1.5e-11 max_dmdt=11.4
#301 t=9.4e-10 dt=1.5e-11 max_dmdt=11.1
#302 t=9.55e-10 dt=1.5e-11 max_dmdt=10.8
#303 t=9.7e-10 dt=1.5e-11 max_dmdt=10.6
#304 t=9.85e-10 dt=1.5e-11 max_dmdt=10.3
#305 t=1e-09 dt=1.5e-11 max_dmdt=10.1
#306 t=1.01e-09 dt=1.5e-11 max_dmdt=9.81
#307 t=1.03e-09 dt=1.5e-11 max_dmdt=9.57
#308 t=1.04e-09 dt=1.5e-11 max_dmdt=9.32
#309 t=1.06e-09 dt=1.5e-11 max_dmdt=9.09
#310 t=1.07e-09 dt=1.5e-11 max_dmdt=8.86
#311 t=1.09e-09 dt=1.5e-11 max_dmdt=8.63
#312 t=1.1e-09 dt=1.5e-11 max_dmdt=8.41
#313 t=1.12e-09 dt=1.5e-11 max_dmdt=8.2
#314 t=1.13e-09 dt=1.5e-11 max_dmdt=7.99
#315 t=1.15e-09 dt=1.5e-11 max_dmdt=7.79
#316 t=1.16e-09 dt=1.5e-11 max_dmdt=7.59
#317 t=1.18e-09 dt=1.5e-11 max_dmdt=7.39
#318 t=1.19e-09 dt=1.5e-11 max_dmdt=7.2
#319 t=1.21e-09 dt=1.5e-11 max_dmdt=7.02
#320 t=1.22e-09 dt=1.5e-11 max_dmdt=6.84
#321 t=1.24e-09 dt=1.5e-11 max_dmdt=6.66
#322 t=1.25e-09 dt=1.5e-11 max_dmdt=6.49
#323 t=1.27e-09 dt=1.5e-11 max_dmdt=6.32
#324 t=1.29e-09 dt=2.25e-11 max_dmdt=6.11
#325 t=1.31e-09 dt=2.25e-11 max_dmdt=5.88
#326 t=1.34e-09 dt=2.25e-11 max_dmdt=5.65
#327 t=1.36e-09 dt=2.25e-11 max_dmdt=5.43
#328 t=1.38e-09 dt=2.25e-11 max_dmdt=5.22
#329 t=1.4e-09 dt=2.25e-11 max_dmdt=5.02
#330 t=1.43e-09 dt=2.25e-11 max_dmdt=4.82
#331 t=1.45e-09 dt=2.25e-11 max_dmdt=4.63
#332 t=1.47e-09 dt=2.25e-11 max_dmdt=4.45
#333 t=1.49e-09 dt=2.25e-11 max_dmdt=4.28
#334 t=1.52e-09 dt=2.25e-11 max_dmdt=4.12
#335 t=1.54e-09 dt=2.25e-11 max_dmdt=3.96
#336 t=1.56e-09 dt=2.25e-11 max_dmdt=3.81
#337 t=1.58e-09 dt=2.25e-11 max_dmdt=3.66
#338 t=1.61e-09 dt=2.25e-11 max_dmdt=3.52
#339 t=1.63e-09 dt=2.25e-11 max_dmdt=3.39
#340 t=1.65e-09 dt=2.25e-11 max_dmdt=3.26
#341 t=1.67e-09 dt=2.25e-11 max_dmdt=3.14
#342 t=1.7e-09 dt=2.25e-11 max_dmdt=3.02
#343 t=1.72e-09 dt=2.25e-11 max_dmdt=2.9
#344 t=1.74e-09 dt=2.25e-11 max_dmdt=2.8
#345 t=1.76e-09 dt=2.25e-11 max_dmdt=2.69
#346 t=1.79e-09 dt=2.25e-11 max_dmdt=2.59
#347 t=1.81e-09 dt=2.25e-11 max_dmdt=2.49
#348 t=1.83e-09 dt=2.25e-11 max_dmdt=2.4
#349 t=1.85e-09 dt=2.25e-11 max_dmdt=2.31
#350 t=1.88e-09 dt=2.25e-11 max_dmdt=2.22
#351 t=1.9e-09 dt=2.25e-11 max_dmdt=2.14
#352 t=1.92e-09 dt=2.25e-11 max_dmdt=2.06
#353 t=1.94e-09 dt=2.25e-11 max_dmdt=1.99
#354 t=1.97e-09 dt=2.25e-11 max_dmdt=1.91
#355 t=1.99e-09 dt=2.25e-11 max_dmdt=1.84
#356 t=2.01e-09 dt=2.25e-11 max_dmdt=1.78
#357 t=2.03e-09 dt=2.25e-11 max_dmdt=1.71
#358 t=2.06e-09 dt=2.25e-11 max_dmdt=1.65
#359 t=2.08e-09 dt=2.25e-11 max_dmdt=1.59
#360 t=2.1e-09 dt=2.25e-11 max_dmdt=1.53
#361 t=2.12e-09 dt=2.25e-11 max_dmdt=1.48
#362 t=2.15e-09 dt=2.25e-11 max_dmdt=1.42
#363 t=2.17e-09 dt=2.25e-11 max_dmdt=1.37
#364 t=2.19e-09 dt=2.25e-11 max_dmdt=1.32
#365 t=2.21e-09 dt=2.25e-11 max_dmdt=1.27
#366 t=2.24e-09 dt=2.25e-11 max_dmdt=1.23
#367 t=2.26e-09 dt=2.25e-11 max_dmdt=1.18
#368 t=2.29e-09 dt=3.4e-11 max_dmdt=1.13
#369 t=2.33e-09 dt=3.4e-11 max_dmdt=1.07
#370 t=2.36e-09 dt=3.4e-11 max_dmdt=1.01
#371 t=2.4e-09 dt=3.4e-11 max_dmdt=0.961
#372 t=2.43e-09 dt=3.4e-11 max_dmdt=0.91
#373 t=2.46e-09 dt=3.4e-11 max_dmdt=0.862
#374 t=2.5e-09 dt=3.4e-11 max_dmdt=0.816
#375 t=2.53e-09 dt=3.4e-11 max_dmdt=0.773
#376 t=2.57e-09 dt=3.4e-11 max_dmdt=0.733
#377 t=2.6e-09 dt=3.4e-11 max_dmdt=0.695
#378 t=2.63e-09 dt=3.4e-11 max_dmdt=0.658
#379 t=2.67e-09 dt=3.4e-11 max_dmdt=0.624
#380 t=2.7e-09 dt=3.4e-11 max_dmdt=0.592
#381 t=2.74e-09 dt=3.4e-11 max_dmdt=0.561
#382 t=2.77e-09 dt=3.4e-11 max_dmdt=0.532
#383 t=2.8e-09 dt=3.4e-11 max_dmdt=0.504
#384 t=2.84e-09 dt=3.4e-11 max_dmdt=0.478
#385 t=2.87e-09 dt=3.4e-11 max_dmdt=0.454
#386 t=2.91e-09 dt=3.4e-11 max_dmdt=0.43
#387 t=2.94e-09 dt=3.4e-11 max_dmdt=0.408
#388 t=2.97e-09 dt=3.4e-11 max_dmdt=0.387
#389 t=3.01e-09 dt=3.4e-11 max_dmdt=0.368
#390 t=3.04e-09 dt=3.4e-11 max_dmdt=0.349
#391 t=3.08e-09 dt=3.4e-11 max_dmdt=0.331
#392 t=3.11e-09 dt=3.4e-11 max_dmdt=0.314
#393 t=3.14e-09 dt=3.4e-11 max_dmdt=0.298
#394 t=3.18e-09 dt=3.4e-11 max_dmdt=0.283
#395 t=3.21e-09 dt=3.4e-11 max_dmdt=0.269
#396 t=3.25e-09 dt=3.4e-11 max_dmdt=0.255
#397 t=3.28e-09 dt=3.4e-11 max_dmdt=0.242
#398 t=3.31e-09 dt=3.4e-11 max_dmdt=0.23
#399 t=3.35e-09 dt=3.4e-11 max_dmdt=0.218
#400 t=3.38e-09 dt=3.4e-11 max_dmdt=0.207
#401 t=3.42e-09 dt=3.4e-11 max_dmdt=0.197
#402 t=3.45e-09 dt=3.4e-11 max_dmdt=0.187
#403 t=3.48e-09 dt=3.4e-11 max_dmdt=0.177
#404 t=3.54e-09 dt=5.29e-11 max_dmdt=0.166
#405 t=3.59e-09 dt=5.29e-11 max_dmdt=0.153
#406 t=3.64e-09 dt=5.29e-11 max_dmdt=0.142
#407 t=3.7e-09 dt=5.29e-11 max_dmdt=0.131
#408 t=3.75e-09 dt=5.29e-11 max_dmdt=0.121
#409 t=3.8e-09 dt=5.29e-11 max_dmdt=0.111
#410 t=3.86e-09 dt=5.29e-11 max_dmdt=0.103
#411 t=3.91e-09 dt=5.29e-11 max_dmdt=0.095
#412 t=3.96e-09 dt=5.29e-11 max_dmdt=0.0877
#413 t=4.01e-09 dt=5.29e-11 max_dmdt=0.081
#414 t=4.07e-09 dt=5.29e-11 max_dmdt=0.0748
#415 t=4.12e-09 dt=5.29e-11 max_dmdt=0.0691
#416 t=4.17e-09 dt=5.29e-11 max_dmdt=0.0638
#417 t=4.23e-09 dt=5.29e-11 max_dmdt=0.059
#418 t=4.28e-09 dt=5.29e-11 max_dmdt=0.0545
#419 t=4.33e-09 dt=5.29e-11 max_dmdt=0.0503
#420 t=4.39e-09 dt=5.29e-11 max_dmdt=0.0465
#421 t=4.44e-09 dt=5.29e-11 max_dmdt=0.043
#422 t=4.49e-09 dt=5.29e-11 max_dmdt=0.0397
#423 t=4.54e-09 dt=5.29e-11 max_dmdt=0.0367
#424 t=4.6e-09 dt=5.29e-11 max_dmdt=0.0339
#425 t=4.65e-09 dt=5.29e-11 max_dmdt=0.0313
#426 t=4.7e-09 dt=5.29e-11 max_dmdt=0.0289
#427 t=4.76e-09 dt=5.29e-11 max_dmdt=0.0267
#428 t=4.81e-09 dt=5.29e-11 max_dmdt=0.0247
#429 t=4.86e-09 dt=5.29e-11 max_dmdt=0.0228
#430 t=4.91e-09 dt=5.29e-11 max_dmdt=0.0211
#431 t=4.99e-09 dt=7.96e-11 max_dmdt=0.0191
#432 t=5.07e-09 dt=7.96e-11 max_dmdt=0.017
#433 t=5.15e-09 dt=7.96e-11 max_dmdt=0.0151
#434 t=5.23e-09 dt=7.96e-11 max_dmdt=0.0134
#435 t=5.31e-09 dt=7.96e-11 max_dmdt=0.0119
#436 t=5.39e-09 dt=7.96e-11 max_dmdt=0.0106
#437 t=5.47e-09 dt=7.96e-11 max_dmdt=0.00941
We not plot the magnetisation configuration,
[6]:
# PYTEST_VALIDATE_IGNORE_OUTPUT
m = sim.spin
m.shape = (-1,3)
mx = m[:,0]
my = m[:,1]
mx.shape = (40, 160)
my.shape = (40, 160)
fig = plt.figure(figsize=(15,5))
plt.axes().set_aspect('equal')
plt.quiver(mx[1::4,1::4], my[::4,::4], my[::4,::4], pivot='mid', alpha=0.9, scale=45, cmap=plt.get_cmap('jet'), edgecolors='None' )
plt.xlim([-0.5,39.5])
plt.xticks([])
plt.yticks([])
plt.show()
print(np.average(m[:,:], axis=0))
[ 9.66821349e-01 1.25544588e-01 -5.26540028e-17]
With the obtained relaxed magnetisation, the magnetisation evolution can be simulated for the two different external magnetic fields using the following function:
[7]:
def field_simulation(H, name):
print(name)
sim = Sim(mesh, name)
sim.driver.alpha = alpha
sim.driver.gamma = gamma
sim.Ms = Ms
sim.add(UniformExchange(A=A))
sim.add(Demag())
sim.add(Zeeman(H))
sim.set_m(np.load('m0.npy')) # load the equilibrium magnetisation from the previous step
timesteps = np.linspace(0, 0.2e-9, 21)
for i, t in enumerate(timesteps):
sim.driver.run_until(t)
if i % 10 == 0:
print("\tsimulated {} s".format(t))
Using the created field_simulation function, we obtain the average magnetisation components time evolutions. Note that we only run the simulation for a short time, a full version of this standard problem 4 can be found in folder examples/micromagnetic/std4.
[8]:
# PYTEST_VALIDATE_IGNORE_OUTPUT
mu0 = 4 * np.pi * 1e-7 # magnetic constant (H/m)
mT = 1e-3 / mu0 # millitesla
field_simulation([-24.6 * mT, 4.3 * mT, 0], "field_1")
#field_simulation([-35.5 * mT, -6.3 * mT, 0], "field_2")
field_1
simulated 0.0 s
simulated 1.0000000000000002e-10 s
simulated 2e-10 s
We could have saved the magnetisation dynamics in python objects on the fly. Instead, we chose to make use of fidimag’s automatic saving capabilities and will now read our simulation results back in.
[9]:
# PYTEST_VALIDATE_IGNORE_OUTPUT
import matplotlib.pyplot as plt
%matplotlib inline
from fidimag.common.fileio import DataReader
def do_plot(data_name):
dynamics = DataReader(data_name)
# we could load the data with np.loadtxt, but using the DataReader gives
# us the possibility to use the column headers to access our data
fig = plt.figure(figsize=(8, 6))
axes = fig.add_subplot(111)
axes.plot(dynamics["time"] * 1e9, dynamics["m_x"], "b-", label="m_x")
axes.plot(dynamics["time"] * 1e9, dynamics["m_y"], "r--", label="m_y")
axes.plot(dynamics["time"] * 1e9, dynamics["m_z"], "g--", label="m_z")
axes.set_xlabel("time (ns)")
axes.set_xlim((0, 0.25))
axes.set_ylabel("unit magnetisation (1)")
axes.set_ylim((-1.05, 1))
axes.legend()
plt.show()
do_plot('field_1.txt')
References#
[1] muMAG Micromagnetics Website. URL: http://www.ctcms.nist.gov/~rdm/mumag.org.html (Date of access: 26/02/2016)