use proper units (fmsec -> fs, psec -> ps and so on)

This commit is contained in:
Axel Kohlmeyer
2020-05-20 23:29:01 -04:00
parent 293bfa0485
commit e784afd60f
18 changed files with 63 additions and 63 deletions

View File

@ -552,9 +552,9 @@ when writing to XTC files. By default they are initialized for
whatever :doc:`units <units>` style is being used, to write out
coordinates in nanometers and time in picoseconds. I.e. for *real*
units, LAMMPS defines *sfactor* = 0.1 and *tfactor* = 0.001, since the
Angstroms and fmsec used by *real* units are 0.1 nm and 0.001 psec
Angstroms and fs used by *real* units are 0.1 nm and 0.001 ps
respectively. If you are using a units system with distance and time
units far from nm and psec, you may wish to write XTC files with
units far from nm and ps, you may wish to write XTC files with
different units, since the compression algorithm used in XTC files is
most effective when the typical magnitude of position data is between
10.0 and 0.1.

View File

@ -154,8 +154,8 @@ specified in units of distance/time. This is effectively a "constant
engineering strain rate", where rate = V/L0 and L0 is the initial box
length. The distance can be in lattice or box distance units. See
the discussion of the units keyword below. For example, if the
initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then
after 10 psec, the box length will have doubled. After 20 psec, it
initial box length is 100 Angstroms, and V is 10 Angstroms/ps, then
after 10 ps, the box length will have doubled. After 20 ps, it
will have tripled.
The *erate* style changes a dimension of the box at a "constant
@ -174,7 +174,7 @@ function of time will change as
where dt is the elapsed time (in time units). Thus if *erate* R is
specified as 0.1 and time units are picoseconds, this means the box
length will increase by 10% of its original length every picosecond.
I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. R =
I.e. strain after 1 ps = 0.1, strain after 2 ps = 0.2, etc. R =
-0.01 means the box length will shrink by 1% of its original length
every picosecond. Note that for an "engineering" rate the change is
based on the original box length, so running with R = 1 for 10
@ -201,7 +201,7 @@ The box length L as a function of time will change as
where dt is the elapsed time (in time units). Thus if *trate* R is
specified as ln(1.1) and time units are picoseconds, this means the
box length will increase by 10% of its current (not original) length
every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec
every picosecond. I.e. strain after 1 ps = 0.1, strain after 2 ps
= 0.21, etc. R = ln(2) or ln(3) means the box length will double or
triple every picosecond. R = ln(0.99) means the box length will
shrink by 1% of its current length every picosecond. Note that for a
@ -317,8 +317,8 @@ specified in units of distance/time. This is effectively an
initial box length perpendicular to the direction of shear. The
distance can be in lattice or box distance units. See the discussion
of the units keyword below. For example, if the initial tilt factor
is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the
tilt factor will be 15 Angstroms. After 2 psec, it will be 25
is 5 Angstroms, and the V is 10 Angstroms/ps, then after 1 ps, the
tilt factor will be 15 Angstroms. After 2 ps, it will be 25
Angstroms.
The *erate* style changes a tilt factor at a "constant engineering
@ -342,9 +342,9 @@ box perpendicular to the shear direction (e.g. y box length for xy
deformation), and dt is the elapsed time (in time units). Thus if
*erate* R is specified as 0.1 and time units are picoseconds, this
means the shear strain will increase by 0.1 every picosecond. I.e. if
the xy shear strain was initially 0.0, then strain after 1 psec = 0.1,
strain after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at
time 0, 0.1\*ybox at 1 psec, 0.2\*ybox at 2 psec, etc, where ybox is the
the xy shear strain was initially 0.0, then strain after 1 ps = 0.1,
strain after 2 ps = 0.2, etc. Thus the tilt factor would be 0.0 at
time 0, 0.1\*ybox at 1 ps, 0.2\*ybox at 2 ps, etc, where ybox is the
original y box length. R = 1 or 2 means the tilt factor will increase
by 1 or 2 every picosecond. R = -0.01 means a decrease in shear
strain by 0.01 every picosecond.
@ -373,7 +373,7 @@ where T0 is the initial tilt factor and dt is the elapsed time (in
time units). Thus if *trate* R is specified as ln(1.1) and time units
are picoseconds, this means the shear strain or tilt factor will
increase by 10% every picosecond. I.e. if the xy shear strain was
initially 0.1, then strain after 1 psec = 0.11, strain after 2 psec =
initially 0.1, then strain after 1 ps = 0.11, strain after 2 ps =
0.121, etc. R = ln(2) or ln(3) means the tilt factor will double or
triple every picosecond. R = ln(0.99) means the tilt factor will
shrink by 1% every picosecond. Note that the change is continuous, so

View File

