Open sfragkos opened 2 years ago
Can someone please tell me what are the units of spin transfer torque u, that I give as an input in the GUI???
Dear Sotirios, sorry for the late reply, but it's actually a feature we rarely used and don't know the units by heart. We obviously should have documented it better.
I believe this is the relevant equation and you can read up on the details in this thesis. I hope that will allow you to figure out the correct units.
To make sure you have your units correct, I would suggest that you compare equation (10) from Phys. Rev. B 99, 224414 (2019) (arxiv version in case you don't have access to PRB) to the implementation, https://github.com/spirit-code/spirit/blob/14ed7782bd23f4828bf23ab8136ae31a21037bb3/core/src/engine/Method_LLG.cpp#L185-L202
But note the corresponding factors and that the difference between STT and SOT, which is here expressed as gradient (i.e. bulk current) vs monolayer-approximation: https://github.com/spirit-code/spirit/blob/14ed7782bd23f4828bf23ab8136ae31a21037bb3/core/src/engine/Method_LLG.cpp#L155-L162
Note also figure 6 in the paper, which reproduces results from previous literature.
Dear G. P. Mueller,
Thank you for your answer.
In both Gradient and Monolayer method a_j seems to play key role in the implementation. https://github.com/spirit-code/spirit/blob/14ed7782bd23f4828bf23ab8136ae31a21037bb3/core/src/engine/Method_LLG.cpp#L185-L202
In the implementation you also mention:
// STT
// - monolayer
scalar **a_j = parameters.stt_magnitude**;
Vector3 s_c_vec = parameters.stt_polarisation_normal;
// - gradient
scalar **b_j = a_j**; // pre-factor **b_j = u*mu_s/gamma** (see bachelorthesis Constantin)
scalar beta = parameters.beta; // non-adiabatic parameter of correction term
Vector3 je = s_c_vec;// direction of current
In the case of monolayer method, it seams that the stt_magnitude refers to a_j, which has units of magnetic field (Tesla) accoring to P. Chureemart et al. (PRB 83, 184416 (2011)).
But in gradient method you mention:
b_j = a_j; // pre-factor b_j = u*mu_s/gamma
Here b_j
, according to b_j = u*mu_s/gamma
, has units of EnergySpatial_dimensions (eV times meter???), which doesn't make sense.
According to Zhang-Li model and your paper P. Chureemart et al. (PRB 83, 184416 (2011)), STT is described by a_j which has units of Magnetic field and it's proportional to the injected current density , and not from some b_j which is equal to a_j = umu_s/gamma
In some line of the "Gradient method" you also comment: //replace a_j with b_j
But the only definition of b_j
in the code is that it is equal to a_j
, where a_j
is just the stt_magnitude
, probably with units of magnetic field. Is that correct?
Therefore, shouldn't this mean that the input parameter llg_stt_magnitude
is actually in Tesla for both gradient and monolaer methods?
Thank you very much
PS: The thesis you are referring complicates things. It uses a lot the u*mu_s/gamma
but doesnt use any clear definition (and also no units). Sometimes is referred as STT, or spin current, or current density, or as something proportional to STT or spin current.
I looked at it a little bit more at the code and I finally believe that:
For both Gradient and Monolayer, the input is a_j and has units of energy. The a_j
in P. Chureemart et al. is in Tesla because it is devided by mu_B
.
Now the question is: a_j
is in eV or meV?
I guess it is in meV because the parameters in Hamiltonian are also set in meV.
Do you think this is correct?
dt
is in picoseconds, gamma
has units of rad/(ps T) and mu_B
has units of meV/T.
`dtg = parameters.dt Constants::gamma / Constants::mu_B / (1 + damping*damping)` should therefore have units of rad/meV.
I believe the resulting force_virtual
should have units of rad, which which brings me to the same conclusion you arrived at: that u
is in meV.
Please note that I haven't worked on this topic in about 3 years, so please verify this yourself. In the end, the units should also match with the equation
which lets you calculate the current density |j_e|
corresponding to your choice of u
.
Thank you very much.
I have one last question. j_e is referring to electron current density or to spin current density? If its electron current density, shouldn't Spin Hall angle be present in the equation below?
Dear Spirit users and developers,
I want to study current-driven dynamics of skyrmions. What are the units of spin transfer torque u, that I give as an input in the GUI, to simulate the current injection?
Do you have any example of a reasonable range of values that I could insert for my study?
Best regards,
Sotirios Fragkos