use more obvious pair style dpd thermostat examples

This commit is contained in:
Axel Kohlmeyer
2023-05-08 11:38:27 -04:00
parent abe238ce61
commit 820899cd5e
2 changed files with 50 additions and 21 deletions

View File

@ -26,8 +26,8 @@ Syntax
pair_style dpd T cutoff seed pair_style dpd T cutoff seed
pair_style dpd/tstat Tstart Tstop cutoff seed pair_style dpd/tstat Tstart Tstop cutoff seed
* T = temperature (temperature units) * T = temperature (temperature units) (dpd only)
* Tstart,Tstop = desired temperature at start/end of run (temperature units) * Tstart,Tstop = desired temperature at start/end of run (temperature units) (dpd/tstat only)
* cutoff = global cutoff for DPD interactions (distance units) * cutoff = global cutoff for DPD interactions (distance units)
* seed = random # seed (positive integer) * seed = random # seed (positive integer)
@ -40,9 +40,9 @@ Examples
pair_coeff * * 3.0 1.0 pair_coeff * * 3.0 1.0
pair_coeff 1 1 3.0 1.0 1.0 pair_coeff 1 1 3.0 1.0 1.0
pair_style dpd/tstat 1.0 1.0 2.5 34387 pair_style hybrid/overlay lj/cut 2.5 dpd/tstat 1.0 1.0 2.5 34387
pair_coeff * * 1.0 pair_coeff * * lj/cut 1.0 1.0
pair_coeff 1 1 1.0 1.0 pair_coeff * * dpd/tstat 1.0
Description Description
""""""""""" """""""""""
@ -53,7 +53,7 @@ Style *dpd* computes a force field for dissipative particle dynamics
Style *dpd/tstat* invokes a DPD thermostat on pairwise interactions, Style *dpd/tstat* invokes a DPD thermostat on pairwise interactions,
which is equivalent to the non-conservative portion of the DPD force which is equivalent to the non-conservative portion of the DPD force
field. This pairwise thermostat can be used in conjunction with any field. This pairwise thermostat can be used in conjunction with any
:doc:`pair style <pair_style>`, and in leiu of per-particle thermostats :doc:`pair style <pair_style>`, and instead of per-particle thermostats
like :doc:`fix langevin <fix_langevin>` or ensemble thermostats like like :doc:`fix langevin <fix_langevin>` or ensemble thermostats like
Nose Hoover as implemented by :doc:`fix nvt <fix_nh>`. To use Nose Hoover as implemented by :doc:`fix nvt <fix_nh>`. To use
*dpd/tstat* as a thermostat for another pair style, use the *dpd/tstat* as a thermostat for another pair style, use the
@ -105,14 +105,18 @@ commands:
* :math:`\gamma` (force/velocity units) * :math:`\gamma` (force/velocity units)
* cutoff (distance units) * cutoff (distance units)
The last coefficient is optional. If not specified, the global DPD The cutoff coefficient is optional. If not specified, the global DPD
cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), cutoff is used. Note that sigma is set equal to sqrt(2 T gamma),
where T is the temperature set by the :doc:`pair_style <pair_style>` where T is the temperature set by the :doc:`pair_style <pair_style>`
command so it does not need to be specified. command so it does not need to be specified.
For style *dpd/tstat*, the coefficients defined for each pair of For style *dpd/tstat*, the coefficients defined for each pair of
atoms types via the :doc:`pair_coeff <pair_coeff>` command is the same, atoms types via the :doc:`pair_coeff <pair_coeff>` command are:
except that A is not included.
* :math:`\gamma` (force/velocity units)
* cutoff (distance units)
The cutoff coefficient is optional.
The GPU-accelerated versions of these styles are implemented based on The GPU-accelerated versions of these styles are implemented based on
the work of :ref:`(Afshar) <Afshar>` and :ref:`(Phillips) <Phillips>`. the work of :ref:`(Afshar) <Afshar>` and :ref:`(Phillips) <Phillips>`.
@ -135,6 +139,12 @@ the work of :ref:`(Afshar) <Afshar>` and :ref:`(Phillips) <Phillips>`.
numbers are applied and thus the individual forces and therefore numbers are applied and thus the individual forces and therefore
also the virial/pressure. also the virial/pressure.
.. note::
For more consistent time integration and force computation you may
consider using :doc:`fix mvv/dpd <fix_mvv_dpd>` instead of :doc:`fix
nve <fix_nve>`.
---------- ----------
.. include:: accel_styles.rst .. include:: accel_styles.rst
@ -206,7 +216,9 @@ command for more details.
Related commands Related commands
"""""""""""""""" """"""""""""""""
: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/ext <pair_dpd_ext>`, :doc:`pair_coeff <pair_coeff>`,
:doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`,
:doc:`pair_style srp <pair_srp>`, :doc:`fix mvv/dpd <fix_mvv_dpd>`.
Default Default
""""""" """""""

