Return to top-level of LAMMPS documentation.
This page contains a complete list of valid LAMMPS commands which are read-in from an input script. It will be easiest to understand if you read it while looking at sample input scripts in the examples directory.
The script of input commands is read by LAMMPS, one line at a time. Each command causes LAMMPS to take some action. Usually it simply causes some internal variable(s) to be set. Or it may cause a data file to be read in or a simulation to be run. Note that most commands have default settings, which means you only need use a particular command if you do not want the default setting.
Each LAMMPS input script contains exactly one "read data" (or "read restart") command which defines the problem to be simulated. All other commands can be split into three categories: (a) commands that (if used) must appear before the "read data" command because they define settings needed to correctly read-in the problem and allocate memory for it, (b) commands that must appear after the "read data" command because they act on the specified problem, and (c) commands that can appear either before or after the "read data" command. Commands in category (c) are used before the "read data" command if a default setting needs to be changed before the problem description is read-in. They can be used after the "read data" command if the user wishes to change a setting before the next "run" or "minimize" command is used. Other than these restrictions, commands can generally appear in any order in the input script, although some commands require others to have been previously specified.
Each LAMMPS input script also contains one or more "run" or "minimize" commands. These trigger an actual dynamics or minimization computation to be done. Following a run, new commands from categories (b) and (c) can be used to change various settings, and additional "run" commands can then be used to continue the previous simulation. LAMMPS continues to read successive lines from the input script until the end-of-file is reached, which causes LAMMPS to terminate.
This page gives examples of each command, some of which can be specified in multiple styles. Typically the commands take one or more parameters. The keyword for each command should begin in the leftmost column and all characters in the command and its parameters should be in lower-case (except the word NULL or characters in filenames). Parameters can be separated by arbitrary numbers of spaces and/or tabs, so long as the command fits on one line. The remainder of the line after the last parameter is ignored.
The next section outlines the structure of a LAMMPS input script. The final section gives a detailed description of the commands in alphabetic order, each with its associated parameters and default settings.
Any line starting with a # is a comment. Comments can appear anywhere in the input script.
(1) Initialization settings (must appear before "read data" or "read restart")
(2) Optional Settings (can appear before and/or after "read data" or "read restart")
(3) Read in a Problem via a "read data" or "read restart" command
(4) Optional Settings (same as (2))
(5) Problem Settings (must appear after "read data" or "read restart")
(6) Perform a Simulation via a "run" or "minimize" command
Repeat (4), (5), and (6) as desired ...
(if used, must appear before "read data" or "read restart" command)
units real extra memory 2.0 1.5 2.0 2.5 dimension 3 processor grid 10 10 10 periodicity 0 0 0 slab volume 3.0 newton flag 3 true flag 0 maximum cutoff 10.0 mixing style geometric restart version 5
(if used, can appear before and/or after "read data" or "read restart" command)
neighbor 2.0 1 1 10 1 nonbond style none nonbond style lj/cutoff 10.0 0 nonbond style lj/smooth 8.0 10.0 nonbond style lj/shift 10.0 0 nonbond style soft 2.5 nonbond style class2/cutoff 10.0 0 nonbond style lj/charmm 15.0 15.1 coulomb style none coulomb style cutoff 10.0 coulomb style smooth 8.0 10.0 coulomb style ewald 10.0 1.0E-4 coulomb style pppm 10.0 1.0E-4 coulomb style charmm/switch 15.0 15.1 coulomb style debye 10.0 0.5 bond style none bond style harmonic bond style fene/standard bond style fene/shift bond style nonlinear bond style class2 angle style none angle style harmonic angle style class2 angle style charmm angle style cosine dihedral style none dihedral style harmonic dihedral style mutliharmonic dihedral style class2 dihedral style charmm improper style none improper style harmonic improper style cvff improper style class2
read data data.lj read restart restart.100000
(if used, must appear after "read data" or "read restart" command)
create group types 1 3 create group molecules 200 300 create group region 0.0 1.0 0.0 1.0 INF 1.0 create group remainder rotation zero 1 create temp uniform 300.0 12345678 create temp gaussian 300.0 12345678 create temp velocity 0.0 0.0 0.0
(if used, must appear after "read data" or "read restart" command)
nonbond coeff 1 2 1.0 3.45 10.0 (nonbond style lj/cutoff) nonbond coeff 1 2 1.0 3.45 8.0 10.0 (nonbond style lj/smooth) nonbond coeff 1 2 1.0 3.45 2.0 10.0 (nonbond style lj/shift) nonbond coeff 1 2 1.0 30.0 2.5 (nonbond style soft) nonbond coeff 1 2 1.0 3.45 10.0 (nonbond style class2/cutoff) nonbond coeff 1 2 1.0 3.45 1.0 3.45 (nonbond style lj/charmm) special bonds amber special bonds 0.0 0.0 0.5 pppm mesh 32 32 64 pppm order 5 dielectric 1.0 bond coeff 1 100.0 3.45 (bond style harmonic) bond coeff 1 30.0 1.5 1.0 1.0 (bond style fene/standard ) bond coeff 1 30.0 1.5 1.0 1.0 0.2 (bond style fene/shift) bond coeff 1 28.0 0.748308 0.166667 (bond style nonlinear) angle coeff 1 30.0 108.0 (angle style harmonic) angle coeff 1 30.0 108.0 30.0 2.5 (angle style charmm) angle coeff 1 30.0 (angle style cosine) dihedral coeff 1 10.0 1 3 (dihedral style harmonic) dihedral coeff 1 2.0 2.0 2.0 2.0 2.0 (dihedral style multiharmonic) dihedral coeff 1 2.0 5 180.0 0.5 (dihedral style charmm) improper coeff 1 20.0 0.0 (improper style harmonic) improper coeff 1 20.0 10.0 (improper style cvff)
(if used, must appear after "read data" or "read restart" command)
fix style none fix style 1 setforce 0.0 NULL 0.0 fix style 1 addforce 1.0 0.0 0.0 fix style 1 aveforce 1.0 0.0 0.0 fix style 1 rescale 300.0 300.0 100 20.0 0.5 fix style 1 hoover/drag 50.0 50.0 0.001 fix style 1 langevin 50.0 50.0 0.01 12345 1 1 1 fix style 1 springforce 10.0 NULL NULL 1.0 fix style 1 dragforce 10.0 -5.0 NULL 2.0 1.0 fix style 1 shake 3 0.001 100 assign fix 1 atom 200 assign fix 1 molecule 50 assign fix 1 type 2 assign fix 1 region 0.0 1.0 INF INF 0.0 1.0 assign fix 1 bondtype 4 assign fix 1 angletype 18 10 assign fix 1 remainder
(if used, must appear after "read data" or "read restart" command)
temp control none temp control rescale 300.0 300.0 100 20.0 0.5 temp control replace 300.0 300.0 50 12345678 temp control langevin 50.0 50.0 0.01 123456 temp control nose/hoover 300.0 300.0 0.01 press control none press control nose/hoover xyz 0.0 0.0 0.001 press control nose/hoover xz 0.0 10.0 5.0 5.0 0.0 10.0 0.001 press control nose/hoover yz NULL NULL 5.0 5.0 0.0 10.0 0.001 press control nose/hoover aniso 0.0 0.0 0.0 0.0 1.0 10.0 0.001 press control nose/hoover aniso 0.0 0.0 0.0 0.0 NULL NULL 0.001 volume control none volume control linear x 0.0 10.0 volume control linear y -1.0 15.0 volume control linear z -10.0 10.0
(if used, must appear after "read data" or "read restart" command)
thermo flag 50 thermo style 0 dump atoms 100 filename dump velocities 100 filename dump forces 100 filename restart 1000 1 filename restart 1000 2 file1 file2 diagnostic diffusion 100 filename 3 1.0 -1.0 2.5
(if used, must appear after "read data" or "read restart" command)
timestep 1.0 respa 2 2 4 reset timestep 0
(if used, must appear after "read data" or "read restart" command)
min style hftn min flag 10
run 10000 minimize 0.0001 9999 50000
coeffs: harmonic (1) K (energy units) (2) theta (degrees) class2 currently not enabled for "angle coeff" command must be specified in data file (see "read data" command) charmm (1) K (energy units) (2) theta (degrees) (3) K_UB (energy/distance^2) (4) r_UB (distance) cosine (1) K (energy units) define (or override) angle coefficients for an individual angle type use appropriate number of coeffs for a particular style see force_fields.html for meaning of coefficients for each style these coefficients can also be set in data file by a "Angle Coeffs" entry, the most recently defined coefficients are used cannot use this command before a "read data" or "read restart" is performed, because memory is not yet allocated for the necessary arrays
define style of angle interactions to use for all 3-body terms must be used before the "read data" command (if not using the default) to tell the program how to read the "Angle Coeffs" entry in the data file can be used after the "read data" command to change the style to none coefficients for all angle types must be defined in the data (or restart) file by a "Angle Coeffs" entry or by "angle coeff" commands before a run is performed Default = harmonic
styles:
coeffs: atom (1) global atom # molecule (1) molecule # type (1) atom type region (1) lower x bound of region (2) upper x bound of region (3) lower y bound of region (4) upper y bound of region (5) lower z bound of region (6) upper z bound of region bondtype (1) bond type angletype (1) angle type (2) bond type used within that angle remainder no other parameters required assign a group of atoms or a bond type to a particular constraint use appropriate number of coeffs for a particular style the constraint itself must first be defined by a "fix style" command multiple groups of atoms or bond types can be assigned to the same constraint the bondtype option can only be assigned to a "fix style" of "shake", multiple bondtypes can be SHAKEn, so long as the size of clusters of atoms does not exceed the limit described in the "fix style" command the angletype option can only be assigned to a "fix style" of "shake", only a single angletype can be SHAKEn, it is designed to be used in conjunction with "fix style bondtype" to make clusters of size 3 entirely rigid (e.g. water) the angletype option enables an additional check when SHAKE constraints are computed: if a cluster is of size 3 and both bonds in the cluster are of a bondtype specified by the 2nd parameter of angletype, then the cluster is SHAKEn with an additional angle constraint that makes it rigid, using the equilibrium angle appropriate to the specified angletype IMPORTANT NOTE: the angletype option has one additional affect, namely that no angle forces for any angle of type angletype are computed (since it is assumed those angles will be frozen by being SHAKEn), thus it will likely cause unintended behavior if the bonds in some atom pairs within angles of type angletype do not have the appropriate bondtype, since they will not be SHAKEn but neither will the angle force by computed for style region, a coeff of INF means + or - infinity (all the way to the boundary) an atom can be assigned to multiple constraints, the constraints will be applied in the reverse order they are assigned to that atom (e.g. each timestep, the last fix assigned to an atom will be applied to it first, then the next-to-last applied second, etc)
coeffs: harmonic (1) K (energy units) (2) r0 (distance units) fene/standard (1) k for FENE portion (energy/distance^2 units) (2) r0 for FENE portion (distance units) (3) epsilon for LJ portion (energy units) (4) sigma for LJ portion (distance units) fene/shift (1) k for FENE (energy/distance^2 units) (2) r0 for FENE after shift is performed (distance units) (3) epsilon for LJ (energy units) (4) sigma for LJ after shift is performed (distance units) (5) delta shift distance (distance units) nonlinear (1) epsilon (energy units) (2) r0 (distance units) (3) lamda (distance units) class2 currently not enabled for "bond coeff" command must be specified in data file (see "read data" command) define (or override) bond coefficients for an individual bond type use appropriate number of coeffs for a particular style see force_fields.html for meaning of coefficients for each style these coefficients can also be set in data file by a "Bond Coeffs" entry, the most recently defined coefficients are used cannot use this command before a "read data" or "read restart" is performed, because memory is not yet allocated for the necessary arrays
define style of bond interactions to use between all bonded atoms must be used before the "read data" command (if not using the default) to tell the program how to read the "Bond Coeffs" entry in the data file (if one exists) can be used after the "read data" command to change the style, in this case "bond coeff" commands must also be used to set new coefficients for each bond type (unless the new style is "none") coefficients for all bond types must be defined in the data (or restart) file by a "Bond Coeffs" entry or by "bond coeff" commands before a run is performed Default = harmonic
blank lines are ignored lines starting with a # are echoed into the log file for commands, everything on a line after the last parameter is ignored
styles:
coeffs: none no other parameters required cutoff (1) cutoff distance (distance units) smooth (1) inner cutoff (distance units) (2) outer cutoff (distance units) ewald (1) cutoff distance for near-field portion (distance units) (2) accuracy criterion pppm (1) cutoff distance for near-field portion (distance units) (2) accuracy criterion charmm/switch (1) inner cutoff (distance units) (2) outer cutoff (distance units) debye (1) cutoff distance (distance units) (2) kappa (inverse distance units) use appropriate number of coeffs for a particular style normally this command should be used before "read data" or "read restart" (if simulating a charged system) to tell LAMMPS how big a force cutoff is being used, the "maximum cutoff" command can also serve this purpose restart files do not store "coulomb style" choice or cutoff, so this should be specified in the input script when running from a restart file this command can also be used after "read data" or "read restart" to change the style of Coulomb interactions or the cutoff if simulated system has no charges, should set "coulomb style none" to prevent LAMMPS from doing useless nonbond work, LAMMPS will set this for you and issue a warning cutoff distance can be smaller or larger than simulation box dimensions accuracy criterion means "one part in value" - e.g. 1.0E-4 Ewald and PPPM accuracy criterion are used in conjunction with cutoff to partition work between short-range and long-range routines accuracy criterion effectively determines how many k-space vectors are used to approximate the energy and forces for PPPM, accuracy criterion determines mesh spacing (see "particle mesh" command) 3-d periodic boundary conditions are normally used in conjunction with Ewald and PPPM, see "slab volume" command for 2-d Ewald/PPPM cannot use any Coulomb styles other than none with nonbond style = lj/shift or nonbond style = soft Coulomb style = smooth should be used with nonbond style = lj/smooth, and both should use same inner and outer cutoffs nonbond style = lj/charmm should be used with coulomb style = charmm/switch for smooth and charmm/switch styles, outer cutoff must be > inner cutoff for smooth and charmm/switch styles, atom pairs less than the inner cutoff distance use usual Coulomb, pairs between inner and outer are smoothed, and the potential goes to 0.0 at the outer cutoff for smooth style, force is continuously differentiable everywhere for debye style, an exp(-kappa*r) screening is added to the Coulombic interaction Default = cutoff 10.0 for real units cutoff 2.5 for lj units
styles:
coeffs: types (1) lowest atom type (2) highest atom type molecules (1) lowest molecule ID (2) highest molecule ID region (1) lower x bound of region (2) upper x bound of region (3) lower y bound of region (4) upper y bound of region (5) lower z bound of region (6) upper z bound of region remainder no other parameters required used with "create temp" command to initialize velocities of atoms by default, the "create temp" command initializes the velocities of all atoms, this command limits the initialization to a group of atoms this command is only in force for the next "create temp" command, any subsequent "create temp" command is applied to all atoms (unless the "create group" command is used again) for style types, only atoms with a type such that lo-type <= type <= hi-type will be initialized by "create temp" for style types, lo-type can equal hi-type if just want to specify one type for style molecules, only atoms belonging to molecules with an ID # such that lo-ID <= type <= hi-ID will be initialized by "create temp" for style molecules, lo-ID can equal hi-ID if just want to specify one molecule for style region, only atoms within the specified spatial region will be initialized by "create temp" for style region, a coeff of INF means + or - infinity (all the way to the boundary) for style remainder, only previously uninitialized atoms will be initialized by "create temp"
styles:
coeffs: uniform (1) target T (temperature units) (2) random # seed (0 < seed <= 8 digits) gaussian (1) target T (temperature units) (2) random # seed (0 < seed <= 8 digits) velocity (1) x velocity component (velocity units) (2) y velocity component (velocity units) (3) z velocity component (velocity units) initialize velocities of atoms to a specified temperature use appropriate number of coeffs for a particular style cannot be done before a data or restart file is read by default, velocities are created for all atoms - this can be overridden by first using a "create group" command for uniform and Gaussian styles velocities are created in processor-independent fashion - is slower but gives the same initial state independent of # of processors for uniform and Gaussian styles the momentum of the initialized atoms is also zeroed, but only if all atoms are being initialized for uniform and Gaussian styles, RN are generated with Park/Miller RNG for velocity style in 2-d simulations, still specify z velocity component, even though it is ignored
call a user-defined diagnostic routine every this many timesteps this command can be used multiple times to call different routines at different frequencies, that use different parameters, and that send output to different files value of 0 for 2nd parameter means never call this particular routine this command causes any previous file associated with this user routine to be closed new filename can exist, will be overwritten if the file name specified is "none", then no file is opened each routine that is added to diagnostic.f and enabled with a "diagnostic" command will be called at the beginning and end of each "run" and every so many timesteps during the run see *** comments in diagnostic.f for changes that must be made in that file to enable user diagnostics, LAMMPS must then be re-compiled and re-linked see the diagnostic.f file for further information on how to create routines that operate on internal LAMMPS data, do their own file output, perform different operations (e.g. setup and clean-up) depending on when they are called, etc the optional 5th-9th parameters are stored as internal LAMMPS variables which can be accessed by the diagnostic routine
set dielectric constant to this value Default = 1.0
coeffs: harmonic (1) K (energy units) (2) d (+1 or -1) (3) n (1,2,3,4,6) multiharmonic (1) A_1 (energy units) (2) A_2 (energy units) (3) A_3 (energy units) (4) A_4 (energy units) (5) A_5 (energy units) class2 currently not enabled for "dihedral coeff" command must be specified in data file (see "read data" command) charmm (1) K (energy units) (2) n (1,2,3,4,6) (3) d (0 or 180 degrees) (converted to radians within LAMMPS) (4) weighting factor to turn on/off 1-4 neighbor nonbond interactions define (or override) dihedral coefficients for an individual dihedral type use appropriate number of coeffs for a particular style see force_fields.html for meaning of coefficients for each style these coefficients can also be set in data file by a "Dihedral Coeffs" entry, the most recently defined coefficients are used cannot use this command before a "read data" or "read restart" is performed, because memory is not yet allocated for the necessary arrays
define style of dihedral interactions to use for all 4-body terms must be used before the "read data" command (if not using the default) to tell the program how to read the "Dihedral Coeffs" entry in the data file can be used after the "read data" command to change the style to none coefficients for all dihedral types must be defined in the data (or restart) file by a "Dihedral Coeffs" entry or by "dihedral coeff" commands before a run is performed Default = harmonic
for a 2-d run, assumes all z-coords are set to 0.0 in "read data" or "read restart" files and program creates no z velocities this command sets the processor grid to default values for 2-d or 3-d so must be used before "processor grid" command must be set before data or restart file is read Default = 3
dump all atom positions to a file every this many timesteps (every this many iteration when the minimizer is invoked) when rRESPA is enabled, this is steps of outermost loop (longest timesteps) positions are also dumped at the start and end of each run when dumped during minimization, all dumps will have the same timestamp since the timestep does not change during minimization value of 0 means never dump any previous file is closed new filename can exist, will be overwritten atom positions in dump file are in "box" units (0.0 to 1.0) in each dimension IMPORTANT NOTE: due to the way periodic boundary conditions are enforced (only when neighbor lists are rebuilt), atom coords appearing in the dump file can be slightly outside the specified box Default = 0
dump all atom forces to a file every this many timesteps (every this many iteration when the minimizer is invoked) when rRESPA is enabled, this is steps of outermost loop (longest timesteps) forces are also dumped at the start and end of each run when dumped during minimization, all dumps will have the same timestamp since the timestep does not change during minimization any previous file is closed new filename can exist, will be overwritten value of 0 means never dump Default = 0
dump all atom velocities to a file every this many timesteps when rRESPA is enabled, this is steps of outermost loop (longest timesteps) velocities are also dumped at the start and end of every run any previous file is closed new filename can exist, will be overwritten value of 0 means never dump Default = 0
factors that affect how much extra memory is allocated when a problem is setup factor of 1.0 means no padding (use exactly what LAMMPS estimates is needed), factor of 2.0 means 2x longer arrays, etc typically don't need to change default settings unless LAMMPS tells you to "boost" some factor at run-time final section of log file lists optimal settings for these parameters, i.e. the job could have been run with those "extra memory" settings and would have used minimal memory must be set before data or restart file is read Default = 1.5 for all 4 parameters
styles:
coeffs: none no other parameters required (use "none" as 1st parameter) setforce (1) x component of set force (in force units) (2) y component of set force (in force units) (3) z component of set force (in force units) addforce (1) x component of added force (in force units) (2) y component of added force (in force units) (3) z component of added force (in force units) aveforce (1) x comp of added average force per atom (in force units) (2) y comp of added average force per atom (in force units) (3) z comp of added average force per atom (in force units) rescale (1) desired T at beginning of run (2) desired T at end of run (3) check for rescaling every this many timesteps (4) T window outside of which velocities will be rescaled (5) fractional amount (0.0 to 1.0) of rescaling to perform hoover/drag (1) desired T at beginning of run (2) desired T at end of run (3) damping constant for drag (roughly inverse time units) langevin (1) desired T at beginning of run (2) desired T at end of run (3) Langevin damping parameter (inverse time units) (4) random seed to use for white noise (0 < seed <= 8 digits) (5) 0/1 = off/on x dimension (6) 0/1 = off/on y dimension (7) 0/1 = off/on z dimension springforce (1) x position of spring origin (2) y position (3) z position (4) force constant k (so that k*distance = force units) dragforce (1) x position to drag atom towards (2) y position (3) z position (4) force magnitude f (in force units) (5) delta outside of which to apply force (in distance units) shake (1) max # of SHAKE iterations within each atom cluster (2) SHAKE tolerance (accuracy of one part in tolerance) (3) print bond statistics every this many steps (0 = never) define a constraint cannot skip a constraint number, all must be used before a run is performed use appropriate number of coeffs for a particular style which atoms or bonds the constraint will affect is set by the "assign fix" command all of the constraints (except for rescale) are applied every timestep all specified temperatures are in temperature units for style setforce, a coeff of NULL means do not alter that force component for style aveforce, average force on the group of fixed atoms is computed, then new average force is added in and actual force on each atom is set to new total value -> has effect of applying same force to entire group of atoms thermostatting constraints (rescale, hoover/drag, langevin) cannot be used in conjunction with global "temp control", since they conflict and will cause atom velocities to be reset twice thermostatting constraints (rescale, hoover/drag, langevin) cannot be used when performing a minimization if multiple Langevin constraints are specified the Marsaglia RNG will only use the last RNG seed specified for initialization meaning of rescale and Langevin thermostatting coefficients is same as in "temp control" command for rescale style, it can be used as a coarse temperature rescaler, for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature up during the simulation, resetting it to the target temperature as needed for rescale style, it can be used to create an instantaneous drag force that slowly rescales the temperature without oscillation, for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) the temperature to be 300.0, the time frame over which this occurs will become longer as the last parameter is made smaller for hoover/drag style, the drag force accumulates over time so some oscillation in temperature can occur, for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) the temperature to be 300.0, the time frame over which the oscillations occur will become longer as the last parameter is made smaller style springforce is designed to be applied to an entire group of atoms en masse (e.g. an umbrella force on an entire molecule) for springforce style, the center of mass r0 of the group of atoms is computed, then a restoring force = -k*(r-r0)*mass/masstotal is applied to each atom in the group where mass = mass of the atom and masstotal = mass of all the atoms in the group - thus "k" should represent the total force on the group of atoms (not per atom) for springforce style, a xyz position of NULL means do not include that dimension in the distance or force computation for dragforce style, apply a drag force of magnitude f to each atom in the group in the direction (r-r0) where r0 = (x,y,z) - do not apply the force if the atom is within a distance delta of r0 for dragforce style, a xyz position of NULL means do not include that dimension in the distance or force computation for shake style, certain bonds in the system are constrained every timestep to be at their equilibrium length, this is done by applying a SHAKE-like constraint to the forces on the atoms so that their position at the next timestep will preserve the atom separations for shake style, only atoms in small clusters can be constrained - e.g. water molecules, CH3 groups, but not the C backbone of a long polymer chain - a cluster is defined as a central atom connected to others in the cluster by constrained bonds connected together by constrained bonds - the max size of such a cluster is 4 atoms to enable easier parallelization for shake style, the max iteration count need not be large (e.g. 3) since iterations are only done within a cluster and converge quickly see the "minimize" command for what constraints are allowed for use with the minimizer see the "respa" command for how constraints are applied when rRESPA timestepping is enabled Default = none
coeffs: harmonic (1) K (energy units) (2) chi (degrees) cvff (1) K (energy units) (2) d (+1 or -1) (3) n (0,1,2,3,4,6) class2 currently not enabled for "improper coeff" command must be specified in data file (see "read data" command) define (or override) improper coefficients for an individual improper type use appropriate number of coeffs for a particular style see force_fields.html for meaning of coefficients for each style these coefficients can also be set in data file by a "Improper Coeffs" entry, the most recently defined coefficients are used cannot use this command before a "read data" or "read restart" is performed, because memory is not yet allocated for the necessary arrays
define style of improper interactions to use for all trigonal centers in class2 case, dictates that angle-angle terms be included for all trigonal and tetrahedral centers angle for harmonic is improper torsion, angle for class2 is Wilson out-of-plane must be used before the "read data" command (if not using the default) to tell the program how to read the "Improper Coeffs" entry in the data file can be used after the "read data" command to change the style to none coefficients for all improper types must be defined in the data (or restart) file by a "Improper Coeffs" entry or by "improper coeff" commands before a run is performed Default = harmonic
specifies the longest force cutoff that will be used in any runs this value is used by LAMMPS to accurately allocate memory for neighbor arrays if the value is inaccurate (e.g. the command is not used), it is not an error, but LAMMPS may allocate insufficient memory for neighbor lists this command is not typically needed if the "nonbond style" and "coulomb style" commands are used before the "read data" or "read restart" command, since they specify the appropriate cutoffs an exception to this is if a short cutoff is used initially, but a longer cutoff will be used for a subsequent run (in the same input script), in this case the "maximum cutoff" command should be used to insure enough memory is allocated for the later run note that a restart file contains nonbond cutoffs (so it is not necessary to use a "nonbond style" command before "read restart"), but LAMMPS still needs to know what the maximum cutoff will be before the restart file is read must be set before data or restart file is read Default = cutoffs for nonbond and Coulomb styles
write out minimization info every this many iterations value of 0 means never write Default = 1
choose minimization algorithm to use when "minimize" command is performed currently, the hftn style is the only option available Default = hftn
perform an energy minimization of the atomic coordinates of the system uses algorithm selected with "min style" command minimize commands can be interspersed with "run" commands to alternate between dynamics and relaxation of the system minimization stops if any of 3 criteria are met: (1) largest force component < stopping tolerance (2) # of iterations > max iterations (3) # of force and energy evaluations > max evaluations output from the minimizer is specified by the "dump atoms", "dump forces", and "restart" commands when using constraints with the minimizer, fixes are applied when atoms move except for the following fixes associated with temperature control are not allowed (rescale, hoover/drag, langevin) the minimizer does not invoke the "fix style shake" constraints on bond lengths the minimizer does not invoke pressure control or volume control settings for good convergence, should specify use of smooth nonbond force fields that have continuous second derivatives, e.g. set "coulomb style" to "smooth" or "pppm", set "nonbond style" to "lj/smooth" or use a long cutoff
styles:
determine the kind of mixing rule that is applied to generate nonbond coefficients for interactions between type i and type j atoms mixing rules are applied only when nonbond coeffs are input in a "read data" file for nonbond style "soft", only epsilons (prefactor A) are input - they are always mixed geometrically, regardless of mixing style setting for nonbond style "lj/charmm", mixing style is always arithmetic, regardless of mixing style setting must be set before data file is read Default = geometric for all nonbond styles except arithmetic for nonbond style lj/charmm sixthpower for nonbond style class2/cutoff
factors that affect how and when neighbor lists are constructed the binning style is almost always faster than the N^2 style skin must be large enough that all atoms needed for bond interactions are also acquired by interprocessor communication last parameter incurs extra checking and communication to test against skin thickness, but may mean neighbor list is created less often when rRESPA is run, the 3rd and 4th parameters refer to the nonbond (short-range) timestepping normally this command should be used before the data or restart file is read, since the skin distance is used to estimate memory needed for neighbor lists this command can also be used after the "read data" or "read restart" command to change the style of neighbor list construction, but if the skin distance is changed it can cause LAMMPS to run out of neighbor list memory, the "maximum cutoff" command can be used to avoid this problem Default = 2.0 1 1 10 1 for real units 0.3 1 1 10 1 for lj units
turn off or on Newton's 3rd law for bond and non-bond force computation
no Newton's 3rd law means more force computation and less communication yes Newton's 3rd law means less force computation and more communication which choice is faster is problem dependent on N, # of processors, and cutoff length(s) expect for round-off errors, setting this flag should not affect answers, only run time must be set before data or restart file is read Default = 3
coeffs: lj/cutoff (1) epsilon (energy units) (2) sigma (distance units) (3) cutoff (distance units) lj/smooth (1) epsilon (energy units) (2) sigma (distance units) (3) inner cutoff (distance units) (4) outer cutoff (distance units) lj/shift (1) epsilon (energy units) (2) sigma (distance units) (3) delta shift distance (distance units) (4) cutoff (distance units) soft (1) prefactor A at start of run (energy units) (2) prefactor A at end of run (energy units) (3) cutoff (distance units) class2/cutoff (1) epsilon (energy units) (2) sigma (distance units) (3) cutoff (distance units) lj/charmm (1) epsilon (energy units) (2) sigma (distance units) (3) epsilon for 1-4 interactions (energy units) (4) sigma for 1-4 interactions (distance units) define (or override) nonbond coefficients for an individual atom type pair use appropriate number of coeffs for a particular style 1st atom type must be <= 2nd atom type all cutoffs are in global units, not local sigma units (e.g. in reduced units a setting of "lj/cutoff 1.0 1.2 2.5" means a cutoff of 2.5, not 1.2*2.5) turn off a particular type pair interaction by setting the cutoff to 0.0 (both cutoffs to zero for lj/smooth option) for soft style, prefactor A is ramped from starting value to ending value during run these coefficients (except the cutoffs) can also be set in data file by a "Nonbond Coeffs" entry and associated mixing rules, the cutoffs can be set (globally) via the "nonbond style" command, the most recently defined coefficients/cutoffs are used cannot use this command before a "read data" or "read restart" is performed, because memory is not yet allocated for the necessary arrays
styles:
coeffs: none no other parameters required lj/cutoff (1) cutoff (distance units) (2) offset flag (0 or 1) lj/smooth (1) inner cutoff (distance units) (2) outer cutoff (distance units) lj/shift (1) cutoff (distance units) (2) offset flag (0 or 1) soft (1) cutoff (distance units) class2/cutoff (1) cutoff (distance units) (2) offset flag (0 or 1) lj/charmm (1) inner cutoff (distance units) (2) outer cutoff (distance units) define style of pairwise nonbond interactions to use between all atom types use appropriate number of coeffs for a particular style this is separate from charge interactions (see "coulomb style" command) normally this command should be used before "read data" to tell LAMMPS how big a force cutoff is being used, the "maximum cutoff" command can also serve this purpose when running from a restart file, the restart file contains the nonbond style and nonbond cutoffs (but not the offset flag), so it is often not necessary to use a "nonbond style" command before "read restart", however LAMMPS still needs to know what the maximum cutoff will be before the restart file is read, see "maximum cutoff" command for more details this command can also be used after "read data" or "read restart" to change the style of nonbond interactions and/or the cutoff cutoff distance can be smaller or larger than simulation box dimensions nonbond style determines how many nonbond coefficients the program expects to find in a "Nonbond Coeffs" entry in the data file or when using the "nonbond coeff" command, thus the style must be set (if not using default) before using the "read data" command (if the data file contains a "Nonbond Coeffs" entry) or a "nonbond coeff" command coefficients for all atom type pairs must be defined in data (or restart) file by a "Nonbond Coeffs" entry or by "nonbond coeffs" commands before a run is performed this command sets the cutoff(s) for all type pair interactions, thus overriding any previous settings by a "nonbond coeff" command or that were read in from a data or restart file for lj/cutoff, lj/shift, class2/cutoff styles, offset flag only affects printout of thermodynamic energy (not forces or dynamics), determines whether offset energy is added in to LJ potential to make value at cutoff = 0.0, flag = 0 -> do not add in offset energy, flag = 1 -> add in offset energy for lj/smooth and lj/charmm styles, outer cutoff must be > inner cutoff for lj/smooth and lj/charmm styles, atom pairs less than the inner cutoff distance use straight LJ, pairs between inner and outer use a smoothed LJ, and the potential goes to 0.0 at the outer cutoff for lj/smooth and lj/charmm styles, energy and forces are continuous at inner cutoff and go smoothly to zero at outer cutoff for lj/shift and soft styles, must set "coulomb style" to "none" for lj/charmm style, must set "coulomb style" to "charmm/switch", "pppm", or "ewald" for lj/shift style, delta shift distances for each atom pair are set by "Nonbond Coeffs" entry in data file or by "nonbond coeffs" command for soft style, values of the prefactor "A", which is ramped from one value to another during the run, are set by "Nonbond Coeffs" entry in data file or by "nonbond coeffs" command Default = lj/cutoff 10.0 0 for real units lj/cutoff 2.5 0 for lj units
turn on/off periodicity in any of three dimensions used in inter-particle distance computation and when particles move to map (or not map) them back into periodic box for a 2-d run (see "dimension" command), 3rd parameter must be specified, but doesn't matter if it is 0 or 1 must be set before data or restart file is read Default = 0 0 0 (periodic in all dimensions)
specify the mesh size used by "coulomb style pppm" mesh dimensions that are power-of-two are fastest for FFTs, but any sizes can be used that are supported by native machine libraries this command is optional - if not used, a default mesh size will be chosen to satisfy accuracy criterion - if used, the specified mesh size will override the default
specify the order of the interpolation function that is used by "coulomb style pppm" to map particle charge to the particle mesh order is roughly equivalent to how many mesh points a point charge overlaps onto in each dimension Default = 5
styles:
coupling:
coeffs: none no other parameters required nose/hoover xyz (1) desired P at beginning of run (2) desired P at end of run nose/hoover xy or yz or xz or aniso (1) desired Px at beginning of run (or NULL, see below) (2) desired Px at end of run (3) desired Py at beginning of run (4) desired Py at end of run (5) desired Pz at beginning of run (6) desired Pz at end of run (7) frequency constant for volume adjust (inverse time units) enable constant pressure simulations all specified pressures are in pressure units any dimension being varied by pressure control must be periodic for xyz coupling, all 3 dimensions expand/contract together uniformly using total scalar pressure as the driving force for xy/yz/xz coupling, the 2 specified dimensions expand/contract together uniformly using pressure components averaged over those 2 dimensions as the driving force, the non-specified dimension will expand/contract independently using its pressure component as the driving force for anisotropic, all 3 dimensions expand/contract independently using individual pressure components as the 3 driving forces in all cases, the simulation box stays rectilinear (not Parinello-Rahman) for dimensions coupled together, their specified P values should be the same a non-coupled dimension (e.g. dimension z for xy option or any dimension for aniso option) can have 2 NULL values as specified pressures, which means apply no pressure control in that dimension (constant volume) target pressure at intermediate points during a run is a ramped value between the beginning and ending pressure(s) for nose/hoover style, frequency constant is like an inverse "piston" mass which determines how rapidly the pressure fluctuates in response to a restoring force, large frequency -> small mass -> rapid fluctations for nose/hoover style, units of frequency/damping constant are inverse time, so a value of 0.001 means relax in a timespan on the order of 1000 fmsec (real units) or 1000 tau (LJ units) IMPORTANT NOTE: the computation of P in LAMMPS does not include a long-range Van der Waals correction, this introduces a known error when performing constant P simulations since the correction factor changes as the box size varies Default = none
specify 3-d grid of processors to map to physical simulation domain for 2-d problem, specify N by M by 1 grid program will choose these values to best map processor grid to physical simulation box, only use this command if wish to override program choice product of 3 parameters must equal total # of processors must be set before data or restart file is read Default = none
read the initial atom positions and bond info from the specified file the format for the data file is specified in the file data_format if a "Velocities" entry is not in data file, all atom velocities are set to 0.0 if a "Coeffs" entry is in data file, the appropriate "style" command command must be used first (unless default setting is used) to tell LAMMPS how many coefficients to expect a "Nonbond Coeffs" entry only contains one set of coefficients for each atom type, after being read-in mixing rules are applied to compute the cross-type coefficients, see the "mixing style" command and data_format file for more information
read atom and force-field information from specified file allows continuation of a previous run file is binary to enable exact restarts do not have to restart on same # of processors, but can only do exact restarts on same # of processors due to roundoff when restart file is read, warnings are issued if certain parameters in the restart file do not match current settings (e.g. newton flag, dimension, periodicity, units) - this usually indicates an error the restart file stores the "nonbond style" and many-body styles and coefficients and cutoffs, so these do not have to be re-specified in the input script, unless you want to change them the restart file does not store "coulomb style" choice or cutoff, so this should be re-specified in the input script the restart file stores the constraint assignments for each atom generated by using the "assign fix" command, it does NOT store the constraint parameters themselves, so they must be re-specified with "fix style" commands after the restart file is read - one exception to this is that SHAKE constraints (bondtype or angletype) are not stored with the atoms, so they must be re-specified when performing a restart with both the "fix style" and "assign fix" commands
explicitly reset the timestep to this value the "read data" and "read restart" commands set the timestep to zero and the file value respectively, so this should be done after those commands
factors that affect sub-cycling of force calculations within rRESPA hierarchy bonded intramolecular forces are calculated every innermost sub-timestep bonded 3- and 4-body forces are computed every 1st parameter sub-timesteps short-range nonbond pairwise forces (LJ, Coulombic) are computed every (2nd parameter * 1st parameter) sub-timesteps long-range (Ewald, PPPM) forces are computed every (3rd parameter * 2nd parameter * 1st parameter) sub-timesteps the timestepping for all 3 inner loops (bond, 3/4-body, nonbond) is performed as sub-cycling within the long-range timestepping loop the fastest (innermost) timestep size is set by the "timestep" command when running rRESPA, all input commands that specify numbers of timesteps (e.g. run, thermo flag, restart, etc) refer to the outermost loop of long-range timestepping the only exception to this rule is the "neighbor" command, where the timestep parameters refer to the short-range (nonbond) timestepping when using constraints (via the "fix style" and "assign fix" commands) with rRESPA, the setforce and aveforce constraints are applied at every level of the hierarchy (whenever forces are computed), the other constraints are applied only at the short-range (nonbond) level when using "temp control langevin" with rRESPA, thermostatting is applied at the short-range (nonbond) level rRESPA cannot be used with "fix style shake" setting all 3 parameters to 1 turns off rRESPA Default = 1 1 1 (no rRESPA)
create a restart file every this many timesteps value of 0 means never create one if the style is 1, restart information will be written to files named filename.timestep and no 4th parameter is needed if the style is 2, restart information will be written alternately to files given by the 3rd and 4th parameters, so only 2 restart files ever exist when the minimizer is invoked this command means create a restart file at the end of the minimization with the filename filename.timestep.min a restart file stores atom and force-field information in binary form allows program to restart from where it left off (see "read restart" command) Default = 0
tell LAMMPS that a restart file from an older version of LAMMPS will be read-in via a "read restart" command this command is necessary because older restart files have a different format valid settings are 2001 (LAMMPS 2001), 2000 (LAMMPS 2000), 6 (LAMMPS 99) or 5 (LAMMPS 5.0) restart files from earlier versions of LAMMPS are not readable without some source code modifications restart files are always written out in the current-version format regardless of this setting this must be set before the "read restart" command is executed Default = current version of code = 2001
zero out angular momentum when creating velocities for a group of atoms value of 0 means don't zero out, value of 1 means zero it Default = 0
run or continue dynamics for specified # of timesteps when rRESPA is enabled, this is steps of outermost loop (longest timesteps) must have performed "read data" or "read restart" command first
invoke 2-d slab Ewald/PPPM and set extended slab volume via this ratio 2-d slab Ewald/PPPM can be used for a system that is periodic in x-y, but not in z this ratio dampens inter-slab interactions in the z dimension by providing empty volume between slabs and removing dipole inter-slab interactions ratio value is the size of the extended dimension in z divided by the actual dimension in z recommended ratio value is 3.0: larger is inefficient, smaller risks unwanted inter-slab interactions when 2-d slab Ewald/PPPM is used, z-direction periodicity must be turned off - e.g. periodicity 0 0 1 when 2-d slab Ewald/PPPM is used, user must prevent particle migration beyond initial z-bounds, typically by providing walls 2-d slab Ewald/PPPM can only be used only with electrostatically neutral systems 2-d slab Ewald/PPPM can only be used (for the moment) with constant volume simulations (no pressure control) - the pressure computation (printed as thermodynamic data) does not include any slab correction factor or a volume correction for the extended z direction must be set before data or restart file is read Default = none (normal 3-D Ewald/PPPM)
weighting factors to turn on/off nonbond interactions of atom pairs that are "close" in the molecular topology 1-2 neighbors are a pair of atoms connected by a bond 1-3 neighbors are a pair of atoms 2 hops away, etc. weight values are from 0.0 to 1.0 and are used to multiply the energy and force interaction (both Coulombic and LJ) between the 2 atoms weight of 0.0 means no interaction weight of 1.0 means full interaction can either specify a single keyword (charmm, amber) or can give 3 numeric values using the charmm keyword means use the CHARMM force field settings of 0.0 0.0 0.0, requiring that pair-specific 1-4 interactions be read in individually (see "dihedral style charmm" command) using the amber keyword means use the AMBER force field settings of 0.0 0.0 N, where N = 0.5 for Van der Waals 1-4 interactions and 1.0/1.2 for Coulombic 1-4 interactions Default = CHARMM force field values of 0.0 0.0 0.0
styles:
coeffs: none no other parameters required rescale (1) desired T at beginning of run (2) desired T at end of run (3) check for rescaling every this many timesteps (4) T window outside of which velocities will be rescaled (5) fractional amount (0.0 to 1.0) of rescaling to perform replace (1) desired T at beginning of run (2) desired T at end of run (3) do Gaussian replacement every this many timesteps (4) random # seed to use for replacement (0 < seed <= 8 digits) langevin (1) desired T at beginning of run (2) desired T at end of run (3) Langevin damping parameter (inverse time units) (4) random seed to use for white noise (0 < seed <= 8 digits) nose/hoover (1) desired T at beginning of run (2) desired T at end of run (3) frequency constant for friction force (inverse time units) enable constant temperature simulations use appropriate number of coeffs for a particular style all specified temperatures are in temperature units target temperature at intermediate points during run is a ramped value between the beginning and ending temperatures for rescale style, temperature is controlled by explicitly rescaling velocities towards the target temperature for rescale style, rescaling is only done if current temperature is beyond the target temperature plus or minus the window value for rescale style, the amount of rescaling is contfolled by the fractional amount (0.0 to 1.0), e.g. a value of 0.5 means set the velocities to halfway between the current and target temperature for rescale style, it can be used as a coarse temperature rescaler, for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature up during the simulation, resetting it to the target temperature as needed for rescale style, it can be used to create an instantaneous drag force that slowly rescales the temperature without oscillation, for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) the temperature to be 300.0, the time frame over which this occurs will become longer as the last parameter is made smaller for replace style, Gaussian RNs from the Marsaglia RNG are used for langevin style, uniform RNs from the Marsaglia RNG are used for replace and langevin styles, the seed is used to initialize the Marsaglia RNG, on successive runs the RNG will just continue on for replace and langevin styles, generated RNs depend on # of processors so will not get same answers independent of # of processors for replace and langevin styles, RNG states are not saved in restart file, so cannot do an exact restart for langevin style, damping parameter means small value -> less damping for nose/hoover style, frequency constant is like an inverse "piston" mass which determines how rapidly the temperature fluctuates in response to a restoring force, large frequency -> small mass -> rapid fluctations for nose/hoover style, cannot use a end-of-run T of 0.0, must be finite for langevin and nose/hoover styles, units of frequency/damping constant are inverse time, so a value of 0.01 means relax in a timespan on the order of 100 fmsec (real units) or 100 tau (LJ units) Default = none
print thermodynamic info to screen and log file every this many timesteps value of 0 means never print Default = 0
determines format of thermodynamic output to screen and log file
Default = 0
timestep size for MD run (time units) when rRESPA is enabled, the timestep size is for the innermost (bond) loop Default = 1.0
read atom positions (see "read data" command) and dump atom positions (see "dump atoms" command) in one of 2 formats
for each dimension, box count of "n" means add that many box lengths to get "true" un-remapped position, "n" can be positive, negative, or zero must be set before data or restart file is read Default = 0
set units to one of two options for all subsequent input parameters option real = conventional units:
option lj = LJ reduced units:
for LJ units, LAMMPS sets global epsilon,sigma,mass all equal to 1.0 subsequent input numbers in data and command file must be in these units output numbers to screen and log and dump files will be in these units this command (if it appears) must be the first command (aside from comments) in the input script must be set before data or restart file is read Default = real
styles:
enable volume changes (density changes) during a simulation specified box boundaries are in distance units each dimension is controlled separately dimensions not specified by a "volume control" command can be left alone (constant volume or nonperiodic) or controlled by a "press control" command any dimension being varied by volume control must be periodic the lo/hi values are the desired global simulation box boundaries at the end of the simulation run at each timestep, the box is expanded/contracted uniformly from its initial lo/hi values to the specified ending lo/hi values initial lo/hi values are specified in the data or restart file or inherited from the end of the previous run at each timestep, all atom coordinates are also scaled to the new box Default = none