forked from lijiext/lammps
103 lines
3.4 KiB
Plaintext
103 lines
3.4 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Commands_all.html)
|
|
|
|
:line
|
|
|
|
fix langevin/spin command :h3
|
|
|
|
[Syntax:]
|
|
|
|
fix ID group-ID langevin/spin T Tdamp seed :pre
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
langevin/spin = style name of this fix command :l
|
|
T = desired temperature of the bath (temperature units, K in metal units) :l
|
|
Tdamp = transverse magnetic damping parameter (adim) :l
|
|
seed = random number seed to use for white noise (positive integer) :l
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
fix 2 all langevin/spin 300.0 0.01 21 :pre
|
|
|
|
[Description:]
|
|
|
|
Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 to the
|
|
magnetic spins associated to the atoms.
|
|
Used with "fix nve/spin"_fix_nve_spin.html, this command performs
|
|
Brownian dynamics (BD).
|
|
A random torque and a transverse dissipation are applied to each spin i according to
|
|
the following stochastic differential equation:
|
|
|
|
:c,image(Eqs/fix_langevin_spin_sLLG.jpg)
|
|
|
|
with lambda the transverse damping, and eta a random vector.
|
|
This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG)
|
|
equation.
|
|
|
|
The components of eta are drawn from a Gaussian probability law. Their amplitude
|
|
is defined as a proportion of the temperature of the external thermostat T (in K
|
|
in metal units).
|
|
|
|
More details about this implementation are reported in "(Tranchida)"_#Tranchida2.
|
|
|
|
Note: due to the form of the sLLG equation, this fix has to be defined just
|
|
before the nve/spin fix (and after all other magnetic fixes).
|
|
As an example:
|
|
|
|
fix 1 all precession/spin zeeman 0.01 0.0 0.0 1.0
|
|
fix 2 all langevin/spin 300.0 0.01 21
|
|
fix 3 all nve/spin lattice moving :pre
|
|
|
|
is correct, but defining a force/spin command after the langevin/spin command
|
|
would give an error message.
|
|
|
|
Note: The random # {seed} must be a positive integer. A Marsaglia random
|
|
number generator is used. Each processor uses the input seed to
|
|
generate its own unique seed and its own stream of random numbers.
|
|
Thus the dynamics of the system will not be identical on two runs on
|
|
different numbers of processors.
|
|
|
|
:line
|
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
|
|
|
No information about this fix is written to "binary restart
|
|
files"_restart.html. Because the state of the random number generator
|
|
is not saved in restart files, this means you cannot do "exact"
|
|
restarts with this fix, where the simulation continues on the same as
|
|
if no restart had taken place. However, in a statistical sense, a
|
|
restarted simulation should produce the same behavior.
|
|
|
|
This fix is not invoked during "energy minimization"_minimize.html.
|
|
|
|
[Restrictions:]
|
|
|
|
The {langevin/spin} fix is part of the SPIN package. This style is
|
|
only enabled if LAMMPS was built with this package. See the "Build
|
|
package"_Build_package.html doc page for more info.
|
|
|
|
The numerical integration has to be performed with {fix nve/spin}
|
|
when {fix langevin/spin} is enabled.
|
|
|
|
This fix has to be the last defined magnetic fix before the time
|
|
integration fix (e.g. {fix nve/spin}).
|
|
|
|
[Related commands:]
|
|
|
|
"fix nve/spin"_fix_nve_spin.html, "fix precession/spin"_fix_precession_spin.html
|
|
|
|
[Default:] none
|
|
|
|
:line
|
|
|
|
:link(Mayergoyz1)
|
|
[(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009)
|
|
|
|
:link(Tranchida2)
|
|
[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson,
|
|
Journal of Computational Physics, 372, 406-425, (2018).
|