forked from lijiext/lammps
156 lines
5.7 KiB
Plaintext
156 lines
5.7 KiB
Plaintext
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
:link(ld,Manual.html)
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
:line
|
|
|
|
pair_style dpd command :h3
|
|
pair_style dpd/tstat command :h3
|
|
|
|
[Syntax:]
|
|
|
|
pair_style dpd T cutoff seed
|
|
pair_style dpd/tstat Tstart Tstop cutoff seed :pre
|
|
|
|
T = temperature (temperature units)
|
|
Tstart,Tstop = desired temperature at start/end of run (temperature units)
|
|
cutoff = global cutoff for DPD interactions (distance units)
|
|
seed = random # seed (positive integer) :ul
|
|
|
|
[Examples:]
|
|
|
|
pair_style dpd 1.0 2.5 34387
|
|
pair_coeff * * 3.0 1.0
|
|
pair_coeff 1 1 3.0 1.0 1.0 :pre
|
|
|
|
pair_style dpd/tstat 1.0 1.0 2.5 34387
|
|
pair_coeff * * 1.0
|
|
pair_coeff 1 1 1.0 1.0 :pre
|
|
|
|
[Description:]
|
|
|
|
Style {dpd} computes a force field for dissipative particle dynamics
|
|
(DPD) following the exposition in "(Groot)"_#Groot.
|
|
|
|
Style {dpd/tstat} invokes a DPD thermostat on pairwise interactions,
|
|
which is equivalent to the non-conservative portion of the DPD force
|
|
field. This thermostat can be used in conjunction with any "pair
|
|
style"_pair_style.html, and in leiu of per-particle thermostats like
|
|
"fix langevin"_fix_langevin.html or ensemble thermostats like Nose
|
|
Hoover as implemented by "fix nvt"_fix_nh.html. To use {dpd/stat}
|
|
with another pair style, use the "pair_style
|
|
hybrid/overlay"_pair_hybrid.html command to compute both the desired
|
|
pair interaction and the thermostat for each pair of particles.
|
|
|
|
For style {dpd}, the force on atom I due to atom J is given as a sum
|
|
of 3 terms
|
|
|
|
:c,image(Eqs/pair_dpd.jpg)
|
|
|
|
where Fc is a conservative force, Fd is a dissipative force, and Fr is
|
|
a random force. Rij is a unit vector in the direction Ri - Rj, Vij is
|
|
the vector difference in velocities of the two atoms = Vi - Vj, alpha
|
|
is a Gaussian random number with zero mean and unit variance, dt is
|
|
the timestep size, and w(r) is a weighting factor that varies between
|
|
0 and 1. Rc is the cutoff. Sigma is set equal to sqrt(2 Kb T gamma),
|
|
where Kb is the Boltzmann constant and T is the temperature parameter
|
|
in the pair_style command.
|
|
|
|
For style {dpd/tstat}, the force on atom I due to atom J is the same
|
|
as the above equation, except that the conservative Fc term is
|
|
dropped. Also, during the run, T is set each timestep to a ramped
|
|
value from Tstart to Tstop.
|
|
|
|
For style {dpd}, the pairwise energy associated with style {dpd} is
|
|
only due to the conservative force term Fc, and is shifted to be zero
|
|
at the cutoff distance Rc. The pairwise virial is calculated using
|
|
all 3 terms. For style {dpd/tstat} there is no pairwise energy, but
|
|
the last two terms of the formula make a contribution to the virial.
|
|
|
|
For style {dpd}, the following coefficients must be defined for each
|
|
pair of atoms types via the "pair_coeff"_pair_coeff.html command as in
|
|
the examples above, or in the data file or restart files read by the
|
|
"read_data"_read_data.html or "read_restart"_read_restart.html
|
|
commands:
|
|
|
|
A (force units)
|
|
gamma (force/velocity units)
|
|
cutoff (distance units) :ul
|
|
|
|
The last coefficient is optional. If not specified, the global DPD
|
|
cutoff is used. Note that sigma is set equal to sqrt(2 T gamma),
|
|
where T is the temperature set by the "pair_style"_pair_style.html
|
|
command so it does not need to be specified.
|
|
|
|
For style {dpd/tstat}, the coefficiencts defined for each pair of
|
|
atoms types via the "pair_coeff"_pair_coeff.html command is the same,
|
|
except that A is not included.
|
|
|
|
:line
|
|
|
|
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
|
|
|
These pair styles do not support mixing. Thus, coefficients for all
|
|
I,J pairs must be specified explicitly.
|
|
|
|
These pair styles do not support the "pair_modify"_pair_modify.html
|
|
shift option for the energy of the pair interaction. Note that as
|
|
discussed above, the energy due to the conservative Fc term is already
|
|
shifted to be 0.0 at the cutoff distance Rc.
|
|
|
|
The "pair_modify"_pair_modify.html table option is not relevant
|
|
for these pair styles.
|
|
|
|
These pair style do not support the "pair_modify"_pair_modify.html
|
|
tail option for adding long-range tail corrections to energy and
|
|
pressure.
|
|
|
|
These pair styles writes their information to "binary restart
|
|
files"_restart.html, so pair_style and pair_coeff commands do not need
|
|
to be specified in an input script that reads a restart file. Note
|
|
that the user-specified random number seed is stored in the restart
|
|
file, so when a simulation is restarted, each processor will
|
|
re-initialize its random number generator the same way it did
|
|
initially. This means the random forces will be random, but will not
|
|
be the same as they would have been if the original simulation had
|
|
continued past the restart time.
|
|
|
|
These pair styles can only be used via the {pair} keyword of the
|
|
"run_style respa"_run_style.html command. They do not support the
|
|
{inner}, {middle}, {outer} keywords.
|
|
|
|
The {dpd/tstat} style can ramp its target temperature over multiple
|
|
runs, using the {start} and {stop} keywords of the "run"_run.html
|
|
command. See the "run"_run.html command for details of how to do
|
|
this.
|
|
|
|
:line
|
|
|
|
[Restrictions:]
|
|
|
|
The default frequency for rebuilding neighbor lists is every 10 steps
|
|
(see the "neigh_modify"_neigh_modify.html command). This may be too
|
|
infrequent for style {dpd} simulations since particles move rapidly
|
|
and can overlap by large amounts. If this setting yields a non-zero
|
|
number of "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 pair styles requires you to use the "communicate vel
|
|
yes"_communicate.html option so that velocites are stored by ghost
|
|
atoms.
|
|
|
|
[Related commands:]
|
|
|
|
"pair_coeff"_pair_coeff.html, "fix nvt"_fix_nh.html, "fix
|
|
langevin"_fix_langevin.html
|
|
|
|
[Default:] none
|
|
|
|
:line
|
|
|
|
:link(Groot)
|
|
[(Groot)] Groot and Warren, J Chem Phys, 107, 4423-35 (1997).
|