# Magnetic parameters

SLaSi uses the notations for magnetic interaction in terms of magnetization M linked with each lattice site, The Landé factor g is assumed to be equal 2 and the spin length S equals ½. The exchange Hamiltonian is $mathcal H^text{ex} = -dfrac{J_0S^2}{2} sum_{n,delta} mathbf m_n mathbf m_{n+delta},$

where $mathbf m = mathbf M/M_s$, $M_s = gmu_BS/a_0^3$. $E^text{ex} = Aint (nabla mathbf m)^2mathrm d mathbf r,$ $A = dfrac{J_0S^2}{2a_0}.$

The lattice exchange constant is named as J0 (default value equals 1). For the dipolar interactions Bohr magneton muB is needed (default value equals 0.01). Dipolar interaction can be disabled by parameter dipInteraction for which values on and off allowed. For example

```J0 = 1.0
# By default, dipolar interaction is enabled
dipInteraction = on
muB = 0.003```

SLaSi supports exchange, single-ion and surface anisotropy. Hamiltonians of exchange and single-ion anisotropy read $mathcal H^text{ex. an.} = - dfrac{a_0^2S^2}{2} sum_{n,delta}left[ J_x m_n^x m_{n+delta}^x + J_y m_n^y m_{n+delta}^y +J_z m_n^z m_{n+delta}^z right],$ $mathcal H^text{s.-i. an.} = - dfrac{S^2}{2} sum_{n} left[ K_x (m_n^x)^2 + K_z (m_n^z)^2right].$

Exchange anisotropy is defined by parameters Jx, Jy and Jz (default values equal 0): $J = J_0 + dfrac{a_0^2}{2}J_i,quad i=x,y,z.$

For single-ion anisotropy constants Kx and/or Kz must be nonzero (default values equal 0. Surface single-ion anisotropy defined by surfKx and surfKz consants which are enabled by surfSIA parameter, which can take the value on or off (default).

The macroscopic anisotropy coefficients equal $beta_x = dfrac{S^2}{2a_0}dfrac{J_1 - J_2}{6} + dfrac{a_0S^2}{2}K_x,$ $beta_z = dfrac{S^2}{2a_0}dfrac{J_3 - J_2}{6} + dfrac{a_0S^2}{2}K_z,$

where the divisor 6 comes from the cubic lattice. Therefore, the saturation fields and exchange/magnetic lengths for different case read

• dipolar interaction: $H_s = 4pi M_s = 4pi gmu_BS/a_0^3$, $ell_text{ex}^2 = J_0a^{5}/(8pi g^2mu_B^2)$ ;
• single-ion anisotropy: $H_s = K_nu S/(gmu_B)$, $ell_text{m}^2 = J_0/(a^2K_nu)$;
• exchange anisotropy: $H_s = beta_nu/M_s =a^2(J_nu - J_2)/(24mu_B)$, $ell_text{m}^2 =6 J_0/(J_nu-J_2)$;

where index ν = x,y,z.

The Hamiltonian of the dipolar interaction reads $mathcal H^text{dip} = dfrac{g^2mu_B^2}{2}sum_{nneq m}left[ dfrac{mathbf m_n mathbf m_m}{r_{nm}^3} -3 dfrac{(mathbf m_n mathbf r_{nm})(mathbf m_m mathbf r_{nm})}{r_{nm}^5} right].$

Material parameters for the second layer (when the variable interface2 is defined) are J0in2, Kxin2, Kzin2 with the same sence as J0, Kx, and Kz (default values are zero).

The Gilbert damping α is defined by variable damping (default value equals 0.5 — overdamped system in comparison with Permalloy relaxation α=0.01). Note, that smaller value of α leads to the slower dynamics.

In the same way as volume single-ion anisotropy coefficients Kx and Kz, you can use surface single-ion anisotropy define by surfKx and surfKz variables. Surface single-ion anisotropy is enabled by setting surfSIA = on (default value is off). Corresponding Hamiltonian has a form $mathcal H^text{s.-i. an. surf} = - dfrac{S^2}{2} sum_{ns} left[ K_x ^s(m_n^x)^2 + K_z^s (m_n^z)^2right],$

where sum runs only over surface nodes. Program replaces the coefficient of the bulk single-ion anisotropy defined at the beginning by the surface one. Note, that exchange anisotropy naturally induces surface anisotropy due to dependence on the number of neighbours (six inside the sample and 3 on the flat surface, for example).