@ -57,7 +57,7 @@ its current value(s) used to determine the flux.
If *eflux* is a numeric constant or equal-style variable which evaluates
to a scalar value, then *eflux* determines the change in aggregate energy
of the entire group of atoms per unit time, e.g. in eV/psec for
of the entire group of atoms per unit time, e.g. in eV/ps for
:doc:`metal units <units>`. In this case it is an "extensive" quantity,
meaning its magnitude should be scaled with the number of atoms in the
group. Note that since *eflux* also has per-time units (i.e. it is a

View File

@ -188,7 +188,7 @@ particles.
*damp_com* is the characteristic time for reaching thermal equilibrium
of the centers of mass. For example, a value of 100.0 means to relax
the temperature of the centers of mass in a timespan of (roughly) 100
time units (tau or fmsec or psec - see the :doc:`units <units>`
time units (tau or fs or ps - see the :doc:`units <units>`
command). *damp_drude* is the characteristic time for reaching
thermal equilibrium of the dipoles. It is typically a few timesteps.

View File

@ -196,7 +196,7 @@ The *units* keyword determines the meaning of the distance units used
to define the *linear* velocity and *wiggle* amplitude and *rotate*
origin. This setting is ignored for the *variable* style. A *box*
value selects standard units as defined by the :doc:`units <units>`
command, e.g. velocity in Angstroms/fmsec and amplitude and position
command, e.g. velocity in Angstroms/fs and amplitude and position
in Angstroms for units = real. A *lattice* value means the velocity
units are in lattice spacings per time and the amplitude and position
are in lattice spacings. The :doc:`lattice <lattice>` command must have

View File

@ -193,7 +193,7 @@ The *units* keyword determines the meaning of the distance units used
to define the *linear* velocity and *wiggle* amplitude and *rotate*
origin. This setting is ignored for the *variable* style. A *box*
value selects standard units as defined by the :doc:`units <units>`
command, e.g. velocity in Angstroms/fmsec and amplitude and position
command, e.g. velocity in Angstroms/fs and amplitude and position
in Angstroms for units = real. A *lattice* value means the velocity
units are in lattice spacings per time and the amplitude and position
are in lattice spacings. The :doc:`lattice <lattice>` command must have

View File

@ -137,8 +137,8 @@ description below. The desired temperature at each timestep is a
ramped value during the run from *Tstart* to *Tstop*\ . The *Tdamp*
parameter is specified in time units and determines how rapidly the
temperature is relaxed. For example, a value of 10.0 means to relax
the temperature in a timespan of (roughly) 10 time units (e.g. tau or
fmsec or psec - see the :doc:`units <units>` command). The atoms in the
the temperature in a timespan of (roughly) 10 time units (e.g. :math:`\tau`
or fs or ps - see the :doc:`units <units>` command). The atoms in the
fix group are the only ones whose velocities and positions are updated
by the velocity/position update portion of the integration.
@ -195,8 +195,8 @@ simulation box must be triclinic, even if its initial tilt factors are
For all barostat keywords, the *Pdamp* parameter operates like the
*Tdamp* parameter, determining the time scale on which pressure is
relaxed. For example, a value of 10.0 means to relax the pressure in
a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see
the :doc:`units <units>` command).
a timespan of (roughly) 10 time units (e.g. :math:`\tau` or fs or ps
- see the :doc:`units <units>` command).
.. note::

View File

@ -103,8 +103,8 @@ description below. The desired temperature at each timestep is a
ramped value during the run from *Tstart* to *Tstop*\ . The *Tdamp*
parameter is specified in time units and determines how rapidly the
temperature is relaxed. For example, a value of 10.0 means to relax
the temperature in a timespan of (roughly) 10 time units (e.g. tau or
fmsec or psec - see the :doc:`units <units>` command). The atoms in the
the temperature in a timespan of (roughly) 10 time units (e.g. :math:`\tau`
or fs or ps - see the :doc:`units <units>` command). The atoms in the
fix group are the only ones whose velocities and positions are updated
by the velocity/position update portion of the integration.
@ -154,8 +154,8 @@ simulation box must be triclinic, even if its initial tilt factors are
For all barostat keywords, the *Pdamp* parameter operates like the
*Tdamp* parameter, determining the time scale on which pressure is
relaxed. For example, a value of 10.0 means to relax the pressure in
a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see
the :doc:`units <units>` command).
a timespan of (roughly) 10 time units (e.g. :math:`\tau` or fs or ps
- see the :doc:`units <units>` command).
.. note::

View File

@ -94,7 +94,7 @@ corresponds to T = 300 K.
The *damp* parameter is specified in time units and determines how
rapidly the temperature is relaxed. For example, a value of 0.03
means to relax the temperature in a timespan of (roughly) 0.03 time
units tau (see the :doc:`units <units>` command).
units :math:`\tau` (see the :doc:`units <units>` command).
The damp factor can be thought of as inversely related to the
viscosity of the solvent, i.e. a small relaxation time implies a
high-viscosity solvent and vice versa. See the discussion about gamma

