From e784afd60f8656c3d1f4f310774eb30683bf0b82 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 20 May 2020 23:29:01 -0400 Subject: [PATCH] use proper units (fmsec -> fs, psec -> ps and so on) --- doc/src/dump_modify.rst | 4 ++-- doc/src/fix_deform.rst | 20 ++++++++-------- doc/src/fix_heat.rst | 2 +- doc/src/fix_langevin_drude.rst | 2 +- doc/src/fix_meso_move.rst | 2 +- doc/src/fix_move.rst | 2 +- doc/src/fix_nh.rst | 8 +++---- doc/src/fix_npt_cauchy.rst | 8 +++---- doc/src/fix_nve_dotc_langevin.rst | 2 +- doc/src/fix_press_berendsen.rst | 2 +- doc/src/fix_rigid.rst | 8 +++---- doc/src/fix_temp_berendsen.rst | 2 +- doc/src/fix_temp_csvr.rst | 2 +- doc/src/fix_ti_spring.rst | 2 +- doc/src/run_style.rst | 16 ++++++------- doc/src/timestep.rst | 38 +++++++++++++++---------------- doc/src/units.rst | 2 +- doc/src/velocity.rst | 4 ++-- 18 files changed, 63 insertions(+), 63 deletions(-) diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index 75fff9d444..ce0ade4789 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -552,9 +552,9 @@ when writing to XTC files. By default they are initialized for whatever :doc:`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. diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 75fc6cc5c9..f5511be692 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -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 diff --git a/doc/src/fix_heat.rst b/doc/src/fix_heat.rst index 5bb6402d46..03596febd8 100644 --- a/doc/src/fix_heat.rst +++ b/doc/src/fix_heat.rst @@ -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 `. 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 diff --git a/doc/src/fix_langevin_drude.rst b/doc/src/fix_langevin_drude.rst index f361a88736..249c297c98 100644 --- a/doc/src/fix_langevin_drude.rst +++ b/doc/src/fix_langevin_drude.rst @@ -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 ` +time units (tau or fs or ps - see the :doc:`units ` command). *damp_drude* is the characteristic time for reaching thermal equilibrium of the dipoles. It is typically a few timesteps. diff --git a/doc/src/fix_meso_move.rst b/doc/src/fix_meso_move.rst index b97b029b9d..b1ea27e872 100644 --- a/doc/src/fix_meso_move.rst +++ b/doc/src/fix_meso_move.rst @@ -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 ` -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 ` command must have diff --git a/doc/src/fix_move.rst b/doc/src/fix_move.rst index e9ebbd726b..84f7dbe965 100644 --- a/doc/src/fix_move.rst +++ b/doc/src/fix_move.rst @@ -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 ` -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 ` command must have diff --git a/doc/src/fix_nh.rst b/doc/src/fix_nh.rst index 6927b47fcb..636d70140e 100644 --- a/doc/src/fix_nh.rst +++ b/doc/src/fix_nh.rst @@ -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 ` 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 ` 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 ` command). +a timespan of (roughly) 10 time units (e.g. :math:`\tau` or fs or ps +- see the :doc:`units ` command). .. note:: diff --git a/doc/src/fix_npt_cauchy.rst b/doc/src/fix_npt_cauchy.rst index 5e0188c574..14ad1e7715 100644 --- a/doc/src/fix_npt_cauchy.rst +++ b/doc/src/fix_npt_cauchy.rst @@ -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 ` 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 ` 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 ` command). +a timespan of (roughly) 10 time units (e.g. :math:`\tau` or fs or ps +- see the :doc:`units ` command). .. note:: diff --git a/doc/src/fix_nve_dotc_langevin.rst b/doc/src/fix_nve_dotc_langevin.rst index 88d15b9e17..5322d5bbb3 100644 --- a/doc/src/fix_nve_dotc_langevin.rst +++ b/doc/src/fix_nve_dotc_langevin.rst @@ -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 ` command). +units :math:`\tau` (see the :doc:`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 diff --git a/doc/src/fix_press_berendsen.rst b/doc/src/fix_press_berendsen.rst index 215ef81b02..f1366e0449 100644 --- a/doc/src/fix_press_berendsen.rst +++ b/doc/src/fix_press_berendsen.rst @@ -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 ` command). +(tau or fs or ps - see the :doc:`units ` command). .. note:: diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index 72ed56bab1..6fbd692f6a 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -429,8 +429,8 @@ that dimension via the :doc:`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 ` command). +a timespan of (roughly) 10 time units (e.g. :math:`\tau` or fs or ps +- see the :doc:`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 ` 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 ` command). +units (tau or fs or ps - see the :doc:`units ` command). Nose/Hoover chains are used in conjunction with this thermostat. The *tparam* keyword can optionally be used to change the chain settings diff --git a/doc/src/fix_temp_berendsen.rst b/doc/src/fix_temp_berendsen.rst index 4913efdf53..2774075827 100644 --- a/doc/src/fix_temp_berendsen.rst +++ b/doc/src/fix_temp_berendsen.rst @@ -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 ` command). *Tstart* can be specified as an equal-style :doc:`variable `. diff --git a/doc/src/fix_temp_csvr.rst b/doc/src/fix_temp_csvr.rst index cd4e5dc88f..d8a8d3135a 100644 --- a/doc/src/fix_temp_csvr.rst +++ b/doc/src/fix_temp_csvr.rst @@ -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 ` command). *Tstart* can be specified as an equal-style :doc:`variable `. diff --git a/doc/src/fix_ti_spring.rst b/doc/src/fix_ti_spring.rst index 8bf5439e0d..258e380842 100644 --- a/doc/src/fix_ti_spring.rst +++ b/doc/src/fix_ti_spring.rst @@ -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 diff --git a/doc/src/run_style.rst b/doc/src/run_style.rst index 474eab2b85..7bddb0efcd 100644 --- a/doc/src/run_style.rst +++ b/doc/src/run_style.rst @@ -150,8 +150,8 @@ timestep, angle interactions computed 4x, pair interactions computed The :doc:`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 ` for thermo output every N steps, :doc:`neigh_modify delay/every ` parameters, :doc:`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 diff --git a/doc/src/timestep.rst b/doc/src/timestep.rst index 7ee090740a..e512eed1b2 100644 --- a/doc/src/timestep.rst +++ b/doc/src/timestep.rst @@ -46,22 +46,22 @@ Related commands Default """"""" -+--------------------------------+------------+-----------------------+ -| choice of :doc:`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 ` | 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 | ++--------------------------------+---------------+-----------------------+ diff --git a/doc/src/units.rst b/doc/src/units.rst index 95792f7edf..65638b541a 100644 --- a/doc/src/units.rst +++ b/doc/src/units.rst @@ -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. diff --git a/doc/src/velocity.rst b/doc/src/velocity.rst index 59ce0a19f6..d8823d6b7e 100644 --- a/doc/src/velocity.rst +++ b/doc/src/velocity.rst @@ -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 ` 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 ` command must have been previously used to define the lattice spacing.