View File

@ -18,7 +18,6 @@ Accelerator Variants: dpd/ext/tstat/kk dpd/ext/tstat/omp
Syntax Syntax
"""""" """"""
.. code-block:: LAMMPS .. code-block:: LAMMPS
pair_style dpd/ext T cutoff seed pair_style dpd/ext T cutoff seed
@ -32,16 +31,15 @@ Syntax
Examples Examples
"""""""" """"""""
.. code-block:: LAMMPS .. code-block:: LAMMPS
pair_style dpd/ext 1.0 2.5 34387 pair_style dpd/ext 1.0 2.5 34387
pair_coeff 1 1 25.0 4.5 4.5 0.5 0.5 1.2 pair_coeff 1 1 25.0 4.5 4.5 0.5 0.5 1.2
pair_coeff 1 2 40.0 4.5 4.5 0.5 0.5 1.2 pair_coeff 1 2 40.0 4.5 4.5 0.5 0.5 1.2
pair_style dpd/ext/tstat 1.0 1.0 2.5 34387 pair_style hybrid/overlay lj/cut 2.5 dpd/ext/tstat 1.0 1.0 2.5 34387
pair_coeff 1 1 4.5 4.5 0.5 0.5 1.2 pair_coeff * * lj/cut 1.0 1.0
pair_coeff 1 2 4.5 4.5 0.5 0.5 1.2 pair_coeff * * 4.5 4.5 0.5 0.5 1.2
Description Description
""""""""""" """""""""""
@ -128,8 +126,15 @@ the :doc:`pair_style <pair_style>` command so it does not need to be
specified. 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, atoms types via the :doc:`pair_coeff <pair_coeff>` command are:
except that A is not included.
* :math:`\gamma_{\parallel}` (force/velocity units)
* :math:`\gamma_{\perp}` (force/velocity units)
* :math:`s_{\parallel}` (unitless)
* :math:`s_{\perp}` (unitless)
* :math:`r_c` (distance units)
The last coefficient is optional.
.. note:: .. note::
@ -140,8 +145,20 @@ except that A is not included.
.. note:: .. note::
The virial calculation for pressure when using this pair style includes The virial calculation for pressure when using these pair styles
all the components of force listed above, including the random force. includes all the components of force listed above, including the
random force. Since the random force depends on random numbers,
everything that changes the order of atoms in the neighbor list
(e.g. different number of MPI ranks or a different neighbor list
skin distance) will also change the sequence in which the random
numbers are applied and thus the individual forces and therefore
also the virial/pressure.
.. note::
For more consistent time integration and force computation you may
consider using :doc:`fix mvv/dpd <fix_mvv_dpd>` instead of :doc:`fix
nve <fix_nve>`.
---------- ----------
@ -207,7 +224,7 @@ Related commands
:doc:`pair_style dpd <pair_dpd>`, :doc:`pair_coeff <pair_coeff>`, :doc:`pair_style dpd <pair_dpd>`, :doc:`pair_coeff <pair_coeff>`,
:doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`, :doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`,
:doc:`pair_style srp <pair_srp>` :doc:`pair_style srp <pair_srp>`, :doc:`fix mvv/dpd <fix_mvv_dpd>`.
**Default:** none **Default:** none