View File

@ -90,7 +90,7 @@ although you have the option to change that dimension via the :doc:`fix deform <
For all barostat keywords, the *Pdamp* parameter determines the time
scale on which pressure is relaxed. For example, a value of 10.0
means to relax the pressure in a timespan of (roughly) 10 time units
(tau or fmsec or psec - see the :doc:`units <units>` command).
(tau or fs or ps - see the :doc:`units <units>` command).
.. note::

View File

@ -429,8 +429,8 @@ that dimension via the :doc:`fix deform <fix_deform>` command.
For all barostat keywords, the *Pdamp* parameter operates like the
*Tdamp* parameter, determining the time scale on which pressure is
relaxed. For example, a value of 10.0 means to relax the pressure in
a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see
the :doc:`units <units>` command).
a timespan of (roughly) 10 time units (e.g. :math:`\tau` or fs or ps
- see the :doc:`units <units>` command).
Regardless of what atoms are in the fix group (the only atoms which
are time integrated), a global pressure or stress tensor is computed
@ -514,7 +514,7 @@ desired temperature at each timestep is a ramped value during the run
from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in time
units and determines how rapidly the temperature is relaxed. For
example, a value of 100.0 means to relax the temperature in a timespan
of (roughly) 100 time units (tau or fmsec or psec - see the
of (roughly) 100 time units (:math:`\tau` or fs or ps - see the
:doc:`units <units>` command). The random # *seed* must be a positive
integer.
@ -539,7 +539,7 @@ timestep is a ramped value during the run from *Tstart* to *Tstop*\ .
The *Tdamp* parameter is specified in time units and determines how
rapidly the temperature is relaxed. For example, a value of 100.0
means to relax the temperature in a timespan of (roughly) 100 time
units (tau or fmsec or psec - see the :doc:`units <units>` command).
units (tau or fs or ps - see the :doc:`units <units>` command).
Nose/Hoover chains are used in conjunction with this thermostat. The
*tparam* keyword can optionally be used to change the chain settings

View File

@ -45,7 +45,7 @@ The desired temperature at each timestep is a ramped value during the
run from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in
time units and determines how rapidly the temperature is relaxed. For
example, a value of 100.0 means to relax the temperature in a timespan
of (roughly) 100 time units (tau or fmsec or psec - see the
of (roughly) 100 time units (tau or fs or ps - see the
:doc:`units <units>` command).
*Tstart* can be specified as an equal-style :doc:`variable <variable>`.

View File

@ -59,7 +59,7 @@ The desired temperature at each timestep is a ramped value during the
run from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in
time units and determines how rapidly the temperature is relaxed. For
example, a value of 100.0 means to relax the temperature in a timespan
of (roughly) 100 time units (tau or fmsec or psec - see the
of (roughly) 100 time units (tau or fs or ps - see the
:doc:`units <units>` command).
*Tstart* can be specified as an equal-style :doc:`variable <variable>`.

View File

@ -88,7 +88,7 @@ time:
\lambda(\tau) = \tau
where tau is the scaled time variable *t/t_s*. The option *2* performs
where :math:`\tau` is the scaled time variable *t/t_s*. The option *2* performs
the lambda switching at a rate defined by the following switching
function

View File

@ -150,8 +150,8 @@ timestep, angle interactions computed 4x, pair interactions computed
The :doc:`timestep <timestep>` command sets the large timestep for the
outermost rRESPA level. Thus if the 3 loop factors are "2 2 2" for
4-level rRESPA, and the outer timestep is set to 4.0 fmsec, then the
inner timestep would be 8x smaller or 0.5 fmsec. All other LAMMPS
4-level rRESPA, and the outer timestep is set to 4.0 fs, then the
inner timestep would be 8x smaller or 0.5 fs. All other LAMMPS
commands that specify number of timesteps (e.g. :doc:`thermo <thermo>`
for thermo output every N steps, :doc:`neigh_modify delay/every <neigh_modify>` parameters, :doc:`dump <dump>` every N
steps, etc) refer to the outermost timesteps.
@ -213,10 +213,10 @@ With that caveat, a few rules-of-thumb may be useful in selecting
simulations using the CHARMM or a similar all-atom force field, but
the concepts are adaptable to other problems. Without SHAKE, bonds
involving hydrogen atoms exhibit high-frequency vibrations and require
a timestep on the order of 0.5 fmsec in order to conserve energy. The
a timestep on the order of 0.5 fs in order to conserve energy. The
relatively inexpensive force computations for the bonds, angles,
impropers, and dihedrals can be computed on this innermost 0.5 fmsec
step. The outermost timestep cannot be greater than 4.0 fmsec without
impropers, and dihedrals can be computed on this innermost 0.5 fs
step. The outermost timestep cannot be greater than 4.0 fs without
risking energy drift. Smooth switching of forces between the levels
of the rRESPA hierarchy is also necessary to avoid drift, and a 1-2
angstrom "healing distance" (the distance between the outer and inner
@ -230,14 +230,14 @@ simulations:
run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4
With these settings, users can expect good energy conservation and
roughly a 2.5 fold speedup over the *verlet* style with a 0.5 fmsec
roughly a 2.5 fold speedup over the *verlet* style with a 0.5 fs
timestep.
If SHAKE is used with the *respa* style, time reversibility is lost,
but substantially longer time steps can be achieved. For biomolecular
simulations using the CHARMM or similar all-atom force field, bonds
involving hydrogen atoms exhibit high frequency vibrations and require
a time step on the order of 0.5 fmsec in order to conserve energy.
a time step on the order of 0.5 fs in order to conserve energy.
These high frequency modes also limit the outer time step sizes since
the modes are coupled. It is therefore desirable to use SHAKE with
respa in order to freeze out these high frequency motions and increase
@ -253,7 +253,7 @@ rRESPA:
With these settings, users can expect good energy conservation and
roughly a 1.5 fold speedup over the *verlet* style with SHAKE and a
2.0 fmsec timestep.
2.0 fs timestep.
For non-biomolecular simulations, the *respa* style can be
advantageous if there is a clear separation of time scales - fast and

View File

@ -46,22 +46,22 @@ Related commands
Default
"""""""
+--------------------------------+------------+-----------------------+
| choice of :doc:`units <units>` | time units | default timestep size |
+--------------------------------+------------+-----------------------+
| lj | tau | 0.005 tau |
+--------------------------------+------------+-----------------------+
| real | fmsec | 1.0 fmsec |
+--------------------------------+------------+-----------------------+
| metal | psec | 0.001 psec |
+--------------------------------+------------+-----------------------+
| si | sec | 1.0e-8 sec (10 nsec) |
+--------------------------------+------------+-----------------------+
| cgs | sec | 1.0e-8 sec (10 nsec) |
+--------------------------------+------------+-----------------------+
| electron | fmsec | 0.001 fmsec |
+--------------------------------+------------+-----------------------+
| micro | usec | 2.0 usec |
+--------------------------------+------------+-----------------------+
| nano | nsec | 0.00045 nsec |
+--------------------------------+------------+-----------------------+
+--------------------------------+---------------+-----------------------+
| choice of :doc:`units <units>` | time units | default timestep size |
+--------------------------------+---------------+-----------------------+
| lj | :math:`\tau` | 0.005 :math:`\tau` |
+--------------------------------+---------------+-----------------------+
| real | fs | 1.0 fs |
+--------------------------------+---------------+-----------------------+
| metal | ps | 0.001 ps |
+--------------------------------+---------------+-----------------------+
| si | s | 1.0e-8 s (10 ns) |
+--------------------------------+---------------+-----------------------+
| cgs | s | 1.0e-8 s (10 ns) |
+--------------------------------+---------------+-----------------------+
| electron | fs | 0.001 fs |
+--------------------------------+---------------+-----------------------+
| micro | :math:`\mu`\ s| 2.0 :math:`\mu`\ s |
+--------------------------------+---------------+-----------------------+
| nano | ns | 0.00045 ns |
+--------------------------------+---------------+-----------------------+

View File

@ -203,7 +203,7 @@ For style *nano*\ , these are the units:
The units command also sets the timestep size and neighbor skin
distance to default values for each style:
* For style *lj* these are dt = 0.005 tau and skin = 0.3 sigma.
* For style *lj* these are dt = 0.005 :math:`\tau` and skin = 0.3 :math:`\sigma`.
* For style *real* these are dt = 1.0 femtoseconds and skin = 2.0 Angstroms.
* For style *metal* these are dt = 0.001 picoseconds and skin = 2.0 Angstroms.
* For style *si* these are dt = 1.0e-8 seconds and skin = 0.001 meters.

View File

@ -225,8 +225,8 @@ body defined by the fix, as described above.
The *units* keyword is used by *set* and *ramp*\ . If units = box,
the velocities and coordinates specified in the velocity command are
in the standard units described by the :doc:`units <units>` command
(e.g. Angstroms/fmsec for real units). If units = lattice, velocities
are in units of lattice spacings per time (e.g. spacings/fmsec) and
(e.g. Angstroms/fs for real units). If units = lattice, velocities
are in units of lattice spacings per time (e.g. spacings/fs) and
coordinates are in lattice spacings. The :doc:`lattice <lattice>`
command must have been previously used to define the lattice spacing.