Structure of a LAMMPS input script









Return to top-level of LAMMPS documentation.
  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 ...



LAMMPS Input Commands

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.


  • Initialization Settings

    (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

    Optional Settings

    (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
    nonbond style          expo_6/cutoff 12.0 0
    nonbond style          expo_6/spline 12.0 15.0
    nonbond style          expo_6/smooth 12.0 0
    
    
    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
    
    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            cosharmonic
    
    
    dihedral style         none
    dihedral style         harmonic
    dihedral style         mutliharmonic
    dihedral style         class2
    dihedral style         charmm
    dihedral style         dreiding
    
    improper style         none
    improper style         harmonic
    improper style         cvff
    improper style         class2
    inversion style         none
    inversion style         umbrella

    Read in a Problem

    read data              data.lj
    read restart           restart.100000

    special bonds

    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

    Velocity Creation

    (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

    Force Field Parameters

    (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)
    nonbond coeff          1 2 1.0 3.45 12.0 10.0    (nonbond style expo_6/cutoff)
    nonbond coeff          1 2 1.0 3.45 12.0 10.0 12.0   (nonbond style expo_6/spline)
    nonbond coeff          1 2 1.0 3.45 12.0 10.0    (nonbond style expo_6/smooth)
    
    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 108.0              (angle style cosharmonic)
    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)
    dihedral coeff         1 2.0 1 3.0               (dihedral style dreiding)
    improper coeff         1 20.0 0.0                (improper style harmonic)
    improper coeff         1 20.0 10.0               (improper style cvff)

    Constraints

    (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 remainder

    Ensemble Control

    (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

    Output Control

    (if used, must appear after "read data" or "read restart" command)
    thermo flag            50
    thermo style           0
    
    dump atoms             100 filename
    dump trajectory        100 filename
    dump velocities        100 filename
    dump forces            100 filename
    dump energy            100 0 filename
    dump ift               100 0 25 filename 1
    
    restart                1000 1 filename
    restart                1000 2 file1 file2
    diagnostic             diffusion 100 filename 3 1.0 -1.0 2.5

    Integrator Settings

    (if used, must appear after "read data" or "read restart" command)
    timestep               1.0
    respa                  2 2 4
    reset timestep         0

    Minimizer Settings

    (if used, must appear after "read data" or "read restart" command)
    min style              hftn
    min flag               10

    Perform a Simulation

    run                    10000
    minimize               0.0001 9999 50000


    Alphabetic Listing of Commands:


    angle coeff

    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)
              cosharmonic
                   (1) K (energy units)
                   (2) theta (degrees)
    
    
    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

    angle style

    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

    assign fix

    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
             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
    an atom can be assigned to multiple constraints, the contraints 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)
    for style region, a coeff of INF means + or - infinity (all the way 
      to the boundary)

    bond coeff

    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

    bond style

    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

    comments

    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

    coulomb style

    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)
    
    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/switch,
      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
    
    Default = cutoff 10.0   for real units
              cutoff 2.5    for lj units

    create group

    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" commmand 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"

    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

    diagnostic

    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

    dielectric

    set dielectric constant to this value
    
    Default = 1.0

    dihedral coeff

    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
              dreiding
                   (1) K (energy units)
                   (2) d (+1 or -1)
                   (3) n (1,2,3,4,6)
    
    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
    For dreiding style up to six terms can be defined for each dihedral type.
    Add lines with same type number if more than one value of n is needed.
    K,d,n for each individual term must be defined separately.

    dihedral style

    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
    dreiding style dihedral takes into account the number of dihedrals
    shared by a central bond. The total energy is divided by this number.
    
    Default = harmonic

    dimension

    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 atoms

    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 energy

    dump all atomic energies to a file every this many timesteps
    value of 0 means never dump
    any previous file is closed
    new filename can exist, will be overwritten
    atom energetics are calculated correctly for all terms after a thermodynamic
    (thermo flag) call has been made.  This is specially needed for the non-bond
    interactions which only get updated by thermo module.

    Default = 0


    dump ift

    dump interfacial tension information to a file every this many timesteps
    value of 0 means never dump
    any previous file is closed
    new filename can exist, will be overwritten
    interfacial tension is calculated and averaged over timesteps and statistics given.
    long range virial can be added at extra compute cost, required for polar solvents.
    
    Default = 0

    dump trajectory

    dump all atom positions and velocities to a binary file every this many timesteps
    when rRESPA is enabled, this is steps of outermost loop (longest timesteps).
    Generates Cerius2 trajectory file version 2010 which can be used to estimate
    thermodynamic properties (energy, entropy, free energy) of the entire system
    or subgroup of atoms.
    The trajectory is also dumped at the start and end of each run.
    Value of 0 means never dump
    any previous file is closed
    new filename can exist, will be overwritten
    atom positions in trajectory file are in input coordinate units 
    IMPORTANT NOTE: due to the way periodic boundary conditions are enforced
      (only when neighbor lists are rebuilt), atom coords appearing in the trajectory
      file can be outside the specified box
    
    Default = 0

    dump forces

    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 velocities

    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

    extra memory

    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

    fix style

    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
      conjuction 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 temperatue 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

    improper coeff

    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

    improper style

    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

    maximum cutoff

    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

    min flag

    write out minimization info every this many iterations
    value of 0 means never write
    
    Default = 1

    min style

    choose minimization algorithm to use when "minimize" command is performed
    currently, the hftn style is the only option available
    
    Default = hftn

    minimize

    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" contraints 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

    mixing style

    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 Do  (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.  Another exception is the exponential-6
    mixing rule (see Force Field description of this rule)
    
    Default = geometric for all nonbond styles except
              arithmetic for nonbond style lj/charmm
              sixthpower for nonbond style class2/cutoff

    neighbor

    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

    newton flag

    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

    nonbond coeff

    coeffs: lj/cutoff
                   (1) Do      (energy units)
                   (2) Ro    (distance units)
                   (3) cutoff (distance units)
            lj/smooth
                   (1) Do      (energy units)
                   (2) Ro    (distance units)
                   (3) inner cutoff (distance units)
                   (4) outer cutoff (distance units)
            lj/shift
                   (1) Do      (energy units)
                   (2) Ro    (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) Do      (energy units)
                   (2) Ro    (distance units)
                   (3) Do      for 1-4 interactions (energy units)
                   (4) Ro    for 1-4 interactions (distance units)
            expo_6/cutoff
                   (1) Do (energy units)
                   (2) Ro (distance units)
                   (3) y   dimensionless scale factor
                   (4) cutoff (distance units)
            expo_6/spline
                   (1) Do (energy units)
                   (2) Ro (distance units)
                   (3) y   dimensionless scale factor
                   (4) inner cutoff (distance units)
                   (5) outer cutoff (distance units)
            expo_6/smooth
                   (1) Do (energy units)
                   (2) Ro (distance units)
                   (3) y   dimensionless scale factor
                   (4) inner cutoff (distance units)
    
    define (or override) nonbond coefficients for an individual atom type pair
    effectively overriding combination rules.  Input format for "data" file
    is for diagonal terms and doesn't require cutoff value specification, which
    is done through the nonbond style command in the input file.
    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 Ro  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
    for exponential-6  y >6 is a scale factor. y=12 resembles lj potential
    for expo_6/smooth a cubic spline is employed.  The outer cutoff (approximately
    equal to (5/4)*inner cutoff) is chosen to give monotonic forces between
    inner and outer cutoffs which are often encountered in the spline method.
    energy and slope are zero at outer cutoff.  expo_6/smooth allows more consistent
    and automatic choice of outer cutoff across all values of Do,Ro,y.

    nonbond style

    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)
             expo_6/cutoff
                   (1) cutoff (distance units)
                   (2) offset flag (0 or 1)
             expo_6/spline
                   (1) inner cutoff (distance units)
                   (2) outer cuttof (distance units)
             expo_6/smooth
                   (1) inner cutoff (distance units)
                   (2) info flag (0 or 1)  
    
    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, expo_6/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 expo_6/cutoff the A*exp(-Cr) - B/r^6 nonbond function is used.
    expo_6 input parameters are in terms of Ro, Do, and y scale factor. 
    for expo_6/spline an inner and outer cutoff distance is required over which
    the cubic spline weight is applied Es=E(r)*S(R).  S(R) cubic spline gurantees 
    continuity in energy at the inner cutoff, vanishing at the outer cutoff.  
    Depending on the choice of outer cutoff the force may not be monotonic. 
    for expo_6/smooth a single inner cutoff is required.  The energy switches to a 
    cubic polynomial that gurantees monotonic forces between inner and outer cutoffs.
    Use the print flag value 1 to print out the internally determined outer cutoffs.
    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

    periodicity

    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)

    pppm mesh

    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
      specifed mesh size will override the default

    pppm order

    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

    press control

    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

    processor grid

    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 data

    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 restart

    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, but
      not the constraint parameters themselves, so they must still be
      specified with "fix style" commands after the file is read

    reset timestep

    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

    respa

    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)

    restart


    restart version

    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

    rotation zero

    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

    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

    slab volume

    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)

    temp control

    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 temperatue 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


    thermo flag

    print thermodynamic info to screen and log file every this many timesteps
    value of 0 means never print.
    
    Note:  thermo flag controls how often the non-bond energies are updated.  This
    affects not only the output values in the energy expression but also the values
    obtained in "dump trajectory" and "dump energy".  Thus, if updated values are
    required from the dump trajectory and atomic energies make sure that thermo flag
    is set equal to the dump trajectory and dump energy commands.
    
    
    Default = 0

    thermo style

    determines format of thermodynamic output to screen and log file
    Default = 0

    timestep

    timestep size for MD run (time units)
    when rRESPA is enabled, the timestep size is for the innermost (bond) loop
    
    Default = 1.0

    true flag

    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

    units

    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


    volume control

    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