最終更新日: 2023/02/23 作成日: 2023/02/23

TL;DR

マイクロマグネティックシミュレーションソフトmumax3 で定義されている変数や関数について,原理となる式を用いて説明した. 公式が公開しているAPIページ ではよく分からなかったので,原論文 などを参考に補足説明を加えている.

mumaxを支える理論

mumaxでは,磁化の単位ベクトル$\bm{m} = \bm{m} (\bm{r}, t)$の時間発展を $$ \frac{\partial \bm{m}}{\partial t} = \bm{\tau} $$ に基づいて計算する. 右辺の$\bm{\tau}$は磁気トルク(1/s)で,具体的には以下のものが想定されている.

  1. Landau-Lifshitz トルク $\bm{\tau}_{LL}$
  2. Zhang-Li トルク $\bm{\tau}_{ZL}$ (連続系におけるスピン移行トルク)
  3. Slonczewski トルク $\bm{\tau}_{S}$(接合系におけるスピン移行トルク)

現状ではスピン軌道トルクは,ユーザが指定するカスタム磁場として取り入れるしかない.

Landau-Lifshitz トルク

Landau-Lifshitz トルクに関わるパラメタ(有効磁場, alpha): mumaxでは Landau-Lifshitz トルクとして,以下を扱う $$ \bm{\tau}_{LL} = \frac{\gamma_{LL}}{1 + \alpha^2} \left( \bm{m} \times \bm{B} + \alpha \bm{m} \times \left( \bm{m} \times \bm{B} \right) \right) ,$$ ただし$\gamma_{LL}$は磁気回転比 (rad / T s)でユーザが大きさを変更することも可能らしい. $\alpha$は Landau-Lifshitz 減定数(無次元)でalphaに対応し,$\bm{B}$は有効磁場(T)である. mumaxでは有効磁場を与えるものとして以下が扱える.

  1. Heisenberg 交換相互作用
  2. 磁気異方性
  3. Dzyaloshinskii-Moriya (DM) 相互作用
  4. 外部磁場
  5. 熱による擾乱
  6. 反磁場
  7. 磁気弾性結合
  8. ユーザが指定できるカスタム磁場

