Class SpinOrbitTorque
java.lang.Object
org.episteme.apps.apps.physics.spintronics.SpinOrbitTorque
Spin-Orbit Torque (SOT) calculations for heavy metal / ferromagnet bilayers.
SOT enables efficient magnetization switching via Spin Hall Effect (SHE).
Physics
A charge current J_c in the heavy metal (Pt, Ta, W) generates a transverse spin current via the Spin Hall Effect: $$ J_s = \theta_{SH} \frac{\hbar}{2e} J_c $$ This spin current exerts a torque on the adjacent ferromagnet.
References
- Liu, L. et al. (2012). "Spin-Torque Switching with the Giant Spin Hall Effect of Tantalum". Science, 336(6081), 555-558. DOI: 10.1126/science.1218197
- Miron, I. M. et al. (2011). "Perpendicular switching of a single ferromagnetic layer induced by in-plane current injection". Nature, 476, 189-193. DOI: 10.1038/nature10309
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classHeavy metal properties.static classMaterials exhibiting Orbital Hall Effect (OHE). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReal[]calculateDampingLikeTorque(Real currentDensity, FerromagneticLayer layer, Real[] currentDirection) Calculates the damping-like SOT vector (Anti-damping torque). $$ \tau_{DL} = \tau_0 (\mathbf{m} \times (\hat{\sigma} \times \mathbf{m})) $$ where σ is the spin polarization direction (perpendicular to current and normal).Real[]calculateFieldFreeTorque(Real currentDensity, FerromagneticLayer layer, Real[] currentDirection, AntiferromagneticMaterial afm, Real[] biasDirection) Combined SOT + Exchange Bias for field-free switching.Real[]calculateFieldLikeTorque(Real currentDensity, FerromagneticLayer layer, Real[] currentDirection) Calculates the field-like SOT vector. $$ \tau_{FL} = \tau_{FL,0} (\mathbf{m} \times \hat{\sigma}) $$static Real[]calculateOrbitalTorque(Real currentDensity, FerromagneticLayer layer, SpinOrbitTorque.OrbitalHallMaterial oheMaterial, Real oheThickness, Real[] currentDirection) Orbital Hall Effect (OHE) torque.Real[]calculateRashbaTorque(Real currentDensity, FerromagneticLayer layer, Real rashbaParameter) Rashba-induced field-like torque at the interface. $$ \tau_{Rashba} = \frac{\alpha_R m_e}{\hbar e} J_c (\mathbf{m} \times \hat{y}) $$doublecalculateSwitchingProbability(Real currentDensity, Real pulseDuration, Real temperature, FerromagneticLayer layer, Real attemptFrequency) SOT switching probability for a given pulse.getMetal()
-
Constructor Details
-
SpinOrbitTorque
-
-
Method Details
-
calculateDampingLikeTorque
public Real[] calculateDampingLikeTorque(Real currentDensity, FerromagneticLayer layer, Real[] currentDirection) Calculates the damping-like SOT vector (Anti-damping torque). $$ \tau_{DL} = \tau_0 (\mathbf{m} \times (\hat{\sigma} \times \mathbf{m})) $$ where σ is the spin polarization direction (perpendicular to current and normal).- Parameters:
currentDensity- Charge current density in HM (A/m²)layer- Ferromagnetic layer receiving the torquecurrentDirection- Unit vector of current flow (usually x)- Returns:
- Damping-like torque vector
-
calculateFieldLikeTorque
public Real[] calculateFieldLikeTorque(Real currentDensity, FerromagneticLayer layer, Real[] currentDirection) Calculates the field-like SOT vector. $$ \tau_{FL} = \tau_{FL,0} (\mathbf{m} \times \hat{\sigma}) $$ -
getMetal
-
getThickness
-
calculateRashbaTorque
public Real[] calculateRashbaTorque(Real currentDensity, FerromagneticLayer layer, Real rashbaParameter) Rashba-induced field-like torque at the interface. $$ \tau_{Rashba} = \frac{\alpha_R m_e}{\hbar e} J_c (\mathbf{m} \times \hat{y}) $$- Parameters:
currentDensity- Charge current in x-directionlayer- Target ferromagnetic layerrashbaParameter- α_R (eV·Å) - typically 0.1-1.0
-
calculateOrbitalTorque
public static Real[] calculateOrbitalTorque(Real currentDensity, FerromagneticLayer layer, SpinOrbitTorque.OrbitalHallMaterial oheMaterial, Real oheThickness, Real[] currentDirection) Orbital Hall Effect (OHE) torque. Similar structure to SHE but with orbital-to-spin conversion at interface. -
calculateFieldFreeTorque
public Real[] calculateFieldFreeTorque(Real currentDensity, FerromagneticLayer layer, Real[] currentDirection, AntiferromagneticMaterial afm, Real[] biasDirection) Combined SOT + Exchange Bias for field-free switching. Uses effective field from AFM layer to break symmetry.- Parameters:
currentDensity- Charge current densitylayer- FM layercurrentDirection- Current directionafm- Antiferromagnetic material providing exchange biasbiasDirection- Direction of exchange bias field- Returns:
- Total effective field including SOT equivalent + bias
-
calculateSwitchingProbability
public double calculateSwitchingProbability(Real currentDensity, Real pulseDuration, Real temperature, FerromagneticLayer layer, Real attemptFrequency) SOT switching probability for a given pulse. Uses Néel-Brown thermal activation model.- Parameters:
currentDensity- Current densitypulseDuration- Pulse duration (s)temperature- Temperature (K)layer- Target layerattemptFrequency- f_0, typically 1e9-1e10 Hz- Returns:
- Switching probability [0, 1]
-