Numerical Analysis and Innovative Simulation
Techniques for Designing Advanced MRAM
\(\newcommand{\footnotename}{footnote}\)
\(\def \LWRfootnote {1}\)
\(\newcommand {\footnote }[2][\LWRfootnote ]{{}^{\mathrm {#1}}}\)
\(\newcommand {\footnotemark }[1][\LWRfootnote ]{{}^{\mathrm {#1}}}\)
\(\let \LWRorighspace \hspace \)
\(\renewcommand {\hspace }{\ifstar \LWRorighspace \LWRorighspace }\)
\(\newcommand {\TextOrMath }[2]{#2}\)
\(\newcommand {\mathnormal }[1]{{#1}}\)
\(\newcommand \ensuremath [1]{#1}\)
\(\newcommand {\LWRframebox }[2][]{\fbox {#2}} \newcommand {\framebox }[1][]{\LWRframebox } \)
\(\newcommand {\setlength }[2]{}\)
\(\newcommand {\addtolength }[2]{}\)
\(\newcommand {\setcounter }[2]{}\)
\(\newcommand {\addtocounter }[2]{}\)
\(\newcommand {\arabic }[1]{}\)
\(\newcommand {\number }[1]{}\)
\(\newcommand {\noalign }[1]{\text {#1}\notag \\}\)
\(\newcommand {\cline }[1]{}\)
\(\newcommand {\directlua }[1]{\text {(directlua)}}\)
\(\newcommand {\luatexdirectlua }[1]{\text {(directlua)}}\)
\(\newcommand {\protect }{}\)
\(\def \LWRabsorbnumber #1 {}\)
\(\def \LWRabsorbquotenumber "#1 {}\)
\(\newcommand {\LWRabsorboption }[1][]{}\)
\(\newcommand {\LWRabsorbtwooptions }[1][]{\LWRabsorboption }\)
\(\def \mathchar {\ifnextchar "\LWRabsorbquotenumber \LWRabsorbnumber }\)
\(\def \mathcode #1={\mathchar }\)
\(\let \delcode \mathcode \)
\(\let \delimiter \mathchar \)
\(\def \oe {\unicode {x0153}}\)
\(\def \OE {\unicode {x0152}}\)
\(\def \ae {\unicode {x00E6}}\)
\(\def \AE {\unicode {x00C6}}\)
\(\def \aa {\unicode {x00E5}}\)
\(\def \AA {\unicode {x00C5}}\)
\(\def \o {\unicode {x00F8}}\)
\(\def \O {\unicode {x00D8}}\)
\(\def \l {\unicode {x0142}}\)
\(\def \L {\unicode {x0141}}\)
\(\def \ss {\unicode {x00DF}}\)
\(\def \SS {\unicode {x1E9E}}\)
\(\def \dag {\unicode {x2020}}\)
\(\def \ddag {\unicode {x2021}}\)
\(\def \P {\unicode {x00B6}}\)
\(\def \copyright {\unicode {x00A9}}\)
\(\def \pounds {\unicode {x00A3}}\)
\(\let \LWRref \ref \)
\(\renewcommand {\ref }{\ifstar \LWRref \LWRref }\)
\( \newcommand {\multicolumn }[3]{#3}\)
\(\require {textcomp}\)
\(\newcommand {\mathlarger }[1]{#1}\)
\(\newcommand {\mathsmaller }[1]{#1}\)
\(\newcommand {\intertext }[1]{\text {#1}\notag \\}\)
\(\let \Hat \hat \)
\(\let \Check \check \)
\(\let \Tilde \tilde \)
\(\let \Acute \acute \)
\(\let \Grave \grave \)
\(\let \Dot \dot \)
\(\let \Ddot \ddot \)
\(\let \Breve \breve \)
\(\let \Bar \bar \)
\(\let \Vec \vec \)
\(\newcommand {\toprule }[1][]{\hline }\)
\(\let \midrule \toprule \)
\(\let \bottomrule \toprule \)
\(\def \LWRbooktabscmidruleparen (#1)#2{}\)
\(\newcommand {\LWRbooktabscmidrulenoparen }[1]{}\)
\(\newcommand {\cmidrule }[1][]{\ifnextchar (\LWRbooktabscmidruleparen \LWRbooktabscmidrulenoparen }\)
\(\newcommand {\morecmidrules }{}\)
\(\newcommand {\specialrule }[3]{\hline }\)
\(\newcommand {\addlinespace }[1][]{}\)
\(\newcommand {\bm }[1]{\boldsymbol {#1}}\)
\(\newcommand {\LWRsubmultirow }[2][]{#2}\)
\(\newcommand {\LWRmultirow }[2][]{\LWRsubmultirow }\)
\(\newcommand {\multirow }[2][]{\LWRmultirow }\)
\(\newcommand {\mrowcell }{}\)
\(\newcommand {\mcolrowcell }{}\)
\(\newcommand {\STneed }[1]{}\)
\(\newcommand {\tothe }[1]{^{#1}}\)
\(\newcommand {\raiseto }[2]{{#2}^{#1}}\)
\(\newcommand {\LWRsiunitxEND }{}\)
\(\def \LWRsiunitxang #1;#2;#3;#4\LWRsiunitxEND {\ifblank {#1}{}{\num {#1}\degree }\ifblank {#2}{}{\num {#2}^{\unicode {x2032}}}\ifblank {#3}{}{\num {#3}^{\unicode {x2033}}}}\)
\(\newcommand {\ang }[2][]{\LWRsiunitxang #2;;;\LWRsiunitxEND }\)
\(\def \LWRsiunitxdistribunit {}\)
\(\newcommand {\LWRsiunitxENDTWO }{}\)
\(\def \LWRsiunitxprintdecimalsubtwo #1,#2,#3\LWRsiunitxENDTWO {\ifblank {#1}{0}{\mathrm {#1}}\ifblank {#2}{}{{\LWRsiunitxdecimal }\mathrm {#2}}}\)
\(\def \LWRsiunitxprintdecimalsub #1.#2.#3\LWRsiunitxEND {\LWRsiunitxprintdecimalsubtwo #1,,\LWRsiunitxENDTWO \ifblank {#2}{}{{\LWRsiunitxdecimal }\LWRsiunitxprintdecimalsubtwo
#2,,\LWRsiunitxENDTWO }}\)
\(\newcommand {\LWRsiunitxprintdecimal }[1]{\LWRsiunitxprintdecimalsub #1...\LWRsiunitxEND }\)
\(\def \LWRsiunitxnumplus #1+#2+#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxprintdecimal {#1}}{\ifblank {#1}{\LWRsiunitxprintdecimal {#2}}{\LWRsiunitxprintdecimal {#1}\unicode
{x02B}\LWRsiunitxprintdecimal {#2}}}\LWRsiunitxdistribunit }\)
\(\def \LWRsiunitxnumminus #1-#2-#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumplus #1+++\LWRsiunitxEND }{\ifblank {#1}{}{\LWRsiunitxprintdecimal {#1}}\unicode {x02212}\LWRsiunitxprintdecimal
{#2}\LWRsiunitxdistribunit }}\)
\(\def \LWRsiunitxnumpmmacro #1\pm #2\pm #3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumminus #1---\LWRsiunitxEND }{\LWRsiunitxprintdecimal {#1}\unicode {x0B1}\LWRsiunitxprintdecimal
{#2}\LWRsiunitxdistribunit }}\)
\(\def \LWRsiunitxnumpm #1+-#2+-#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumpmmacro #1\pm \pm \pm \LWRsiunitxEND }{\LWRsiunitxprintdecimal {#1}\unicode {x0B1}\LWRsiunitxprintdecimal
{#2}\LWRsiunitxdistribunit }}\)
\(\newcommand {\LWRsiunitxnumscientific }[2]{\ifblank {#1}{}{\ifstrequal {#1}{-}{-}{\LWRsiunitxprintdecimal {#1}\times }}10^{\LWRsiunitxprintdecimal {#2}}\LWRsiunitxdistribunit }\)
\(\def \LWRsiunitxnumD #1D#2D#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumpm #1+-+-\LWRsiunitxEND }{\mathrm {\LWRsiunitxnumscientific {#1}{#2}}}}\)
\(\def \LWRsiunitxnumd #1d#2d#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumD #1DDD\LWRsiunitxEND }{\mathrm {\LWRsiunitxnumscientific {#1}{#2}}}}\)
\(\def \LWRsiunitxnumE #1E#2E#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumd #1ddd\LWRsiunitxEND }{\mathrm {\LWRsiunitxnumscientific {#1}{#2}}}}\)
\(\def \LWRsiunitxnume #1e#2e#3\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnumE #1EEE\LWRsiunitxEND }{\mathrm {\LWRsiunitxnumscientific {#1}{#2}}}}\)
\(\def \LWRsiunitxnumx #1x#2x#3x#4\LWRsiunitxEND {\ifblank {#2}{\LWRsiunitxnume #1eee\LWRsiunitxEND }{\ifblank {#3}{\LWRsiunitxnume #1eee\LWRsiunitxEND \times \LWRsiunitxnume
#2eee\LWRsiunitxEND }{\LWRsiunitxnume #1eee\LWRsiunitxEND \times \LWRsiunitxnume #2eee\LWRsiunitxEND \times \LWRsiunitxnume #3eee\LWRsiunitxEND }}}\)
\(\newcommand {\num }[2][]{\LWRsiunitxnumx #2xxxxx\LWRsiunitxEND }\)
\(\newcommand {\si }[2][]{\mathrm {\gsubstitute {#2}{~}{\,}}}\)
\(\def \LWRsiunitxSIopt #1[#2]#3{\def \LWRsiunitxdistribunit {\,\si {#3}}{#2}\num {#1}\def \LWRsiunitxdistribunit {}}\)
\(\newcommand {\LWRsiunitxSI }[2]{\def \LWRsiunitxdistribunit {\,\si {#2}}\num {#1}\def \LWRsiunitxdistribunit {}}\)
\(\newcommand {\SI }[2][]{\ifnextchar [{\LWRsiunitxSIopt {#2}}{\LWRsiunitxSI {#2}}}\)
\(\newcommand {\numlist }[2][]{\text {#2}}\)
\(\newcommand {\numrange }[3][]{\num {#2}\ \LWRsiunitxrangephrase \ \num {#3}}\)
\(\newcommand {\SIlist }[3][]{\text {#2}\,\si {#3}}\)
\(\newcommand {\SIrange }[4][]{\num {#2}\,#4\ \LWRsiunitxrangephrase \ \num {#3}\,#4}\)
\(\newcommand {\tablenum }[2][]{\mathrm {#2}}\)
\(\newcommand {\ampere }{\mathrm {A}}\)
\(\newcommand {\candela }{\mathrm {cd}}\)
\(\newcommand {\kelvin }{\mathrm {K}}\)
\(\newcommand {\kilogram }{\mathrm {kg}}\)
\(\newcommand {\metre }{\mathrm {m}}\)
\(\newcommand {\mole }{\mathrm {mol}}\)
\(\newcommand {\second }{\mathrm {s}}\)
\(\newcommand {\becquerel }{\mathrm {Bq}}\)
\(\newcommand {\degreeCelsius }{\unicode {x2103}}\)
\(\newcommand {\coulomb }{\mathrm {C}}\)
\(\newcommand {\farad }{\mathrm {F}}\)
\(\newcommand {\gray }{\mathrm {Gy}}\)
\(\newcommand {\hertz }{\mathrm {Hz}}\)
\(\newcommand {\henry }{\mathrm {H}}\)
\(\newcommand {\joule }{\mathrm {J}}\)
\(\newcommand {\katal }{\mathrm {kat}}\)
\(\newcommand {\lumen }{\mathrm {lm}}\)
\(\newcommand {\lux }{\mathrm {lx}}\)
\(\newcommand {\newton }{\mathrm {N}}\)
\(\newcommand {\ohm }{\mathrm {\Omega }}\)
\(\newcommand {\pascal }{\mathrm {Pa}}\)
\(\newcommand {\radian }{\mathrm {rad}}\)
\(\newcommand {\siemens }{\mathrm {S}}\)
\(\newcommand {\sievert }{\mathrm {Sv}}\)
\(\newcommand {\steradian }{\mathrm {sr}}\)
\(\newcommand {\tesla }{\mathrm {T}}\)
\(\newcommand {\volt }{\mathrm {V}}\)
\(\newcommand {\watt }{\mathrm {W}}\)
\(\newcommand {\weber }{\mathrm {Wb}}\)
\(\newcommand {\day }{\mathrm {d}}\)
\(\newcommand {\degree }{\mathrm {^\circ }}\)
\(\newcommand {\hectare }{\mathrm {ha}}\)
\(\newcommand {\hour }{\mathrm {h}}\)
\(\newcommand {\litre }{\mathrm {l}}\)
\(\newcommand {\liter }{\mathrm {L}}\)
\(\newcommand {\arcminute }{^\prime }\)
\(\newcommand {\minute }{\mathrm {min}}\)
\(\newcommand {\arcsecond }{^{\prime \prime }}\)
\(\newcommand {\tonne }{\mathrm {t}}\)
\(\newcommand {\astronomicalunit }{au}\)
\(\newcommand {\atomicmassunit }{u}\)
\(\newcommand {\bohr }{\mathit {a}_0}\)
\(\newcommand {\clight }{\mathit {c}_0}\)
\(\newcommand {\dalton }{\mathrm {D}_\mathrm {a}}\)
\(\newcommand {\electronmass }{\mathit {m}_{\mathrm {e}}}\)
\(\newcommand {\electronvolt }{\mathrm {eV}}\)
\(\newcommand {\elementarycharge }{\mathit {e}}\)
\(\newcommand {\hartree }{\mathit {E}_{\mathrm {h}}}\)
\(\newcommand {\planckbar }{\mathit {\unicode {x210F}}}\)
\(\newcommand {\angstrom }{\mathrm {\unicode {x212B}}}\)
\(\let \LWRorigbar \bar \)
\(\newcommand {\bar }{\mathrm {bar}}\)
\(\newcommand {\barn }{\mathrm {b}}\)
\(\newcommand {\bel }{\mathrm {B}}\)
\(\newcommand {\decibel }{\mathrm {dB}}\)
\(\newcommand {\knot }{\mathrm {kn}}\)
\(\newcommand {\mmHg }{\mathrm {mmHg}}\)
\(\newcommand {\nauticalmile }{\mathrm {M}}\)
\(\newcommand {\neper }{\mathrm {Np}}\)
\(\newcommand {\yocto }{\mathrm {y}}\)
\(\newcommand {\zepto }{\mathrm {z}}\)
\(\newcommand {\atto }{\mathrm {a}}\)
\(\newcommand {\femto }{\mathrm {f}}\)
\(\newcommand {\pico }{\mathrm {p}}\)
\(\newcommand {\nano }{\mathrm {n}}\)
\(\newcommand {\micro }{\mathrm {\unicode {x00B5}}}\)
\(\newcommand {\milli }{\mathrm {m}}\)
\(\newcommand {\centi }{\mathrm {c}}\)
\(\newcommand {\deci }{\mathrm {d}}\)
\(\newcommand {\deca }{\mathrm {da}}\)
\(\newcommand {\hecto }{\mathrm {h}}\)
\(\newcommand {\kilo }{\mathrm {k}}\)
\(\newcommand {\mega }{\mathrm {M}}\)
\(\newcommand {\giga }{\mathrm {G}}\)
\(\newcommand {\tera }{\mathrm {T}}\)
\(\newcommand {\peta }{\mathrm {P}}\)
\(\newcommand {\exa }{\mathrm {E}}\)
\(\newcommand {\zetta }{\mathrm {Z}}\)
\(\newcommand {\yotta }{\mathrm {Y}}\)
\(\newcommand {\percent }{\mathrm {\%}}\)
\(\newcommand {\meter }{\mathrm {m}}\)
\(\newcommand {\metre }{\mathrm {m}}\)
\(\newcommand {\gram }{\mathrm {g}}\)
\(\newcommand {\kg }{\kilo \gram }\)
\(\newcommand {\of }[1]{_{\mathrm {#1}}}\)
\(\newcommand {\squared }{^2}\)
\(\newcommand {\square }[1]{\mathrm {#1}^2}\)
\(\newcommand {\cubed }{^3}\)
\(\newcommand {\cubic }[1]{\mathrm {#1}^3}\)
\(\newcommand {\per }{\,\mathrm {/}}\)
\(\newcommand {\celsius }{\unicode {x2103}}\)
\(\newcommand {\fg }{\femto \gram }\)
\(\newcommand {\pg }{\pico \gram }\)
\(\newcommand {\ng }{\nano \gram }\)
\(\newcommand {\ug }{\micro \gram }\)
\(\newcommand {\mg }{\milli \gram }\)
\(\newcommand {\g }{\gram }\)
\(\newcommand {\kg }{\kilo \gram }\)
\(\newcommand {\amu }{\mathrm {u}}\)
\(\newcommand {\pm }{\pico \metre }\)
\(\newcommand {\nm }{\nano \metre }\)
\(\newcommand {\um }{\micro \metre }\)
\(\newcommand {\mm }{\milli \metre }\)
\(\newcommand {\cm }{\centi \metre }\)
\(\newcommand {\dm }{\deci \metre }\)
\(\newcommand {\m }{\metre }\)
\(\newcommand {\km }{\kilo \metre }\)
\(\newcommand {\as }{\atto \second }\)
\(\newcommand {\fs }{\femto \second }\)
\(\newcommand {\ps }{\pico \second }\)
\(\newcommand {\ns }{\nano \second }\)
\(\newcommand {\us }{\micro \second }\)
\(\newcommand {\ms }{\milli \second }\)
\(\newcommand {\s }{\second }\)
\(\newcommand {\fmol }{\femto \mol }\)
\(\newcommand {\pmol }{\pico \mol }\)
\(\newcommand {\nmol }{\nano \mol }\)
\(\newcommand {\umol }{\micro \mol }\)
\(\newcommand {\mmol }{\milli \mol }\)
\(\newcommand {\mol }{\mol }\)
\(\newcommand {\kmol }{\kilo \mol }\)
\(\newcommand {\pA }{\pico \ampere }\)
\(\newcommand {\nA }{\nano \ampere }\)
\(\newcommand {\uA }{\micro \ampere }\)
\(\newcommand {\mA }{\milli \ampere }\)
\(\newcommand {\A }{\ampere }\)
\(\newcommand {\kA }{\kilo \ampere }\)
\(\newcommand {\ul }{\micro \litre }\)
\(\newcommand {\ml }{\milli \litre }\)
\(\newcommand {\l }{\litre }\)
\(\newcommand {\hl }{\hecto \litre }\)
\(\newcommand {\uL }{\micro \liter }\)
\(\newcommand {\mL }{\milli \liter }\)
\(\newcommand {\L }{\liter }\)
\(\newcommand {\hL }{\hecto \liter }\)
\(\newcommand {\mHz }{\milli \hertz }\)
\(\newcommand {\Hz }{\hertz }\)
\(\newcommand {\kHz }{\kilo \hertz }\)
\(\newcommand {\MHz }{\mega \hertz }\)
\(\newcommand {\GHz }{\giga \hertz }\)
\(\newcommand {\THz }{\tera \hertz }\)
\(\newcommand {\mN }{\milli \newton }\)
\(\newcommand {\N }{\newton }\)
\(\newcommand {\kN }{\kilo \newton }\)
\(\newcommand {\MN }{\mega \newton }\)
\(\newcommand {\Pa }{\pascal }\)
\(\newcommand {\kPa }{\kilo \pascal }\)
\(\newcommand {\MPa }{\mega \pascal }\)
\(\newcommand {\GPa }{\giga \pascal }\)
\(\newcommand {\mohm }{\milli \ohm }\)
\(\newcommand {\kohm }{\kilo \ohm }\)
\(\newcommand {\Mohm }{\mega \ohm }\)
\(\newcommand {\pV }{\pico \volt }\)
\(\newcommand {\nV }{\nano \volt }\)
\(\newcommand {\uV }{\micro \volt }\)
\(\newcommand {\mV }{\milli \volt }\)
\(\newcommand {\V }{\volt }\)
\(\newcommand {\kV }{\kilo \volt }\)
\(\newcommand {\W }{\watt }\)
\(\newcommand {\uW }{\micro \watt }\)
\(\newcommand {\mW }{\milli \watt }\)
\(\newcommand {\kW }{\kilo \watt }\)
\(\newcommand {\MW }{\mega \watt }\)
\(\newcommand {\GW }{\giga \watt }\)
\(\newcommand {\J }{\joule }\)
\(\newcommand {\uJ }{\micro \joule }\)
\(\newcommand {\mJ }{\milli \joule }\)
\(\newcommand {\kJ }{\kilo \joule }\)
\(\newcommand {\eV }{\electronvolt }\)
\(\newcommand {\meV }{\milli \electronvolt }\)
\(\newcommand {\keV }{\kilo \electronvolt }\)
\(\newcommand {\MeV }{\mega \electronvolt }\)
\(\newcommand {\GeV }{\giga \electronvolt }\)
\(\newcommand {\TeV }{\tera \electronvolt }\)
\(\newcommand {\kWh }{\kilo \watt \hour }\)
\(\newcommand {\F }{\farad }\)
\(\newcommand {\fF }{\femto \farad }\)
\(\newcommand {\pF }{\pico \farad }\)
\(\newcommand {\K }{\mathrm {K}}\)
\(\newcommand {\dB }{\mathrm {dB}}\)
\(\newcommand {\kibi }{\mathrm {Ki}}\)
\(\newcommand {\mebi }{\mathrm {Mi}}\)
\(\newcommand {\gibi }{\mathrm {Gi}}\)
\(\newcommand {\tebi }{\mathrm {Ti}}\)
\(\newcommand {\pebi }{\mathrm {Pi}}\)
\(\newcommand {\exbi }{\mathrm {Ei}}\)
\(\newcommand {\zebi }{\mathrm {Zi}}\)
\(\newcommand {\yobi }{\mathrm {Yi}}\)
\(\let \unit \si \)
\(\let \qty \SI \)
\(\let \qtylist \SIlist \)
\(\let \qtyrange \SIrange \)
\(\let \numproduct \num \)
\(\let \qtyproduct \SI \)
\(\let \complexnum \num \)
\(\newcommand {\complexqty }[3][]{(\complexnum {#2})\si {#3}}\)
\(\require {mathtools}\)
\(\newcommand {\vcentcolon }{\mathrel {\unicode {x2236}}}\)
\(\newcommand {\approxcolon }{\approx \vcentcolon }\)
\(\newcommand {\Approxcolon }{\approx \dblcolon }\)
\(\newcommand {\simcolon }{\sim \vcentcolon }\)
\(\newcommand {\Simcolon }{\sim \dblcolon }\)
\(\newcommand {\dashcolon }{\mathrel {-}\vcentcolon }\)
\(\newcommand {\Dashcolon }{\mathrel {-}\dblcolon }\)
\(\newcommand {\colondash }{\vcentcolon \mathrel {-}}\)
\(\newcommand {\Colondash }{\dblcolon \mathrel {-}}\)
\(\newenvironment {crampedsubarray}[1]{}{}\)
\(\newcommand {\smashoperator }[2][]{#2\limits }\)
\(\newcommand {\SwapAboveDisplaySkip }{}\)
\(\newcommand {\LaTeXunderbrace }[1]{\underbrace {#1}}\)
\(\newcommand {\LaTeXoverbrace }[1]{\overbrace {#1}}\)
\(\Newextarrow \xLongleftarrow {10,10}{0x21D0}\)
\(\Newextarrow \xLongrightarrow {10,10}{0x21D2}\)
\(\let \xlongleftarrow \xleftarrow \)
\(\let \xlongrightarrow \xrightarrow \)
\(\newcommand {\LWRmultlined }[1][]{\begin {multline*}}\)
\(\newenvironment {multlined}[1][]{\LWRmultlined }{\end {multline*}}\)
\(\let \LWRorigshoveleft \shoveleft \)
\(\renewcommand {\shoveleft }[1][]{\LWRorigshoveleft }\)
\(\let \LWRorigshoveright \shoveright \)
\(\renewcommand {\shoveright }[1][]{\LWRorigshoveright }\)
\(\newcommand {\shortintertext }[1]{\text {#1}\notag \\}\)
\(\def \LWRsiunitxrangephrase {\TextOrMath { }{\ }\protect \mbox {to}\TextOrMath { }{\ }}\)
\(\def \LWRsiunitxdecimal {.}\)
Chapter 3 Micromagnetic Modelling
The theory of micromagnetism, first formalized by William Fuller Brown Jr. in the mid-20th century [89], provides a semi-classical framework for modeling magnetization dynamics in ferromagnetic materials. It
bridges classical field theory and quantum mechanics by incorporating quantum-derived effects, such as the exchange interaction, into a continuum description [90]. This approach is particularly suitable for modern spintronic devices,
such as STT-MRAM, where atomistic ab initio simulations are computationally infeasible due to the device scale, and macroscopic models fail to resolve magnetization behavior on the required length and time scales.
The central assumption of micromagnetism is that, on length scales larger than the exchange length \(l_\mathrm {ex} = \sqrt {2A/(\mu _0 M_s^2)}\), where \(A\) is the exchange stiffness constant, the discrete distribution of
atomic magnetic moments \(\mathbf {S}_i\) can be approximated by a continuous magnetization vector field \(\mathbf {M}(\mathbf {x})\). This approximation is justified when averaging over spatial regions \(\Omega \)
whose volume is much greater than the characteristic exchange volume \(\lambda ^3\), since in such areas the exchange interaction enforces near-uniform alignment of the magnetic moments:
\(\seteqnumber{0}{3.}{0}\)
\begin{equation}
\sum _i \mathbf {S}_i \approx \int {\Omega } \mathbf {M}(\mathbf {x}) d\mathbf {x}.
\end{equation}
As a result, micromagnetics enables the simulation of complex magnetization patterns in real devices by using continuous field variables rather than tracking individual spins. Another fundamental assumption of the micromagnetic
model is that magnetization is a constant norm throughout space and time. The magnetization vector is thus written as:
\(\seteqnumber{0}{3.}{1}\)
\begin{equation}
\mathbf {M}(\mathbf {x}) = M_s \, \mathbf {m}(\mathbf {x}) \quad \text {with} \quad |\mathbf {m}(\mathbf {x})| = 1,
\end{equation}
where \(\mathbf {m}(\mathbf {x})\) is a unit vector field representing the direction of the local magnetization, and \(M_s\) is the saturation magnetization.
Micromagnetic models are effective for simulating time-dependent magnetization dynamics, which are crucial in applications such as magnetic sensors, memory elements, and spin-torque oscillators. In these systems, the
magnetization is not static but evolves in response to external fields, spin-polarized currents, or thermal fluctuations.
3.1 Landau-Lifshitz-Gilbert Equation
The dynamics of the magnetization vector \(\mathbf {M}(\mathbf {x}, t)\) are governed by the Landau–Lifshitz–Gilbert (LLG) equation, a semi-classical differential equation incorporating both precessional motion and
damping. The origins of this equation can be traced to fundamental work on magnetic moments and torque. A magnetic moment \(\boldsymbol {\mu }\) experiences a torque \(\boldsymbol {\tau }\) in an external magnetic
induction field \(\mathbf {B}\), described by:
\(\seteqnumber{0}{3.}{2}\)
\begin{equation}
\boldsymbol {\tau } = \boldsymbol {\mu } \times \mathbf {B}.
\end{equation}
This torque induces rotational motion according to Newton’s second law for rotation:
\(\seteqnumber{0}{3.}{3}\)
\begin{equation}
\frac {d\mathbf {L}}{dt} = \boldsymbol {\tau },
\end{equation}
where \(\mathbf {L}\) denotes angular momentum. For an electron, the magnetic moment is related to its angular momentum by:
\(\seteqnumber{0}{3.}{4}\)
\begin{equation}
\boldsymbol {\mu } = \gamma \, \mathbf {L},
\end{equation}
\(\gamma \) being the electron’s gyromagnetic ratio. Combining these expressions yields the classical equation of motion for an individual magnetic moment:
\(\seteqnumber{0}{3.}{5}\)
\begin{equation}
\frac {d\boldsymbol {\mu }}{dt} = \gamma \, \boldsymbol {\mu } \times \mathbf {B}. \label {eq::LLG-moment}
\end{equation}
Equation (3.6 ) describes the precessional motion of a discrete magnetic moment. In micromagnetism, however, the magnetization is treated
as a continuous field rather than discrete moments. Assuming uniform spin density and constant magnitude, this continuous magnetization is expressed as:
\(\seteqnumber{0}{3.}{6}\)
\begin{equation}
\mathbf {M}(\mathbf {x}, t) = M_s \, \mathbf {m}(\mathbf {x}, t), \quad |\mathbf {m}(\mathbf {x}, t)| = 1,
\end{equation}
where \(\mathbf {m}\) is a unit vector indicating magnetization direction.
In this continuous framework, the magnetic induction \(\mathbf {B}\) is replaced by an effective magnetic field \(\mathbf {H}_{\text {eff}}\), incorporating external fields and internal contributions such as exchange,
anisotropy, and demagnetization (see Section 3.2 ). Introducing the rescaled gyromagnetic ratio \(\gamma _0 = -\gamma \mu _0\), the pure precession equation
for the normalized magnetization becomes:
\(\seteqnumber{0}{3.}{7}\)
\begin{equation}
\frac {d\mathbf {m}}{dt} = -\gamma _0 \, \mathbf {m} \times \mathbf {H}_{\text {eff}}, \label {eq::pure-precession}
\end{equation}
which corresponds to constant-energy precession around the effective field, as illustrated in Figure 3.1 (a). Historically, a time-dependent model describing
undamped precession was first introduced by Bloch in 1932 [91].
Experimental observations, however, indicate that magnetization dynamics inherently involve energy dissipation. Although the microscopic mechanisms behind this dissipation remain unclear, they can be modeled effectively
through phenomenological damping terms.
Figure 3.1: Magnetization dynamics on the unit sphere. (a) Pure precession: \(\mathbf {m}\) rotates around \(\mathbf {H}_{\mathrm {eff}}\) at constant polar angle (no damping, \(\alpha = 0\)). (b) Pure
damping: \(\mathbf {m}\) relaxes directly toward \(\mathbf {H}_{\mathrm {eff}}\) along a meridian (no precession). (c) Combined motion: damped precession spirals toward equilibrium.
In 1935, Landau and Lifshitz [92] introduced a damping term proportional to the component of \(\mathbf {H}_{\text {eff}}\) perpendicular to \(\mathbf {m}\), leading to the Landau–Lifshitz (LL) equation:
\(\seteqnumber{0}{3.}{8}\)
\begin{equation}
\frac {d\mathbf {m}}{dt} = -\gamma _0 \, \mathbf {m} \times \mathbf {H}_{\text {eff}} - \gamma _0 \lambda \, \mathbf {m} \times (\mathbf {m} \times \mathbf {H}_{\text {eff}}), \label
{eq::Landau-Lifshitz}
\end{equation}
where \(\lambda > 0\) is a phenomenological damping parameter. This equation describes the combined effects of precession and damping (see Figure 3.1 (c)).
In 1955, Gilbert [93] proposed an alternative damping formulation by introducing a viscous-type damping proportional to the time derivative of magnetization:
\(\seteqnumber{0}{3.}{9}\)
\begin{equation}
\frac {d\mathbf {m}}{dt} = -\gamma _0\,\mathbf {m}\times \mathbf {H}_{\text {eff}} + \alpha \,\mathbf {m}\times \frac {d\mathbf {m}}{dt}, \label {eq::Gilbert-implicit}
\end{equation}
Taking the scalar product of Equation (3.10 ) with \(\mathbf {m}\), one obtains the orthogonality condition:
\(\seteqnumber{0}{3.}{10}\)
\begin{equation}
\mathbf {m}\cdot \frac {d\mathbf {m}}{dt} = 0,
\end{equation}
ensuring the magnetization magnitude remains constant over time.
Taking the cross product of Equation (3.10 ) with \(\mathbf {m}\) and applying the vector triple product identity:
\[ \mathbf {a}\times (\mathbf {b}\times \mathbf {c})=(\mathbf {a}\cdot \mathbf {c})\mathbf {b}-(\mathbf {a}\cdot \mathbf {b})\mathbf {c},\quad \forall \mathbf {a},\mathbf {b},\mathbf {c}\in
\mathbb {R}^3, \]
together with constraints \(|\mathbf {m}| = 1\) and \(\mathbf {m}\cdot \frac {d\mathbf {m}}{dt} = 0\), Equation (3.10 ) can
be explicitly rewritten in the numerically convenient LLG form:
\(\seteqnumber{0}{3.}{11}\)
\begin{equation}
\frac {d\mathbf {m}}{dt} = \underbrace {\frac {-\gamma _0}{1 + \alpha ^2}\mathbf {m}\times \mathbf {H}_{\text {eff}}}_{\text {precession}} - \underbrace {\frac {\gamma _0\alpha }{1 + \alpha
^2}\mathbf {m}\times \left (\mathbf {m}\times \mathbf {H}_{\text {eff}}\right )}_{\text {damping}}, \label {eq::LLG-explicit}
\end{equation}
separating precessional motion from damping.
The energy evolution during magnetization dynamics is obtained by computing the time derivative of the total energy functional:
\(\seteqnumber{0}{3.}{12}\)
\begin{equation}
\frac {d}{dt}\mathcal {E}[\mathbf {m}] = \int _{\Omega } \frac {\delta \mathcal {E}}{\delta \mathbf {m}} \cdot \frac {\partial \mathbf {m}}{\partial t} \, \mathrm {d}\mathbf {x} = -\mu _0 M_s
\int _{\Omega } \mathbf {H}_{\text {eff}} \cdot \frac {\partial \mathbf {m}}{\partial t} \, \mathrm {d}\mathbf {x},
\end{equation}
where the second equality follows from the definition of the effective field in Equation (3.17 ) . Substituting Equation (3.12 ) , the precessional term vanishes because
\(\seteqnumber{0}{3.}{13}\)
\begin{equation}
\mathbf {H}_{\text {eff}} \cdot (\mathbf {m} \times \mathbf {H}_{\text {eff}}) = 0,
\end{equation}
as the cross product is orthogonal to both of its arguments. Only the damping term contributes. Using the vector identity \(\mathbf {H}_{\text {eff}} \cdot [\mathbf {m} \times (\mathbf {m} \times \mathbf
{H}_{\text {eff}})] = -\|\mathbf {m} \times \mathbf {H}_{\text {eff}}\|_2^2\), where \(\|\cdot \|_2\) denotes the Euclidean norm, which holds for \(|\mathbf {m}| = 1\), the energy dissipation relation
becomes [94]:
\(\seteqnumber{0}{3.}{14}\)
\begin{equation}
\frac {d}{dt}\mathcal {E}[\mathbf {m}] = -\frac {\alpha \gamma _0}{1+\alpha ^2}\int _{\Omega }\|\mathbf {m}\times \mathbf {H}_{\text {eff}}\|_2^2\,\mathrm {d}\mathbf {x} \leq 0. \label
{eq::energy-dissipation}
\end{equation}
The prefactor depends linearly on the damping parameter \(\alpha \), while the factor \((1 + \alpha ^2)\) in the denominator arises from the conversion between the Gilbert and Landau-Lifshitz forms. This result demonstrates
the dissipative nature of Gilbert damping, driving magnetization toward equilibrium alignment with the effective field.
Figure 3.1 summarizes distinct magnetization dynamics: (a) pure precession, (b) pure damping, and (c) combined damped precession. Simulations based on the LLG
equation are now essential for designing and optimizing STT-MRAM devices, enabling the prediction of switching behavior, thermal stability, and transient dynamics under realistic operating conditions.