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

\[\frac{d\mathbf{m}}{dt} = -\gamma_{0}(\mathbf{m} \times \mathbf{H}_\text{eff}) + \alpha\left(\mathbf{m} \times \frac{d\mathbf{m}}{dt}\right)\]

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:

  1. \(\mathbf{H}_{1} = (-24.6, 4.3, 0.0) \,\text{mT}\)

  2. \(\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))
../../_images/user_guide_ipynb_standard_problem_4_15_0.png
[ 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')
../../_images/user_guide_ipynb_standard_problem_4_21_0.png

References#

[1] muMAG Micromagnetics Website. URL: http://www.ctcms.nist.gov/~rdm/mumag.org.html (Date of access: 26/02/2016)