New package DPD-BASIC with pair styles dpd, dpd/tstat, dpd/ext, dpd/ext/tstat
This commit is contained in:
@ -138,15 +138,84 @@ install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|||||||
|
|
||||||
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
|
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
|
||||||
|
|
||||||
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE
|
set(STANDARD_PACKAGES
|
||||||
GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC ML-IAP MOLECULE PERI POEMS
|
ADIOS
|
||||||
PLUGIN QEQ REPLICA RIGID SHOCK SPIN ML-SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
|
ASPHERE
|
||||||
ADIOS ATC AWPMD BOCS CG-DNA DPD-MESO CG-SDK
|
ATC
|
||||||
COLVARS DIELECTRIC DIFFRACTION DPD-REACT DRUDE EFF FEP
|
AWPMD
|
||||||
H5MD ML-HDNNP LATBOLTZ MANIFOLD MDI MEAM MESONT MGPT
|
BOCS
|
||||||
USER-MISC MOFFF MOLFILE NETCDF PHONON PLUMED PTM QTB
|
BODY
|
||||||
ML-RANN REACTION REAXFF SCAFACOS DPD-SMOOTH MACHDYN SMTBQ SPH
|
BROWNIAN
|
||||||
TALLY UEF VTK ML-QUIP QMMM YAFF ML-PACE BROWNIAN)
|
CG-DNA
|
||||||
|
CG-SDK
|
||||||
|
CLASS2
|
||||||
|
COLLOID
|
||||||
|
COLVARS
|
||||||
|
COMPRESS
|
||||||
|
DIELECTRIC
|
||||||
|
DIFFRACTION
|
||||||
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
|
DPD-MESO
|
||||||
|
DPD-REACT
|
||||||
|
DPD-SMOOTH
|
||||||
|
DRUDE
|
||||||
|
EFF
|
||||||
|
FEP
|
||||||
|
GRANULAR
|
||||||
|
H5MD
|
||||||
|
KIM
|
||||||
|
KSPACE
|
||||||
|
LATBOLTZ
|
||||||
|
LATTE
|
||||||
|
MACHDYN
|
||||||
|
MANIFOLD
|
||||||
|
MANYBODY
|
||||||
|
MC
|
||||||
|
MDI
|
||||||
|
MEAM
|
||||||
|
MESONT
|
||||||
|
MESSAGE
|
||||||
|
MGPT
|
||||||
|
MISC
|
||||||
|
ML-HDNNP
|
||||||
|
ML-IAP
|
||||||
|
ML-PACE
|
||||||
|
ML-QUIP
|
||||||
|
ML-RANN
|
||||||
|
ML-SNAP
|
||||||
|
MOFFF
|
||||||
|
MOLECULE
|
||||||
|
MOLFILE
|
||||||
|
MPIIO
|
||||||
|
MSCG
|
||||||
|
NETCDF
|
||||||
|
PERI
|
||||||
|
PHONON
|
||||||
|
PLUGIN
|
||||||
|
PLUMED
|
||||||
|
POEMS
|
||||||
|
PTM
|
||||||
|
PYTHON
|
||||||
|
QEQ
|
||||||
|
QMMM
|
||||||
|
QTB
|
||||||
|
REACTION
|
||||||
|
REAXFF
|
||||||
|
REPLICA
|
||||||
|
RIGID
|
||||||
|
SCAFACOS
|
||||||
|
SHOCK
|
||||||
|
SMTBQ
|
||||||
|
SPH
|
||||||
|
SPIN
|
||||||
|
SRD
|
||||||
|
TALLY
|
||||||
|
UEF
|
||||||
|
USER-MISC
|
||||||
|
VORONOI
|
||||||
|
VTK
|
||||||
|
YAFF)
|
||||||
|
|
||||||
set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT INTEL OPENMP)
|
set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT INTEL OPENMP)
|
||||||
|
|
||||||
|
|||||||
@ -19,6 +19,7 @@ set(ALL_PACKAGES
|
|||||||
DIELECTRIC
|
DIELECTRIC
|
||||||
DIFFRACTION
|
DIFFRACTION
|
||||||
DIPOLE
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
DPD-MESO
|
DPD-MESO
|
||||||
DPD-REACT
|
DPD-REACT
|
||||||
DPD-SMOOTH
|
DPD-SMOOTH
|
||||||
|
|||||||
@ -21,6 +21,7 @@ set(ALL_PACKAGES
|
|||||||
DIELECTRIC
|
DIELECTRIC
|
||||||
DIFFRACTION
|
DIFFRACTION
|
||||||
DIPOLE
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
DPD-MESO
|
DPD-MESO
|
||||||
DPD-REACT
|
DPD-REACT
|
||||||
DPD-SMOOTH
|
DPD-SMOOTH
|
||||||
|
|||||||
@ -15,6 +15,7 @@ set(WIN_PACKAGES
|
|||||||
DIELECTRIC
|
DIELECTRIC
|
||||||
DIFFRACTION
|
DIFFRACTION
|
||||||
DIPOLE
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
DPD-MESO
|
DPD-MESO
|
||||||
DPD-REACT
|
DPD-REACT
|
||||||
DPD-SMOOTH
|
DPD-SMOOTH
|
||||||
|
|||||||
@ -17,6 +17,7 @@ set(ALL_PACKAGES
|
|||||||
DIELECTRIC
|
DIELECTRIC
|
||||||
DIFFRACTION
|
DIFFRACTION
|
||||||
DIPOLE
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
DPD-MESO
|
DPD-MESO
|
||||||
DPD-REACT
|
DPD-REACT
|
||||||
DPD-SMOOTH
|
DPD-SMOOTH
|
||||||
|
|||||||
@ -43,6 +43,7 @@ page gives those details.
|
|||||||
* :ref:`DIELECTRIC <PKG-DIELECTRIC>`
|
* :ref:`DIELECTRIC <PKG-DIELECTRIC>`
|
||||||
* :ref:`DIFFRACTION <PKG-DIFFRACTION>`
|
* :ref:`DIFFRACTION <PKG-DIFFRACTION>`
|
||||||
* :ref:`DIPOLE <PKG-DIPOLE>`
|
* :ref:`DIPOLE <PKG-DIPOLE>`
|
||||||
|
* :ref:`DPD-BASIC <PKG-DPD-BASIC>`
|
||||||
* :ref:`DPD-MESO <PKG-DPD-MESO>`
|
* :ref:`DPD-MESO <PKG-DPD-MESO>`
|
||||||
* :ref:`DPD-REACT <PKG-DPD-REACT>`
|
* :ref:`DPD-REACT <PKG-DPD-REACT>`
|
||||||
* :ref:`DPD-SMOOTH <PKG-DPD-SMOOTH>`
|
* :ref:`DPD-SMOOTH <PKG-DPD-SMOOTH>`
|
||||||
@ -560,6 +561,29 @@ short-range or long-range interactions.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
.. _PKG-DPD-BASIC:
|
||||||
|
|
||||||
|
DPD-BASIC package
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
**Contents:**
|
||||||
|
|
||||||
|
Pair styles for the basic dissipative particle dynamics (DPD) method
|
||||||
|
and DPD thermostatting.
|
||||||
|
|
||||||
|
**Author:** Kurt Smith (U Pittsburgh), Martin Svoboda, Martin Lisal (ICPF and UJEP)
|
||||||
|
|
||||||
|
**Supporting info:**
|
||||||
|
|
||||||
|
* src/DPD-BASIC: filenames -> commands
|
||||||
|
* :doc:`pair_style dpd <pair_dpd>`
|
||||||
|
* :doc:`pair_style dpd/tstat <pair_dpd>`
|
||||||
|
* :doc:`pair_style dpd/ext <pair_dpd_ext>`
|
||||||
|
* :doc:`pair_style dpd/ext/tstat <pair_dpd_ext>`
|
||||||
|
* examples/PACKAGES/dpd-basic
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
.. _PKG-DPD-MESO:
|
.. _PKG-DPD-MESO:
|
||||||
|
|
||||||
DPD-MESO package
|
DPD-MESO package
|
||||||
|
|||||||
@ -113,6 +113,11 @@ whether an extra library is needed to build and use the package:
|
|||||||
- :doc:`pair_style lj/.../dipole <pair_dipole>`
|
- :doc:`pair_style lj/.../dipole <pair_dipole>`
|
||||||
- dipole
|
- dipole
|
||||||
- no
|
- no
|
||||||
|
* - :ref:`DPD-BASIC <PKG-DPD-BASIC>`
|
||||||
|
- basic DPD models
|
||||||
|
- :doc:`pair_styles dpd dpd/tstat <pair_dpd>` :doc:`dpd/ext dpd/ext/tstat <pair_dpd_ext>`
|
||||||
|
- PACKAGES/dpd-basic
|
||||||
|
- no
|
||||||
* - :ref:`DPD-MESO <PKG-DPD-MESO>`
|
* - :ref:`DPD-MESO <PKG-DPD-MESO>`
|
||||||
- mesoscale DPD models
|
- mesoscale DPD models
|
||||||
- :doc:`pair_style edpd <pair_mesodpd>`
|
- :doc:`pair_style edpd <pair_mesodpd>`
|
||||||
|
|||||||
@ -154,14 +154,14 @@ These pair styles do not support the :doc:`pair_modify <pair_modify>`
|
|||||||
tail option for adding long-range tail corrections to energy and
|
tail option for adding long-range tail corrections to energy and
|
||||||
pressure.
|
pressure.
|
||||||
|
|
||||||
These pair styles writes their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need
|
These pair styles write their information to :doc:`binary restart files
|
||||||
to be specified in an input script that reads a restart file. Note
|
<restart>`, so pair_style and pair_coeff commands do not need to be
|
||||||
that the user-specified random number seed is stored in the restart
|
specified in an input script that reads a restart file. Note that the
|
||||||
file, so when a simulation is restarted, each processor will
|
user-specified random number seed is stored in the restart file, so when
|
||||||
re-initialize its random number generator the same way it did
|
a simulation is restarted, each processor will re-initialize its random
|
||||||
initially. This means the random forces will be random, but will not
|
number generator the same way it did initially. This means the random
|
||||||
be the same as they would have been if the original simulation had
|
forces will be random, but will not be the same as they would have been
|
||||||
continued past the restart time.
|
if the original simulation had continued past the restart time.
|
||||||
|
|
||||||
These pair styles can only be used via the *pair* keyword of the
|
These pair styles can only be used via the *pair* keyword of the
|
||||||
:doc:`run_style respa <run_style>` command. They do not support the
|
:doc:`run_style respa <run_style>` command. They do not support the
|
||||||
@ -177,22 +177,26 @@ this.
|
|||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
|
These styles are part of the DPD-BASIC package. They are only enabled if
|
||||||
|
LAMMPS was built with that package. See the :doc:`Build package
|
||||||
|
<Build_package>` doc page for more info.
|
||||||
|
|
||||||
The default frequency for rebuilding neighbor lists is every 10 steps
|
The default frequency for rebuilding neighbor lists is every 10 steps
|
||||||
(see the :doc:`neigh_modify <neigh_modify>` command). This may be too
|
(see the :doc:`neigh_modify <neigh_modify>` command). This may be too
|
||||||
infrequent for style *dpd* simulations since particles move rapidly
|
infrequent for style *dpd* simulations since particles move rapidly and
|
||||||
and can overlap by large amounts. If this setting yields a non-zero
|
can overlap by large amounts. If this setting yields a non-zero number
|
||||||
number of "dangerous" reneighborings (printed at the end of a
|
of "dangerous" reneighborings (printed at the end of a simulation), you
|
||||||
simulation), you should experiment with forcing reneighboring more
|
should experiment with forcing reneighboring more often and see if
|
||||||
often and see if system energies/trajectories change.
|
system energies/trajectories change.
|
||||||
|
|
||||||
These pair styles requires you to use the :doc:`comm_modify vel yes <comm_modify>` command so that velocities are stored by ghost
|
These pair styles requires you to use the :doc:`comm_modify vel yes
|
||||||
atoms.
|
<comm_modify>` command so that velocities are stored by ghost atoms.
|
||||||
|
|
||||||
These pair styles will not restart exactly when using the
|
These pair styles will not restart exactly when using the
|
||||||
:doc:`read_restart <read_restart>` command, though they should provide
|
:doc:`read_restart <read_restart>` command, though they should provide
|
||||||
statistically similar results. This is because the forces they
|
statistically similar results. This is because the forces they compute
|
||||||
compute depend on atom velocities. See the
|
depend on atom velocities. See the :doc:`read_restart <read_restart>`
|
||||||
:doc:`read_restart <read_restart>` command for more details.
|
command for more details.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|||||||
@ -38,12 +38,19 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
The style *dpd/ext* computes an extended force field for dissipative particle dynamics (DPD) following the exposition in :ref:`(Groot) <Groot>`, :ref:`(Junghans) <Junghans>`.
|
The style *dpd/ext* computes an extended force field for dissipative
|
||||||
|
particle dynamics (DPD) following the exposition in :ref:`(Groot)
|
||||||
|
<Groot>`, :ref:`(Junghans) <Junghans>`.
|
||||||
|
|
||||||
Style *dpd/ext/tstat* invokes an extended DPD thermostat on pairwise interactions, equivalent to the non-conservative portion of the extended DPD force field. To use *dpd/ext/tstat* as a thermostat for another pair style, use the :doc:`pair_style hybrid/overlay <pair_hybrid>` command to compute both the desired pair interaction and the thermostat for each pair of particles.
|
Style *dpd/ext/tstat* invokes an extended DPD thermostat on pairwise
|
||||||
|
interactions, equivalent to the non-conservative portion of the extended
|
||||||
|
DPD force field. To use *dpd/ext/tstat* as a thermostat for another pair
|
||||||
|
style, use the :doc:`pair_style hybrid/overlay <pair_hybrid>` command to
|
||||||
|
compute both the desired pair interaction and the thermostat for each
|
||||||
|
pair of particles.
|
||||||
|
|
||||||
For the style *dpd/ext*\ , the force on atom I due to atom J is given as a sum
|
For the style *dpd/ext*\ , the force on atom I due to atom J is given as
|
||||||
of 3 terms
|
a sum of 3 terms
|
||||||
|
|
||||||
.. math::
|
.. math::
|
||||||
|
|
||||||
@ -53,17 +60,51 @@ of 3 terms
|
|||||||
f^R = & \sigma_{\parallel} w_{\parallel}(r) \frac{\alpha}{\sqrt{\Delta t}} \hat{\mathbf{r}}_{ij} + \sigma_{\perp} w_{\perp} (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^{\rm T} ) \frac{\mathbf{\xi}_{ij}}{\sqrt{\Delta t}}\\
|
f^R = & \sigma_{\parallel} w_{\parallel}(r) \frac{\alpha}{\sqrt{\Delta t}} \hat{\mathbf{r}}_{ij} + \sigma_{\perp} w_{\perp} (r) ( \mathbf{I} - \hat{\mathbf{r}}_{ij} \hat{\mathbf{r}}_{ij}^{\rm T} ) \frac{\mathbf{\xi}_{ij}}{\sqrt{\Delta t}}\\
|
||||||
w(r) = & 1 - r/r_c \\
|
w(r) = & 1 - r/r_c \\
|
||||||
|
|
||||||
where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D` is a dissipative force, and :math:`\mathbf{f}^R` is a random force. :math:`A_{ij}` is the maximum repulsion between the two atoms, :math:`\hat{\mathbf{r}}_{ij}` is a unit vector in the direction :math:`\mathbf{r}_i - \mathbf{r}_j`, :math:`\mathbf{v}_{ij} = \mathbf{v}_i - \mathbf{v}_j` is the vector difference in velocities of the two atoms, :math:`\alpha` and :math:`\mathbf{\xi}_{ij}` are Gaussian random numbers with zero mean and unit variance, :math:`\Delta t` is the timestep, :math:`w (r) = 1 - r / r_c` is a weight function for the conservative interactions that varies between 0 and 1, :math:`r_c` is the corresponding cutoff, :math:`w_{\alpha} ( r ) = ( 1 - r / \bar{r}_c )^{s_{\alpha}}`, :math:`\alpha \equiv ( \parallel, \perp )`, are weight functions with coefficients :math:`s_\alpha` that vary between 0 and 1, :math:`\bar{r}_c` is the corresponding cutoff, :math:`\mathbf{I}` is the unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`, where :math:`k` is the Boltzmann constant and :math:`T` is the temperature in the pair\_style command.
|
where :math:`\mathbf{f}^C` is a conservative force, :math:`\mathbf{f}^D`
|
||||||
|
is a dissipative force, and :math:`\mathbf{f}^R` is a random
|
||||||
|
force. :math:`A_{ij}` is the maximum repulsion between the two atoms,
|
||||||
|
:math:`\hat{\mathbf{r}}_{ij}` is a unit vector in the direction
|
||||||
|
:math:`\mathbf{r}_i - \mathbf{r}_j`, :math:`\mathbf{v}_{ij} =
|
||||||
|
\mathbf{v}_i - \mathbf{v}_j` is the vector difference in velocities of
|
||||||
|
the two atoms, :math:`\alpha` and :math:`\mathbf{\xi}_{ij}` are Gaussian
|
||||||
|
random numbers with zero mean and unit variance, :math:`\Delta t` is the
|
||||||
|
timestep, :math:`w (r) = 1 - r / r_c` is a weight function for the
|
||||||
|
conservative interactions that varies between 0 and 1, :math:`r_c` is
|
||||||
|
the corresponding cutoff, :math:`w_{\alpha} ( r ) = ( 1 - r / \bar{r}_c
|
||||||
|
)^{s_{\alpha}}`, :math:`\alpha \equiv ( \parallel, \perp )`, are weight
|
||||||
|
functions with coefficients :math:`s_\alpha` that vary between 0 and 1,
|
||||||
|
:math:`\bar{r}_c` is the corresponding cutoff, :math:`\mathbf{I}` is the
|
||||||
|
unit matrix, :math:`\sigma_{\alpha} = \sqrt{2 k T \gamma_{\alpha}}`,
|
||||||
|
where :math:`k` is the Boltzmann constant and :math:`T` is the
|
||||||
|
temperature in the pair\_style command.
|
||||||
|
|
||||||
For the style *dpd/ext/tstat*\ , the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop.
|
For the style *dpd/ext/tstat*\ , the force on atom I due to atom J is
|
||||||
|
the same as the above equation, except that the conservative
|
||||||
|
:math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set
|
||||||
|
each timestep to a ramped value from Tstart to Tstop.
|
||||||
|
|
||||||
For the style *dpd/ext*\ , the pairwise energy associated with style *dpd/ext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. There is no pairwise energy for style *dpd/ext/tstat*, but the last two terms of the formula contribute the virial.
|
For the style *dpd/ext*\ , the pairwise energy associated with style
|
||||||
|
*dpd/ext* is only due to the conservative force term
|
||||||
|
:math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance
|
||||||
|
:math:`r_c`. The pairwise virial is calculated using all three
|
||||||
|
terms. There is no pairwise energy for style *dpd/ext/tstat*, but the
|
||||||
|
last two terms of the formula contribute the virial.
|
||||||
|
|
||||||
For the style *dpd/ext/tstat*, the force on atom I due to atom J is the same as the above equation, except that the conservative :math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set each timestep to a ramped value from Tstart to Tstop.
|
For the style *dpd/ext/tstat*, the force on atom I due to atom J is the
|
||||||
|
same as the above equation, except that the conservative
|
||||||
|
:math:`\mathbf{f}^C` term is dropped. Also, during the run, T is set
|
||||||
|
each timestep to a ramped value from Tstart to Tstop.
|
||||||
|
|
||||||
For the style *dpd/ext*\ , the pairwise energy associated with style *dpd/ext* is only due to the conservative force term :math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance :math:`r_c`. The pairwise virial is calculated using all three terms. There is no pairwise energy for style *dpd/ext/tstat*, but the last two terms of the formula contribute the virial.
|
For the style *dpd/ext*\ , the pairwise energy associated with style
|
||||||
|
*dpd/ext* is only due to the conservative force term
|
||||||
|
:math:`\mathbf{f}^C`, and is shifted to be zero at the cutoff distance
|
||||||
|
:math:`r_c`. The pairwise virial is calculated using all three
|
||||||
|
terms. There is no pairwise energy for style *dpd/ext/tstat*, but the
|
||||||
|
last two terms of the formula contribute the virial.
|
||||||
|
|
||||||
For the style *dpd/ext*, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command as in the examples above:
|
For the style *dpd/ext*, the following coefficients must be defined for
|
||||||
|
each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command
|
||||||
|
as in the examples above:
|
||||||
|
|
||||||
* A (force units)
|
* A (force units)
|
||||||
* :math:`\gamma_{\perp}` (force/velocity units)
|
* :math:`\gamma_{\perp}` (force/velocity units)
|
||||||
@ -72,35 +113,55 @@ For the style *dpd/ext*, the following coefficients must be defined for each pai
|
|||||||
* :math:`s_{\parallel}` (unitless)
|
* :math:`s_{\parallel}` (unitless)
|
||||||
* :math:`r_c` (distance units)
|
* :math:`r_c` (distance units)
|
||||||
|
|
||||||
The last coefficient is optional. If not specified, the global DPD cutoff is used. Note that :math:`\sigma`'s are set equal to :math:`\sqrt{2 k T \gamma}`, where :math:`T` is the temperature set by the :doc:`pair_style <pair_style>` command so it does not need to be specified.
|
The last coefficient is optional. If not specified, the global DPD
|
||||||
|
cutoff is used. Note that :math:`\sigma`'s are set equal to
|
||||||
|
:math:`\sqrt{2 k T \gamma}`, where :math:`T` is the temperature set by
|
||||||
|
the :doc:`pair_style <pair_style>` command so it does not need to be
|
||||||
|
specified.
|
||||||
|
|
||||||
|
For the style *dpd/ext/tstat*, the coefficients defined for each pair of
|
||||||
For the style *dpd/ext/tstat*, the coefficients defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command is the same, except that A is not included.
|
atoms types via the :doc:`pair_coeff <pair_coeff>` command is the same,
|
||||||
|
except that A is not included.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
If you are modeling DPD polymer chains, you may want to use the :doc:`pair_style srp <pair_srp>` command in conjunction with these pair styles. It is a soft segmental repulsive potential (SRP) that can prevent DPD polymer chains from crossing each other.
|
If you are modeling DPD polymer chains, you may want to use the
|
||||||
|
:doc:`pair_style srp <pair_srp>` command in conjunction with these pair
|
||||||
|
styles. It is a soft segmental repulsive potential (SRP) that can
|
||||||
|
prevent DPD polymer chains from crossing each other.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The virial calculation for pressure when using this pair style includes all the components of force listed above, including the random force.
|
The virial calculation for pressure when using this pair style includes
|
||||||
|
all the components of force listed above, including the random force.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|
||||||
**Mixing, shift, table, tail correction, restart, rRESPA info**\ :
|
**Mixing, shift, table, tail correction, restart, rRESPA info**\ :
|
||||||
|
|
||||||
The style *dpd/ext* does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly.
|
The style *dpd/ext* does not support mixing. Thus, coefficients for all
|
||||||
|
I,J pairs must be specified explicitly.
|
||||||
|
|
||||||
The pair styles do not support the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. Note that as discussed above, the energy due to the conservative :math:`\mathbf{f}^C` term is already shifted to be zero at the cutoff distance :math:`r_c`.
|
The pair styles do not support the :doc:`pair_modify <pair_modify>`
|
||||||
|
shift option for the energy of the pair interaction. Note that as
|
||||||
|
discussed above, the energy due to the conservative :math:`\mathbf{f}^C`
|
||||||
|
term is already shifted to be zero at the cutoff distance :math:`r_c`.
|
||||||
|
|
||||||
The :doc:`pair_modify <pair_modify>` table option is not relevant for the style *dpd/ext*.
|
The :doc:`pair_modify <pair_modify>` table option is not relevant for
|
||||||
|
the style *dpd/ext*.
|
||||||
|
|
||||||
The style *dpd/ext* does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure.
|
The style *dpd/ext* does not support the :doc:`pair_modify
|
||||||
|
<pair_modify>` tail option for adding long-range tail corrections to
|
||||||
|
energy and pressure.
|
||||||
|
|
||||||
The pair styles can only be used via the pair keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , and *outer*\ keywords.
|
The pair styles can only be used via the pair keyword of the
|
||||||
|
:doc:`run_style respa <run_style>` command. They do not support the
|
||||||
|
*inner*\ , *middle*\ , and *outer*\ keywords.
|
||||||
|
|
||||||
The style *dpd/ext/tstat* can ramp its target temperature over multiple runs, using the start and stop keywords of the :doc:`run <run>` command. See the :doc:`run <run>` command for details of how to do this.
|
The style *dpd/ext/tstat* can ramp its target temperature over multiple
|
||||||
|
runs, using the start and stop keywords of the :doc:`run <run>`
|
||||||
|
command. See the :doc:`run <run>` command for details of how to do this.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -108,31 +169,42 @@ The style *dpd/ext/tstat* can ramp its target temperature over multiple runs, us
|
|||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify <neigh_modify>` command). This may be too infrequent for style *dpd/ext* simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero number of \say{dangerous} reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more often and see if system energies/trajectories change.
|
These styles are part of the DPD-BASIC package. They are only enabled if
|
||||||
|
LAMMPS was built with that package. See the :doc:`Build package
|
||||||
|
<Build_package>` doc page for more info.
|
||||||
|
|
||||||
The pair styles require to use the :doc:`comm_modify vel yes <comm_modify>` command so that velocities are stored by ghost atoms.
|
The default frequency for rebuilding neighbor lists is every 10 steps
|
||||||
|
(see the :doc:`neigh_modify <neigh_modify>` command). This may be too
|
||||||
|
infrequent for style *dpd/ext* simulations since particles move rapidly
|
||||||
|
and can overlap by large amounts. If this setting yields a non-zero
|
||||||
|
number of \say{dangerous} reneighborings (printed at the end of a
|
||||||
|
simulation), you should experiment with forcing reneighboring more often
|
||||||
|
and see if system energies/trajectories change.
|
||||||
|
|
||||||
The pair styles will not restart exactly when using the :doc:`read_restart <read_restart>` command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the :doc:`read_restart <read_restart>` command for more details.
|
The pair styles require to use the :doc:`comm_modify vel yes
|
||||||
|
<comm_modify>` command so that velocities are stored by ghost atoms.
|
||||||
|
|
||||||
|
The pair styles will not restart exactly when using the
|
||||||
|
:doc:`read_restart <read_restart>` command, though they should provide
|
||||||
|
statistically similar results. This is because the forces they compute
|
||||||
|
depend on atom velocities. See the :doc:`read_restart <read_restart>`
|
||||||
|
command for more details.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|
||||||
:doc:`pair_style dpd <pair_dpd>`, :doc:`pair_coeff <pair_coeff>`, :doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`, :doc:`pair_style srp <pair_srp>`
|
:doc:`pair_style dpd <pair_dpd>`, :doc:`pair_coeff <pair_coeff>`,
|
||||||
|
:doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`,
|
||||||
|
:doc:`pair_style srp <pair_srp>`
|
||||||
|
|
||||||
**Default:** none
|
**Default:** none
|
||||||
|
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|
||||||
.. _Groot:
|
.. _Groot:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**(Groot)** Groot and Warren, J Chem Phys, 107, 4423-35 (1997).
|
**(Groot)** Groot and Warren, J Chem Phys, 107, 4423-35 (1997).
|
||||||
|
|
||||||
.. _Junghans:
|
.. _Junghans:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**(Junghans)** Junghans, Praprotnik and Kremer, Soft Matter 4, 156, 1119-1128 (2008).
|
**(Junghans)** Junghans, Praprotnik and Kremer, Soft Matter 4, 156, 1119-1128 (2008).
|
||||||
|
|||||||
4
src/.gitignore
vendored
4
src/.gitignore
vendored
@ -1429,6 +1429,10 @@
|
|||||||
/pair_thole.h
|
/pair_thole.h
|
||||||
/pair_buck_mdf.cpp
|
/pair_buck_mdf.cpp
|
||||||
/pair_buck_mdf.h
|
/pair_buck_mdf.h
|
||||||
|
/pair_dpd.cpp
|
||||||
|
/pair_dpd.h
|
||||||
|
/pair_dpd_tstat.cpp
|
||||||
|
/pair_dpd_tstat.h
|
||||||
/pair_dpd_ext.cpp
|
/pair_dpd_ext.cpp
|
||||||
/pair_dpd_ext.h
|
/pair_dpd_ext.h
|
||||||
/pair_dpd_ext_tstat.cpp
|
/pair_dpd_ext_tstat.cpp
|
||||||
|
|||||||
@ -63,6 +63,7 @@ PACKAGE = \
|
|||||||
coreshell \
|
coreshell \
|
||||||
diffraction \
|
diffraction \
|
||||||
dipole \
|
dipole \
|
||||||
|
dpd-basic \
|
||||||
dpd-meso \
|
dpd-meso \
|
||||||
dpd-react \
|
dpd-react \
|
||||||
dpd-smooth \
|
dpd-smooth \
|
||||||
@ -148,6 +149,7 @@ PACKMOST = \
|
|||||||
coreshell \
|
coreshell \
|
||||||
diffraction \
|
diffraction \
|
||||||
dipole \
|
dipole \
|
||||||
|
dpd-basic \
|
||||||
dpd-meso \
|
dpd-meso \
|
||||||
dpd-react \
|
dpd-react \
|
||||||
dpd-smooth \
|
dpd-smooth \
|
||||||
|
|||||||
@ -51,6 +51,11 @@ lmpinstalledpkgs.h
|
|||||||
lmpgitversion.h
|
lmpgitversion.h
|
||||||
mliap_model_python_couple.cpp
|
mliap_model_python_couple.cpp
|
||||||
mliap_model_python_couple.h
|
mliap_model_python_couple.h
|
||||||
|
# moved to DPD-BASIC package on 1 July 2021
|
||||||
|
pair_dpd.cpp
|
||||||
|
pair_dpd.h
|
||||||
|
pair_dpd_tstat.cpp
|
||||||
|
pair_dpd_tstat.h
|
||||||
# removed on 14 May 2021
|
# removed on 14 May 2021
|
||||||
nstencil_half_bin_2d_newton_ssa.cpp
|
nstencil_half_bin_2d_newton_ssa.cpp
|
||||||
nstencil_half_bin_2d_newton_ssa.h
|
nstencil_half_bin_2d_newton_ssa.h
|
||||||
|
|||||||
@ -89,8 +89,6 @@ pair_style coul/slater/long, Evangelos Voyiatzis, evoyiatzis at gmail.com, 26 Fe
|
|||||||
pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11
|
pair_style dipole/sf, Mario Orsi, orsimario at gmail.com, 8 Aug 11
|
||||||
pair_style e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19
|
pair_style e3b, Steven Strong (U Chicago), stevene.strong at gmail dot com, 16 Apr 19
|
||||||
pair_style drip, Mingjian Wen, University of Minnesota, wenxx151 at umn.edu, 17 Apr 19
|
pair_style drip, Mingjian Wen, University of Minnesota, wenxx151 at umn.edu, 17 Apr 19
|
||||||
pair_style dpd/ext, Martin Svoboda, Karel Sindelka, Martin Lisal, ICPF and UJEP, svobod.martin at gmail dot com, 23 Apr 21
|
|
||||||
pair_style dpd/ext/tstat, Martin Svoboda, Karel Sindelka, Martin Lisal, ICPF and UJEP , svobod.martin at gmail dot com, 23 Apr 21
|
|
||||||
pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11
|
pair_style edip, Luca Ferraro, luca.ferraro at caspur.it, 15 Sep 11
|
||||||
pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17
|
pair_style extep, Jaap Kroes (Radboud U), jaapkroes at gmail dot com, 28 Nov 17
|
||||||
pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11
|
pair_style gauss/cut, Axel Kohlmeyer, akohlmey at gmail.com, 1 Dec 11
|
||||||
|
|||||||
Reference in New Issue
Block a user