Fidimag
The implemented equation including the thermal fluctuation effects is
where \(\vec{\xi}\) is the thermal fluctuation field and is assumed to have the following properties,
and
The extended equation with current is,
Where
and \(\mu_B=|e|\hbar/(2m)\) is the Bohr magneton. Notice that \(\partial_x \vec{m} \cdot \vec{m}=0\) so \(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 \(\vec{s}=-\vec{S}\) where \(\vec{S}\) is the local spin such that
so \(u_0=p a^3/(2|e|s)\), furthermore,
However, we perfer the normalised equaiton here, after changing it to LL form, we obtain,
although in principle \(\partial_x \vec{m}\) is always perpendicular to \(\vec{m}\), it’s better to take an extra step to remove its longitudinal component, therefore, the real equation written in codes is,
where \(\vec{\tau}=(\vec{j}_s \cdot \nabla)\vec{m}\) is the effective torque generated by current.
The LLG equation with STT is given by,
where \(\vec{T}\) is the spin transfer torque. In the local form the STT is given by,
And in general case, the spin transfer torque could be computed by,
where \(\tau_{sd}\) is the s-d exchange time and \(\delta \vec{m}\) is the nonequilibrium spin density governed by
By changing the LLG equation to LL form, we obtain,
i.e.,
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 \(\vec{\tau}_s=-a_J \vec{m} \times (\vec{m} \times \vec{p})\), and the other is a fieldlike torque \(\vec{\tau}_f=- b_J(\vec{m} \times \vec{p})\) [PRL 102 037206 (2009)]. So the full LLG equation is
where \(\vec{p}\) is the unit vector of the spin polarization. The parameter \(b_J = \beta a_J\) and
As we can see, this equation is exactly the same as the one used in Zhang-Li case if we take \(\vec{p} = (\vec{j}_s \cdot \nabla)\vec{m}\). So the implemented equation in the code is,
where \(\vec{p}_\perp=\vec{p}-(\vec{m}\cdot\vec{p})\vec{m}\).