CYY_STTEvolve.zipSpin Trnasfer Torque (STT) Extension Module For OOMMF(Object Oriented MicroMagnetic Framework)
< Switching of 60x40 nm2 F1 layer in AFM/F3/NM/F2/I/F1 structure with current density of 2.7x1011 A/m2 >
* This is the homepage of the STT Extension module for OOMMF.
* Typical MRAM multilayer stack (AFM/F3/NM/F2/I/F1) can be simulated as shown above figure.
The role of AFM layer is only providing the exchange bias field.
* Installation (Most recent version of OOMMF, it already include my extension module,
so that you don't need to download the source code.)
o Download source code at the bottom of this page. (CYY_STTEvolve.zip, new version, 22 July 2013)
o Copy the STT_Evolve.h and STT_Evolve.cc files into OOMMF/app/oxs/local folder.
o Recompile OOMMF (see OOMMF User guide for the compiling procedure).
o Example *.mif file is also included in the zip file.
o If you want pre-compiled binary version (Windows version only) is available by personal request.
o The current flows z-directions
* Comments or request : send e-mail to cyyou@dgist.ac.kr
* Thanks to Antoine Vanhaverbeke, my extension module is based on his wonderful works for STT domain wall motion.
* License: Public Domain, it is free to use without any limitation, but I have no responsibility to the results.
* When you refer this module, I ask that you cite, Chun-Yeol You, J. of Magnetics, 17, 73 (2012).
* MIF file usage of CYY_STTEvole
You can find *.mif file in download zip file. It is self-explained, and I give some comments here.
If you have any question, let me know.
* At 3 Sep. 2012, there is minor correction about bJ term acting on polarizer layer.
If you downloaded my code before 3 Sep. 2012, please download it again. There is a sign correction.
* Important corrections: 22 July 2013, We found a serious error in the direction of STT for the polarizer layer.
You must download fixed version, if we consider polarizer layer spin dynamics.
proc J_time { t } {
set scale 1.0;
if {$t > 10.0e-9} { % Pulse Time, after 10 ns, no current
set scale 0
}
return $scale
}
% Oesterd field effect which generated from the running current can be included
Specify Oxs_StageZeeman [subst {
multiplier [expr $CurrentDensity]
stage_count $NumStageCount
script { ReadHField }
}]
% Read pre-calcuated Oersted field file,
% it is calculated for 1 A/m^2 current density so that
% the $CurrentDensity must be multiplied to obtain the proper Oersted field.
% And if there is no current, the Oesterd field is also zero.
% The pre-calcuated Oersted field must be calculated in separated procedure
% by using Ampere or Viot-Savart laws.
proc ReadHField { stage } {
if { $stage < 1000 } { % 10 ns is 1000-th stage, the each step is defined 10 ps
set HField Oxs_FileVectorField
lappend HField [subst {
atlas :atlas
file "Oersted_H_Field.ohf"
}]
return $HField
} else {
return "0.0 0.0 0.0"
}
}
% STT-Evolve
Specify CYY_STTEvolve [subst {
do_precess 1
gamma_LL 2.21e5
method rkf54s
alpha 0.005 % Gilbert damping constant, you may position dep. alpha
Jcurr $CurrentDensity % current density of A/m^2 unit
J_profile J_time
J_profile_args total_time
% Field like term (bJ0 + bJ1*J + bJ2*J^2)
% Each term has A/m, A/m/(A/m^2), and A/m/(A/m^2)^2 unit
% in order to keep the field unit,
% positive bJ prefers parallel configurations (fixed at 21 Mar. 2012)
% (If you download code, before 21 Mar. 2012, the sign convention of bJ is opposite.)
% eta0 is spin polarization of the polarizer layer or STT efficiency
% Slonczewski term is automatically calculated by aJ = hbar/(2*e*mu0*Ms*unitCellz)*J
% Assume the STT exist only the first unit cell layer.
bJ0 0.0
bJ1 0.0
bJ2 0.0
eta0 0.7
% Define STT between two layers, the usage is almost the same with
% Oxs_TwoSurfaceExchange in OOMMF.
Inter_down {
atlas :atlas
region F1
scalarfield :zheight
scalarvalue [expr $LZ5 + $LZ4 + $LZ3]
scalarside -
}
Inter_up {
atlas :atlas
region Top
scalarfield :zheight
scalarvalue [expr $LZ5 + $LZ4 + $LZ3 + $LZ2]
scalarside +
}
}]
CY_STTEvolve.zip
[Related Publications]
1. Chun-Yeol You, "Micromagnetic Simulations for Spin Transfer Torque in Magnetic Multilayers", J. of Magnetics 17, 73 (2012).
DOI: 10.4283/jmag.2012.17.2.073
2. Chun-Yeol You, "Reduced spin transfer torque switching current density with non-colllinear polarizer layer magnetization in magnetic multilayer systems", Appl. Phys. Lett. 100, 252413 (2012).
3. Chun-Yeol You, "Dependence of the Spin Transfer Torque Switching Current Density on the Exchange Stiffness Constant", Appl. Phys. Expr. 5, 103001 (2012).
4. Chun-Yeol You and Myung-Hwa Jung, “Dependence of the switching current density on the junction sizes in spin transfer torque”, J. Appl. Phys. 113, 073904 (2013).
5. Chun-Yeol You and Myung-Hwa Jung, “Role of non-collinear polarizer layer in spin transfer torque switching processes”, J. Appl. Phys. 114, 013909 (2013).
6. Chun-Yeol You, “Effect of the synthetic antiferromagnetic polarizer layer rigidness on the spin transfer torque switching current density”, Appl. Phys. Lett. 103, 042402 (2013).
7. Chun-Yeol You, “Reduced Switching Current Density in Spin Transfer Torque with Lateral Symmetry Breaking Structure”, Appl. Phys. Expr. 6, 103001 (2013).
8. Hyungsuk Kim and Chun-Yeol You, "Embedded Object-Oriented Micromagnetic Frame(OOMMF) for More Flexible Micromagnetic Simulations", Journal of Magnetics 21(4), 491-495 (2016).
DOI: 10.4283/JMAG.2016.21.4.491
9. Hyungsuk Kim and Chun-Yeol You, " Effect of Finite Tunneling Magneto-Resistance for the Switching Dynamics in the Spin Transfer Torque Magnetic Tunneling Junctions", IEEE Trans. on MAG, (2017).
DOI: 10.1109/TMAG.2017.2712779