commit JT 020818
- documentation v1.0 - reorg. of examples
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB |
@ -15,7 +15,7 @@ atom_style style args :pre
|
|||||||
style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \
|
style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \
|
||||||
{dpd} or {edpd} or {mdpd} or {tdpd} or {electron} or {ellipsoid} or \
|
{dpd} or {edpd} or {mdpd} or {tdpd} or {electron} or {ellipsoid} or \
|
||||||
{full} or {line} or {meso} or {molecular} or {peri} or {smd} or \
|
{full} or {line} or {meso} or {molecular} or {peri} or {smd} or \
|
||||||
{sphere} or {tri} or {template} or {hybrid} :ulb,l
|
{sphere} or {tri} or {template} or {hybrid} or {spin} :ulb,l
|
||||||
args = none for any style except the following
|
args = none for any style except the following
|
||||||
{body} args = bstyle bstyle-args
|
{body} args = bstyle bstyle-args
|
||||||
bstyle = style of body particles
|
bstyle = style of body particles
|
||||||
@ -38,6 +38,7 @@ atom_style full
|
|||||||
atom_style body nparticle 2 10
|
atom_style body nparticle 2 10
|
||||||
atom_style hybrid charge bond
|
atom_style hybrid charge bond
|
||||||
atom_style hybrid charge body nparticle 2 5
|
atom_style hybrid charge body nparticle 2 5
|
||||||
|
atom_style spin
|
||||||
atom_style template myMols
|
atom_style template myMols
|
||||||
atom_style tdpd 2 :pre
|
atom_style tdpd 2 :pre
|
||||||
|
|
||||||
@ -89,6 +90,7 @@ quantities.
|
|||||||
{peri} | mass, volume | mesocopic Peridynamic models |
|
{peri} | mass, volume | mesocopic Peridynamic models |
|
||||||
{smd} | volume, kernel diameter, contact radius, mass | solid and fluid SPH particles |
|
{smd} | volume, kernel diameter, contact radius, mass | solid and fluid SPH particles |
|
||||||
{sphere} | diameter, mass, angular velocity | granular models |
|
{sphere} | diameter, mass, angular velocity | granular models |
|
||||||
|
{spin} | magnetic moment | system with magnetic particles |
|
||||||
{template} | template index, template atom | small molecules with fixed topology |
|
{template} | template index, template atom | small molecules with fixed topology |
|
||||||
{tri} | corner points, angular momentum | rigid bodies |
|
{tri} | corner points, angular momentum | rigid bodies |
|
||||||
{wavepacket} | charge, spin, eradius, etag, cs_re, cs_im | AWPMD :tb(c=3,s=|)
|
{wavepacket} | charge, spin, eradius, etag, cs_re, cs_im | AWPMD :tb(c=3,s=|)
|
||||||
@ -175,6 +177,9 @@ used for calculating the field variables (e.g. stress and deformation)
|
|||||||
and a contact radius for calculating repulsive forces which prevent
|
and a contact radius for calculating repulsive forces which prevent
|
||||||
individual physical bodies from penetrating each other.
|
individual physical bodies from penetrating each other.
|
||||||
|
|
||||||
|
For the {spin} style, a magnetic spin is associated to each atom.
|
||||||
|
Those spins have a norm (their magnetic moment) and a direction.
|
||||||
|
|
||||||
The {wavepacket} style is similar to {electron}, but the electrons may
|
The {wavepacket} style is similar to {electron}, but the electrons may
|
||||||
consist of several Gaussian wave packets, summed up with coefficients
|
consist of several Gaussian wave packets, summed up with coefficients
|
||||||
cs= (cs_re,cs_im). Each of the wave packets is treated as a separate
|
cs= (cs_re,cs_im). Each of the wave packets is treated as a separate
|
||||||
@ -312,6 +317,8 @@ The {meso} style is part of the USER-SPH package for smoothed particle
|
|||||||
hydrodynamics (SPH). See "this PDF
|
hydrodynamics (SPH). See "this PDF
|
||||||
guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS.
|
guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in LAMMPS.
|
||||||
|
|
||||||
|
The {spin} style is part of the SPIN package.
|
||||||
|
|
||||||
The {wavepacket} style is part of the USER-AWPMD package for the
|
The {wavepacket} style is part of the USER-AWPMD package for the
|
||||||
"antisymmetrized wave packet MD method"_pair_awpmd.html.
|
"antisymmetrized wave packet MD method"_pair_awpmd.html.
|
||||||
|
|
||||||
|
|||||||
@ -36,7 +36,7 @@ Style {zeeman} is used for the simulation of the interaction
|
|||||||
between the magnetic spins in the defined group and an external
|
between the magnetic spins in the defined group and an external
|
||||||
magnetic field:
|
magnetic field:
|
||||||
|
|
||||||
:c,image(Eqs/force_spin_zeeman.pdf)
|
:c,image(Eqs/force_spin_zeeman.jpg)
|
||||||
|
|
||||||
with mu0 the vacuum permeability, muB the Bohr magneton (muB = 5.788 eV/T
|
with mu0 the vacuum permeability, muB the Bohr magneton (muB = 5.788 eV/T
|
||||||
in metal units),
|
in metal units),
|
||||||
@ -44,7 +44,7 @@ in metal units),
|
|||||||
Style {aniso} is used to simulate an easy axis or an easy plane
|
Style {aniso} is used to simulate an easy axis or an easy plane
|
||||||
for the magnetic spins in the defined group:
|
for the magnetic spins in the defined group:
|
||||||
|
|
||||||
:c,image(Eqs/force_spin_aniso.pdf)
|
:c,image(Eqs/force_spin_aniso.jpg)
|
||||||
|
|
||||||
with n defining the direction of the anisotropy, and K (in eV) its intensity.
|
with n defining the direction of the anisotropy, and K (in eV) its intensity.
|
||||||
If K>0, an easy axis is defined, and if K<0, an easy plane is defined.
|
If K>0, an easy axis is defined, and if K<0, an easy plane is defined.
|
||||||
|
|||||||
@ -10,33 +10,38 @@ fix integration/spin command :h3
|
|||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
|
|
||||||
fix ID group-ID integration/spin style :pre
|
fix ID group-ID integration/spin keyword values :pre
|
||||||
|
|
||||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
integration/spin = style name of this fix command :l
|
integration/spin = style name of this fix command :l
|
||||||
style = {serial} or {mpi} :l
|
keyword = {lattice} :l
|
||||||
{serial} value = factor
|
{lattice} value = {no} or {yes} :pre
|
||||||
factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below :pre
|
|
||||||
{mpi}
|
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
fix 3 all integration/spin serial
|
fix 3 all integration/spin lattice yes
|
||||||
fix 1 all integration/spin mpi
|
fix 1 all integration/spin lattice no :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
A Suzuki-Trotter decomposition is applied to the integration of the
|
Perform a symplectic integration for the spin or spin-lattice system.
|
||||||
spin-lattice system.
|
|
||||||
|
|
||||||
:line
|
The {lattice} keyword defines if the spins are integrated on a lattice
|
||||||
|
of fixed atoms (lattice = no), or if atoms are moving (lattice = yes).
|
||||||
|
|
||||||
The {style} value defines if a serial of a parallel
|
By default (lattice = yes), a spin-lattice integration is performed.
|
||||||
algorithm has to be used for the integration.
|
|
||||||
|
|
||||||
The parallel algorithm uses a sectoring method as
|
The {integration/spin} fix applies a Suzuki-Trotter decomposition to
|
||||||
described in .
|
the equations of motion of the spin lattice system, following the scheme:
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_integration_spin_stdecomposition.jpg)
|
||||||
|
|
||||||
|
according to the implementation reported in "(Omelyan)"_#Omelyan1.
|
||||||
|
|
||||||
|
A sectoring enables this scheme for parallel calculations.
|
||||||
|
The implementation of this sectoring algorithm is reported in
|
||||||
|
"(Tranchida)"_#Tranchida1.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
@ -49,17 +54,16 @@ section for more info on packages.
|
|||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
"fix nve"_fix_nve.html, "pair spin"_pair_spin.html,
|
"atom_style spin"_atom_style.html, "fix nve"_fix_nve.html
|
||||||
"compute spin"_compute_spin.html, "fix langevin spin"_fix_langevin_spin.html,
|
|
||||||
|
|
||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Davidchack2)
|
:link(Omelyan1)
|
||||||
[(Davidchack)] R.L Davidchack, T.E. Ouldridge, M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015).
|
[(Omelyan)] I.P. Omelyan, I.M. Mryglod, R. Folk. Phys. Rev. Lett.
|
||||||
:link(Miller2)
|
86(5), 898. (2001)
|
||||||
[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002).
|
|
||||||
:link(Dunweg3)
|
:link(Tranchida1)
|
||||||
[(Dunweg)] B. Dunweg, W. Paul, Int. J. Mod. Phys. C, 2, 817-27 (1991).
|
[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson.
|
||||||
|
arXiv preprint arXiv:1801.10233. (2018)
|
||||||
|
|||||||
@ -26,16 +26,22 @@ fix 2 all langevin/spin 300.0 0.01 0.0 21 :pre
|
|||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1
|
Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 to the
|
||||||
to the magnetic spins associated to the atoms.
|
magnetic spins associated to the atoms.
|
||||||
Used with "fix integration spin"_fix_integration_spin.html, this
|
Used with "fix integration spin"_fix_integration_spin.html, this command performs
|
||||||
command performs Brownian dynamics (BD), apply a random torque
|
Brownian dynamics (BD).
|
||||||
and a transverse dissipation to each spin:
|
A random torque and a transverse dissipation are applied to each spin i according to
|
||||||
|
the following stochastic differential equation:
|
||||||
|
|
||||||
Rand torque =
|
:c,image(Eqs/fix_langevin_spin_sLLG.jpg)
|
||||||
Transverse dmping =
|
|
||||||
D is proportional to sqrt(Kb T m / (hbar dt damp)) :pre
|
|
||||||
|
|
||||||
|
with lambda the transverse damping, and eta a random verctor.
|
||||||
|
|
||||||
|
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)"_#Tranchida1.
|
||||||
|
|
||||||
Note: The random # {seed} must be a positive integer. A Marsaglia random
|
Note: The random # {seed} must be a positive integer. A Marsaglia random
|
||||||
number generator is used. Each processor uses the input seed to
|
number generator is used. Each processor uses the input seed to
|
||||||
@ -59,7 +65,7 @@ This fix is not invoked during "energy minimization"_minimize.html.
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
The {langevin/spin} fix is part of the SPIN package.
|
The {langevin/spin} fix is part of the SPIN package.
|
||||||
These styles are only enabled if LAMMPS was built with this package.
|
This style is only enabled if LAMMPS was built with this package.
|
||||||
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
|
See the "Making LAMMPS"_Section_start.html#start_3 section for more info.
|
||||||
|
|
||||||
The numerical integration has to be performed with {fix/integration/spin}
|
The numerical integration has to be performed with {fix/integration/spin}
|
||||||
@ -70,22 +76,13 @@ when {langevin/spin} is enabled.
|
|||||||
"fix integration spin"_fix_integration_spin.html,
|
"fix integration spin"_fix_integration_spin.html,
|
||||||
"pair spin"_pair_spin.html
|
"pair spin"_pair_spin.html
|
||||||
|
|
||||||
[Default:]
|
[Default:] none
|
||||||
|
|
||||||
The option defaults are angmom = no, omega = no, scale = 1.0 for all
|
|
||||||
types, tally = no, zero = no, gjf = no.
|
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Mayergoyz1)
|
:link(Mayergoyz1)
|
||||||
Mayergoyz, Bertotti, and Serpico (2009). Elsevier (2009)
|
[(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009)
|
||||||
|
|
||||||
|
:link(Tranchida1)
|
||||||
|
[(Tranchida)] J. Tranchida, S.J. Plimpton, P. Thibaudeau, A.P. Thompson.
|
||||||
:link(Schneider1)
|
arXiv preprint arXiv:1801.10233. (2018)
|
||||||
[(Schneider)] Schneider and Stoll, Phys Rev B, 17, 1302 (1978).
|
|
||||||
|
|
||||||
:link(Gronbech-Jensen)
|
|
||||||
[(Gronbech-Jensen)] Gronbech-Jensen and Farago, Mol Phys, 111, 983
|
|
||||||
(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm,
|
|
||||||
185, 524 (2014)
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@ pair_coeff 1 2 exchange 6.0 -0.01575 0.0 1.965 :pre
|
|||||||
Style {pair/spin/exchange} computes the exchange interaction between
|
Style {pair/spin/exchange} computes the exchange interaction between
|
||||||
pairs of magnetic spins:
|
pairs of magnetic spins:
|
||||||
|
|
||||||
:c,image(Eqs/pair_spin_exchange_interaction.pdf)
|
:c,image(Eqs/pair_spin_exchange_interaction.jpg)
|
||||||
|
|
||||||
where si and sj are two neighboring magnetic spins of two particles,
|
where si and sj are two neighboring magnetic spins of two particles,
|
||||||
rij = ri - rj is the inter-atomic distance between the two particles,
|
rij = ri - rj is the inter-atomic distance between the two particles,
|
||||||
@ -36,7 +36,7 @@ interaction.
|
|||||||
|
|
||||||
This function is defined as:
|
This function is defined as:
|
||||||
|
|
||||||
:c,image(Eqs/pair_spin_exchange_function.pdf)
|
:c,image(Eqs/pair_spin_exchange_function.jpg)
|
||||||
|
|
||||||
where a, b and d are the three constant coefficients defined in the associated
|
where a, b and d are the three constant coefficients defined in the associated
|
||||||
"pair_coeff" command.
|
"pair_coeff" command.
|
||||||
@ -44,9 +44,19 @@ where a, b and d are the three constant coefficients defined in the associated
|
|||||||
The coefficients a, b, and c need to be fitted so that the function above matches with
|
The coefficients a, b, and c need to be fitted so that the function above matches with
|
||||||
the value of the exchange interaction for the N neighbor shells taken into account.
|
the value of the exchange interaction for the N neighbor shells taken into account.
|
||||||
|
|
||||||
Examles and more explanations about this function and its parametrization are reported
|
Examples and more explanations about this function and its parametrization are reported
|
||||||
in "(Tranchida)"_#Tranchida1.
|
in "(Tranchida)"_#Tranchida1.
|
||||||
|
|
||||||
|
From this exchange interaction, each spin i will be submitted to a magnetic torque
|
||||||
|
omega and its associated atom to a force F, such as:
|
||||||
|
|
||||||
|
:c,image(Eqs/pair_spin_exchange_forces.jpg)
|
||||||
|
|
||||||
|
with h the Planck constant (in metal units).
|
||||||
|
|
||||||
|
More details about the derivation of these torques/forces are reported in
|
||||||
|
"(Tranchida)"_#Tranchida1.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|||||||
@ -98,7 +98,7 @@ FixIntegrationSpin::FixIntegrationSpin(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
if (extra == SPIN && !atom->mumag_flag)
|
if (extra == SPIN && !atom->mumag_flag)
|
||||||
error->all(FLERR,"Fix integration/spin requires spin attribute mumag");
|
error->all(FLERR,"Fix integration/spin requires spin attribute mumag");
|
||||||
|
|
||||||
if (mpi_flag == 0 && nprocs_tmp == 1)
|
if (mpi_flag == 0 && nprocs_tmp > 1)
|
||||||
error->all(FLERR,"Illegal fix/integration/spin command");
|
error->all(FLERR,"Illegal fix/integration/spin command");
|
||||||
|
|
||||||
magpair_flag = 0;
|
magpair_flag = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user