以下は磁場を与える各エネルギーについてのまとめ.

  1. Heisenberg 交換相互作用(Aex): 交換相互作用のエネルギー密度は $$ \epsilon_{ex} = A_{ex} \bm{\nabla} \bm{m} : \bm{\nabla} \bm{m} = A_{ex} \ \partial_i \bm{m} \cdot \partial_i \bm{m} $$ で与えられるとすると,$A_{ex}$は交換スティフネス(J/m)でAexに対応する.

    異なる領域をまたぐ場合の交換相互作用のふるまいは調和平均をとる. これに関してはext_interexchange(region1, region2, Aex)ext_scaleexchange(region1, region2, 0.9)などでユーザが指定できる.

    出力できる量として 交換相互作用に由来する有効磁場B_exch (T) (ただしDM相互作用の寄与も含まれる),相互作用するスピン間の最大角maxangle (rad)がある.

  2. 磁気異方性

    • 一軸磁気異方性(anisU, Ku1, Ku2): 一軸磁気異方性エネルギー密度は $$ \epsilon_{\mathrm{anis, u}} = - K_1 (\hat{u} \cdot \bm{m})^2 - K_2 (\hat{u} \cdot \bm{m})^4 $$ で与えられるとして,$\hat{u}$がanisUに,$K_1$, $K_2$がそれぞれKu1, Ku2に対応している. つまりanisUは一軸磁気異方性方向, Ku1: 最低次の一軸磁気異方性定数 (J/m3), Ku2: 2次(というか4次?)の一軸磁気異方性定数 (J/m3)である.

    • 立方磁気異方性(anisC1, anisC2, Kc1, Kc2, Kc3): 立方異方性エネルギー密度は $$ \epsilon_{\mathrm{aniso, c}} = K_{c1} E_1 + K_{c2} E_2 + K_{c3} E_3, $$ ただし,$K_{c1}$, $K_{c2}$, $K_{c3}$は1, 2, 3次の立方異方性定数 (J/m3)でKc1, Kc2, Kc3に対応する. $$ E_1 = (\hat{u}_1 \cdot \bm{m})^2 (\hat{u}_2 \cdot \bm{m})^2 + (\hat{u}_2 \cdot \bm{m})^2 (\hat{u}_3 \cdot \bm{m})^2 + (\hat{u}_3 \cdot \bm{m})^2 (\hat{u}_1 \cdot \bm{m})^2 ,$$ $$ E_2 = (\hat{u}_1 \cdot \bm{m})^2 (\hat{u}_2 \cdot \bm{m})^2 (\hat{u}_3 \cdot \bm{m})^2 ,$$ $$ E_3 = (\hat{u}_1 \cdot \bm{m})^4 (\hat{u}_2 \cdot \bm{m})^4 + (\hat{u}_2 \cdot \bm{m})^4 (\hat{u}_3 \cdot \bm{m})^4 + (\hat{u}_3 \cdot \bm{m})^4 (\hat{u}_1 \cdot \bm{m})^4 $$ で与えられる.ここで$\hat{u}_1$, $\hat{u}_2$, $\hat{u}_3$は立方異方性の方向である. $\hat{u}_1$はanisC1に, $\hat{u}_2$はanisC2に, $\hat{u}_3 = \hat{u}_1 \times \hat{u}_2$で自動的に決まる.

    出力できる量として異方性磁場B_anis(T),全異方性エネルギー(DM相互作用も含まれる)E_anis(J)がある.

  3. Dzyaloshinskii-Moriya (DM) 相互作用(Dbulk, Dind)
    バルクと界面のDM相互作用を指定できるが,同時にバルクと界面のDM相互作用は許可されない.

    • バルク DM 相互作用(Dbulk): バルクDM相互作用のエネルギー密度は $$ \epsilon_{\mathrm{DM, bulk}} = D_{\mathrm{bulk}} \bm{m} \cdot (\bm{\nabla} \times \bm{m}) $$ で与えられる.$D_{\mathrm{bulk}}$はバルク DM 相互作用の強さ(J/m2)で,Dbulkに対応する.

    • 界面 DM 相互作用(Dind): 界面DM相互作用のエネルギー密度は $$ \epsilon_{\mathrm{DM, int}} = D_{\mathrm{int}} [ m_z (\bm{\nabla} \cdot \bm{m}) - (\bm{m} \cdot \bm{\nabla} m_z)] $$ で与えらえる(?)$D_{\mathrm{int}}$は界面 DM 相互作用の強さ(J/m2)で,Dindに対応する.

    出力できる量として,DM相互作用を含む交換相互作用による磁場B_exch(T)などがある.

  4. 外部磁場(B_ext, Msat): Zeemanエネルギー密度は $$ \epsilon_{\mathrm{Zeeman}} = - M_s \bm{m} \cdot \bm{B}_{\mathrm{ext}} $$ で与えられる.ここで$M_s$は飽和磁化(A/m)でMsatに対応し,$\bm{B}_{\mathrm{ext}}$は外部磁場(T)であり,B_extに対応する.

    出力できるようとしては外部磁場B_ext(T),ZeemanエネルギーE_zeeman(J),Zeemanエネルギー密度Edens_zeeman(J/m3)がある.

  5. 熱による擾乱(Temp, alpha, Msat): 熱による擾乱を取り入れるために,熱による有効磁場$\bm{H}_{th}$を導入する. $\bm{H}_{th}$は,以下の性質を満たすとする. $$ \langle \bm{H}_{th} (\bm{r}, t) \rangle = 0, $$ $$ \langle H_{th}^{i} (\bm{r}, t) H_{th}^{j} (\bm{r}’, t’) \rangle = \frac{2 k_B T \alpha}{M_s \gamma_0} \delta^{i j} \delta (\bm{r} - \bm{r}’) \delta (t - t’) $$ ここで,$T$は温度(K)でTempに対応し,$k_B$はBoltzmann定数 (J/K),$\alpha$はLandau-Lifshitz減衰定数でalphaに対応する. $\gamma_0$は磁気回転比 (rad / T s)で,$M_s$は飽和磁化 (A/m)でMsatに対応する.

    出力できる量として熱による磁場B_therm (T),熱による磁場のエネルギーE_therm (J),そのエネルギー密度Edens_therm (J/m3)がある.

    thermseed(12345)で熱ノイズのランダムシードを指定できる.12345は適当な整数.

  6. 反磁場(静磁エネルギーによる磁場)
    どうも高速Fourier変換を基礎としたよく知られた畳み込みの定理に基づいて計算されるらしいがよくわかっていない.

    • 静磁場の効果を取り入れるかどうかはenabledemagで切り替えられる.

      1
      
      enabledemag = false // 静磁場による効果を取り入れない
      

      default はenabledemag = trueになっている.

    • nodemagspinsで領域ごとに静磁エネルギーの効果を取り入れるかどうかを指定できる.

      1
      
      nodemagspins.setregion(5, 1) // region 5 で反磁場を考慮しない
      

      defalut は0で,静磁エネルギーの効果を取り入れる.

    • demagaccuracyで静磁場のカーネルの精度を決められるようだ.

    • setpbc(nx, ny, nz)で x, y, z 方向に nx, ny, nz 個のgridの繰り返しを用意して静磁場を計算する.

      1
      
      setpbc(10,0,0)

      これによって反磁場のカットオフが決まる.

    出力できる量として静磁場B_demag (T),静磁エネルギーE_demag (J),そのエネルギー密度Edens_demag (J/m3)がある.

  7. 磁気弾性結合(B1, B2): 第一磁気弾性結合定数 (J/m3), 第二磁気弾性結合定数 (J/m3). (詳しい説明が見つからなかった.)

  8. ユーザが指定できるカスタム磁場(B_custom): 文字通りユーザが指定できる磁場(T). 全ての磁気トルクは有効磁場の形で書くことができるなので,B_customを使えば任意の磁気トルクを計算できる(はず).

