git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15129 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -45,8 +45,11 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
The fix *eos/cv* is only available if LAMMPS is built with the
|
||||
USER-DPD package.
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
This command also requires use of the :doc:`atom_style dpd <atom_style>`
|
||||
command.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -109,13 +109,16 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
The fix *eos/table* is only available if LAMMPS is built with the
|
||||
USER-DPD package.
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
This command also requires use of the :doc:`atom_style dpd <atom_style>`
|
||||
command.
|
||||
|
||||
The equation of state must be a monotonically increasing function.
|
||||
|
||||
An exit error will occur if the internal temperature or internal
|
||||
energies are not within the table cutoffs.
|
||||
An error will occur if the internal temperature or internal energies
|
||||
are not within the table cutoffs.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -140,13 +140,16 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
The fix *eos/table/rx* is only available if LAMMPS is built with the
|
||||
USER-DPD package.
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
This command also requires use of the :doc:`atom_style dpd <atom_style>`
|
||||
command.
|
||||
|
||||
The equation of state must be a monotonically increasing function.
|
||||
|
||||
An exit error will occur if the internal temperature or internal
|
||||
energies are not within the table cutoffs.
|
||||
An error will occur if the internal temperature or internal energies
|
||||
are not within the table cutoffs.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -42,19 +42,20 @@ the reaction rate equation is defined to be of the form
|
||||
.. image:: Eqs/fix_rx_reactionRate.jpg
|
||||
:align: center
|
||||
|
||||
In the current implementation, the exponents are defined to be equal to the
|
||||
stoichiometric coefficients. A given reaction set consisting of *n* reaction
|
||||
equations will contain a total of *m* species. A set of *m* ordinary
|
||||
differential equations (ODEs) that describe the change in concentration of a
|
||||
given species as a function of time are then constructed based on the *n*
|
||||
reaction rate equations.
|
||||
In the current implementation, the exponents are defined to be equal
|
||||
to the stoichiometric coefficients. A given reaction set consisting
|
||||
of *n* reaction equations will contain a total of *m* species. A set
|
||||
of *m* ordinary differential equations (ODEs) that describe the change
|
||||
in concentration of a given species as a function of time are then
|
||||
constructed based on the *n* reaction rate equations.
|
||||
|
||||
The ODE systems are solved over the full DPD timestep *dt* using a 4th order
|
||||
Runge-Kutta *rk4* method with a fixed step-size *h*\ , specified by the
|
||||
*lammps_rk4* keyword. The number of ODE steps per DPD timestep for the rk4 method
|
||||
is optionally specified immediately after the rk4 keyword. The ODE step-size is set as
|
||||
*dt/num_steps*\ . Smaller step-sizes tend to yield more accurate results but there
|
||||
is not control on the error.
|
||||
The ODE systems are solved over the full DPD timestep *dt* using a 4th
|
||||
order Runge-Kutta *rk4* method with a fixed step-size *h*\ , specified
|
||||
by the *lammps_rk4* keyword. The number of ODE steps per DPD timestep
|
||||
for the rk4 method is optionally specified immediately after the rk4
|
||||
keyword. The ODE step-size is set as *dt/num_steps*\ . Smaller
|
||||
step-sizes tend to yield more accurate results but there is not
|
||||
control on the error.
|
||||
|
||||
|
||||
----------
|
||||
@ -64,28 +65,30 @@ The filename specifies a file that contains the entire set of reaction
|
||||
kinetic equations and corresponding Arrhenius parameters. The format of
|
||||
this file is described below.
|
||||
|
||||
There is no restriction on the total number or reaction equations that are
|
||||
specified. The species names are arbitrary string names that are associated
|
||||
with the species concentrations.
|
||||
Each species in a given reaction must be preceded by it's stoichiometric
|
||||
coefficient. The only delimiters that are recognized between the species are
|
||||
either a *+* or *=* character. The *=* character corresponds to an
|
||||
irreversible reaction. After specifying the reaction, the reaction rate
|
||||
constant is determined through the temperature dependent Arrhenius equation:
|
||||
There is no restriction on the total number or reaction equations that
|
||||
are specified. The species names are arbitrary string names that are
|
||||
associated with the species concentrations. Each species in a given
|
||||
reaction must be preceded by it's stoichiometric coefficient. The
|
||||
only delimiters that are recognized between the species are either a
|
||||
*+* or *=* character. The *=* character corresponds to an
|
||||
irreversible reaction. After specifying the reaction, the reaction
|
||||
rate constant is determined through the temperature dependent
|
||||
Arrhenius equation:
|
||||
|
||||
.. image:: Eqs/fix_rx.jpg
|
||||
:align: center
|
||||
|
||||
where *A* is the Arrhenius factor in time units or concentration/time units,
|
||||
*n* is the unitless exponent of the temperature dependence, and *E_a* is the
|
||||
activation energy in energy units. The temperature dependence can be removed
|
||||
by specifying the exponent as zero.
|
||||
where *A* is the Arrhenius factor in time units or concentration/time
|
||||
units, *n* is the unitless exponent of the temperature dependence, and
|
||||
*E_a* is the activation energy in energy units. The temperature
|
||||
dependence can be removed by specifying the exponent as zero.
|
||||
|
||||
The internal temperature of the coarse-grained particles can be used in constructing the
|
||||
reaction rate constants at every DPD timestep by specifying the keyword *none*\ .
|
||||
Alternatively, the keyword *lucy* can be specified to compute a local-average particle
|
||||
internal temperature for use in the reaction rate constant expressions.
|
||||
The local-average particle internal temperature is defined as:
|
||||
The internal temperature of the coarse-grained particles can be used
|
||||
in constructing the reaction rate constants at every DPD timestep by
|
||||
specifying the keyword *none*\ . Alternatively, the keyword *lucy* can
|
||||
be specified to compute a local-average particle internal temperature
|
||||
for use in the reaction rate constant expressions. The local-average
|
||||
particle internal temperature is defined as:
|
||||
|
||||
.. image:: Eqs/fix_rx_localTemp.jpg
|
||||
:align: center
|
||||
@ -101,7 +104,8 @@ The self-particle interaction is included in the above equation.
|
||||
----------
|
||||
|
||||
|
||||
The format of a tabulated file is as follows (without the parenthesized comments):
|
||||
The format of a tabulated file is as follows (without the
|
||||
parenthesized comments):
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -118,21 +122,23 @@ A section begins with a non-blank line whose 1st character is not a
|
||||
"#"; blank lines or lines starting with "#" can be used as comments
|
||||
between sections.
|
||||
|
||||
Following a blank line, the next N lines list the N reaction equations.
|
||||
Each species within the reaction equation is specified through its
|
||||
stoichiometric coefficient and a species tag. Reactant species are specified
|
||||
on the left-hand side of the equation and product species are specified on the
|
||||
right-hand side of the equation. After specifying the reactant and product
|
||||
species, the final three arguments of each line represent the Arrhenius
|
||||
parameter *A*\ , the temperature exponent *n*\ , and the activation energy *Ea*\ .
|
||||
Following a blank line, the next N lines list the N reaction
|
||||
equations. Each species within the reaction equation is specified
|
||||
through its stoichiometric coefficient and a species tag. Reactant
|
||||
species are specified on the left-hand side of the equation and
|
||||
product species are specified on the right-hand side of the equation.
|
||||
After specifying the reactant and product species, the final three
|
||||
arguments of each line represent the Arrhenius parameter *A*\ , the
|
||||
temperature exponent *n*\ , and the activation energy *Ea*\ .
|
||||
|
||||
Note that the species tags that are defined in the reaction equations are
|
||||
used by the :doc:`fix eos/table/rx <fix_eos_table_rx>` command to define the
|
||||
thermodynamic properties of each species. Furthermore, the number of species
|
||||
molecules (i.e., concentration) can be specified either with the :doc:`set <set>`
|
||||
command using the "d_" prefix or by reading directly the concentrations from a
|
||||
data file. For the latter case, the :doc:`read_data <read_data>` command with the
|
||||
fix keyword should be specified, where the fix-ID will be the "fix rx`ID with a <SPECIES">`_ suffix, e.g.
|
||||
Note that the species tags that are defined in the reaction equations
|
||||
are used by the :doc:`fix eos/table/rx <fix_eos_table_rx>` command to
|
||||
define the thermodynamic properties of each species. Furthermore, the
|
||||
number of species molecules (i.e., concentration) can be specified
|
||||
either with the :doc:`set <set>` command using the "d_" prefix or by
|
||||
reading directly the concentrations from a data file. For the latter
|
||||
case, the :doc:`read_data <read_data>` command with the fix keyword
|
||||
should be specified, where the fix-ID will be the "fix rx`ID with a <SPECIES">`_ suffix, e.g.
|
||||
|
||||
fix foo all rx reaction.file ...
|
||||
read_data data.dpd fix foo_SPECIES NULL Species
|
||||
@ -145,11 +151,14 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
The fix *rx* is only available if LAMMPS is built with the USER-DPD package.
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
The fix *rx* must be used with the :doc:`atom_style dpd <atom_style>` command.
|
||||
This command also requires use of the :doc:`atom_style dpd <atom_style>`
|
||||
command.
|
||||
|
||||
The fix *rx* can only be used with a constant energy or constant enthalpy DPD simulation.
|
||||
This command can only be used with a constant energy or constant
|
||||
enthalpy DPD simulation.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
@ -161,10 +170,6 @@ Related commands
|
||||
**Default:** none
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
|
||||
.. _lws: http://lammps.sandia.gov
|
||||
.. _ld: Manual.html
|
||||
.. _lc: Section_commands.html#comm
|
||||
|
||||
@ -56,9 +56,8 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This fix is only available if LAMMPS is built with the USER-DPD
|
||||
package. See the :ref:`Making LAMMPS <start_3>` section
|
||||
for more info.
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
This fix is currently limited to orthogonal simulation cell
|
||||
geometries.
|
||||
@ -68,7 +67,7 @@ integration, e.g. :doc:`fix nve <fix_nve>` or :doc:`fix nph <fix_nh>`.
|
||||
|
||||
The Shardlow splitting algorithm requires the sizes of the sub-domain
|
||||
lengths to be larger than twice the cutoff+skin. Generally, the
|
||||
domain decomposition is dependant on the number of processors
|
||||
domain decomposition is dependent on the number of processors
|
||||
requested.
|
||||
|
||||
Related commands
|
||||
|
||||
@ -124,8 +124,8 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
Pair styles *dpd/fdt* and *dpd/fdt/energy* are only available if
|
||||
LAMMPS is built with the USER-DPD package.
|
||||
These commands are part of the USER-DPD package. They are only
|
||||
enabled if LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
Pair styles *dpd/fdt* and *dpd/fdt/energy* require use of the
|
||||
:doc:`communicate vel yes <communicate>` option so that velocites are
|
||||
|
||||
@ -25,12 +25,13 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Style *exp6/rx* is used in reaction DPD simulations, where the coarse-grained (CG)
|
||||
particles are composed of *m* species whose reaction rate kinetics are determined
|
||||
from a set of *n* reaction rate equations through the :doc:`fix rx <fix_rx>` command.
|
||||
The species of one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. The *exp6/rx* style
|
||||
computes an exponential-6 potential given by
|
||||
Style *exp6/rx* is used in reaction DPD simulations, where the
|
||||
coarse-grained (CG) particles are composed of *m* species whose
|
||||
reaction rate kinetics are determined from a set of *n* reaction rate
|
||||
equations through the :doc:`fix rx <fix_rx>` command. The species of
|
||||
one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. The
|
||||
*exp6/rx* style computes an exponential-6 potential given by
|
||||
|
||||
.. image:: Eqs/pair_exp6_rx.jpg
|
||||
:align: center
|
||||
@ -38,22 +39,23 @@ computes an exponential-6 potential given by
|
||||
where the *epsilon* parameter determines the depth of the potential
|
||||
minimum located at *Rm*\ , and *alpha* determines the softness of the repulsion.
|
||||
|
||||
The coefficients must be defined for each species in a given particle type
|
||||
via the :doc:`pair_coeff <pair_coeff>` command as in the examples above, where
|
||||
the first argument is the filename that includes the exponential-6 parameters
|
||||
for each species. The file includes the species tag followed by the *alpha*\ ,
|
||||
*epsilon* and *Rm* parameters. The format of the file is described below.
|
||||
The coefficients must be defined for each species in a given particle
|
||||
type via the :doc:`pair_coeff <pair_coeff>` command as in the examples
|
||||
above, where the first argument is the filename that includes the
|
||||
exponential-6 parameters for each species. The file includes the
|
||||
species tag followed by the *alpha*\ , *epsilon* and *Rm*
|
||||
parameters. The format of the file is described below.
|
||||
|
||||
The second and third arguments specify the site-site interaction
|
||||
potential between two species contained within two different particles.
|
||||
The species tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the :doc:`fix rx <fix_rx>` command
|
||||
or they must correspond to the tag "1fluid", signifying interaction
|
||||
with a product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where the
|
||||
difference is defined to be the internal chemical energy (uChem).
|
||||
The second and third arguments specify the site-site interaction
|
||||
potential between two species contained within two different
|
||||
particles. The species tags must either correspond to the species
|
||||
defined in the reaction kinetics files specified with the :doc:`fix rx <fix_rx>` command or they must correspond to the tag "1fluid",
|
||||
signifying interaction with a product species mixture determined
|
||||
through a one-fluid approximation. The interaction potential is
|
||||
weighted by the geometric average of the concentrations of the two
|
||||
species. The coarse-grained potential is stored before and after the
|
||||
reaction kinetics solver is applied, where the difference is defined
|
||||
to be the internal chemical energy (uChem).
|
||||
|
||||
The fourth and fifth arguments specify the *Rm* and *epsilon* scaling exponents.
|
||||
|
||||
@ -63,7 +65,8 @@ The final argument specifies the interaction cutoff.
|
||||
----------
|
||||
|
||||
|
||||
The format of a tabulated file is as follows (without the parenthesized comments):
|
||||
The format of a tabulated file is as follows (without the
|
||||
parenthesized comments):
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -80,14 +83,14 @@ A section begins with a non-blank line whose 1st character is not a
|
||||
"#"; blank lines or lines starting with "#" can be used as comments
|
||||
between sections.
|
||||
|
||||
Following a blank line, the next N lines list the species and their
|
||||
corresponding parameters. The first argument is the species tag,
|
||||
the second argument is the exp6 tag, the 3rd argument is the *alpha*
|
||||
parameter (energy units), the 4th argument is the *epsilon* parameter
|
||||
(energy-distance^6 units), and the 5th argument is the *Rm*
|
||||
parameter (distance units). If a species tag of "1fluid" is listed as a
|
||||
pair coefficient, a one-fluid approximation is specified where a
|
||||
concentration-dependent combination of the parameters is computed
|
||||
Following a blank line, the next N lines list the species and their
|
||||
corresponding parameters. The first argument is the species tag, the
|
||||
second argument is the exp6 tag, the 3rd argument is the *alpha*
|
||||
parameter (energy units), the 4th argument is the *epsilon* parameter
|
||||
(energy-distance^6 units), and the 5th argument is the *Rm* parameter
|
||||
(distance units). If a species tag of "1fluid" is listed as a pair
|
||||
coefficient, a one-fluid approximation is specified where a
|
||||
concentration-dependent combination of the parameters is computed
|
||||
through the following equations:
|
||||
|
||||
.. image:: Eqs/pair_exp6_rx_oneFluid.jpg
|
||||
@ -121,7 +124,8 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
None
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -24,15 +24,16 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Style *multi/lucy* computes a density-dependent force following from the many-body
|
||||
form described in :ref:`(Moore) <Moore>` and :ref:`(Warren) <Warren>` as
|
||||
Style *multi/lucy* computes a density-dependent force following from
|
||||
the many-body form described in :ref:`(Moore) <Moore>` and
|
||||
:ref:`(Warren) <Warren>` as
|
||||
|
||||
.. image:: Eqs/pair_multi_lucy.jpg
|
||||
:align: center
|
||||
|
||||
which consists of a density-dependent function, A(rho), and a radial-dependent weight
|
||||
function, omegaDD(rij). The radial-dependent weight function, omegaDD(rij), is taken
|
||||
as the Lucy function:
|
||||
which consists of a density-dependent function, A(rho), and a
|
||||
radial-dependent weight function, omegaDD(rij). The radial-dependent
|
||||
weight function, omegaDD(rij), is taken as the Lucy function:
|
||||
|
||||
.. image:: Eqs/pair_multi_lucy2.jpg
|
||||
:align: center
|
||||
@ -42,24 +43,29 @@ The density-dependent energy for a given particle is given by:
|
||||
.. image:: Eqs/pair_multi_lucy_energy.jpg
|
||||
:align: center
|
||||
|
||||
See the supporting information of :ref:`(Brennan) <Brennan>` or the publication by :ref:`(Moore) <Moore>`
|
||||
for more details on the functional form.
|
||||
See the supporting information of :ref:`(Brennan) <Brennan>` or the
|
||||
publication by :ref:`(Moore) <Moore>` for more details on the functional
|
||||
form.
|
||||
|
||||
An interpolation table is used to evaluate the density-dependent energy (Integral(A(rho)drho) and force (A(rho)).
|
||||
Note that the pre-factor to the energy is computed after the interpolation, thus the Integral(A(rho)drho will
|
||||
have units of energy / length^4.
|
||||
An interpolation table is used to evaluate the density-dependent
|
||||
energy (Integral(A(rho)drho) and force (A(rho)). Note that the
|
||||
pre-factor to the energy is computed after the interpolation, thus the
|
||||
Integral(A(rho)drho will have units of energy / length^4.
|
||||
|
||||
The interpolation table is created as a pre-computation by fitting cubic splines to
|
||||
the file values and interpolating the density-dependent energy and force at each of *N* densities.
|
||||
During a simulation, the tables are used to interpolate the density-dependent energy and force as
|
||||
needed for each pair of particles separated by a distance *R*\ . The interpolation is done in
|
||||
one of 2 styles: *lookup* and *linear*\ .
|
||||
The interpolation table is created as a pre-computation by fitting
|
||||
cubic splines to the file values and interpolating the
|
||||
density-dependent energy and force at each of *N* densities. During a
|
||||
simulation, the tables are used to interpolate the density-dependent
|
||||
energy and force as needed for each pair of particles separated by a
|
||||
distance *R*\ . The interpolation is done in one of 2 styles: *lookup*
|
||||
and *linear*\ .
|
||||
|
||||
For the *lookup* style, the density is used to find the nearest table entry, which is the
|
||||
density-dependent energy and force.
|
||||
For the *lookup* style, the density is used to find the nearest table
|
||||
entry, which is the density-dependent energy and force.
|
||||
|
||||
For the *linear* style, the density is used to find the 2 surrounding table values from
|
||||
which the density-dependent energy and force are computed by linear interpolation.
|
||||
For the *linear* style, the density is used to find the 2 surrounding
|
||||
table values from which the density-dependent energy and force are
|
||||
computed by linear interpolation.
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
|
||||
@ -69,13 +75,14 @@ above.
|
||||
* keyword
|
||||
* cutoff (distance units)
|
||||
|
||||
The filename specifies a file containing the tabulated density-dependent
|
||||
energy and force. The keyword specifies a section of the file.
|
||||
The cutoff is an optional coefficient. If not specified, the outer cutoff in the
|
||||
table itself (see below) will be used to build an interpolation table
|
||||
that extend to the largest tabulated distance. If specified, only
|
||||
file values up to the cutoff are used to create the interpolation
|
||||
table. The format of this file is described below.
|
||||
The filename specifies a file containing the tabulated
|
||||
density-dependent energy and force. The keyword specifies a section
|
||||
of the file. The cutoff is an optional coefficient. If not
|
||||
specified, the outer cutoff in the table itself (see below) will be
|
||||
used to build an interpolation table that extend to the largest
|
||||
tabulated distance. If specified, only file values up to the cutoff
|
||||
are used to create the interpolation table. The format of this file
|
||||
is described below.
|
||||
|
||||
|
||||
----------
|
||||
@ -109,19 +116,19 @@ numeric values.
|
||||
|
||||
The parameter "N" is required and its value is the number of table
|
||||
entries that follow. Note that this may be different than the *N*
|
||||
specified in the :doc:`pair_style multi/lucy <pair_multi_lucy>` command. Let
|
||||
Ntable = *N* in the pair_style command, and Nfile = "N" in the
|
||||
specified in the :doc:`pair_style multi/lucy <pair_multi_lucy>` command.
|
||||
Let Ntable = *N* in the pair_style command, and Nfile = "N" in the
|
||||
tabulated file. What LAMMPS does is a preliminary interpolation by
|
||||
creating splines using the Nfile tabulated values as nodal points. It
|
||||
uses these to interpolate the density-dependent energy and force at Ntable different
|
||||
points. The resulting tables of length Ntable are then used as
|
||||
described above, when computing the density-dependent energy and force.
|
||||
This means that if you want the interpolation tables of
|
||||
length Ntable to match exactly what is in the tabulated file (with
|
||||
effectively no preliminary interpolation), you should set Ntable =
|
||||
Nfile, and use the "RSQ" parameter. This is because the
|
||||
internal table abscissa is always RSQ (separation distance squared),
|
||||
for efficient lookup.
|
||||
uses these to interpolate the density-dependent energy and force at
|
||||
Ntable different points. The resulting tables of length Ntable are
|
||||
then used as described above, when computing the density-dependent
|
||||
energy and force. This means that if you want the interpolation
|
||||
tables of length Ntable to match exactly what is in the tabulated file
|
||||
(with effectively no preliminary interpolation), you should set Ntable
|
||||
= Nfile, and use the "RSQ" parameter. This is because the internal
|
||||
table abscissa is always RSQ (separation distance squared), for
|
||||
efficient lookup.
|
||||
|
||||
All other parameters are optional. If "R" or "RSQ" does
|
||||
not appear, then the distances in each line of the table are used
|
||||
@ -186,7 +193,10 @@ This pair style can only be used via the *pair* keyword of the
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -25,20 +25,22 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Style *multi/lucy/rx* is used in reaction DPD simulations, where the coarse-grained
|
||||
(CG) particles are composed of *m* species whose reaction rate kinetics are determined
|
||||
from a set of *n* reaction rate equations through the :doc:`fix rx <fix_rx>` command.
|
||||
The species of one CG particle can interact with a species in a neighboring CG particle
|
||||
through a site-site interaction potential model. Style *multi/lucy/rx* computes the
|
||||
site-site density-dependent force following from the many-body form described in
|
||||
:ref:`(Moore) <Moore>` and :ref:`(Warren) <Warren>` as
|
||||
Style *multi/lucy/rx* is used in reaction DPD simulations, where the
|
||||
coarse-grained (CG) particles are composed of *m* species whose
|
||||
reaction rate kinetics are determined from a set of *n* reaction rate
|
||||
equations through the :doc:`fix rx <fix_rx>` command. The species of
|
||||
one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. Style
|
||||
*multi/lucy/rx* computes the site-site density-dependent force
|
||||
following from the many-body form described in :ref:`(Moore) <Moore>` and
|
||||
:ref:`(Warren) <Warren>` as
|
||||
|
||||
.. image:: Eqs/pair_multi_lucy.jpg
|
||||
:align: center
|
||||
|
||||
which consists of a density-dependent function, A(rho), and a radial-dependent weight
|
||||
function, omegaDD(rij). The radial-dependent weight function, omegaDD(rij), is taken
|
||||
as the Lucy function:
|
||||
which consists of a density-dependent function, A(rho), and a
|
||||
radial-dependent weight function, omegaDD(rij). The radial-dependent
|
||||
weight function, omegaDD(rij), is taken as the Lucy function:
|
||||
|
||||
.. image:: Eqs/pair_multi_lucy2.jpg
|
||||
:align: center
|
||||
@ -48,24 +50,29 @@ The density-dependent energy for a given particle is given by:
|
||||
.. image:: Eqs/pair_multi_lucy_energy.jpg
|
||||
:align: center
|
||||
|
||||
See the supporting information of :ref:`(Brennan) <Brennan>` or the publication by :ref:`(Moore) <Moore>`
|
||||
for more details on the functional form.
|
||||
See the supporting information of :ref:`(Brennan) <Brennan>` or the
|
||||
publication by :ref:`(Moore) <Moore>` for more details on the functional
|
||||
form.
|
||||
|
||||
An interpolation table is used to evaluate the density-dependent energy (Integral(A(rho)drho) and force (A(rho)).
|
||||
Note that the pre-factor to the energy is computed after the interpolation, thus the Integral(A(rho)drho will
|
||||
have units of energy / length^4.
|
||||
An interpolation table is used to evaluate the density-dependent
|
||||
energy (Integral(A(rho)drho) and force (A(rho)). Note that the
|
||||
pre-factor to the energy is computed after the interpolation, thus the
|
||||
Integral(A(rho)drho will have units of energy / length^4.
|
||||
|
||||
The interpolation table is created as a pre-computation by fitting cubic splines to
|
||||
the file values and interpolating the density-dependent energy and force at each of *N* densities.
|
||||
During a simulation, the tables are used to interpolate the density-dependent energy and force as
|
||||
needed for each pair of particles separated by a distance *R*\ . The interpolation is done in
|
||||
one of 2 styles: *lookup* and *linear*\ .
|
||||
The interpolation table is created as a pre-computation by fitting
|
||||
cubic splines to the file values and interpolating the
|
||||
density-dependent energy and force at each of *N* densities. During a
|
||||
simulation, the tables are used to interpolate the density-dependent
|
||||
energy and force as needed for each pair of particles separated by a
|
||||
distance *R*\ . The interpolation is done in one of 2 styles: *lookup*
|
||||
and *linear*\ .
|
||||
|
||||
For the *lookup* style, the density is used to find the nearest table entry, which is the
|
||||
density-dependent energy and force.
|
||||
For the *lookup* style, the density is used to find the nearest table
|
||||
entry, which is the density-dependent energy and force.
|
||||
|
||||
For the *linear* style, the density is used to find the 2 surrounding table values from
|
||||
which the density-dependent energy and force are computed by linear interpolation.
|
||||
For the *linear* style, the density is used to find the 2 surrounding
|
||||
table values from which the density-dependent energy and force are
|
||||
computed by linear interpolation.
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
|
||||
@ -77,23 +84,24 @@ above.
|
||||
* species2
|
||||
* cutoff (distance units)
|
||||
|
||||
The filename specifies a file containing the tabulated density-dependent
|
||||
energy and force. The keyword specifies a section of the file.
|
||||
The cutoff is an optional coefficient. If not specified, the outer cutoff in the
|
||||
table itself (see below) will be used to build an interpolation table
|
||||
that extend to the largest tabulated distance. If specified, only
|
||||
file values up to the cutoff are used to create the interpolation
|
||||
table. The format of this file is described below.
|
||||
The filename specifies a file containing the tabulated
|
||||
density-dependent energy and force. The keyword specifies a section
|
||||
of the file. The cutoff is an optional coefficient. If not
|
||||
specified, the outer cutoff in the table itself (see below) will be
|
||||
used to build an interpolation table that extend to the largest
|
||||
tabulated distance. If specified, only file values up to the cutoff
|
||||
are used to create the interpolation table. The format of this file
|
||||
is described below.
|
||||
|
||||
The species tags define the site-site interaction potential between two
|
||||
species contained within two different particles.
|
||||
The species tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the :doc:`fix rx <fix_rx>` command
|
||||
or they must correspond to the tag "1fluid", signifying interaction
|
||||
with a product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential
|
||||
is stored before and after the reaction kinetics solver is applied, where
|
||||
The species tags define the site-site interaction potential between
|
||||
two species contained within two different particles. The species
|
||||
tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the :doc:`fix rx <fix_rx>` command or they
|
||||
must correspond to the tag "1fluid", signifying interaction with a
|
||||
product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where
|
||||
the difference is defined to be the internal chemical energy (uChem).
|
||||
|
||||
|
||||
@ -128,34 +136,34 @@ numeric values.
|
||||
|
||||
The parameter "N" is required and its value is the number of table
|
||||
entries that follow. Note that this may be different than the *N*
|
||||
specified in the :doc:`pair_style multi/lucy/rx <pair_multi_lucy_rx>` command. Let
|
||||
Ntable = *N* in the pair_style command, and Nfile = "N" in the
|
||||
tabulated file. What LAMMPS does is a preliminary interpolation by
|
||||
creating splines using the Nfile tabulated values as nodal points. It
|
||||
uses these to interpolate the density-dependent energy and force at Ntable different
|
||||
points. The resulting tables of length Ntable are then used as
|
||||
described above, when computing the density-dependent energy and force.
|
||||
This means that if you want the interpolation tables of
|
||||
length Ntable to match exactly what is in the tabulated file (with
|
||||
effectively no preliminary interpolation), you should set Ntable =
|
||||
Nfile, and use the "RSQ" parameter. This is because the
|
||||
internal table abscissa is always RSQ (separation distance squared),
|
||||
for efficient lookup.
|
||||
specified in the :doc:`pair_style multi/lucy/rx <pair_multi_lucy_rx>`
|
||||
command. Let Ntable = *N* in the pair_style command, and Nfile = "N"
|
||||
in the tabulated file. What LAMMPS does is a preliminary
|
||||
interpolation by creating splines using the Nfile tabulated values as
|
||||
nodal points. It uses these to interpolate the density-dependent
|
||||
energy and force at Ntable different points. The resulting tables of
|
||||
length Ntable are then used as described above, when computing the
|
||||
density-dependent energy and force. This means that if you want the
|
||||
interpolation tables of length Ntable to match exactly what is in the
|
||||
tabulated file (with effectively no preliminary interpolation), you
|
||||
should set Ntable = Nfile, and use the "RSQ" parameter. This is
|
||||
because the internal table abscissa is always RSQ (separation distance
|
||||
squared), for efficient lookup.
|
||||
|
||||
All other parameters are optional. If "R" or "RSQ" does
|
||||
not appear, then the distances in each line of the table are used
|
||||
as-is to perform spline interpolation. In this case, the table values
|
||||
can be spaced in *density* uniformly or however you wish to position table
|
||||
values in regions of large gradients.
|
||||
All other parameters are optional. If "R" or "RSQ" does not appear,
|
||||
then the distances in each line of the table are used as-is to perform
|
||||
spline interpolation. In this case, the table values can be spaced in
|
||||
*density* uniformly or however you wish to position table values in
|
||||
regions of large gradients.
|
||||
|
||||
If used, the parameters "R" or "RSQ" are followed by 2 values *rlo*
|
||||
and *rhi*\ . If specified, the density associated with each density-dependent
|
||||
energy and force value is computed from these 2 values (at high accuracy), rather
|
||||
than using the (low-accuracy) value listed in each line of the table.
|
||||
The density values in the table file are ignored in this case.
|
||||
For "R", distances uniformly spaced between *rlo* and *rhi* are
|
||||
computed; for "RSQ", squared distances uniformly spaced between
|
||||
*rlo*rlo* and *rhi*rhi* are computed.
|
||||
and *rhi*\ . If specified, the density associated with each
|
||||
density-dependent energy and force value is computed from these 2
|
||||
values (at high accuracy), rather than using the (low-accuracy) value
|
||||
listed in each line of the table. The density values in the table
|
||||
file are ignored in this case. For "R", distances uniformly spaced
|
||||
between *rlo* and *rhi* are computed; for "RSQ", squared distances
|
||||
uniformly spaced between *rlo*rlo* and *rhi*rhi* are computed.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -163,14 +171,15 @@ computed; for "RSQ", squared distances uniformly spaced between
|
||||
file are effectively ignored, and replaced by new values as described
|
||||
in the previous paragraph. If the density value in the table is not
|
||||
very close to the new value (i.e. round-off difference), then you will
|
||||
be assigning density-dependent energy and force values to a different density,
|
||||
which is probably not what you want. LAMMPS will warn if this is occurring.
|
||||
be assigning density-dependent energy and force values to a different
|
||||
density, which is probably not what you want. LAMMPS will warn if
|
||||
this is occurring.
|
||||
|
||||
Following a blank line, the next N lines list the tabulated values.
|
||||
On each line, the 1st value is the index from 1 to N, the 2nd value is
|
||||
r (in density units), the 3rd value is the density-dependent function value
|
||||
(in energy units / length^4), and the 4th is the force (in force units). The
|
||||
density values must increase from one line to the next.
|
||||
r (in density units), the 3rd value is the density-dependent function
|
||||
value (in energy units / length^4), and the 4th is the force (in force
|
||||
units). The density values must increase from one line to the next.
|
||||
|
||||
Note that one file can contain many sections, each with a tabulated
|
||||
potential. LAMMPS reads the file section by section until it finds
|
||||
@ -205,7 +214,10 @@ This pair style can only be used via the *pair* keyword of the
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -28,14 +28,16 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Style *table/rx* is used in reaction DPD simulations,where the coarse-grained (CG)
|
||||
particles are composed of *m* species whose reaction rate kinetics are determined
|
||||
from a set of *n* reaction rate equations through the :doc:`fix rx <fix_rx>` command.
|
||||
The species of one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. Style *table/rx* creates
|
||||
interpolation tables of length *N* from pair potential and force values listed in a
|
||||
file(s) as a function of distance. The files are read by the
|
||||
:doc:`pair_coeff <pair_coeff>` command.
|
||||
Style *table/rx* is used in reaction DPD simulations,where the
|
||||
coarse-grained (CG) particles are composed of *m* species whose
|
||||
reaction rate kinetics are determined from a set of *n* reaction rate
|
||||
equations through the :doc:`fix rx <fix_rx>` command. The species of
|
||||
one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. Style
|
||||
*table/rx* creates interpolation tables of length *N* from pair
|
||||
potential and force values listed in a file(s) as a function of
|
||||
distance. The files are read by the :doc:`pair_coeff <pair_coeff>`
|
||||
command.
|
||||
|
||||
The interpolation tables are created by fitting cubic splines to the
|
||||
file values and interpolating energy and force values at each of *N*
|
||||
@ -56,7 +58,7 @@ used to find the appropriate set of coefficients which are used to
|
||||
evaluate a cubic polynomial which computes the energy or force.
|
||||
|
||||
For the *bitmap* style, the N means to create interpolation tables
|
||||
that are 2^N in length. <The pair distance is used to index into the
|
||||
that are 2^N in length. The pair distance is used to index into the
|
||||
table via a fast bit-mapping technique :ref:`(Wolff) <Wolff>` and a linear
|
||||
interpolation is performed between adjacent table values.
|
||||
|
||||
@ -78,15 +80,15 @@ that extend to the largest tabulated distance. If specified, only
|
||||
file values up to the cutoff are used to create the interpolation
|
||||
table. The format of this file is described below.
|
||||
|
||||
The species tags define the site-site interaction potential between two
|
||||
species contained within two different particles.
|
||||
The species tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the :doc:`fix rx <fix_rx>` command
|
||||
or they must correspond to the tag "1fluid", signifying interaction
|
||||
with a product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential
|
||||
is stored before and after the reaction kinetics solver is applied, where
|
||||
The species tags define the site-site interaction potential between
|
||||
two species contained within two different particles. The species
|
||||
tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the :doc:`fix rx <fix_rx>` command or they
|
||||
must correspond to the tag "1fluid", signifying interaction with a
|
||||
product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where
|
||||
the difference is defined to be the internal chemical energy (uChem).
|
||||
|
||||
|
||||
@ -227,7 +229,10 @@ This pair style can only be used via the *pair* keyword of the
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
|
||||
This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -158,8 +158,10 @@ possible.</p>
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<p>The fix <em>eos/cv</em> is only available if LAMMPS is built with the
|
||||
USER-DPD package.</p>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
<p>This command also requires use of the <a class="reference internal" href="atom_style.html"><span class="doc">atom_style dpd</span></a>
|
||||
command.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands</h2>
|
||||
|
||||
@ -210,11 +210,13 @@ one that matches the specified keyword.</p>
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<p>The fix <em>eos/table</em> is only available if LAMMPS is built with the
|
||||
USER-DPD package.</p>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
<p>This command also requires use of the <a class="reference internal" href="atom_style.html"><span class="doc">atom_style dpd</span></a>
|
||||
command.</p>
|
||||
<p>The equation of state must be a monotonically increasing function.</p>
|
||||
<p>An exit error will occur if the internal temperature or internal
|
||||
energies are not within the table cutoffs.</p>
|
||||
<p>An error will occur if the internal temperature or internal energies
|
||||
are not within the table cutoffs.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands</h2>
|
||||
|
||||
@ -231,11 +231,13 @@ the reactions with the <a class="reference internal" href="fix_rx.html"><span cl
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<p>The fix <em>eos/table/rx</em> is only available if LAMMPS is built with the
|
||||
USER-DPD package.</p>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
<p>This command also requires use of the <a class="reference internal" href="atom_style.html"><span class="doc">atom_style dpd</span></a>
|
||||
command.</p>
|
||||
<p>The equation of state must be a monotonically increasing function.</p>
|
||||
<p>An exit error will occur if the internal temperature or internal
|
||||
energies are not within the table cutoffs.</p>
|
||||
<p>An error will occur if the internal temperature or internal energies
|
||||
are not within the table cutoffs.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands</h2>
|
||||
|
||||
@ -156,46 +156,50 @@ defined within the file associated with this command.</p>
|
||||
<img alt="_images/fix_rx_reaction.jpg" class="align-center" src="_images/fix_rx_reaction.jpg" />
|
||||
<p>the reaction rate equation is defined to be of the form</p>
|
||||
<img alt="_images/fix_rx_reactionRate.jpg" class="align-center" src="_images/fix_rx_reactionRate.jpg" />
|
||||
<p>In the current implementation, the exponents are defined to be equal to the
|
||||
stoichiometric coefficients. A given reaction set consisting of <em>n</em> reaction
|
||||
equations will contain a total of <em>m</em> species. A set of <em>m</em> ordinary
|
||||
differential equations (ODEs) that describe the change in concentration of a
|
||||
given species as a function of time are then constructed based on the <em>n</em>
|
||||
reaction rate equations.</p>
|
||||
<p>The ODE systems are solved over the full DPD timestep <em>dt</em> using a 4th order
|
||||
Runge-Kutta <em>rk4</em> method with a fixed step-size <em>h</em>, specified by the
|
||||
<em>lammps_rk4</em> keyword. The number of ODE steps per DPD timestep for the rk4 method
|
||||
is optionally specified immediately after the rk4 keyword. The ODE step-size is set as
|
||||
<em>dt/num_steps</em>. Smaller step-sizes tend to yield more accurate results but there
|
||||
is not control on the error.</p>
|
||||
<p>In the current implementation, the exponents are defined to be equal
|
||||
to the stoichiometric coefficients. A given reaction set consisting
|
||||
of <em>n</em> reaction equations will contain a total of <em>m</em> species. A set
|
||||
of <em>m</em> ordinary differential equations (ODEs) that describe the change
|
||||
in concentration of a given species as a function of time are then
|
||||
constructed based on the <em>n</em> reaction rate equations.</p>
|
||||
<p>The ODE systems are solved over the full DPD timestep <em>dt</em> using a 4th
|
||||
order Runge-Kutta <em>rk4</em> method with a fixed step-size <em>h</em>, specified
|
||||
by the <em>lammps_rk4</em> keyword. The number of ODE steps per DPD timestep
|
||||
for the rk4 method is optionally specified immediately after the rk4
|
||||
keyword. The ODE step-size is set as <em>dt/num_steps</em>. Smaller
|
||||
step-sizes tend to yield more accurate results but there is not
|
||||
control on the error.</p>
|
||||
<hr class="docutils" />
|
||||
<p>The filename specifies a file that contains the entire set of reaction
|
||||
kinetic equations and corresponding Arrhenius parameters. The format of
|
||||
this file is described below.</p>
|
||||
<p>There is no restriction on the total number or reaction equations that are
|
||||
specified. The species names are arbitrary string names that are associated
|
||||
with the species concentrations.
|
||||
Each species in a given reaction must be preceded by it’s stoichiometric
|
||||
coefficient. The only delimiters that are recognized between the species are
|
||||
either a <em>+</em> or <em>=</em> character. The <em>=</em> character corresponds to an
|
||||
irreversible reaction. After specifying the reaction, the reaction rate
|
||||
constant is determined through the temperature dependent Arrhenius equation:</p>
|
||||
<p>There is no restriction on the total number or reaction equations that
|
||||
are specified. The species names are arbitrary string names that are
|
||||
associated with the species concentrations. Each species in a given
|
||||
reaction must be preceded by it’s stoichiometric coefficient. The
|
||||
only delimiters that are recognized between the species are either a
|
||||
<em>+</em> or <em>=</em> character. The <em>=</em> character corresponds to an
|
||||
irreversible reaction. After specifying the reaction, the reaction
|
||||
rate constant is determined through the temperature dependent
|
||||
Arrhenius equation:</p>
|
||||
<img alt="_images/fix_rx.jpg" class="align-center" src="_images/fix_rx.jpg" />
|
||||
<p>where <em>A</em> is the Arrhenius factor in time units or concentration/time units,
|
||||
<em>n</em> is the unitless exponent of the temperature dependence, and <em>E_a</em> is the
|
||||
activation energy in energy units. The temperature dependence can be removed
|
||||
by specifying the exponent as zero.</p>
|
||||
<p>The internal temperature of the coarse-grained particles can be used in constructing the
|
||||
reaction rate constants at every DPD timestep by specifying the keyword <em>none</em>.
|
||||
Alternatively, the keyword <em>lucy</em> can be specified to compute a local-average particle
|
||||
internal temperature for use in the reaction rate constant expressions.
|
||||
The local-average particle internal temperature is defined as:</p>
|
||||
<p>where <em>A</em> is the Arrhenius factor in time units or concentration/time
|
||||
units, <em>n</em> is the unitless exponent of the temperature dependence, and
|
||||
<em>E_a</em> is the activation energy in energy units. The temperature
|
||||
dependence can be removed by specifying the exponent as zero.</p>
|
||||
<p>The internal temperature of the coarse-grained particles can be used
|
||||
in constructing the reaction rate constants at every DPD timestep by
|
||||
specifying the keyword <em>none</em>. Alternatively, the keyword <em>lucy</em> can
|
||||
be specified to compute a local-average particle internal temperature
|
||||
for use in the reaction rate constant expressions. The local-average
|
||||
particle internal temperature is defined as:</p>
|
||||
<img alt="_images/fix_rx_localTemp.jpg" class="align-center" src="_images/fix_rx_localTemp.jpg" />
|
||||
<p>where the Lucy function is expressed as:</p>
|
||||
<img alt="_images/fix_rx_localTemp2.jpg" class="align-center" src="_images/fix_rx_localTemp2.jpg" />
|
||||
<p>The self-particle interaction is included in the above equation.</p>
|
||||
<hr class="docutils" />
|
||||
<p>The format of a tabulated file is as follows (without the parenthesized comments):</p>
|
||||
<p>The format of a tabulated file is as follows (without the
|
||||
parenthesized comments):</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># Rxn equations and parameters (one or more comment or blank lines)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -208,29 +212,34 @@ The local-average particle internal temperature is defined as:</p>
|
||||
<p>A section begins with a non-blank line whose 1st character is not a
|
||||
“#”; blank lines or lines starting with “#” can be used as comments
|
||||
between sections.</p>
|
||||
<p>Following a blank line, the next N lines list the N reaction equations.
|
||||
Each species within the reaction equation is specified through its
|
||||
stoichiometric coefficient and a species tag. Reactant species are specified
|
||||
on the left-hand side of the equation and product species are specified on the
|
||||
right-hand side of the equation. After specifying the reactant and product
|
||||
species, the final three arguments of each line represent the Arrhenius
|
||||
parameter <em>A</em>, the temperature exponent <em>n</em>, and the activation energy <em>Ea</em>.</p>
|
||||
<p>Note that the species tags that are defined in the reaction equations are
|
||||
used by the <a class="reference internal" href="fix_eos_table_rx.html"><span class="doc">fix eos/table/rx</span></a> command to define the
|
||||
thermodynamic properties of each species. Furthermore, the number of species
|
||||
molecules (i.e., concentration) can be specified either with the <a class="reference internal" href="set.html"><span class="doc">set</span></a>
|
||||
command using the “<a href="#id1"><span class="problematic" id="id2">d_</span></a>” prefix or by reading directly the concentrations from a
|
||||
data file. For the latter case, the <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command with the
|
||||
fix keyword should be specified, where the fix-ID will be the “fix rx`ID with a <SPECIES”>`_ suffix, e.g.</p>
|
||||
<p>Following a blank line, the next N lines list the N reaction
|
||||
equations. Each species within the reaction equation is specified
|
||||
through its stoichiometric coefficient and a species tag. Reactant
|
||||
species are specified on the left-hand side of the equation and
|
||||
product species are specified on the right-hand side of the equation.
|
||||
After specifying the reactant and product species, the final three
|
||||
arguments of each line represent the Arrhenius parameter <em>A</em>, the
|
||||
temperature exponent <em>n</em>, and the activation energy <em>Ea</em>.</p>
|
||||
<p>Note that the species tags that are defined in the reaction equations
|
||||
are used by the <a class="reference internal" href="fix_eos_table_rx.html"><span class="doc">fix eos/table/rx</span></a> command to
|
||||
define the thermodynamic properties of each species. Furthermore, the
|
||||
number of species molecules (i.e., concentration) can be specified
|
||||
either with the <a class="reference internal" href="set.html"><span class="doc">set</span></a> command using the “<a href="#id1"><span class="problematic" id="id2">d_</span></a>” prefix or by
|
||||
reading directly the concentrations from a data file. For the latter
|
||||
case, the <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command with the fix keyword
|
||||
should be specified, where the fix-ID will be the “fix rx`ID with a <SPECIES”>`_ suffix, e.g.</p>
|
||||
<p>fix foo all rx reaction.file ...
|
||||
read_data data.dpd fix foo_SPECIES NULL Species</p>
|
||||
</div>
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<p>The fix <em>rx</em> is only available if LAMMPS is built with the USER-DPD package.</p>
|
||||
<p>The fix <em>rx</em> must be used with the <a class="reference internal" href="atom_style.html"><span class="doc">atom_style dpd</span></a> command.</p>
|
||||
<p>The fix <em>rx</em> can only be used with a constant energy or constant enthalpy DPD simulation.</p>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
<p>This command also requires use of the <a class="reference internal" href="atom_style.html"><span class="doc">atom_style dpd</span></a>
|
||||
command.</p>
|
||||
<p>This command can only be used with a constant energy or constant
|
||||
enthalpy DPD simulation.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands</h2>
|
||||
@ -238,7 +247,6 @@ read_data data.dpd fix foo_SPECIES NULL Species</p>
|
||||
<a class="reference internal" href="fix_shardlow.html"><span class="doc">fix shardlow</span></a>,
|
||||
<span class="xref doc">pair dpd/fdt/energy</span></p>
|
||||
<p><strong>Default:</strong> none</p>
|
||||
<hr class="docutils" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -170,16 +170,15 @@ examples/USER/dpd directory.</p>
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<p>This fix is only available if LAMMPS is built with the USER-DPD
|
||||
package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section
|
||||
for more info.</p>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
<p>This fix is currently limited to orthogonal simulation cell
|
||||
geometries.</p>
|
||||
<p>This fix must be used with an additional fix that specifies time
|
||||
integration, e.g. <a class="reference internal" href="fix_nve.html"><span class="doc">fix nve</span></a> or <a class="reference internal" href="fix_nh.html"><span class="doc">fix nph</span></a>.</p>
|
||||
<p>The Shardlow splitting algorithm requires the sizes of the sub-domain
|
||||
lengths to be larger than twice the cutoff+skin. Generally, the
|
||||
domain decomposition is dependant on the number of processors
|
||||
domain decomposition is dependent on the number of processors
|
||||
requested.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
|
||||
@ -227,8 +227,8 @@ specified.</p>
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<p>Pair styles <em>dpd/fdt</em> and <em>dpd/fdt/energy</em> are only available if
|
||||
LAMMPS is built with the USER-DPD package.</p>
|
||||
<p>These commands are part of the USER-DPD package. They are only
|
||||
enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
<p>Pair styles <em>dpd/fdt</em> and <em>dpd/fdt/energy</em> require use of the
|
||||
<span class="xref doc">communicate vel yes</span> option so that velocites are
|
||||
stored by ghost atoms.</p>
|
||||
|
||||
@ -146,34 +146,37 @@
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description</h2>
|
||||
<p>Style <em>exp6/rx</em> is used in reaction DPD simulations, where the coarse-grained (CG)
|
||||
particles are composed of <em>m</em> species whose reaction rate kinetics are determined
|
||||
from a set of <em>n</em> reaction rate equations through the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command.
|
||||
The species of one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. The <em>exp6/rx</em> style
|
||||
computes an exponential-6 potential given by</p>
|
||||
<p>Style <em>exp6/rx</em> is used in reaction DPD simulations, where the
|
||||
coarse-grained (CG) particles are composed of <em>m</em> species whose
|
||||
reaction rate kinetics are determined from a set of <em>n</em> reaction rate
|
||||
equations through the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command. The species of
|
||||
one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. The
|
||||
<em>exp6/rx</em> style computes an exponential-6 potential given by</p>
|
||||
<img alt="_images/pair_exp6_rx.jpg" class="align-center" src="_images/pair_exp6_rx.jpg" />
|
||||
<p>where the <em>epsilon</em> parameter determines the depth of the potential
|
||||
minimum located at <em>Rm</em>, and <em>alpha</em> determines the softness of the repulsion.</p>
|
||||
<p>The coefficients must be defined for each species in a given particle type
|
||||
via the <a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a> command as in the examples above, where
|
||||
the first argument is the filename that includes the exponential-6 parameters
|
||||
for each species. The file includes the species tag followed by the <em>alpha</em>,
|
||||
<em>epsilon</em> and <em>Rm</em> parameters. The format of the file is described below.</p>
|
||||
<p>The coefficients must be defined for each species in a given particle
|
||||
type via the <a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a> command as in the examples
|
||||
above, where the first argument is the filename that includes the
|
||||
exponential-6 parameters for each species. The file includes the
|
||||
species tag followed by the <em>alpha</em>, <em>epsilon</em> and <em>Rm</em>
|
||||
parameters. The format of the file is described below.</p>
|
||||
<p>The second and third arguments specify the site-site interaction
|
||||
potential between two species contained within two different particles.
|
||||
The species tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command
|
||||
or they must correspond to the tag “1fluid”, signifying interaction
|
||||
with a product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where the
|
||||
difference is defined to be the internal chemical energy (uChem).</p>
|
||||
potential between two species contained within two different
|
||||
particles. The species tags must either correspond to the species
|
||||
defined in the reaction kinetics files specified with the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command or they must correspond to the tag “1fluid”,
|
||||
signifying interaction with a product species mixture determined
|
||||
through a one-fluid approximation. The interaction potential is
|
||||
weighted by the geometric average of the concentrations of the two
|
||||
species. The coarse-grained potential is stored before and after the
|
||||
reaction kinetics solver is applied, where the difference is defined
|
||||
to be the internal chemical energy (uChem).</p>
|
||||
<p>The fourth and fifth arguments specify the <em>Rm</em> and <em>epsilon</em> scaling exponents.</p>
|
||||
<p>The final argument specifies the interaction cutoff.</p>
|
||||
<hr class="docutils" />
|
||||
<p>The format of a tabulated file is as follows (without the parenthesized comments):</p>
|
||||
<p>The format of a tabulated file is as follows (without the
|
||||
parenthesized comments):</p>
|
||||
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># exponential-6 parameters for various species (one or more comment or blank lines)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -187,12 +190,12 @@ difference is defined to be the internal chemical energy (uChem).</p>
|
||||
“#”; blank lines or lines starting with “#” can be used as comments
|
||||
between sections.</p>
|
||||
<p>Following a blank line, the next N lines list the species and their
|
||||
corresponding parameters. The first argument is the species tag,
|
||||
the second argument is the exp6 tag, the 3rd argument is the <em>alpha</em>
|
||||
corresponding parameters. The first argument is the species tag, the
|
||||
second argument is the exp6 tag, the 3rd argument is the <em>alpha</em>
|
||||
parameter (energy units), the 4th argument is the <em>epsilon</em> parameter
|
||||
(energy-distance^6 units), and the 5th argument is the <em>Rm</em>
|
||||
parameter (distance units). If a species tag of “1fluid” is listed as a
|
||||
pair coefficient, a one-fluid approximation is specified where a
|
||||
(energy-distance^6 units), and the 5th argument is the <em>Rm</em> parameter
|
||||
(distance units). If a species tag of “1fluid” is listed as a pair
|
||||
coefficient, a one-fluid approximation is specified where a
|
||||
concentration-dependent combination of the parameters is computed
|
||||
through the following equations:</p>
|
||||
<img alt="_images/pair_exp6_rx_oneFluid.jpg" class="align-center" src="_images/pair_exp6_rx_oneFluid.jpg" />
|
||||
@ -212,7 +215,8 @@ pair interaction.</p>
|
||||
</div>
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<p>None</p>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands</h2>
|
||||
|
||||
@ -145,29 +145,35 @@
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description</h2>
|
||||
<p>Style <em>multi/lucy</em> computes a density-dependent force following from the many-body
|
||||
form described in <a class="reference internal" href="pair_multi_lucy_rx.html#moore"><span class="std std-ref">(Moore)</span></a> and <a class="reference internal" href="pair_multi_lucy_rx.html#warren"><span class="std std-ref">(Warren)</span></a> as</p>
|
||||
<p>Style <em>multi/lucy</em> computes a density-dependent force following from
|
||||
the many-body form described in <a class="reference internal" href="pair_multi_lucy_rx.html#moore"><span class="std std-ref">(Moore)</span></a> and
|
||||
<a class="reference internal" href="pair_multi_lucy_rx.html#warren"><span class="std std-ref">(Warren)</span></a> as</p>
|
||||
<img alt="_images/pair_multi_lucy.jpg" class="align-center" src="_images/pair_multi_lucy.jpg" />
|
||||
<p>which consists of a density-dependent function, A(rho), and a radial-dependent weight
|
||||
function, omegaDD(rij). The radial-dependent weight function, omegaDD(rij), is taken
|
||||
as the Lucy function:</p>
|
||||
<p>which consists of a density-dependent function, A(rho), and a
|
||||
radial-dependent weight function, omegaDD(rij). The radial-dependent
|
||||
weight function, omegaDD(rij), is taken as the Lucy function:</p>
|
||||
<img alt="_images/pair_multi_lucy2.jpg" class="align-center" src="_images/pair_multi_lucy2.jpg" />
|
||||
<p>The density-dependent energy for a given particle is given by:</p>
|
||||
<img alt="_images/pair_multi_lucy_energy.jpg" class="align-center" src="_images/pair_multi_lucy_energy.jpg" />
|
||||
<p>See the supporting information of <a class="reference internal" href="pair_multi_lucy_rx.html#brennan"><span class="std std-ref">(Brennan)</span></a> or the publication by <a class="reference internal" href="pair_multi_lucy_rx.html#moore"><span class="std std-ref">(Moore)</span></a>
|
||||
for more details on the functional form.</p>
|
||||
<p>An interpolation table is used to evaluate the density-dependent energy (Integral(A(rho)drho) and force (A(rho)).
|
||||
Note that the pre-factor to the energy is computed after the interpolation, thus the Integral(A(rho)drho will
|
||||
have units of energy / length^4.</p>
|
||||
<p>The interpolation table is created as a pre-computation by fitting cubic splines to
|
||||
the file values and interpolating the density-dependent energy and force at each of <em>N</em> densities.
|
||||
During a simulation, the tables are used to interpolate the density-dependent energy and force as
|
||||
needed for each pair of particles separated by a distance <em>R</em>. The interpolation is done in
|
||||
one of 2 styles: <em>lookup</em> and <em>linear</em>.</p>
|
||||
<p>For the <em>lookup</em> style, the density is used to find the nearest table entry, which is the
|
||||
density-dependent energy and force.</p>
|
||||
<p>For the <em>linear</em> style, the density is used to find the 2 surrounding table values from
|
||||
which the density-dependent energy and force are computed by linear interpolation.</p>
|
||||
<p>See the supporting information of <a class="reference internal" href="pair_multi_lucy_rx.html#brennan"><span class="std std-ref">(Brennan)</span></a> or the
|
||||
publication by <a class="reference internal" href="pair_multi_lucy_rx.html#moore"><span class="std std-ref">(Moore)</span></a> for more details on the functional
|
||||
form.</p>
|
||||
<p>An interpolation table is used to evaluate the density-dependent
|
||||
energy (Integral(A(rho)drho) and force (A(rho)). Note that the
|
||||
pre-factor to the energy is computed after the interpolation, thus the
|
||||
Integral(A(rho)drho will have units of energy / length^4.</p>
|
||||
<p>The interpolation table is created as a pre-computation by fitting
|
||||
cubic splines to the file values and interpolating the
|
||||
density-dependent energy and force at each of <em>N</em> densities. During a
|
||||
simulation, the tables are used to interpolate the density-dependent
|
||||
energy and force as needed for each pair of particles separated by a
|
||||
distance <em>R</em>. The interpolation is done in one of 2 styles: <em>lookup</em>
|
||||
and <em>linear</em>.</p>
|
||||
<p>For the <em>lookup</em> style, the density is used to find the nearest table
|
||||
entry, which is the density-dependent energy and force.</p>
|
||||
<p>For the <em>linear</em> style, the density is used to find the 2 surrounding
|
||||
table values from which the density-dependent energy and force are
|
||||
computed by linear interpolation.</p>
|
||||
<p>The following coefficients must be defined for each pair of atoms
|
||||
types via the <a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a> command as in the examples
|
||||
above.</p>
|
||||
@ -176,13 +182,14 @@ above.</p>
|
||||
<li>keyword</li>
|
||||
<li>cutoff (distance units)</li>
|
||||
</ul>
|
||||
<p>The filename specifies a file containing the tabulated density-dependent
|
||||
energy and force. The keyword specifies a section of the file.
|
||||
The cutoff is an optional coefficient. If not specified, the outer cutoff in the
|
||||
table itself (see below) will be used to build an interpolation table
|
||||
that extend to the largest tabulated distance. If specified, only
|
||||
file values up to the cutoff are used to create the interpolation
|
||||
table. The format of this file is described below.</p>
|
||||
<p>The filename specifies a file containing the tabulated
|
||||
density-dependent energy and force. The keyword specifies a section
|
||||
of the file. The cutoff is an optional coefficient. If not
|
||||
specified, the outer cutoff in the table itself (see below) will be
|
||||
used to build an interpolation table that extend to the largest
|
||||
tabulated distance. If specified, only file values up to the cutoff
|
||||
are used to create the interpolation table. The format of this file
|
||||
is described below.</p>
|
||||
<hr class="docutils" />
|
||||
<p>The format of a tabulated file is a series of one or more sections,
|
||||
defined as follows (without the parenthesized comments):</p>
|
||||
@ -208,19 +215,19 @@ for the table. Each parameter is a keyword followed by one or more
|
||||
numeric values.</p>
|
||||
<p>The parameter “N” is required and its value is the number of table
|
||||
entries that follow. Note that this may be different than the <em>N</em>
|
||||
specified in the <a class="reference internal" href="#"><span class="doc">pair_style multi/lucy</span></a> command. Let
|
||||
Ntable = <em>N</em> in the pair_style command, and Nfile = “N” in the
|
||||
specified in the <a class="reference internal" href="#"><span class="doc">pair_style multi/lucy</span></a> command.
|
||||
Let Ntable = <em>N</em> in the pair_style command, and Nfile = “N” in the
|
||||
tabulated file. What LAMMPS does is a preliminary interpolation by
|
||||
creating splines using the Nfile tabulated values as nodal points. It
|
||||
uses these to interpolate the density-dependent energy and force at Ntable different
|
||||
points. The resulting tables of length Ntable are then used as
|
||||
described above, when computing the density-dependent energy and force.
|
||||
This means that if you want the interpolation tables of
|
||||
length Ntable to match exactly what is in the tabulated file (with
|
||||
effectively no preliminary interpolation), you should set Ntable =
|
||||
Nfile, and use the “RSQ” parameter. This is because the
|
||||
internal table abscissa is always RSQ (separation distance squared),
|
||||
for efficient lookup.</p>
|
||||
uses these to interpolate the density-dependent energy and force at
|
||||
Ntable different points. The resulting tables of length Ntable are
|
||||
then used as described above, when computing the density-dependent
|
||||
energy and force. This means that if you want the interpolation
|
||||
tables of length Ntable to match exactly what is in the tabulated file
|
||||
(with effectively no preliminary interpolation), you should set Ntable
|
||||
= Nfile, and use the “RSQ” parameter. This is because the internal
|
||||
table abscissa is always RSQ (separation distance squared), for
|
||||
efficient lookup.</p>
|
||||
<p>All other parameters are optional. If “R” or “RSQ” does
|
||||
not appear, then the distances in each line of the table are used
|
||||
as-is to perform spline interpolation. In this case, the table values
|
||||
@ -270,8 +277,8 @@ commands do need to be specified in the restart input script.</p>
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<blockquote>
|
||||
<div>none</div></blockquote>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands</h2>
|
||||
|
||||
@ -146,34 +146,41 @@
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description</h2>
|
||||
<p>Style <em>multi/lucy/rx</em> is used in reaction DPD simulations, where the coarse-grained
|
||||
(CG) particles are composed of <em>m</em> species whose reaction rate kinetics are determined
|
||||
from a set of <em>n</em> reaction rate equations through the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command.
|
||||
The species of one CG particle can interact with a species in a neighboring CG particle
|
||||
through a site-site interaction potential model. Style <em>multi/lucy/rx</em> computes the
|
||||
site-site density-dependent force following from the many-body form described in
|
||||
<a class="reference internal" href="#moore"><span class="std std-ref">(Moore)</span></a> and <a class="reference internal" href="#warren"><span class="std std-ref">(Warren)</span></a> as</p>
|
||||
<p>Style <em>multi/lucy/rx</em> is used in reaction DPD simulations, where the
|
||||
coarse-grained (CG) particles are composed of <em>m</em> species whose
|
||||
reaction rate kinetics are determined from a set of <em>n</em> reaction rate
|
||||
equations through the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command. The species of
|
||||
one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. Style
|
||||
<em>multi/lucy/rx</em> computes the site-site density-dependent force
|
||||
following from the many-body form described in <a class="reference internal" href="#moore"><span class="std std-ref">(Moore)</span></a> and
|
||||
<a class="reference internal" href="#warren"><span class="std std-ref">(Warren)</span></a> as</p>
|
||||
<img alt="_images/pair_multi_lucy.jpg" class="align-center" src="_images/pair_multi_lucy.jpg" />
|
||||
<p>which consists of a density-dependent function, A(rho), and a radial-dependent weight
|
||||
function, omegaDD(rij). The radial-dependent weight function, omegaDD(rij), is taken
|
||||
as the Lucy function:</p>
|
||||
<p>which consists of a density-dependent function, A(rho), and a
|
||||
radial-dependent weight function, omegaDD(rij). The radial-dependent
|
||||
weight function, omegaDD(rij), is taken as the Lucy function:</p>
|
||||
<img alt="_images/pair_multi_lucy2.jpg" class="align-center" src="_images/pair_multi_lucy2.jpg" />
|
||||
<p>The density-dependent energy for a given particle is given by:</p>
|
||||
<img alt="_images/pair_multi_lucy_energy.jpg" class="align-center" src="_images/pair_multi_lucy_energy.jpg" />
|
||||
<p>See the supporting information of <a class="reference internal" href="#brennan"><span class="std std-ref">(Brennan)</span></a> or the publication by <a class="reference internal" href="#moore"><span class="std std-ref">(Moore)</span></a>
|
||||
for more details on the functional form.</p>
|
||||
<p>An interpolation table is used to evaluate the density-dependent energy (Integral(A(rho)drho) and force (A(rho)).
|
||||
Note that the pre-factor to the energy is computed after the interpolation, thus the Integral(A(rho)drho will
|
||||
have units of energy / length^4.</p>
|
||||
<p>The interpolation table is created as a pre-computation by fitting cubic splines to
|
||||
the file values and interpolating the density-dependent energy and force at each of <em>N</em> densities.
|
||||
During a simulation, the tables are used to interpolate the density-dependent energy and force as
|
||||
needed for each pair of particles separated by a distance <em>R</em>. The interpolation is done in
|
||||
one of 2 styles: <em>lookup</em> and <em>linear</em>.</p>
|
||||
<p>For the <em>lookup</em> style, the density is used to find the nearest table entry, which is the
|
||||
density-dependent energy and force.</p>
|
||||
<p>For the <em>linear</em> style, the density is used to find the 2 surrounding table values from
|
||||
which the density-dependent energy and force are computed by linear interpolation.</p>
|
||||
<p>See the supporting information of <a class="reference internal" href="#brennan"><span class="std std-ref">(Brennan)</span></a> or the
|
||||
publication by <a class="reference internal" href="#moore"><span class="std std-ref">(Moore)</span></a> for more details on the functional
|
||||
form.</p>
|
||||
<p>An interpolation table is used to evaluate the density-dependent
|
||||
energy (Integral(A(rho)drho) and force (A(rho)). Note that the
|
||||
pre-factor to the energy is computed after the interpolation, thus the
|
||||
Integral(A(rho)drho will have units of energy / length^4.</p>
|
||||
<p>The interpolation table is created as a pre-computation by fitting
|
||||
cubic splines to the file values and interpolating the
|
||||
density-dependent energy and force at each of <em>N</em> densities. During a
|
||||
simulation, the tables are used to interpolate the density-dependent
|
||||
energy and force as needed for each pair of particles separated by a
|
||||
distance <em>R</em>. The interpolation is done in one of 2 styles: <em>lookup</em>
|
||||
and <em>linear</em>.</p>
|
||||
<p>For the <em>lookup</em> style, the density is used to find the nearest table
|
||||
entry, which is the density-dependent energy and force.</p>
|
||||
<p>For the <em>linear</em> style, the density is used to find the 2 surrounding
|
||||
table values from which the density-dependent energy and force are
|
||||
computed by linear interpolation.</p>
|
||||
<p>The following coefficients must be defined for each pair of atoms
|
||||
types via the <a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a> command as in the examples
|
||||
above.</p>
|
||||
@ -184,22 +191,23 @@ above.</p>
|
||||
<li>species2</li>
|
||||
<li>cutoff (distance units)</li>
|
||||
</ul>
|
||||
<p>The filename specifies a file containing the tabulated density-dependent
|
||||
energy and force. The keyword specifies a section of the file.
|
||||
The cutoff is an optional coefficient. If not specified, the outer cutoff in the
|
||||
table itself (see below) will be used to build an interpolation table
|
||||
that extend to the largest tabulated distance. If specified, only
|
||||
file values up to the cutoff are used to create the interpolation
|
||||
table. The format of this file is described below.</p>
|
||||
<p>The species tags define the site-site interaction potential between two
|
||||
species contained within two different particles.
|
||||
The species tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command
|
||||
or they must correspond to the tag “1fluid”, signifying interaction
|
||||
with a product species mixture determined through a one-fluid approximation.
|
||||
<p>The filename specifies a file containing the tabulated
|
||||
density-dependent energy and force. The keyword specifies a section
|
||||
of the file. The cutoff is an optional coefficient. If not
|
||||
specified, the outer cutoff in the table itself (see below) will be
|
||||
used to build an interpolation table that extend to the largest
|
||||
tabulated distance. If specified, only file values up to the cutoff
|
||||
are used to create the interpolation table. The format of this file
|
||||
is described below.</p>
|
||||
<p>The species tags define the site-site interaction potential between
|
||||
two species contained within two different particles. The species
|
||||
tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command or they
|
||||
must correspond to the tag “1fluid”, signifying interaction with a
|
||||
product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential
|
||||
is stored before and after the reaction kinetics solver is applied, where
|
||||
concentrations of the two species. The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where
|
||||
the difference is defined to be the internal chemical energy (uChem).</p>
|
||||
<hr class="docutils" />
|
||||
<p>The format of a tabulated file is a series of one or more sections,
|
||||
@ -226,46 +234,47 @@ for the table. Each parameter is a keyword followed by one or more
|
||||
numeric values.</p>
|
||||
<p>The parameter “N” is required and its value is the number of table
|
||||
entries that follow. Note that this may be different than the <em>N</em>
|
||||
specified in the <a class="reference internal" href="#"><span class="doc">pair_style multi/lucy/rx</span></a> command. Let
|
||||
Ntable = <em>N</em> in the pair_style command, and Nfile = “N” in the
|
||||
tabulated file. What LAMMPS does is a preliminary interpolation by
|
||||
creating splines using the Nfile tabulated values as nodal points. It
|
||||
uses these to interpolate the density-dependent energy and force at Ntable different
|
||||
points. The resulting tables of length Ntable are then used as
|
||||
described above, when computing the density-dependent energy and force.
|
||||
This means that if you want the interpolation tables of
|
||||
length Ntable to match exactly what is in the tabulated file (with
|
||||
effectively no preliminary interpolation), you should set Ntable =
|
||||
Nfile, and use the “RSQ” parameter. This is because the
|
||||
internal table abscissa is always RSQ (separation distance squared),
|
||||
for efficient lookup.</p>
|
||||
<p>All other parameters are optional. If “R” or “RSQ” does
|
||||
not appear, then the distances in each line of the table are used
|
||||
as-is to perform spline interpolation. In this case, the table values
|
||||
can be spaced in <em>density</em> uniformly or however you wish to position table
|
||||
values in regions of large gradients.</p>
|
||||
specified in the <a class="reference internal" href="#"><span class="doc">pair_style multi/lucy/rx</span></a>
|
||||
command. Let Ntable = <em>N</em> in the pair_style command, and Nfile = “N”
|
||||
in the tabulated file. What LAMMPS does is a preliminary
|
||||
interpolation by creating splines using the Nfile tabulated values as
|
||||
nodal points. It uses these to interpolate the density-dependent
|
||||
energy and force at Ntable different points. The resulting tables of
|
||||
length Ntable are then used as described above, when computing the
|
||||
density-dependent energy and force. This means that if you want the
|
||||
interpolation tables of length Ntable to match exactly what is in the
|
||||
tabulated file (with effectively no preliminary interpolation), you
|
||||
should set Ntable = Nfile, and use the “RSQ” parameter. This is
|
||||
because the internal table abscissa is always RSQ (separation distance
|
||||
squared), for efficient lookup.</p>
|
||||
<p>All other parameters are optional. If “R” or “RSQ” does not appear,
|
||||
then the distances in each line of the table are used as-is to perform
|
||||
spline interpolation. In this case, the table values can be spaced in
|
||||
<em>density</em> uniformly or however you wish to position table values in
|
||||
regions of large gradients.</p>
|
||||
<p>If used, the parameters “R” or “RSQ” are followed by 2 values <em>rlo</em>
|
||||
and <em>rhi</em>. If specified, the density associated with each density-dependent
|
||||
energy and force value is computed from these 2 values (at high accuracy), rather
|
||||
than using the (low-accuracy) value listed in each line of the table.
|
||||
The density values in the table file are ignored in this case.
|
||||
For “R”, distances uniformly spaced between <em>rlo</em> and <em>rhi</em> are
|
||||
computed; for “RSQ”, squared distances uniformly spaced between
|
||||
<em>rlo*rlo</em> and <em>rhi*rhi</em> are computed.</p>
|
||||
and <em>rhi</em>. If specified, the density associated with each
|
||||
density-dependent energy and force value is computed from these 2
|
||||
values (at high accuracy), rather than using the (low-accuracy) value
|
||||
listed in each line of the table. The density values in the table
|
||||
file are ignored in this case. For “R”, distances uniformly spaced
|
||||
between <em>rlo</em> and <em>rhi</em> are computed; for “RSQ”, squared distances
|
||||
uniformly spaced between <em>rlo*rlo</em> and <em>rhi*rhi</em> are computed.</p>
|
||||
<div class="admonition note">
|
||||
<p class="first admonition-title">Note</p>
|
||||
<p class="last">If you use “R” or “RSQ”, the tabulated distance values in the
|
||||
file are effectively ignored, and replaced by new values as described
|
||||
in the previous paragraph. If the density value in the table is not
|
||||
very close to the new value (i.e. round-off difference), then you will
|
||||
be assigning density-dependent energy and force values to a different density,
|
||||
which is probably not what you want. LAMMPS will warn if this is occurring.</p>
|
||||
be assigning density-dependent energy and force values to a different
|
||||
density, which is probably not what you want. LAMMPS will warn if
|
||||
this is occurring.</p>
|
||||
</div>
|
||||
<p>Following a blank line, the next N lines list the tabulated values.
|
||||
On each line, the 1st value is the index from 1 to N, the 2nd value is
|
||||
r (in density units), the 3rd value is the density-dependent function value
|
||||
(in energy units / length^4), and the 4th is the force (in force units). The
|
||||
density values must increase from one line to the next.</p>
|
||||
r (in density units), the 3rd value is the density-dependent function
|
||||
value (in energy units / length^4), and the 4th is the force (in force
|
||||
units). The density values must increase from one line to the next.</p>
|
||||
<p>Note that one file can contain many sections, each with a tabulated
|
||||
potential. LAMMPS reads the file section by section until it finds
|
||||
one that matches the specified keyword.</p>
|
||||
@ -288,8 +297,8 @@ commands do need to be specified in the restart input script.</p>
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<blockquote>
|
||||
<div>none</div></blockquote>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands</h2>
|
||||
|
||||
@ -147,14 +147,16 @@ N = use 2^N values in <em>bitmap</em> tables</p>
|
||||
</div>
|
||||
<div class="section" id="description">
|
||||
<h2>Description</h2>
|
||||
<p>Style <em>table/rx</em> is used in reaction DPD simulations,where the coarse-grained (CG)
|
||||
particles are composed of <em>m</em> species whose reaction rate kinetics are determined
|
||||
from a set of <em>n</em> reaction rate equations through the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command.
|
||||
The species of one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. Style <em>table/rx</em> creates
|
||||
interpolation tables of length <em>N</em> from pair potential and force values listed in a
|
||||
file(s) as a function of distance. The files are read by the
|
||||
<a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a> command.</p>
|
||||
<p>Style <em>table/rx</em> is used in reaction DPD simulations,where the
|
||||
coarse-grained (CG) particles are composed of <em>m</em> species whose
|
||||
reaction rate kinetics are determined from a set of <em>n</em> reaction rate
|
||||
equations through the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command. The species of
|
||||
one CG particle can interact with a species in a neighboring CG
|
||||
particle through a site-site interaction potential model. Style
|
||||
<em>table/rx</em> creates interpolation tables of length <em>N</em> from pair
|
||||
potential and force values listed in a file(s) as a function of
|
||||
distance. The files are read by the <a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a>
|
||||
command.</p>
|
||||
<p>The interpolation tables are created by fitting cubic splines to the
|
||||
file values and interpolating energy and force values at each of <em>N</em>
|
||||
distances. During a simulation, these tables are used to interpolate
|
||||
@ -170,7 +172,7 @@ stored at each of the <em>N</em> values in the table. The pair distance is
|
||||
used to find the appropriate set of coefficients which are used to
|
||||
evaluate a cubic polynomial which computes the energy or force.</p>
|
||||
<p>For the <em>bitmap</em> style, the N means to create interpolation tables
|
||||
that are 2^N in length. <The pair distance is used to index into the
|
||||
that are 2^N in length. The pair distance is used to index into the
|
||||
table via a fast bit-mapping technique <a class="reference internal" href="#wolff"><span class="std std-ref">(Wolff)</span></a> and a linear
|
||||
interpolation is performed between adjacent table values.</p>
|
||||
<p>The following coefficients must be defined for each pair of atoms
|
||||
@ -190,15 +192,15 @@ table itself (see below) will be used to build an interpolation table
|
||||
that extend to the largest tabulated distance. If specified, only
|
||||
file values up to the cutoff are used to create the interpolation
|
||||
table. The format of this file is described below.</p>
|
||||
<p>The species tags define the site-site interaction potential between two
|
||||
species contained within two different particles.
|
||||
The species tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command
|
||||
or they must correspond to the tag “1fluid”, signifying interaction
|
||||
with a product species mixture determined through a one-fluid approximation.
|
||||
<p>The species tags define the site-site interaction potential between
|
||||
two species contained within two different particles. The species
|
||||
tags must either correspond to the species defined in the reaction
|
||||
kinetics files specified with the <a class="reference internal" href="fix_rx.html"><span class="doc">fix rx</span></a> command or they
|
||||
must correspond to the tag “1fluid”, signifying interaction with a
|
||||
product species mixture determined through a one-fluid approximation.
|
||||
The interaction potential is weighted by the geometric average of the
|
||||
concentrations of the two species. The coarse-grained potential
|
||||
is stored before and after the reaction kinetics solver is applied, where
|
||||
concentrations of the two species. The coarse-grained potential is
|
||||
stored before and after the reaction kinetics solver is applied, where
|
||||
the difference is defined to be the internal chemical energy (uChem).</p>
|
||||
<hr class="docutils" />
|
||||
<p>Here are some guidelines for using the pair_style table/rx command to
|
||||
@ -312,8 +314,8 @@ commands do need to be specified in the restart input script.</p>
|
||||
<hr class="docutils" />
|
||||
<div class="section" id="restrictions">
|
||||
<h2>Restrictions</h2>
|
||||
<blockquote>
|
||||
<div>none</div></blockquote>
|
||||
<p>This command is part of the USER-DPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||
</div>
|
||||
<div class="section" id="related-commands">
|
||||
<h2>Related commands</h2>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user