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).

DOI: 10.1063/1.4730376


3. Chun-Yeol You, "Dependence of the Spin Transfer Torque Switching Current Density on the Exchange Stiffness Constant", Appl. Phys. Expr. 5, 103001 (2012).

DOI: 10.1143/apex.5.103001


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).

DOI: 10.1063/1.4792728


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).

DOI: 10.1063/1.4812585


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).

DOI: 10.1063/1.4816358


7. Chun-Yeol You, “Reduced Switching Current Density in Spin Transfer Torque with Lateral Symmetry Breaking Structure”, Appl. Phys. Expr. 6, 103001 (2013).

DOI: 10.7567/apex.6.103001


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