encode some more mathematical expressions and symbols
This commit is contained in:
@ -55,7 +55,7 @@ rotation of **A**\ , **B**\ , and **C** and can be computed as follows:
|
||||
c_z = & |\mathbf{C} \cdot \widehat{(\mathbf{A} \times \mathbf{B})}|\quad = \quad \sqrt{C^2 - {c_x}^2 - {c_y}^2}
|
||||
|
||||
where A = \| **A** \| indicates the scalar length of **A**\ . The hat symbol (\^)
|
||||
indicates the corresponding unit vector. *beta* and *gamma* are angles
|
||||
indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles
|
||||
between the vectors described below. Note that by construction,
|
||||
**a**\ , **b**\ , and **c** have strictly positive x, y, and z components, respectively.
|
||||
If it should happen that
|
||||
|
||||
@ -137,7 +137,7 @@ calculated as:
|
||||
|
||||
where :math:`\mathbf{v}_n` is the velocity of the MD particle,
|
||||
:math:`\mathbf{u}_f` is the fluid
|
||||
velocity interpolated to the particle location, and gamma is the force
|
||||
velocity interpolated to the particle location, and :math:`\gamma` is the force
|
||||
coupling constant. :math:`\zeta` is a weight assigned to the grid point,
|
||||
obtained by distributing the particle to the nearest lattice sites.
|
||||
For this, the user has the choice between a trilinear stencil, which
|
||||
@ -163,10 +163,10 @@ t_{collision}` is a collision time, chosen such that
|
||||
:math:`\frac{\tau}{\Delta t_{collision}} = 1` (see :ref:`Mackay and
|
||||
Denniston <Mackay2>` for full details). In order to calculate :math:`m_u`,
|
||||
the fluid density is interpolated to the MD particle location, and
|
||||
multiplied by a volume, node\_area\*dx\_lb, where node\_area
|
||||
multiplied by a volume, node\_area * :math:`dx_{LB}`, where node\_area
|
||||
represents the portion of the surface area of the composite object
|
||||
associated with a given MD particle. By default, node\_area is set
|
||||
equal to dx\_lb\*dx\_lb; however specific values for given atom types
|
||||
equal to :math:`dx_{LB}^2`; however specific values for given atom types
|
||||
can be set using the *setArea* keyword.
|
||||
|
||||
The user also has the option of specifying their own value for the
|
||||
@ -174,7 +174,7 @@ force coupling constant, for all the MD particles associated with the
|
||||
fix, through the use of the *setGamma* keyword. This may be useful
|
||||
when modelling porous particles. See :ref:`Mackay et al. <fluid-Mackay>` for a
|
||||
detailed description of the method by which the user can choose an
|
||||
appropriate gamma value.
|
||||
appropriate :math:`\gamma` value.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -188,7 +188,9 @@ appropriate gamma value.
|
||||
used to integrate the particle motion. However, if the user specifies
|
||||
their own value for the force coupling constant, as mentioned in
|
||||
:ref:`Mackay et al. <fluid-Mackay>`, the built-in LAMMPS integrators may prove to
|
||||
be unstable. Therefore, we have included our own integrators :doc:`fix lb/rigid/pc/sphere <fix_lb_rigid_pc_sphere>`, and :doc:`fix lb/pc <fix_lb_pc>`, to solve for the particle motion in these
|
||||
be unstable. Therefore, we have included our own integrators
|
||||
:doc:`fix lb/rigid/pc/sphere <fix_lb_rigid_pc_sphere>`, and
|
||||
:doc:`fix lb/pc <fix_lb_pc>`, to solve for the particle motion in these
|
||||
cases. These integrators should not be used with the
|
||||
:doc:`lb/viscous <fix_lb_viscous>` fix, as they add hydrodynamic forces
|
||||
to the particles directly. In addition, they can not be used if the
|
||||
@ -207,28 +209,29 @@ appropriate gamma value.
|
||||
location, in order to approximate an infinitely massive particle (see
|
||||
the dragforce test run for an example).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Inside the fix, parameters are scaled by the lattice-Boltzmann
|
||||
timestep, dt, grid spacing, dx, and mass unit, dm. dt is set equal to
|
||||
(nevery\*dt\_MD), where dt\_MD is the MD timestep. By default, dm is set
|
||||
equal to 1.0, and dx is chosen so that tau/(dt) =
|
||||
(3\*eta\*dt)/(rho\*dx\^2) is approximately equal to 1. However, the user
|
||||
has the option of specifying their own values for dm, and dx, by using
|
||||
timestep, :math:`dt_{LB}`, grid spacing, :math:`dx_{LB}`, and mass unit,
|
||||
:math:`dm_{LB}`. :math:`dt_{LB}` is set equal to
|
||||
:math:`\mathrm{nevery}\cdot dt_{MD}`, where :math:`dt_{MD}` is the MD timestep.
|
||||
By default,
|
||||
:math:`dm_{LB}` is set equal to 1.0, and :math:`dx_{LB}` is chosen so that
|
||||
:math:`\frac{\tau}{dt} = \frac{3\eta dt}{\rho dx^2}` is approximately equal to 1.
|
||||
However, the user has the option of specifying their own values for
|
||||
:math:`dm_{LB}`, and :math:`dx_{LB}`, by using
|
||||
the optional keywords *dm*\ , and *dx* respectively.
|
||||
|
||||
.. note::
|
||||
|
||||
Care must be taken when choosing both a value for dx, and a
|
||||
simulation domain size. This fix uses the same subdivision of the
|
||||
simulation domain among processors as the main LAMMPS program. In
|
||||
Care must be taken when choosing both a value for :math:`dx_{LB}`,
|
||||
and a simulation domain size. This fix uses the same subdivision of
|
||||
the simulation domain among processors as the main LAMMPS program. In
|
||||
order to uniformly cover the simulation domain with lattice sites, the
|
||||
lengths of the individual LAMMPS sub-domains must all be evenly
|
||||
divisible by dx. If the simulation domain size is cubic, with equal
|
||||
lengths in all dimensions, and the default value for dx is used, this
|
||||
will automatically be satisfied.
|
||||
divisible by :math:`dx_{LB}`. If the simulation domain size is cubic,
|
||||
with equal lengths in all dimensions, and the default value for
|
||||
:math:`dx_{LB}` is used, this will automatically be satisfied.
|
||||
|
||||
Physical parameters describing the fluid are specified through
|
||||
*viscosity*\ , *density*\ , and *a0*\ . If the force coupling constant is
|
||||
@ -240,27 +243,25 @@ the mass, distance, and time units chosen for the main LAMMPS run, as
|
||||
they are scaled by the LB timestep, lattice spacing, and mass unit,
|
||||
inside the fix.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The *setArea* keyword allows the user to associate a surface area with
|
||||
a given atom type. For example if a spherical composite object of
|
||||
radius R is represented as a spherical shell of N evenly distributed
|
||||
MD particles, all of the same type, the surface area per particle
|
||||
associated with that atom type should be set equal to 4\*pi\*R\^2/N.
|
||||
associated with that atom type should be set equal to :math:`\frac{4\pi R^2}{N}`.
|
||||
This keyword should only be used if the force coupling constant,
|
||||
gamma, is set the default way.
|
||||
:math:`\gamma`, is set the default way.
|
||||
|
||||
The *setGamma* keyword allows the user to specify their own value for
|
||||
the force coupling constant, gamma, instead of using the default
|
||||
the force coupling constant, :math:`\gamma`, instead of using the default
|
||||
value.
|
||||
|
||||
The *scaleGamma* keyword should be used in conjunction with the
|
||||
*setGamma* keyword, when the user wishes to specify different gamma
|
||||
*setGamma* keyword, when the user wishes to specify different :math:`\gamma`
|
||||
values for different atom types. This keyword allows the user to
|
||||
scale the *setGamma* gamma value by a factor, gammaFactor, for a given
|
||||
atom type.
|
||||
scale the *setGamma* :math:`\gamma` value by a factor, gammaFactor,
|
||||
for a given atom type.
|
||||
|
||||
The *dx* keyword allows the user to specify a value for the LB grid
|
||||
spacing.
|
||||
@ -269,9 +270,10 @@ The *dm* keyword allows the user to specify the LB mass unit.
|
||||
|
||||
If the *a0* keyword is used, the value specified is used for the
|
||||
square of the speed of sound in the fluid. If this keyword is not
|
||||
present, the speed of sound squared is set equal to (1/3)\*(dx/dt)\^2.
|
||||
Setting a0 > (dx/dt)\^2 is not allowed, as this may lead to
|
||||
instabilities.
|
||||
present, the speed of sound squared is set equal to
|
||||
:math:`\frac{1}{3}\left(\frac{dx_{LB}}{dt_{LB}}\right)^2`.
|
||||
Setting :math:`a0 > (\frac{dx_{LB}}{dt_{LB}})^2` is not allowed,
|
||||
as this may lead to instabilities.
|
||||
|
||||
If the *noise* keyword is used, followed by a positive temperature
|
||||
value, and a positive integer random number seed, a thermal
|
||||
@ -388,13 +390,13 @@ By default, the force coupling constant is set according to
|
||||
\gamma = \frac{2m_um_v}{m_u+m_v}\left(\frac{1}{\Delta t_{collision}}\right)
|
||||
|
||||
|
||||
and an area of dx\_lb\^2 per node, used to calculate the fluid mass at
|
||||
and an area of :math:`dx_{LB}^2` per node, used to calculate the fluid mass at
|
||||
the particle node location, is assumed.
|
||||
|
||||
dx is chosen such that tau/(delta t\_LB) =
|
||||
(3 eta dt\_LB)/(rho dx\_lb\^2) is approximately equal to 1.
|
||||
dm is set equal to 1.0.
|
||||
a0 is set equal to (1/3)\*(dx\_lb/dt\_lb)\^2.
|
||||
*dx* is chosen such that :math:`\frac{\tau}{dt_{LB}} =
|
||||
\frac{3\eta dt_{LB}}{\rho dx_{LB}^2}` is approximately equal to 1.
|
||||
*dm* is set equal to 1.0.
|
||||
*a0* is set equal to :math:`\frac{1}{3}\left(\frac{dx_{LB}}{dt_{LB}}\right)^2`.
|
||||
The Peskin stencil is used as the default interpolation method.
|
||||
The D3Q15 lattice is used for the lattice-Boltzmann algorithm.
|
||||
If walls are present, they are assumed to be stationary.
|
||||
|
||||
@ -118,18 +118,18 @@ term, see :ref:`(Qi) <Qi>`, and :math:`E^{tot}_0 = e0` is the
|
||||
initial total energy.
|
||||
|
||||
The *eta* (:math:`\eta`) parameter is a unitless coupling constant
|
||||
between the shock system and the quantum thermal bath. A small *eta*
|
||||
between the shock system and the quantum thermal bath. A small :math:`\eta`
|
||||
value cannot adjust the quantum temperature fast enough during the
|
||||
temperature ramping period of shock compression while large *eta*
|
||||
leads to big temperature oscillation. A value of *eta* between 0.3 and
|
||||
temperature ramping period of shock compression while large :math:`\eta`
|
||||
leads to big temperature oscillation. A value of :math:`\eta` between 0.3 and
|
||||
1 is usually appropriate for simulating most systems under shock
|
||||
compression. We observe that different values of *eta* lead to almost
|
||||
compression. We observe that different values of :math:`\eta` lead to almost
|
||||
the same final thermodynamic state behind the shock, as expected.
|
||||
|
||||
The quantum temperature is updated every *beta* (:math:`\beta`) steps
|
||||
with an integration time interval *beta* times longer than the
|
||||
with an integration time interval :math:`\beta` times longer than the
|
||||
simulation time step. In that case, :math:`E^{tot}` is taken as its
|
||||
average over the past *beta* steps. The temperature of the quantum
|
||||
average over the past :math:`\beta` steps. The temperature of the quantum
|
||||
thermal bath :math:`T^{qm}` changes dynamically according to
|
||||
the following equation where :math:`\Delta_t` is the MD time step and
|
||||
:math:`\gamma` is the friction constant which is equal to the inverse
|
||||
|
||||
Reference in New Issue
Block a user