convert math in spin and sph pair styles

This commit is contained in:
Axel Kohlmeyer 2020-02-23 15:00:43 -05:00
parent d9a7edcf1a
commit 0cc3f234dc
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
16 changed files with 102 additions and 105 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,9 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
$$
p = (\gamma - 1) \rho e
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,9 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
$$
p = B [(\frac{\rho}{\rho_0})^{\gamma} - 1]
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,14 +0,0 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right)
~~{\rm and}~~
\vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right)
, \nonumber
\end{equation}
\end{varwidth}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -1,16 +0,0 @@
\documentclass[preview]{standalone}
\usepackage{varwidth}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amssymb,amsthm,bm}
\begin{document}
\begin{varwidth}{50in}
\begin{equation}
\bm{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N}
\left( \vec{e}_{ij} \times \vec{D} \right)
\cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right),
\nonumber
\end{equation}
\end{varwidth}
\end{document}
\vec{D}\left(r_{ij}\right)
{\rm ~and~} \vec{D}\left(r_{ij}\right) = \vec{e}_{ij} \times \vec{D}

View File

@ -47,11 +47,13 @@ imagine for a mesoscopic particle.
The pressure forces between particles will be computed according to
Tait's equation of state:
.. image:: Eqs/pair_sph_tait.jpg
:align: center
.. math::
where gamma = 7 and B = c\_0\^2 rho\_0 / gamma, with rho\_0 being the
reference density and c\_0 the reference speed of sound.
p = B [(\frac{\rho}{\rho_0})^{\gamma} - 1]
where :math:`\gamma = 7` and :math:`B = c_0^2 \rho_0 / \gamma`, with
:math:`\rho_0` being the reference density and :math:`c_0` the reference
speed of sound.
The laminar viscosity and the random forces will be computed according
to formulas described in :ref:`(Espanol and Revenga) <Espanol_Revenga>`.
@ -75,11 +77,10 @@ The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.
* rho0 reference density (mass/volume units)
* c0 reference soundspeed (distance/time units)
* :math:`\rho_0` reference density (mass/volume units)
* :math:`c_0` reference soundspeed (distance/time units)
* h kernel function cutoff (distance units)
----------
@ -107,7 +108,8 @@ if LAMMPS was built with that package. See the :doc:`Build package <Build_packa
Related commands
""""""""""""""""
:doc:`pair coeff <pair_coeff>`, :doc:`pair sph/rhosum <pair_sph_rhosum>`
:doc:`pair coeff <pair_coeff>`, :doc:`pair sph/rhosum <pair_sph_rhosum>`,
:doc:`pair sph/taitwater <pair_sph_taitwater>`
Default
"""""""

View File

@ -26,13 +26,15 @@ Description
The sph/idealgas style computes pressure forces between particles
according to the ideal gas equation of state:
.. image:: Eqs/pair_sph_ideal.jpg
:align: center
.. math::
where gamma = 1.4 is the heat capacity ratio, rho is the local
density, and e is the internal energy per unit mass. This pair style
also computes Monaghan's artificial viscosity to prevent particles
from interpenetrating :ref:`(Monaghan) <ideal-Monoghan>`.
p = (\gamma - 1) \rho e
where :math:`\gamma = 1.4` is the heat capacity ratio, :math:`\rho` is
the local density, and e is the internal energy per unit mass. This
pair style also computes Monaghan's artificial viscosity to prevent
particles from interpenetrating :ref:`(Monaghan) <ideal-Monoghan>`.
See `this PDF guide <USER/sph/SPH_LAMMPS_userguide.pdf>`_ to using SPH in
LAMMPS.
@ -41,7 +43,7 @@ The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.
* nu artificial viscosity (no units)
* :math:`\nu` artificial viscosity (no units)
* h kernel function cutoff (distance units)

View File

@ -37,7 +37,7 @@ The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.
* nu artificial viscosity (no units)
* :math:`\nu` artificial viscosity (no units)
* h kernel function cutoff (distance units)

View File

@ -26,11 +26,14 @@ Description
The sph/taitwater style computes pressure forces between SPH particles
according to Tait's equation of state:
.. image:: Eqs/pair_sph_tait.jpg
:align: center
.. math::
where gamma = 7 and B = c\_0\^2 rho\_0 / gamma, with rho\_0 being the
reference density and c\_0 the reference speed of sound.
p = B \biggl[\left(\frac{\rho}{\rho_0}\right)^{\gamma} - 1\biggr]
where :math:`\gamma = 7` and :math:`B = c_0^2 \rho_0 / \gamma`, with
:math:`\rho_0` being the reference density and :math:`c_0` the reference
speed of sound.
This pair style also computes Monaghan's artificial viscosity to
prevent particles from interpenetrating :ref:`(Monaghan) <Monaghan>`.
@ -42,9 +45,9 @@ The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.
* rho0 reference density (mass/volume units)
* c0 reference soundspeed (distance/time units)
* nu artificial viscosity (no units)
* :math:`\rho_0` reference density (mass/volume units)
* :math:`c_0` reference soundspeed (distance/time units)
* :math:`\nu` artificial viscosity (no units)
* h kernel function cutoff (distance units)

View File

@ -26,11 +26,14 @@ Description
The sph/taitwater/morris style computes pressure forces between SPH
particles according to Tait's equation of state:
.. image:: Eqs/pair_sph_tait.jpg
:align: center
.. math::
where gamma = 7 and B = c\_0\^2 rho\_0 / gamma, with rho\_0 being the
reference density and c\_0 the reference speed of sound.
p = B \biggl[\left(\frac{\rho}{\rho_0}\right)^{\gamma} - 1\biggr]
where :math:`\gamma = 7` and :math:`B = c_0^2 \rho_0 / \gamma`, with
:math:`\rho_0` being the reference density and :math:`c_0` the reference
speed of sound.
This pair style also computes laminar viscosity :ref:`(Morris) <Morris>`.
@ -41,9 +44,9 @@ The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above.
* rho0 reference density (mass/volume units)
* c0 reference soundspeed (distance/time units)
* nu dynamic viscosity (mass\*distance/time units)
* :math:`\rho_0` reference density (mass/volume units)
* :math:`c_0` reference soundspeed (distance/time units)
* :math:`\nu` dynamic viscosity (mass\*distance/time units)
* h kernel function cutoff (distance units)

View File

@ -43,12 +43,38 @@ The magnetic dipole-dipole interactions are computed by the
following formulas for the magnetic energy, magnetic precession
vector omega and mechanical force between particles I and J.
.. image:: Eqs/pair_spin_dipole.jpg
:align: center
.. math::
where si and sj are the spin on two magnetic particles,
r is their separation distance, and the vector e = (Ri - Rj)/\|Ri - Rj\|
is the direction vector between the two particles.
\mathcal{H}_{\rm long} & =
-\frac{\mu_{0} \left( \mu_B\right)^2}{4\pi}
\sum_{i,j,i\neq j}^{N}
\frac{g_i g_j}{r_{ij}^3}
\biggl(3
\left(\vec{e}_{ij}\cdot \vec{s}_{i}\right)
\left(\vec{e}_{ij}\cdot \vec{s}_{j}\right)
-\vec{s}_i\cdot\vec{s}_j \biggr) \\
\mathbf{\omega}_i & =
\frac{\mu_0 (\mu_B)^2}{4\pi\hbar}\sum_{j}
\frac{g_i g_j}{r_{ij}^3}
\, \biggl(
3\,(\vec{e}_{ij}\cdot\vec{s}_{j})\vec{e}_{ij}
-\vec{s}_{j} \biggr) \\
\mathbf{F}_i & =
\frac{3\, \mu_0 (\mu_B)^2}{4\pi} \sum_j
\frac{g_i g_j}{r_{ij}^4}
\biggl[\bigl( (\vec{s}_i\cdot\vec{s}_j)
-5(\vec{e}_{ij}\cdot\vec{s}_i)
(\vec{e}_{ij}\cdot\vec{s}_j)\bigr) \vec{e}_{ij}+
\bigl(
(\vec{e}_{ij}\cdot\vec{s}_i)\vec{s}_j+
(\vec{e}_{ij}\cdot\vec{s}_j)\vec{s}_i
\bigr)
\biggr]
where :math:`\vec{s}_i` and :math:`\vec{s}_j` are the spin on two magnetic
particles, r is their separation distance, and the vector :math:`\vec{e}_{ij}
= \frac{r_i - r_j}{\left| r_i - r_j \right|}` is the direction vector
between the two particles.
Style *spin/dipole/long* computes long-range magnetic dipole-dipole
interaction.

View File

@ -32,15 +32,19 @@ between pairs of magnetic spins.
According to the expression reported in :ref:`(Rohart) <Rohart>`, one has
the following DM energy:
.. image:: Eqs/pair_spin_dmi_interaction.jpg
:align: center
.. math::
where si and sj are two neighboring magnetic spins of two particles,
eij = (ri - rj)/\|ri-rj\| is the unit vector between sites i and j,
and D is the DM vector defining the intensity (in eV) and the direction
of the interaction.
\mathbf{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N}
\left( \vec{e}_{ij} \times \vec{D} \right)
\cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right),
In :ref:`(Rohart) <Rohart>`, D is defined as the direction normal to the film oriented
where :math:`\vec{s}_i` and :math:`\vec{s}_j` are two neighboring magnetic spins of
two particles, :math:`\vec{e}_ij = \frac{r_i - r_j}{\left| r_i - r_j \right|}`
is the unit vector between sites *i* and *j*, and :math:`\vec{D}` is the
DM vector defining the intensity (in eV) and the direction of the
interaction.
In :ref:`(Rohart) <Rohart>`, :math:`\vec{D}` is defined as the direction normal to the film oriented
from the high spin-orbit layer to the magnetic ultra-thin film.
The application of a spin-lattice Poisson bracket to this energy (as described
@ -48,8 +52,11 @@ in :ref:`(Tranchida) <Tranchida5>`) allows to derive a magnetic torque omega, an
mechanical force F (for spin-lattice calculations only) for each magnetic
particle i:
.. image:: Eqs/pair_spin_dmi_forces.jpg
:align: center
.. math::
\vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right)
~~{\rm and}~~
\vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right)
More details about the derivation of these torques/forces are reported in
:ref:`(Tranchida) <Tranchida5>`.
@ -93,11 +100,8 @@ Related commands
----------
.. _Rohart:
.. _Tranchida5:
**(Rohart)** Rohart and Thiaville,

View File

@ -30,24 +30,29 @@ Style *spin/me* computes a magneto-electric interaction between
pairs of magnetic spins. According to the derivation reported in
:ref:`(Katsura) <Katsura1>`, this interaction is defined as:
.. image:: Eqs/pair_spin_me_interaction.jpg
:align: center
.. math::
where si and sj are neighboring magnetic spins of two particles,
eij = (ri - rj)/\|ri-rj\| is the normalized separation vector between the
two particles, and E is an electric polarization vector.
The norm and direction of E are giving the intensity and the
direction of a screened dielectric atomic polarization (in eV).
\vec{\omega}_i & = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times\vec{D}(r_{ij}) \\
\vec{F}_i & = -\sum_{j}^{Neighb} \frac{\partial D(r_{ij})}{\partial r_{ij}} \left(\vec{s}_{i}\times \vec{s}_{j} \right) \cdot \vec{r}_{ij}
where :math:`\vec{s}_i` and :math:`\vec{s}_j` are neighboring magnetic
spins of two particles.
From this magneto-electric interaction, each spin i will be submitted
to a magnetic torque omega, and its associated atom can be submitted to a
force F for spin-lattice calculations (see :doc:`fix nve/spin <fix_nve_spin>`),
such as:
.. image:: Eqs/pair_spin_me_forces.jpg
:align: center
.. math::
\vec{F}^{i} & = -\sum_{j}^{Neighbor} \left( \vec{s}_{i}\times \vec{s}_{j} \right) \times \vec{E} \\
\vec{\omega}^{i} = -\frac{1}{\hbar} \sum_{j}^{Neighbor} \vec{s}_j \times \left(\vec{E}\times r_{ij} \right)
with h the Planck constant (in metal units) and :math:`\vec{E}` an
electric polarization vector. The norm and direction of E are giving
the intensity and the direction of a screened dielectric atomic
polarization (in eV).
with h the Planck constant (in metal units).
More details about the derivation of these torques/forces are reported in
:ref:`(Tranchida) <Tranchida4>`.