Zhang-Li トルク

連続系におけるスピン移行トルクであるZhang-Liトルクは $$ \bm{\tau}_{ZL} = \frac{1+ \xi \alpha}{1 + \alpha^2} \bm{m} \times (\bm{m} \times (\bm{u} \cdot \bm{\nabla}) \bm{m}) + \frac{\xi - \alpha}{1 + \alpha^2} \bm{m} \times (\bm{u} \cdot \bm{\nabla}) \bm{m} $$ で与えられる.$\alpha$はLandau-Lifshitz減衰定数でalphaに対応し,$\xi$は非断熱性に由来するパラメタでxiに対応する. $$ \bm{u} = \frac{\mu_B P}{2 e \gamma_0 M_s (1 + \xi^2)} \bm{j} $$ である. ここで,$\mu_B$はBohr磁子(J/T),$e$は電荷素量(C),$\gamma_0$は磁気回転比(rad / T s)で,$\bm{j}$は電流密度(A/m2)でJに対応し,$P$は電流のスピン偏極率(無次元)でPolに対応し,$M_s$は飽和磁化(A/m)でMsatに対応する. ちなみにZahng-LiトルクはLandau-Lifshitzトルクにおける有効磁場$\bm{B}$を $$ \gamma_0 \bm{B} = \bm{m} \times (\bm{u} \cdot \bm{\nabla}) \bm{m} + \xi (\bm{u} \cdot \bm{\nabla}) \bm{m} $$ とおいたことに等しい.

Slonczewski トルク

接合系におけるスピン移行トルクは $$ \bm{\tau}_{S} = \beta \frac{\epsilon - \alpha \epsilon’}{1 + \alpha^2} \left( \bm{m} \times \left( \bm{m}_P \times \bm{m} \right) \right) - \beta \frac{\epsilon’ - \alpha \epsilon}{1 + \alpha^2} \bm{m} \times \bm{m}_P $$ で与えられるslonczewski1996 , xiao2004 . ここで, $$ \beta = \frac{j_z \hbar}{M_S e d} ,$$ $$ \epsilon = \frac{P (\br, t) \Lambda^2}{\Lambda^2 + 1 + (\Lambda^2 - 1) \bm{m} \cdot \bm{m}_P} $$ である. $j_z$は$z$方向の電流密度(A/m2)でJに対応していて,$e$は電荷素量(C),$d$は自由層の厚み(m)でFreeLayerThicknessに対応しており,$\bm{m}_P$は固定層の磁化を表す単位ベクトル,$P$はスピン偏極率でFixedLayerに対応しており,$\Lambda$はSlonczewski $\Lambda$パラメタと呼ばれるもので,スペーサー層を特徴づけていてLambdaに対応する. $\epsilon’$は第二のスピン移行トルクパラメタで,EpsilonPrimeに対応する.