Extended equations =================== Stochastic LLG equation --------------------------------------- The implemented equation including the thermal fluctuation effects is .. math:: \frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times (\vec{H}+\vec{\xi}) + \alpha \vec{m} \times \frac{\partial \vec{m}}{\partial t} where :math:`\vec{\xi}` is the thermal fluctuation field and is assumed to have the following properties, .. math:: \left< \vec{\xi} \right> = 0, \;\;\; \left< \vec{\xi}_i^u,\vec{\xi}_j^v \right> = 2 D \delta_{ij} \delta_{uv} and .. math:: D = \frac{\alpha k_B T}{\gamma \mu_s} .. Including the susceptibility .. ------------------------------- .. The dynamic equation we used including the susceptibility is, .. .. math:: .. \frac{\partial \vec{S}_i}{\partial t} = - \gamma \vec{S}_i \times \vec{H}_i + \alpha \gamma \vec{H}_i + \frac{1}{\chi} (1-S_i^2)\vec{S}_i .. :label: eq_llg_s .. where :math:`\vec{S}_i` is defined by the ratio of magnetic moment :math:`\vec{\mu}_i` and the equalibrium magnitude of the effective magnetic moment :math:`\mu_s=M_0 a^3`, .. .. math:: .. \vec{S}_i=\frac{\vec{\mu}_i}{\mu_s}. .. The effective field is defined by, .. .. math:: .. \vec{H}_i = - \frac{1}{\mu_s}\frac{\partial \mathcal{H}}{\partial \vec{S}_i} .. Therefore, the corresponding fields are, .. .. math:: .. \vec{H}_{i,ex} =\frac{J}{\mu_s} \sum_{} \vec{S}_j .. .. math:: .. \vec{H}_{i,an} = \frac{2 D}{\mu_s} S_{x,i} \vec{e}_x Spin transfer torque (Zhang-Li model) --------------------------------------- The extended equation with current is, .. math:: \frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times \vec{H} + \alpha \vec{m} \times \frac{\partial \vec{m}}{\partial t} + u_0 (\vec{j}_s \cdot \nabla) \vec{m} - \beta u_0 [\vec{m}\times (\vec{j}_s \cdot \nabla)\vec{m}] Where .. math:: u_0=\frac{p g \mu_B}{2 |e| M_s}=\frac{p g \mu_B a^3}{2 |e| \mu_s} and :math:`\mu_B=|e|\hbar/(2m)` is the Bohr magneton. Notice that :math:`\partial_x \vec{m} \cdot \vec{m}=0` so :math:`u_0 (\vec{j}_s \cdot \nabla) \vec{m}= - u_0 \vec{m}\times[\vec{m}\times (\vec{j}_s \cdot \nabla)\vec{m}]`. Besides, we can change the equation to atomistic one by introducing :math:`\vec{s}=-\vec{S}` where :math:`\vec{S}` is the local spin such that .. math:: \vec{M}=-\frac{g \mu_B}{a^3}\vec{S} =\frac{g \mu_B}{a^3}\vec{s} so :math:`u_0=p a^3/(2|e|s)`, furthermore, .. math:: \frac{\partial \vec{s}}{\partial t} = - \gamma \vec{s} \times \vec{H} + \frac{\alpha}{s} \vec{s} \times \frac{\partial \vec{s}}{\partial t} + \frac{p a^3}{2|e|s} (\vec{j}_s \cdot \nabla) \vec{s} - \frac{p a^3 \beta}{2|e|s^2} [\vec{s}\times (\vec{j}_s \cdot \nabla)\vec{s}] However, we perfer the normalised equaiton here, after changing it to LL form, we obtain, .. math:: (1+\alpha^2)\frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times \vec{H} - \alpha \gamma \vec{m} \times (\vec{m} \times \vec{H}) + (1+\alpha\beta) u_0 (\vec{j}_s \cdot \nabla) \vec{m} - (\beta-\alpha) u_0 [\vec{m}\times (\vec{j}_s \cdot \nabla)\vec{m}] although in principle :math:`\partial_x \vec{m}` is always perpendicular to :math:`\vec{m}`, it's better to take an extra step to remove its longitudinal component, therefore, the real equation written in codes is, .. math:: (1+\alpha^2)\frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times \vec{H}_{\perp} + \alpha \gamma \vec{H}_{\perp} + (1+\alpha \beta) u_0 \vec{\tau}_{\perp} - (\beta-\alpha) u_0 (\vec{m}\times \vec{\tau}_{\perp}) where :math:`\vec{\tau}=(\vec{j}_s \cdot \nabla)\vec{m}` is the effective torque generated by current. Nonlocal spin transfer torque (full version of Zhang-li model) --------------------------------------------------------------- The LLG equation with STT is given by, .. math:: \frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times \vec{H} + \alpha \vec{m} \times \frac{\partial \vec{m}}{\partial t} + \vec{T} where :math:`\vec{T}` is the spin transfer torque. In the local form the STT is given by, .. math:: \vec{T}_{loc} = u_0 (\vec{j}_s \cdot \nabla) \vec{m} - \beta u_0 [\vec{m}\times (\vec{j}_s \cdot \nabla)\vec{m}] And in general case, the spin transfer torque could be computed by, .. math:: \vec{T}=-\frac{\vec{m} \times \delta \vec{m}}{\tau_{sd}} where :math:`\tau_{sd}` is the s-d exchange time and :math:`\delta \vec{m}` is the nonequilibrium spin density governed by .. math:: \frac{\partial \delta \vec{m}}{\partial t} = D \nabla^2 \delta \vec{m} + \frac{\vec{m} \times \delta \vec{m}}{\tau_{sd}} - \frac{\delta \vec{m}}{\tau_{sf}} +u_0 (\vec{j}_s \cdot \nabla) \vec{m} By changing the LLG equation to LL form, we obtain, .. math:: (1+\alpha^2)\frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times \vec{H} - \alpha \gamma \vec{m} \times (\vec{m} \times \vec{H}) + \vec{T} + \alpha \vec{m} \times \vec{T} i.e., .. math:: (1+\alpha^2)\frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times \vec{H} - \alpha \gamma \vec{H}_{\perp} - \frac{\vec{m} \times \delta \vec{m}}{\tau_{sd}} + \alpha \frac{\delta \vec{m}}{\tau_{sd}} Spin transfer torque (current-perpendicular-to-plane, CPP) ------------------------------------------------------------------------------------------- In this case (current-perpendicular-to-plane, CPP), there are two types of torques can be added to the orginal LLG equation. One is the so called Slonczewski torque :math:`\vec{\tau}_s=-a_J \vec{m} \times (\vec{m} \times \vec{p})`, and the other is a fieldlike torque :math:`\vec{\tau}_f=- b_J(\vec{m} \times \vec{p})` [PRL 102 037206 (2009)]. So the full LLG equation is .. math:: \frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times \vec{H} + \alpha \vec{m} \times \frac{\partial \vec{m}}{\partial t} -a_J \vec{m} \times (\vec{m} \times \vec{p}) - b_J (\vec{m} \times \vec{p}) where :math:`\vec{p}` is the unit vector of the spin polarization. The parameter :math:`b_J = \beta a_J` and .. math:: a_J = \frac{\hbar \gamma J P}{2 |e| d M_s} As we can see, this equation is exactly the same as the one used in Zhang-Li case if we take :math:`\vec{p} = (\vec{j}_s \cdot \nabla)\vec{m}`. So the implemented equation in the code is, .. math:: (1+\alpha^2)\frac{\partial \vec{m}}{\partial t} = - \gamma \vec{m} \times \vec{H}_{\perp} + \alpha \gamma \vec{H}_{\perp} + (1+\alpha \beta) a_J \vec{p}_{\perp} - (\beta-\alpha) a_J (\vec{m}\times \vec{p}_{\perp}) where :math:`\vec{p}_\perp=\vec{p}-(\vec{m}\cdot\vec{p})\vec{m}`.