-This is the documentation for the LAMMPS 2001 version, written in F90,
-which has been superceded by more current versions. See the LAMMPS WWW
-Site for more information.
-
-LAMMPS is a classical molecular dynamics code designed for simulating
-molecular and atomic systems on parallel computers using
-spatial-decomposition techniques. It runs on any parallel platform that
-supports F90 and the MPI message-passing library or on single-processor
-workstations.
-
-LAMMPS 2001 is copyrighted code that is distributed freely as
-open-source software under the GNU Public License (GPL). See the
-LICENSE file or www.gnu.org for more
-details. Basically the GPL allows you as a user to use, modify, or
-distribute LAMMPS however you wish, so long as any software you
-distribute remains under the GPL.
-
-Features of LAMMPS 2001 include:
-
-
- short-range pairwise Lennard-Jones and Coulombic interactions
-
- long-range Coulombic interactions via Ewald or PPPM (particle-mesh
- Ewald)
-
- short-range harmonic bond potentials (bond, angle, torsion, improper)
-
- short-range class II (cross-term) molecular potentials
-
- NVE, NVT, NPT dynamics
-
- constraints on atoms or groups of atoms
-
- rRESPA long-timescale integrator
-
- energy minimizer (Hessian-free truncated Newton method)
-
-
-For users of LAMMPS 99, this version is written in F90 to take
-advantage of dynamic memory allocation. This means the user does not
-have to fiddle with parameter settings and re-compile the code so
-often for different problems. This enhancment means there are new
-rules for the ordering of commands in a LAMMPS input script, as well
-as a few new commands to guide the memory allocator. Users should read
-the beginning sections of the input_commands file for an
-explanation.
-
-More details about the code can be found here, in the HTML- or text-based
-documentation. The LAMMPS Web page is at www.cs.sandia.gov/~sjplimp/lammps.html
-, which includes benchmark timings and a list of papers written using
-LAMMPS results. They illustrate the kinds of scientific problems that
-can be modeled with LAMMPS. These two papers describe the parallel
-algorithms used in the code. Please cite these if you incorporate
-LAMMPS results in your work. And if you send me citations for your
-papers, I'll be pleased to add them to the LAMMPS WWW page.
-
-
-S. J. Plimpton, R. Pollock, M. Stevens, "Particle-Mesh Ewald and
-rRESPA for Parallel Molecular Dynamics Simulations", in Proc of
-the Eighth SIAM Conference on Parallel Processing for Scientific
-Computing, Minneapolis, MN, March 1997.
-
-S. J. Plimpton, "Fast Parallel Algorithms for Short-Range Molecular Dynamics", J Comp Phys, 117, 1-19 (1995).
-
-LAMMPS was originally developed as part of a 5-way CRADA collaboration
-between 3 industrial partners (Cray Research, Bristol-Myers Squibb, and
-Dupont) and 2 DoE laboratories (Sandia National Laboratories and
-Lawrence Livermore National Laboratories).
-
-The primary author of LAMMPS is Steve Plimpton, but others have written
-or worked on significant portions of the code:
-
-
- Roy Pollock (LLNL): Ewald, PPPM solvers
-
- Mark Stevens (Sandia): rRESPA, NPT integrators
-
- Eric Simon (Cray Research): class II force fields
-
- Todd Plantenga (Sandia): energy minimizer
-
- Steve Lustig (Dupont): msi2lmp tool
-
- Mike Peachey (Cray Research): msi2lmp tool
-
-
-Other CRADA partners involved in the design and testing of LAMMPS are
-
-
- John Carpenter (Cray Research)
-
- Terry Stouch (Bristol-Myers Squibb)
-
- Jim Belak (LLNL)
-
-
-If you have questions about LAMMPS, please contact me:
-
-The src directory contains the F90 and C source files for LAMMPS as
-well as several sample Makefiles for different machines. To make LAMMPS
-for a specfic machine, you simply type
-
-make machine
-
-from within the src directoy. E.g. "make sgi" or "make t3e". This
-should create an executable such as lmp_sgi or lmp_t3e. For optimal
-performance you'll want to use a good F90 compiler to make LAMMPS; on
-Linux boxes I've been told the Leahy F90 compiler is a good choice.
-(If you don't have an F90 compiler, I can give you an older F77-based
-version of LAMMPS 99, but you'll lose the dynamic memory and some
-other new features in LAMMPS 2001.)
-
-In the src directory, there is one top-level Makefile and several
-low-level machine-specific files named Makefile.xxx where xxx = the
-machine name. If a low-level Makefile exists for your platform, you do
-not need to edit the top-level Makefile. However you should check the
-system-specific section of the low-level Makefile to insure the
-various paths are correct for your environment. If a low-level
-Makefile does not exist for your platform, you will need to add a
-suitable target to the top-level Makefile. You will also need to
-create a new low-level Makefile using one of the existing ones as a
-template. If you wish to make LAMMPS for a single-processor
-workstation that doesn't have an installed MPI library, you can
-specify the "serial" target which uses a directory of MPI stubs to
-link against - e.g. "make serial". You will need to make the
-stub library (type "make" in STUBS directory) for your
-workstation before doing this.
-
-Note that the two-level Makefile system allows you to make LAMMPS for
-multiple platforms. Each target creates its own object directory for
-separate storage of its *.o files.
-
-There are a few compiler switches of interest which can be specified
-in the low-level Makefiles. If you use a F90FLAGS switch of -DSYNC
-then synchronization calls will be made before the timing routines in
-integrate.f. This may slow down the code slightly, but will make the
-individual timings reported at the end of a run more accurate. The
-F90FLAGS setting of -DSENDRECV will use MPI_Sendrecv calls for data
-exchange between processors instead of MPI_Irecv, MPI_Send,
-MPI_Wait. Sendrecv is often slower, but on some platforms can be
-faster, so it is worth trying, particularly if your communication
-timings seem slow.
-
-The CCFLAGS setting in the low-level Makefiles requires a FFT setting,
-for example -DFFT_SGI or -DFFT_T3E. This is for inclusion of the
-appropriate machine-specific native 1-d FFT libraries on various
-platforms. Currently, the supported machines and switches (used in
-fft_3d.c) are FFT_SGI, FFT_DEC, FFT_INTEL, FFT_T3E, and FFT_FFTW. The
-latter is a publicly available portable FFT library, FFTW, which you can install on any
-machine. If none of these options is suitable for your machine, please
-contact me, and we'll discuss how to add the capability to call your
-machine's native FFT library. You can also use FFT_NONE if you have no
-need to use the PPPM option in LAMMPS.
-
-For Linux and T3E compilation, there is a also a CCFLAGS setting for KLUDGE
-needed (see Makefile.linux and Makefile.t3e). This is to enable F90 to
-call C with appropriate underscores added to C function names.
-
-LAMMPS is run by redirecting a text file (script) of input commands into it.
-
-lmp_sgi < in.lj
-
-lmp_t3e < in.lj
-
-The script file contains commands that specify the parameters for the
-simulation as well as to read other necessary files such as a data file
-that describes the initial atom positions, molecular topology, and
-force-field parameters. The input_commands
- page describes all the possible commands that can be used. The data_format page describes the format of
-the data file.
-
-LAMMPS can be run on any number of processors, including a single
-processor. In principle you should get identical answers on any number
-of processors and on any machine. In practice, numerical round-off can
-cause slight differences and eventual divergence of dynamical
-trajectories.
-
-When LAMMPS runs, it estimates the array sizes it should allocate based
-on the problem you are simulating and the number of processors you
-are running on. If you run out of physical memory, you will get a F90
-allocation error and the code should hang or crash. The only thing you
-can do about this is run on more processors or run a smaller problem. If
-you get an error message to the screen about "boosting"
-something, it means LAMMPS under-estimated the size needed for one (or
-more) data arrays. The "extra memory" command can be used in
-the input script to augment these sizes at run time. A few arrays are
-hard-wired to sizes that should be sufficient for most users. These are
-specified with parameter settings in the global.f file. If you get a
-message to "boost" one of these parameters you will have to
-change it and re-compile LAMMPS.
-
-Some LAMMPS errors are detected at setup; others like neighbor list
-overflow may not occur until the middle of a run. Except for F90
-allocation errors which may cause the code to hang (with an error
-message) since only one processor may incur the error, LAMMPS should
-always print a message to the screen and exit gracefully when it
-encounters a fatal error. If the code ever crashes or hangs without
-spitting out an error message first, it's probably a bug, so let me
-know about it. Of course this applies to algorithmic or parallelism
-issues, not to physics mistakes, like specifying too big a timestep or
-putting 2 atoms on top of each other! One exception is that different
-MPI implementations handle buffering of messages differently. If the
-code hangs without an error message, it may be that you need to
-specify an MPI setting or two (usually via an environment variable) to
-enable buffering or boost the sizes of messages that can be
-buffered.
-There are several directories of sample problems in the examples
-directory. All of them use an input file (in.*) of commands and a data
-file (data.*) of initial atomic coordinates and produce one or more
-output files. Sample outputs on different machines and numbers of
-processors are included to compare your answers to. See the README
-file in the examples sub-directory for more information on what LAMMPS
-features the examples illustrate.
-
-(1) lj = atomic simulations of Lennard-Jones systems.
-
-(2) class2 = phenyalanine molecule using the DISCOVER cff95 class 2
-force field.
-
-(3) lc = liquid crystal molecules with various Coulombic options and
-periodicity settings.
-
-(4) flow = 2d flow of Lennard-Jones atoms in a channel using various
-constraint options.
-
-(5) polymer = bead-spring polymer models with one or two chain types.
-
-The converters directory has source code and scripts for tools that
-perform input/output file conversions between MSI Discover, AMBER, and
-LAMMPS formats. See the README files for the individual tools for
-additional information.
-
-The tools directory has several serial programs that create and
-massage LAMMPS data files.
-
-(1) setup_chain.f = create a data file of polymer bead-spring chains
-
-(2) setup_lj.f = create a data file of an atomic LJ mixture of species
-
-(3) setup_flow_2d.f = create a 2d data file of LJ particles with walls for
- a flow simulation
-
-(4) replicate.c = replicate or scale an existing data file into a new one
-
-(5) peek_restart.f = print-out info from a binary LAMMPS restart file
-
-(6) restart2data.f = convert a binary LAMMPS restart file into a text data file
-
-See the comments at the top of each source file for information on how
-to use the tool.
-
-User-written routines can be compiled and linked with LAMMPS, then
-invoked with the "diagnostic" command as LAMMPS runs. These routines
-can be used for on-the-fly diagnostics or a variety of other purposes.
-The examples/lc directory shows an example of using the diagnostic
-command with the in.lc.big.fixes input script. A sample diagnostic
-routine is given there also: diagnostic_temp_molecules.f.
-
-
diff --git a/doc/html/2001/data_format.html b/doc/html/2001/data_format.html
deleted file mode 100644
index 0fe7f1a8f4b162fc0f67b803199441b336ed8fec..0000000000000000000000000000000000000000
--- a/doc/html/2001/data_format.html
+++ /dev/null
@@ -1,250 +0,0 @@
-
-
-
-This file describes the format of the data file read into LAMMPS with
-the "read data" command. The data file contains basic
-information about the size of the problem to be run, the initial atomic
-coordinates, molecular topology, and (optionally) force-field
-coefficients. It will be easiest to understand this file if you read it
-while looking at a sample data file from the examples.
-Blank lines are important. After the header section, new entries are
-separated by blank lines.
-
-Indentation and space between words/numbers on one line is not
-important except that keywords (e.g. Masses, Bond Coeffs) must be
-left-justified and capitalized as shown.
-
-The header section (thru box bounds) must appear first in the file, the
-remaining entries (Masses, various Coeffs, Atoms, Bonds, etc) can come
-in any order.
-
-These entries must be in the file: header section, Masses, Atoms.
-
-These entries must be in the file if there are a non-zero number of
-them: Bonds, Angles, Dihedrals, Impropers. Force field coefficients
-can be specified in the input script, so do not have to appear in the
-data file. The one exception to this is class 2 force field
-coefficients which can only be specified in the data file.
-
-The Nonbond Coeffs entry contains one line for each atom type. These
-are the coefficients for an interaction between 2 atoms of the same
-type. The cross-type coeffs are computed by the appropriate class I or
-class II mixing rules, or can be specified explicitly using the
-"nonbond coeff" command in the input command script. See the force_fields page for more information.
-
-In the Atoms entry, the atoms can be in any order so long as there are
-N entries. The 1st number on the line is the atom-tag (number from 1 to
-N) which is used to identify the atom throughout the simulation. The
-molecule-tag is a second identifier which is attached to the atom; it
-can be 0, or a counter for the molecule the atom is part of, or any
-other number you wish. The q value is the charge of the atom in
-electron units (e.g. +1 for a proton). The xyz values are the initial
-position of the atom. For 2-d simulations specify z as 0.0.
-
-The final 3 nx,ny,nz values on a line of the Atoms entry are optional.
-LAMMPS only reads them if the "true flag" command is
-specified in the input command script. Otherwise they are initialized
-to 0 by LAMMPS. Their meaning, for each dimension, is that
-"n" box-lengths are added to xyz to get the atom's
-"true" un-remapped position. This can be useful in pre- or
-post-processing to enable the unwrapping of long-chained molecules
-which wind thru the periodic box one or more times. The value of
-"n" can be positive, negative, or zero. For 2-d simulations
-specify nz as 0.
-
-Atom velocities are initialized to 0.0 if there is no Velocities entry.
-In the Velocities entry, the atoms can be in any order so long as there
-are N entries. The 1st number on the line is the atom-tag (number from
-1 to N) which is used to identify the atom which the given velocity
-will be assigned to.
-
-Entries for Velocities, Bonds, Angles, Dihedrals, Impropers must appear
-in the file after an Atoms entry.
-
-For simulations with periodic boundary conditions, xyz coords are
-remapped into the periodic box (from as far away as needed), so the
-initial coordinates need not be inside the box. The nx,ny,nz values
-(as read in or as set to zero by LAMMPS) are appropriately adjusted by
-this remapping.
-
-The number of coefficients specified on each line of coefficient
-entries (Nonbond Coeffs, Bond Coeffs, etc) depends on the
-"style" of interaction. This must be specified in the input
-command script before the "read data" command is issued, unless the
-default is used. See the input_commands page for a description
-of the various style options. The input_commands
- and force_fields pages explain the
-meaning and valid values for each of the coefficients.
-Here is a sample file with annotations in parenthesis and lengthy
-sections replaced by dots (...). Note that the blank lines are
-important in this example.
-
-
-LAMMPS Description (1st line of file)
-
-100 atoms (this must be the 3rd line, 1st 2 lines are ignored)
-95 bonds (# of bonds to be simulated)
-50 angles (include these lines even if number = 0)
-30 dihedrals
-20 impropers
-
-5 atom types (# of nonbond atom types)
-10 bond types (# of bond types = sets of bond coefficients)
-18 angle types
-20 dihedral types (do not include a bond,angle,dihedral,improper type
-2 improper types line if number of bonds,angles,etc is 0)
-
--0.5 0.5 xlo xhi (for periodic systems this is box size,
--0.5 0.5 ylo yhi for non-periodic it is min/max extent of atoms)
--0.5 0.5 zlo zhi (do not include this line for 2-d simulations)
-
-Masses
-
- 1 mass
- ...
- N mass (N = # of atom types)
-
-Nonbond Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of atom types)
-
-Bond Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of bond types)
-
-Angle Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of angle types)
-
-Dihedral Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-Improper Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of improper types)
-
-BondBond Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of angle types)
-
-BondAngle Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of angle types)
-
-MiddleBondTorsion Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-EndBondTorsion Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-AngleTorsion Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-AngleAngleTorsion Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-BondBond13 Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-AngleAngle Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of improper types)
-
-Atoms
-
- 1 molecule-tag atom-type q x y z nx ny nz (nx,ny,nz are optional -
- ... see "true flag" input command)
- ...
- N molecule-tag atom-type q x y z nx ny nz (N = # of atoms)
-
-Velocities
-
- 1 vx vy vz
- ...
- ...
- N vx vy vz (N = # of atoms)
-
-Bonds
-
- 1 bond-type atom-1 atom-2
- ...
- N bond-type atom-1 atom-2 (N = # of bonds)
-
-Angles
-
- 1 angle-type atom-1 atom-2 atom-3 (atom-2 is the center atom in angle)
- ...
- N angle-type atom-1 atom-2 atom-3 (N = # of angles)
-
-Dihedrals
-
- 1 dihedral-type atom-1 atom-2 atom-3 atom-4 (atoms 2-3 form central bond)
- ...
- N dihedral-type atom-1 atom-2 atom-3 atom-4 (N = # of dihedrals)
-
-Impropers
-
- 1 improper-type atom-1 atom-2 atom-3 atom-4 (atom-2 is central atom)
- ...
- N improper-type atom-1 atom-2 atom-3 atom-4 (N = # of impropers)
-
-This is a brief list of features lacking in the current version of
-LAMMPS. Some of these deficiencies are because of lack of
-time/interest; others are just hard!
-
-
- The calculation of pressure does not include a long-range Van der Waals
- correction. This would be a constant for constant volume simulations
- but is a source of error for constant pressure simulations where
- the box-size varies dynamically.
-
- The smoothed Coulomb style cannot be used with class 2 force fields.
-
- The minimizer does not work with constant pressure conditions, nor
- for some kinds of fixes (constraints).
-
- No support for non-rectilinear boxes (e.g. Parinello-Rahman
- pressure control).
-
- SHAKE fixes cannot be combined with rREPSA.
-
- In the current F90 version of LAMMPS, Ewald computations are 2x slower
- on some machines than they were in the earlier F77 version. This is
- probably because of F90 compiler treatment of allocatable arrays. This
- slowdown is not an issue with PPPM, which is more commonly used anyway.
-
- LAMMPS uses a spatial-decomposition of the simulation domain, but no
- other load-balancing -- thus some geometries or density fluctuations can
- lead to load imbalance on a parallel machine.
-
-Whatever Coulomb style is specified in the input command file, the
-short-range Coulombic interactions are computed by this formula,
-modified by an appropriate smoother for the smooth, Ewald, PPPM,
-charmm, and debye styles.
-
- E = C q1 q2 / (epsilon * r)
-
- r = distance (computed by LAMMPS)
- C = hardwired constant to convert to energy units
- q1,q2 = charge of each atom in electron units (proton = +1),
- specified in "Atoms" entry in data file
- epsilon = dielectric constant (vacuum = 1.0),
- set by user in input command file
-
-For the debye style, the smoother is exp(-kappa*r) where kappa is an
-input parameter.
-
-
-The style of nonbond potential is specified in the input command file.
-
-(1) lj/cutoff
-
-
- E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]
-
- standard Lennard Jones potential
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
-
- 2 coeffs are listed in data file or set in input script
- 1 cutoff is set in input script
-
-
-
-(2) lj/switch
-
-
- E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ] for r < r_inner
- = spline fit for r_inner < r < cutoff
- = 0 for r > cutoff
-
- switching function (spline fit) is applied to standard LJ
- within a switching region (from r_inner to cutoff) so that
- energy and force go smoothly to zero
- spline coefficients are computed by LAMMPS
- so that at inner cutoff (r_inner) the potential, force,
- and 1st-derivative of force are all continuous,
- and at outer cutoff (cutoff) the potential and force
- both go to zero
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
-
- 2 coeffs are listed in data file or set in input script
- 2 cutoffs (r_inner and cutoff) are set in input script
-
-
-
-(3) lj/shift
-
-
- E = 4 epsilon [ (sigma/(r - delta))^12 - (sigma/(r - delta))^6 ]
-
- same as lj/cutoff except that r is shifted by delta
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
- coeff3 = delta (distance)
-
- 3 coeffs are listed in data file or set in input script
- 1 cutoff is set in input script
-
-
-
-(4) soft
-
-
- E = A * [ 1 + cos( pi * r / cutoff ) ]
-
- useful for pushing apart overlapping atoms by ramping A over time
-
- r = distance (computed by LAMMPS)
-
- coeff1 = prefactor A at start of run (energy)
- coeff2 = prefactor A at end of run (energy)
-
- 2 coeffs are listed in data file or set in input script
- 1 cutoff is set in input script
-
-
-
-(5) class2/cutoff
-
-
- E = epsilon [ 2 (sigma/r)^9 - 3 (sigma/r)^6 ]
-
- used with class2 bonded force field
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
-
- 2 coeffs are listed in data file or set in input script
- 1 cutoff is set in input script
-
-
-6) lj/charmm
-
-
- E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ] for r < r_inner
- = switch * E for r_inner < r < cutoff
- = 0 for r > cutoff
-
- where
-
- switch = [(cutoff^2 - r^2)^2 * (cutoff^2 + 2*r^2 - 3*r_inner)] /
- [(cutoff^2 - r_inner^2)^3]
-
- switching function is applied to standard LJ
- within a switching region (from r_inner to cutoff) so that
- energy and force go smoothly to zero
- switching function causes that at inner cutoff (r_inner)
- the potential and force are continuous,
- and at outer cutoff (cutoff) the potential and force
- both go to zero
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
- coeff3 = epsilon for 1-4 interactions (energy)
- coeff4 = sigma for 1-4 interactions (distance)
-
- 4 coeffs are listed in data file or set in input script
- 2 cutoffs (r_inner and cutoff) are set in input script
-
-The coefficients for each nonbond style are input in either the data
-file by the "read data" command or in the input script using
-the "nonbond coeff" command. In the former case, only one set
-of coefficients is input for each atom type. The cross-type coeffs are
-computed using one of three possible mixing rules:
-The default mixing rule for nonbond styles lj/cutoff, lj/switch,
-lj/shift, and soft is "geometric". The default for nonbond
-style class2/cutoff is "sixthpower".
-
-The default can be overridden using the "mixing style"
-command. Two exceptions to this are for the nonbond style soft, for
-which only an epsilon prefactor is input. This is always mixed
-geometrically. Also, for nonbond style lj/shift, the delta
-coefficient is always mixed using the rule
-The style of bond potential is specified in the input command file.
-
-(1) harmonic
-
-
- E = K (r - r0)^2
-
- standard harmonic spring
-
- r = distance (computed by LAMMPS)
-
- coeff1 = K (energy/distance^2) (the usual 1/2 is included in the K)
- coeff2 = r0 (distance)
-
- 2 coeffs are listed in data file or set in input script
-
-
-
-(2) FENE/standard
-
-
- E = -0.5 K R0^2 * ln[1 - (r/R0)^2] +
- 4 epsilon [(sigma/r)^12 - (sigma/r)^6] + epsilon
-
- finite extensible nonlinear elastic (FENE) potential for
- polymer bead-spring models
- see Kremer, Grest, J Chem Phys, 92, p 5057 (1990)
-
- r = distance (computed by LAMMPS)
-
- coeff1 = K (energy/distance^2)
- coeff2 = R0 (distance)
- coeff3 = epsilon (energy)
- coeff4 = sigma (distance)
-
- 1st term is attraction, 2nd term is repulsion (shifted LJ)
- 1st term extends to R0
- 2nd term only extends to the minimum of the LJ potential,
- a cutoff distance computed by LAMMPS (2^(1/6) * sigma)
-
- 4 coeffs are listed in data file or set in input script
-
-
-
-(3) FENE/shift
-
-
- E = -0.5 K R0^2 * ln[1 - ((r - delta)/R0)^2] +
- 4 epsilon [(sigma/(r - delta))^12 - (sigma/(r - delta))^6] + epsilon
-
- same as FENE/standard expect that r is shifted by delta
-
- r = distance (computed by LAMMPS)
-
- coeff1 = K (energy/distance^2)
- coeff2 = R0 (distance)
- coeff3 = epsilon (energy)
- coeff4 = sigma (distance)
- coeff5 = delta (distance)
-
- 1st term is attraction, 2nd term is repulsion (shifted LJ)
- 1st term extends to R0
- 2nd term only extends to the minimum of the LJ potential,
- a cutoff distance computed by LAMMPS (2^(1/6) * sigma + delta)
-
- 5 coeffs are listed in data file or set in input script
-
-
-
-(4) nonlinear
-
-
- E = epsilon (r - r0)^2 / [ lamda^2 - (r - r0)^2 ]
-
- non-harmonic spring of equilibrium length r0
- with finite extension of lamda
- see Rector, Van Swol, Henderson, Molecular Physics, 82, p 1009 (1994)
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = r0 (distance)
- coeff3 = lamda (distance)
-
- 3 coeffs are listed in data file or set in input script
-
-
-
-(5) class2
-
-
- E = K2 (r - r0)^2 + K3 (r - r0)^3 + K4 (r - r0)^4
-
- r = distance (computed by LAMMPS)
-
- coeff1 = r0 (distance)
- coeff2 = K2 (energy/distance^2)
- coeff3 = K3 (energy/distance^3)
- coeff4 = K4 (energy/distance^4)
-
- 4 coeffs are listed in data file - cannot be set in input script
-
-The style of angle potential is specified in the input command file.
-
-(1) harmonic
-
-
- E = K (theta - theta0)^2
-
- theta = radians (computed by LAMMPS)
-
- coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
- coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
-
- 2 coeffs are listed in data file or set in input script
-
-
-
-(2) class2
-
-
- E = K2 (theta - theta0)^2 + K3 (theta - theta0)^3 +
- K4 (theta - theta0)^4
-
- theta = radians (computed by LAMMPS)
-
- coeff1 = theta0 (degrees) (converted to radians within LAMMPS)
- coeff2 = K2 (energy/radian^2)
- coeff3 = K3 (energy/radian^3)
- coeff4 = K4 (energy/radian^4)
-
- 4 coeffs are listed in data file - cannot be set in input script
-
-
-
-(3) charmm
-
- (harmonic + Urey-Bradley)
-
- E = K (theta - theta0)^2 + K_UB (r_13 - r_UB)^2
-
- theta = radians (computed by LAMMPS)
- r_13 = distance (computed by LAMMPS)
-
- coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
- coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
- coeff3 = K_UB (energy/distance^2)
- coeff4 = r_UB (distance)
-
- 4 coeffs are listed in data file or set in input script
-
-
-
-(4) cosine
-
- E = K (1 + cos(theta))
-
- theta = radians (computed by LAMMPS)
-
- coeff1 = K (energy)
-
- 1 coeff is listed in data file or set in input script
-
-
-The style of dihedral potential is specified in the input command
-file. IMPORTANT NOTE for all these dihedral styles: in the LAMMPS
-force field the trans position = 180 degrees, while in some force
-fields trans = 0 degrees.
-
-
-(1) harmonic
-
-
- E = K [1 + d * cos (n*phi) ]
-
- phi = radians (computed by LAMMPS)
-
- coeff1 = K (energy)
- coeff2 = d (+1 or -1)
- coeff3 = n (1,2,3,4,6)
-
- Additional cautions when comparing to other force fields:
-
- some force fields reverse the sign convention on d so that
- E = K [1 - d * cos(n*phi)]
- some force fields divide/multiply K by the number of multiple
- torsions that contain the j-k bond in an i-j-k-l torsion
- some force fields let n be positive or negative which
- corresponds to d = 1,-1
-
- 3 coeffs are listed in data file or set in input script
-
-
-(2) class2
-
-
- E = SUM(n=1,3) { K_n [ 1 - cos( n*Phi - Phi0_n ) ] }
-
- phi = radians (computed by LAMMPS)
-
- coeff1 = K_1 (energy)
- coeff2 = Phi0_1 (degrees) (converted to radians within LAMMPS)
- coeff3 = K_2 (energy)
- coeff4 = Phi0_2 (degrees) (converted to radians within LAMMPS)
- coeff5 = K_3 (energy)
- coeff6 = Phi0_3 (degrees) (converted to radians within LAMMPS)
-
- 6 coeffs are listed in data file - cannot be set in input script
-
-
-(3) multiharmonic
-
-
- E = SUM(n=1,5) { A_n * cos(Phi)^(n-1) }
-
- phi = radians (computed by LAMMPS)
-
- coeff1 = A_1
- coeff2 = A_2
- coeff3 = A_3
- coeff4 = A_4
- coeff5 = A_5
-
- 5 coeffs are listed in data file or set in input script
-
-
-(4) charmm
-
-(harmonic + 1-4 interactions)
-
- E = K [1 + cos (n*phi + d) ]
-
- phi = radians (computed by LAMMPS)
-
- coeff1 = K (energy)
- coeff2 = n (1,2,3,4,6)
- coeff3 = d (0 or 180 degrees) (converted to radians within LAMMPS)
- coeff4 = weighting factor to turn on/off 1-4 neighbor nonbond interactions
-
- coeff4 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
-
- must be used with the special bonds charmm command
- "special bonds 0 0 0") which shuts off the uniform special bonds and
- allows pair-specific special bonds for the 1-4 interactions to be
- defined in the data file
-
- LAMMPS assumes that all 1-4 interaction distances, which are
- generally less than 6 Angstroms, are less than the smallest of the
- inner LJ and Coulombic cutoffs, which are generally at least 8
- Angstroms.
-
- 4 coeffs are listed in data file or set in input script
-
-The style of improper potential is specified in the input command file.
-
-(1) harmonic
-
-
- E = K (chi - chi0)^2
-
- chi = radians (computed by LAMMPS)
-
- coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
- coeff2 = chi0 (degrees) (converted to radians within LAMMPS)
-
- 2 coeffs are listed in data file or set in input script
-
-
-(2) cvff
-
-
- E = K [1 + d * cos (n*chi) ]
-
- chi = radians (computed by LAMMPS)
-
- coeff1 = K (energy)
- coeff2 = d (+1 or -1)
- coeff3 = n (0,1,2,3,4,6)
-
- 3 coeffs are listed in data file or set in input script
-
-
-(3) class2
-
-
- same formula, coeffs, and meaning as "harmonic" except that LAMMPS
- averages all 3 angle-contributions to chi
- in class 2 this is called a Wilson out-of-plane interaction
-
- 2 coeffs are listed in data file - cannot be set in input script
-
-If class 2 force fields are selected in the input command file,
-additional cross terms are computed as part of the force field. All
-class 2 coefficients must be set in the data file; they cannot be set
-in the input script.
-
-Bond-Bond (computed within class 2 angles)
-
-
- E = K (r - r0) * (r' - r0')
-
- r,r' = distance (computed by LAMMPS)
-
- coeff1 = K (energy/distance^2)
- coeff2 = r0 (distance)
- coeff3 = r0' (distance)
-
- 3 coeffs are input in data file
-
-
-Bond-Angle (computed within class 2 angles for each of 2 bonds)
-
-
- E = K_n (r - r0_n) * (theta - theta0)
-
- r = distance (computed by LAMMPS)
- theta = radians (computed by LAMMPS)
-
- coeff1 = K_1 (energy/distance-radians)
- coeff2 = K_2 (energy/distance-radians)
- coeff3 = r0_1 (distance)
- coeff4 = r0_2 (distance)
-
- Note: theta0 is known from angle coeffs so don't need it specified here
-
- 4 coeffs are listed in data file
-
-
-Middle-Bond-Torsion (computed within class 2 dihedral)
-
-
- E = (r - r0) * [ F1*cos(phi) + F2*cos(2*phi) + F3*cos(3*phi) ]
-
- r = distance (computed by LAMMPS)
- phi = radians (computed by LAMMPS)
-
- coeff1 = F1 (energy/distance)
- coeff2 = F2 (energy/distance)
- coeff3 = F3 (energy/distance)
- coeff4 = r0 (distance)
-
- 4 coeffs are listed in data file
-
-
-End-Bond-Torsion (computed within class 2 dihedral for each of 2 bonds)
-Angle-Torsion (computed within class 2 dihedral for each of 2 angles)
-
-
- E = (theta - theta0) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
-
- theta = radians (computed by LAMMPS)
- phi = radians (computed by LAMMPS)
-
- coeff1 = F1_1 (energy/radians)
- coeff2 = F2_1 (energy/radians)
- coeff3 = F3_1 (energy/radians)
- coeff4 = F1_2 (energy/radians)
- coeff5 = F2_3 (energy/radians)
- coeff6 = F3_3 (energy/radians)
- coeff7 = theta0_1 (degrees) (converted to radians within LAMMPS)
- coeff8 = theta0_2 (degrees) (converted to radians within LAMMPS)
-
- 8 coeffs are listed in data file
-
-
-Angle-Angle-Torsion (computed within class 2 dihedral)
-
-
- E = K (theta - theta0) * (theta' - theta0') * (phi - phi0)
-
- theta,theta' = radians (computed by LAMMPS)
- phi = radians (computed by LAMMPS)
-
- coeff1 = K (energy/radians^3)
- coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
- coeff3 = theta0' (degrees) (converted to radians within LAMMPS)
-
- Note: phi0 is known from dihedral coeffs so don't need it specified here
-
- 3 coeffs are listed in data file
-
-
-
-Bond-Bond-13-Torsion (computed within class 2 dihedral)
-
-
- E = K * (r1 - r10)*(r3 - r30)
-
- r1,r3 = bond lengths of bonds 1 and 3 (computed by LAMMPS)
-
- coeff1 = K (energy/distance^2)
- coeff2 = r10 (distance) = equilibrium bond length for bond 1
- coeff3 = r30 (distance) = equilibrium bond length for bond 3
-
- K is only non-zero for aromatic rings
-
- 3 coeffs are listed in data file
-
-
-
-Angle-Angle (computed within class 2 improper for each of 3 pairs of
-angles)
-
-
- E = K_n (theta - theta0_n) * (theta' - theta0_n')
-
- theta,theta' = radians (computed by LAMMPS)
-
- coeff1 = K_1 (energy/radians^2)
- coeff2 = K_2 (energy/radians^2)
- coeff3 = K_3 (energy/radians^2)
- coeff4 = theta0_1 (degrees) (converted to radians within LAMMPS)
- coeff5 = theta0_2 (degrees) (converted to radians within LAMMPS)
- coeff6 = theta0_3 (degrees) (converted to radians within LAMMPS)
-
- 6 coeffs are listed in data file
-
- better match to CHARMM force fields via "nonbond style lj/charmm",
- "coulomb style charmm/switch", "angle style charmm", dihedral style charmm"
- (due to Mark Stevens and Paul Crozier)
-
- changed "special bonds" default to 0.0 weighting on 1-4 interactions for
- CHARMM compatibility, added "special bonds amber" option for AMBER
- compatibility
-
- ghost atoms and new treatment of periodic boundary conditions,
- this allows for cutoffs > box-size and faster neighbor binning,
- binned neighbor list construction is now the default as it is almost
- always faster
-
- perform blocked-input from data and restart files, faster for many MPI
- implementations (due to Mathias Puetz)
-
- added Velocities option to data file to initialize each atom's
- velocity (see data_format file)
-
- pressure control was decoupled from temperature control, so that
- constant NPH simulations can be run (not just NPT), temperature
- controls such as rescale or Langevin can now be used with constant P
- simulations (due to Mark Stevens)
-
- temperature rescaling (either in "temp control" or "fix style rescale")
- has an added fractional parameter which allows it to be applied
- in a lightweight or heavy-handed way to induce the desired temperature
-
- got rid of crib.html file, see global.f for documentation of all
- variables
-
- 2-d slab Ewald and PPPM option, (see "slab volume" in
- input commands) (due to Paul Crozier)
-
- new multiharmonic dihedral and cvff improper force-field options
- (due to Mathias Puetz)
-
- SHAKE constraint for small clusters of atoms, see "fix style shake"
- and "assign fix bondtype" commands
-
- added option to output restart files with timestep stamp or to toggle
- between 2 files, see "restart" command
-
- tools for converting to/from other MD program formats:
- msi2lmp (updated by John Carpenter),
- lmp2arc (due to John Carpenter),
- amber2lammps & dump2trj (Python scripts due to Keir Novik)
-
- tools for creating and massaging LAMMPS data and restart files:
- setup_lj, setup_flow_2d, setup_chain, peek_restart, restart2data,
- replicate
-
-
-
-LAMMPS 99 - June 99
-
-
- all-MPI version of code (F77 + C + MPI) for maximum portablility
-
- only one PPPM choice now, the better of the two earlier ones
-
- PPPM uses portable FFTs and data remapping routines, written in C w/
- MPI, can now use non-power-of-2 processors and grid sizes
-
- auto-mapping of simulation box to processors
-
- removed a few unused/unneeded commands (bdump, log file, id string,
- limit)
-
- changed syntax of some commands for simplicity & consistency (see input commands)
-
- changed method of calling/writing user diagnostic routines to be
- simpler
-
- documentation in HTML format
-
-
-
-Version 5.0 - Oct 1997
-
-
- final version of class II force fields (due to Eric Simon)
-
- new formulation of NVE, NVT, NPT and rRESPA integrators (due to
- Mark Stevens)
-
- new version of msi2lmp pre-processing tool, does not require DISCOVER
- to run, only DISCOVER force field files (due to Steve Lustig)
-
- energy minimizer, Hessian-free truncated Newton method
- (due to Todd Plantenga)
-
- new pressure controllers and constraints (due to Mark Stevens)
-
- replicate tool for generating new data files from old ones
-
-
-
-Version 4.0 - March 1997
-
-
- 1st version of class II force fields (due to Eric Simon)
-
- new, faster PPPM solver (newpppm, due to Roy Pollock)
-
- rRESPA (due to Mark Stevens)
-
- new data file format
-
- new constraints, diagnostics
-
- msi2lmp pre-processing tool (due to Steve Lustig)
-
-
-
-Version 3.0 - March 1996
-
-
- more general force-field formulation
-
- atom/group constraints
-
- LJ units and bond potentials
-
- smoothed LJ potential option
-
- Langevin thermostat
-
- Newton's 3rd law option
-
- hook for user-supplied diagnostic routines
-
-
-
-Version 2.0 - October 1995
-
-
- bug fix of velocity initialization which caused drift
-
- PPPM for long-range Coulombic (due to Roy Pollock)
-
- constant NPT (due to Mark Stevens)
-
-
-
-Version 1.1 - February 1995
-
-
- Ewald for long-range Coulombic (due to Roy Pollock)
-
-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.
-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
-
- 2nd parameter = style of group of atoms or bondtype
-
- 3rd-Nth parameters = coeffs 1 to N-2
-
-
-styles:
-
-
-
- atom = single atom
-
- molecule = all atoms in a particular molecule
-
- type = single atom type
-
- region = geometric region of atoms
-
- bondtype = bondtype (only for assigning to fix style SHAKE)
-
- angletype = angletype (only for assigning to fix style SHAKE)
-
- remainder = rest of unconstrained atoms
-
-
-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 paramter 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 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)
-
-
-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
-
- fene/shift = same as fene/standard with shift of bond distance
-
- nonlinear = non-linear finite-extension spring (van Swol)
-
- class2 = class 2 bonds
-
-
-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
-
- 1st parameter = style of pairwise Coulomb interactions
-
- 2nd-Nth parameters = coeffs 1 to N-1
-
-
-styles:
-
-
-
- none = no Coulomb interactions are computed
-
- cutoff = use a simple cutoff
-
- smooth = use a switch region that goes smoothly to zero
-
- ewald = use Ewald summations for long-range effects
-
- pppm = use particle-mesh Ewald for long-range effects
-
- charmm/switch = use the charmm switch to go smoothly to zero
-
- debye = add a Debye/Huckel screening exponential
-
-
-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
-
-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"
-
- gaussian = gaussian distribution of velocities
-
- velocity = assign specific initial velocity to each atom
-
-
-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
-
- 1st parameter = nametag of a user routine added to diagnostic.f file
-
- 2nd parameter = call this user routine every this # of timesteps
-
- 3rd parameter = file name for this routine's diagnostic output
-
- 4th parameter = # of remaining parameters (0 to 5)
-
- 5th-9th parameters = optional parameters to pass to user routine
-
-
-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
-
-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
-
- 1st parameter = extra_own = padding factor on allocation of owned atom
- arrays
-
- 2nd parameter = extra_ghost = padding factor on allocation of ghost
- atom arrays
-
- 3rd parameter = extra_neigh = padding factor on allocation of neighbor
- lists
-
- 4th parameter = extra_buf = padding factor on allocation of
- communication buffers
-
-
-
-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
-
- 1st parameter = constraint # (except for none)
-
- 2nd parameter = style of that constraint
-
- 3rd-Nth parameters = coeffs 1 to N-2
-
-
-styles:
-
-
-
- none = erase all constraints and all atom and bond assignments
-
- setforce = set force on each atom in group
-
- addforce = add a force to each atom in group
-
- aveforce = apply an external force to group of atoms such that every
- atom is accelerated the same
-
- rescale = thermostat a group of atoms by rescaling their velocities
-
- hoover/drag = thermostat a group of atoms by the Hoover method
-
- langevin = thermostat a group of atoms by the Langevin method
-
- springforce = apply a spring force to each atom in group
-
- dragforce = drag each atom in group to a specified position
-
- shake = apply bond length constraints to certain bonds, enabling longer
- timesteps
-
-
-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
-
-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
-
- 1st parameter = stopping tolerance (in force units)
-
- 2nd parameter = max iterations of minimizer
-
- 3rd parameter = max number of force or energy evaluations
-
-
-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
-
- 1st parameter = style of mixing used to generate i-j nonbond
- interactions
-
-
-styles:
-
-
-
- geometric = sqrt(i*j) for both epsilon and sigma
-
- arithmetic = sqrt(i*j) for epsilon, (i+j)/2 for sigma
-
- sixthpower = see force_fields file for details
-
-
-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
-
- 3rd parameter = build neighbor list every this many steps (see next
- param)
-
- 4th parameter = delay building until after this many steps since last
- build
-
- 5th parameter = build criteria: 0 = always build, 1 = only build if
- some atom has moved 1/2 or more of the skin thickness
-
-
-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
-
-
-
- value = 0 = no Newton's 3rd law for either
-
- value = 1 = Newton's 3rd law only for bonded computations
-
- value = 2 = Newton's 3rd law only for non-bonded computations
-
- value = 3 = Newton's 3rd law for both bonded and non-bonded
- computations
-
-
-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
-
- 1st parameter = style of pairwise nonbond interactions (other than
- Coulombic)
-
- 2nd-Nth parameters = coeffs 1 to N-1
-
-
-styles:
-
-
-
- none = no nonbond interactions are computed
-
- lj/cutoff = LJ with a cutoff
-
- lj/smooth = LJ with a switched region that goes smoothly to zero
-
- lj/shift = same as lj/cutoff with shift of interparticle distance
-
- soft = cosine potential with time-varying prefactor
-
- class2/cutoff
-
- lj/charmm = LJ with charmm switched region that goes smoothly to zero
-
-
-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
-
- 1st parameter = periodic BC in x direction (0) yes, (1) no
-
- 2nd parameter = periodic BC in y direction (0) yes, (1) no
-
- 3rd parameter = periodic BC in z direction (0) yes, (1) no
-
-
-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)
-
- 1st parameter = # of mesh points in x direction
-
- 2nd parameter = # of mesh points in y direction
-
- 3rd parameter = # of mesh points in z direction
-
-
-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
-
-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
-
- xyz = couple all 3 dimensions together (isotropic)
-
- xy or yz or xz = couple 2 dimensions together, other is independent
-
- aniso = all 3 dimensions are independent (anisotropic)
-
-
-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
-
- 1st parameter = # of processors in x dimension
-
- 2nd parameter = # of processors in y dimension
-
- 3rd parameter = # of processors in z dimension
-
-
-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
-
- 1st parameter = compute bond forces this many times for every one
- 3/4-body force call
-
- 2nd parameter = compute 3/4-body forces this many times for every one
- nonbond (short-range) force call
-
- 3rd parameter = compute nonbond (short-range) forces this many times
- for every one long-range force call
-
-
-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)
-
- 2nd parameter = 1 or 2 = naming convention for restart files
-
- 3rd (and 4th) parameters = file name(s)
-
-
-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" commmand)
-
-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
-
-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
-
-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
-
-read atom positions (see "read data" command) and dump atom positions
- (see "dump atoms" command) in one of 2 formats
-
-
-
- flag = 0 -> read/dump only atom positions (remapped to periodic box)
-
- flag = 1 -> dump atom positions plus integer box counts
-
- flag = 2 -> read atom positions plus integer box counts
-
- flag = 3 -> read/dump atom positions plus integer box counts
-
-
-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:
-
-
-
- distance = Angstroms
-
- time = femtoseconds
-
- mass = grams/mole
-
- temperature = degrees K
-
- pressure = atmospheres
-
- energy = Kcal/mole
-
- velocity = Angstroms/femtosecond
-
- force = grams/mole * Angstroms/femtosecond^2
-
-
-option lj = LJ reduced units:
-
-
-
- distance = sigmas
-
- time = reduced LJ tau
-
- temperature = reduced LJ temp
-
- pressure = reduced LJ pressure
-
- energy = epsilons
-
- velocity = sigmas/tau
-
- force = reduced LJ force (sigmas/tau^2)
-
-
-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
-
- 3rd-4th parameters = lo/hi simulation box boundaries in this dimension
-
-
-styles:
-
-
-
- none = no variation in any dimension (constant volume)
-
- linear = uniform expansion or contraction
-
-
-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
-
-This file describes the units associated with many of the key variables
-and equations used inside the LAMMPS code. Units used for input command
-parameters are described in the input_commands file. The input command
-"units" selects between conventional and Lennard-Jones units.
-See the force_fields file for more information on units for the force
-field parameters that are input from data files or input scripts.
-
-Conventional units:
-
-
- distance = Angstroms
-
- time = femtoseconds
-
- mass = grams/mole
-
- temperature = degrees K
-
- pressure = atmospheres
-
- energy = Kcal/mole
-
- velocity = Angstroms/femtosecond
-
- force = grams/mole * Angstroms/femtosecond^2
-
- charge = +/- 1.0 is proton/electron
-
-
-LJ reduced units:
-
-
- distance = sigmas
-
- time = reduced LJ tau
-
- mass = ratio to unitless 1.0
-
- temperature = reduced LJ temp
-
- pressure = reduced LJ pressure
-
- energy = epsilons
-
- velocity = sigmas/tau
-
- force = reduced LJ force (sigmas/tau^2)
-
- charge = ratio to unitless 1.0
-
-
-
-This listing of variables assumes conventional units; to convert to LJ
-reduced units, simply substitute the appropriate term from the list
-above. E.g. x is in sigmas in LJ units. Per-mole in any of the units
-simply means for 6.023 x 10^23 atoms.
-
-
-
-Meaning Variable Units
-
-positions x Angstroms
-velocities v Angstroms / click (see below)
-forces f Kcal / (mole - Angstrom)
-masses mass gram / mole
-charges q electron units (-1 for an electron)
- (1 e.u. = 1.602 x 10^-19 coul)
-
-time --- clicks (1 click = 48.88821 fmsec)
-timestep dt clicks
-input timestep dt_in fmsec
-time convert dtfactor 48.88821 fmsec / click
-
-temperature t_current degrees K
- t_start
- t_stop
-input damping t_freq_in inverse fmsec
-internal temp t_freq inverse clicks
- damping
-
-dielec const dielectric 1.0 (unitless)
-Boltmann const boltz 0.001987191 Kcal / (mole - degree K)
-
-virial virial[xyz] Kcal/mole = r dot F
-pressure factor pfactor 68589.796 (convert internal to atmospheres)
-internal p_current Kcal / (mole - Angs^3)
- pressure p_start
- p_stop
-input press p_start_in atmospheres
- p_stop_in
-output press log file atmospheres
-input damping p_freq_in inverse time
-internal press p_freq inverse clicks
- damping
-
-pot eng e_potential Kcal/mole
-kin eng e_kinetic Kcal/mole
-eng convert efactor 332.0636 (Kcal - Ang) / (q^2 - mole)
- (convert Coulomb eng to Kcal/mole)
-
-LJ coeffs lja,ljb Kcal-Angs^(6,12)/mole
-
-bond various see force_fields file
- parameters 2,3,4-body
- terms
-
-This is the documentation for the LAMMPS 99 version, written in F77,
-which has been superceded by more current versions. See the LAMMPS WWW
-Site for more information.
-
-LAMMPS is a classical molecular dynamics code designed for simulating
-molecular and atomic systems on parallel computers using
-spatial-decomposition techniques. It runs on any parallel platform that
-supports the MPI message-passing library or on single-processor
-workstations.
-
-LAMMPS 99 is copyrighted code that is distributed freely as
-open-source software under the GNU Public License (GPL). See the
-LICENSE file or www.gnu.org for more
-details. Basically the GPL allows you as a user to use, modify, or
-distribute LAMMPS however you wish, so long as any software you
-distribute remains under the GPL.
-
-Features of LAMMPS 99 include:
-
-
- short-range pairwise Lennard-Jones and Coulombic interactions
-
- long-range Coulombic interactions via Ewald or PPPM (particle-mesh
- Ewald)
-
- short-range harmonic bond potentials (bond, angle, torsion, improper)
-
- short-range class II (cross-term) molecular potentials
-
- NVE, NVT, NPT dynamics
-
- constraints on atoms or groups of atoms
-
- rRESPA long-timescale integrator
-
- energy minimizer (Hessian-free truncated Newton method)
-
-
-More details about the code can be found here,
-in the HTML-based documentation. There is also a conference paper
-describing the parallel algorithms used in the code:
-
-S. J. Plimpton, R. Pollock, M. Stevens, "Particle-Mesh Ewald and
-rRESPA for Parallel Molecular Dynamics Simulations", in Proc of
-the Eighth SIAM Conference on Parallel Processing for Scientific
-Computing, Minneapolis, MN, March 1997.
-
-LAMMPS was originally developed as part of a 5-way CRADA collaboration
-between 3 industrial partners (Cray Research, Bristol-Myers Squibb, and
-Dupont) and 2 DoE laboratories (Sandia National Laboratories and
-Lawrence Livermore National Laboratories).
-
-The primary author of LAMMPS is Steve Plimpton, but others have written
-or worked on significant portions of the code:
-
-
- Roy Pollock (LLNL): Ewald, PPPM solvers
-
- Mark Stevens (Sandia): rRESPA, NPT integrators
-
- Eric Simon (Cray Research): class II force fields
-
- Todd Plantenga (Sandia): energy minimizer
-
- Steve Lustig (Dupont): msi2lmp tool
-
- Mike Peachey (Cray Research): msi2lmp tool
-
-
-Other CRADA partners involved in the design and testing of LAMMPS are
-
-
- John Carpenter (Cray Research)
-
- Terry Stouch (Bristol-Myers Squibb)
-
- Jim Belak (LLNL)
-
-
-LAMMPS is copyrighted code that is distributed freely as open-source
-software under the GNU Public License (GPL). See the LICENSE file or
-www.gnu.org for more details.
-Basically the GPL allows you as a user to use, modify, or distribute
-LAMMPS however you wish, so long as any software you distribute
-remains under the GPL.
-
-If you have questions about LAMMPS, please contact me:
-
-The src directory contains the F77 and C source files for LAMMPS as
-well as several sample Makefiles for different machines. To make LAMMPS
-for a specfic machine, you simply type
-
-make machine
-
-from within the src directoy. E.g. "make sgi" or "make
-t3e". This should create an executable named lmp_sgi or lmp_t3e.
-
-In the src directory, there is one top-level Makefile and several
-low-level machine-specific files named Makefile.xxx where xxx = the
-machine name. If a low-level Makefile exists for your platform, you do
-not need to edit the top-level Makefile. However you should check the
-system-specific section of the low-level Makefile to make sure the
-various paths are correct for your environment. If a low-level Makefile
-does not exist for your platform, you will need to add a suitable
-target to the top-level Makefile. You will also need to create a new
-low-level Makefile using one of the existing ones as a template. If you
-wish to make LAMMPS for a single-processor workstation that doesn't
-have an installed MPI library, you can specify the serial target which
-uses a directory of MPI stubs to link against - e.g. "make
-serial". You will need to make the stub library (see STUBS
-directory) on your workstation before doing this.
-
-Note that the two-level Makefile system allows you to make LAMMPS for
-multiple platforms. Each target creates its own object directory for
-separate storage of its *.o files.
-
-There are a couple compiler switches of interest which can be specified
-in the low-level Makefiles. If you use a F77FLAGS switch of -DSYNC then
-synchronization calls will be made before the timing routines in
-integrate.f. This may slow down the code slightly, but will make the
-reported timings at the end of a run more accurate. The CCFLAGS setting
-in the low-level Makefiles requires a FFT setting, for example
--DFFT_SGI or -DFFT_T3E. This is for inclusion of the appropriate
-machine-specific native 1-d FFT libraries on various platforms.
-Currently, the supported machines and switches (used in fft_3d.c) are
-FFT_SGI, FFT_DEC, FFT_INTEL, FFT_T3E, and FFT_FFTW. The latter is a
-publicly available portable FFT library, FFTW,
-which you can install on any machine. If none of these options is
-suitable for your machine, please contact me, and we'll discuss how to
-add the capability to call your machine's native FFT library.
-LAMMPS is run by redirecting a file of input commands into it.
-
-lmp_sgi < in.lj
-
-lmp_t3e < in.lj
-
-The input file contains commands that specify the parameters for the
-simulation as well as read other necessary files such as a data file
-that describes the initial atom positions, molecular topology, and
-force-field parameters. The input_commands
- page describes all the possible commands that can be used. The data_format page describes the format of
-the data file.
-
-LAMMPS can be run on any number of processors, including a single
-processor. In principle you should get identical answers on any number
-of processors and on any machine. In practice, numerical round-off can
-cause slight differences and eventual divergence of dynamical
-trajectories.
-
-When LAMMPS runs, if you get an error message to the screen about
-"boosting" something, it means one (or more) data arrays are
-not allocated large enough. Some of these errors are detected at setup,
-others like neighbor list overflow may not occur until the middle of a
-run. When the latter happens the program will either gracefully stop
-(if all processors incurred the same error) or hang (with an error
-message). Unfortunately in the current version of LAMMPS which uses
-static memory allocation, changing the array size(s) requires you to
-edit the appropriate line(s) in the param.h file and recompile the code.
-
-I've tried to be careful about detecting memory-overflow errors in
-LAMMPS. If the code ever crashes or hangs without spitting out an error
-message first, it's probably a bug, so let me know about it. Of course
-this applies to problems due to algorithmic or parallelism issues, not
-to physics mistkaes, like specifying too big a timestep or putting 2
-atoms on top of each other! One exception is that different MPI
-implementations handle buffering of messages differently. If the code
-hangs without an error message, it may be that you need to specify an
-MPI setting or two (usually via an environment variable) to enable
-buffering or boost the sizes of messages that can be buffered.
-There are several sample problems in the examples directory. All of
-them use an input file (in.*) of commands and a data file (data.*) of
-initial atomic coordinates and produce one or more output files. The
-*.xxx.P files are outputs on P processors on a particular machine which
-you can compare your answers to.
-
-(1) lj
-
-Simple atomic simulations of Lennard-Jones atoms of 1 or 3 species with
-various ensembles -- NVE, NVT, NPT.
-
-(2) charge
-
-A few timestep simulation of a box of charged atoms for testing the
-Coulombic options -- cutoff, Ewald, particle-mesh Ewald (PPPM).
-
-(3) class2
-
-A simple test run of phenyalanine using DISCOVER cff95 class II force
-fields.
-
-(4) min
-
-An energy minimization of a transcription protein.
-
-(5) lc
-
-Small (250 atom) and large (6750 atom) simulations of liquid crystal
-molecules with various Coulombic options and periodicity settings. The
-large-system date file was created by using the "replicate"
-tool on the small-system data file.
-
-(6) flow
-
-2-d flow of Lennard-Jones atoms in a channel using various contraint
-options.
-
-(7) polymer
-
-Simulations of bead-spring polymer models with one chain type and two
-chain types (different size monomers). The two-chain system also has
-freely diffusing monomers. This illustrates use of the setup_chain
-program in the tools directory and also how to use soft potentials to
-untangle the initial configurations.
-The msi2lmp directory has source code for a tool that converts MSI
-Discover files to LAMMPS input data files. This tool requires you to
-have the Discover force-field description files in order to convert
-those parameters to LAMMPS parameters. See the README file in the
-msi2lmp directory for additional information.
-
-The tools directory has a C file called replicate.c which is useful for
-generating new LAMMPS data files from existing ones - e.g. scaling the
-atom coordinates, replicating the system to make a larger one, etc. See
-the comments at the top of replicate.c for instructions on how to use
-it.
-
-The tools directory has a F77 program called setup_lj (compile and link
-with print.c) which can be used to generate a 3-d box of Lennard Jones
-atoms (one or more atom types) like those used in examples/lj.
-
-The tools directory also has a F77 program called setup_chain.f
-(compile and link with print.c) which can be used to generate random
-initial polymer configurations for bead-spring models like those used
-in examples/polymer. It uses an input polymer definition file (see
-examples/polymer for two sample def files) that specfies how many
-chains of what length, a random number seed, etc.
-This file describes the format of the data file read into LAMMPS with
-the "read data" command. The data file contains basic
-information about the size of the problem to be run, the initial atomic
-coordinates, molecular topology, and (optionally) force-field
-coefficients. It will be easiest to understand this file if you read it
-while looking at a sample data file from the examples.
-Blank lines are important. After the header section, new entries are
-separated by blank lines.
-
-Indentation and space between words/numbers on one line is not
-important except that entry keywords (e.g. Masses, Bond Coeffs) must be
-left-justified and capitalized as shown.
-
-The header section (thru box bounds) must appear first in the file, the
-remaining entries (Masses, various Coeffs, Atoms, Bonds, etc) can come
-in any order.
-
-These entries must be in the file: header section, Masses, Atoms.
-
-These entries must be in the file if there are a non-zero number of
-them: Bonds, Angles, Dihedrals, Impropers, Bond Coeffs, Angle Coeffs,
-Dihedral Coeffs, Improper Coeffs. Cross-term coefficients for a
-particular kind of interaction (e.g. BondAngle Coeffs for bonds) must
-appear if class II force fields have been turned on in the input
-command file via a "style" command.
-
-The Nonbond Coeffs entry contains one line for each atom type. These
-are the coefficients for an interaction between 2 atoms of the same
-type. The cross-type coeffs are computed by the appropriate class I or
-class II mixing rules, or can be specified explicitly using the
-"nonbond coeff" command in the input command script. See the force_fields page for more information.
-
-The Nonbond Coeffs and Bond Coeffs entries are optional since they can
-be specified from the input command script. This is not true if bond
-style is set to class II since those coeffs can only be specified in
-this data file.
-
-In the Atoms entry, the atoms can be in any order so long as there are
-N entries. The 1st number on the line is the atom-tag (number from 1 to
-N) which is used to identify the atom throughout the simulation. The
-molecule-tag is a second identifier which is attached to the atom; it
-can be 0, or a counter for the molecule the atom is part of, or any
-other number you wish. The q value is the charge of the atom in
-electron units (e.g. +1 for a proton). The xyz values are the initial
-position of the atom. For 2-d simulations specify z as 0.0.
-
-The final 3 nx,ny,nz values on a line of the Atoms entry are optional.
-LAMMPS only reads them if the "true flag" command is
-specified in the input command script. Otherwise they are initialized
-to 0 by LAMMPS. Their meaning, for each dimension, is that
-"n" box-lengths are added to xyz to get the atom's
-"true" un-remapped position. This can be useful in pre- or
-post-processing to enable the unwrapping of long-chained molecules
-which wrap thru the periodic box one or more times. The value of
-"n" can be positive, negative, or zero. For 2-d simulations
-specify nz as 0.
-
-For simulations with periodic boundary conditions, xyz are remapped
-into the periodic box (from as far away as needed), so the initial
-coordinates need not be inside the box. The nx,ny,nz values (as read in
-or as set to zero by LAMMPS) are appropriately adjusted by this
-remapping.
-
-The number of coefficients specified on each line of coefficient
-entries (Nonbond Coeffs, Bond Coeffs, etc) depends on the
-"style" of interaction. This is specified in the input
-command script, unless the default is used. See the input_commands page for a description
-of the various style options. The input_commands
- and force_fields pages explain the
-meaning and valid ranges for each of the coefficients.
-Here is a sample file with annotations in parenthesis and lengthy
-sections replaced by dots (...). Note that the blank lines are
-important in this example.
-
-
-LAMMPS Description (1st line of file)
-
-100 atoms (this must be the 3rd line, 1st 2 lines are ignored)
-95 bonds (# of bonds to be simulated)
-50 angles (include these lines even if number = 0)
-30 dihedrals
-20 impropers
-
-5 atom types (# of nonbond atom types)
-10 bond types (# of bond types = sets of bond coefficients)
-18 angle types
-20 dihedral types (do not include a bond,angle,dihedral,improper type
-2 improper types line if number of bonds,angles,etc is 0)
-
--0.5 0.5 xlo xhi (for periodic systems this is box size,
--0.5 0.5 ylo yhi for non-periodic it is min/max extent of atoms)
--0.5 0.5 zlo zhi (do not include this line for 2-d simulations)
-
-Masses
-
- 1 mass
- ...
- N mass (N = # of atom types)
-
-Nonbond Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of atom types)
-
-Bond Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of bond types)
-
-Angle Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of angle types)
-
-Dihedral Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-Improper Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of improper types)
-
-BondBond Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of angle types)
-
-BondAngle Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of angle types)
-
-MiddleBondTorsion Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-EndBondTorsion Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-AngleTorsion Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-AngleAngleTorsion Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-BondBond13 Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of dihedral types)
-
-AngleAngle Coeffs
-
- 1 coeff1 coeff2 ...
- ...
- N coeff1 coeff2 ... (N = # of improper types)
-
-Atoms
-
- 1 molecule-tag atom-type q x y z nx ny nz (nx,ny,nz are optional -
- ... see "true flag" input command)
- ...
- N molecule-tag atom-type q x y z nx ny nz (N = # of atoms)
-
-Bonds
-
- 1 bond-type atom-1 atom-2
- ...
- N bond-type atom-1 atom-2 (N = # of bonds)
-
-Angles
-
- 1 angle-type atom-1 atom-2 atom-3 (atom-2 is the center atom in angle)
- ...
- N angle-type atom-1 atom-2 atom-3 (N = # of angles)
-
-Dihedrals
-
- 1 dihedral-type atom-1 atom-2 atom-3 atom-4 (atoms 2-3 form central bond)
- ...
- N dihedral-type atom-1 atom-2 atom-3 atom-4 (N = # of dihedrals)
-
-Impropers
-
- 1 improper-type atom-1 atom-2 atom-3 atom-4 (atom-1 is central atom)
- ...
- N improper-type atom-1 atom-2 atom-3 atom-4 (N = # of impropers)
-
-Whatever Coulomb style is specified in the input command file, the
-short-range Coulombic interactions are computed by this formula,
-modified by an appropriate smoother for the smooth, Ewald, and PPPM
-styles.
-
- E = C q1 q2 / (epsilon * r)
-
- r = distance (computed by LAMMPS)
- C = hardwired constant to convert to energy units
- q1,q2 = charge of each atom in electron units (proton = +1),
- specified in "Atoms" entry in data file
- epsilon = dielectric constant (vacuum = 1.0),
- set by user in input command file
-
-The style of nonbond potential is specified in the input command file.
-
-(1) lj/cutoff
-
-
- E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ]
-
- standard Lennard Jones potential
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
-
- 2 coeffs are listed in data file or set in input script
- 1 cutoff is set in input script
-
-
-
-(2) lj/switch
-
-
- E = 4 epsilon [ (sigma/r)^12 - (sigma/r)^6 ] for r < r_inner
- = spline fit for r_inner < r < cutoff
- = 0 for r > cutoff
-
- switching function (spline fit) is applied to standard LJ
- within a switching region (from r_inner to cutoff) so that
- energy and force go smoothly to zero
- spline coefficients are computed by LAMMPS
- so that at inner cutoff (r_inner) the potential, force,
- and 1st-derivative of force are all continuous,
- and at outer cutoff (cutoff) the potential and force
- both go to zero
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
-
- 2 coeffs are listed in data file or set in input script
- 2 cutoffs (r_inner and cutoff) are set in input script
-
-
-
-(3) lj/shift
-
-
- E = 4 epsilon [ (sigma/(r - delta))^12 - (sigma/(r - delta))^6 ]
-
- same as lj/cutoff except that r is shifted by delta
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
- coeff3 = delta (distance)
-
- 3 coeffs are listed in data file or set in input script
- 1 cutoff is set in input script
-
-
-
-(4) soft
-
-
- E = A * [ 1 + cos( pi * r / cutoff ) ]
-
- useful for pushing apart overlapping atoms by ramping A over time
-
- r = distance (computed by LAMMPS)
-
- coeff1 = prefactor A at start of run (energy)
- coeff2 = prefactor A at end of run (energy)
-
- 2 coeffs are listed in data file or set in input script
- 1 cutoff is set in input script
-
-
-
-(5) class2/cutoff
-
-
- E = epsilon [ 2 (sigma/r)^9 - 3 (sigma/r)^6 ]
-
- used with class2 bonded force field
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = sigma (distance)
-
- 2 coeffs are listed in data file or set in input script
- 1 cutoff is set in input script
-
-The coefficients for each nonbond style are input in either the data
-file by the "read data" command or in the input script using
-the "nonbond coeff" command. In the former case, only one set
-of coefficients is input for each atom type. The cross-type coeffs are
-computed using one of three possible mixing rules:
-The default mixing rule for nonbond styles lj/cutoff, lj/switch,
-lj/shift, and soft is "geometric". The default for nonbond
-style class2/cutoff is "sixthpower".
-
-The default can be overridden using the "mixing style"
-command. The one exception to this is for the nonbond style soft, for
-which only an epsilon prefactor is input. This is always mixed
-geometrically.
-
-Also, for nonbond style lj/shift, the delta coefficient is always mixed
-using the rule
-The style of bond potential is specified in the input command file.
-
-(1) harmonic
-
-
- E = K (r - r0)^2
-
- standard harmonic spring
-
- r = distance (computed by LAMMPS)
-
- coeff1 = K (energy/distance^2) (the usual 1/2 is included in the K)
- coeff2 = r0 (distance)
-
- 2 coeffs are listed in data file or set in input script
-
-
-
-(2) FENE/standard
-
-
- E = -0.5 K R0^2 * ln[1 - (r/R0)^2] +
- 4 epsilon [(sigma/r)^12 - (sigma/r)^6] + epsilon
-
- finite extensible nonlinear elastic (FENE) potential for
- polymer bead-spring models
- see Kremer, Grest, J Chem Phys, 92, p 5057 (1990)
-
- r = distance (computed by LAMMPS)
-
- coeff1 = K (energy/distance^2)
- coeff2 = R0 (distance)
- coeff3 = epsilon (energy)
- coeff4 = sigma (distance)
-
- 1st term is attraction, 2nd term is repulsion (shifted LJ)
- 1st term extends to R0
- 2nd term only extends to the minimum of the LJ potential,
- a cutoff distance computed by LAMMPS (2^(1/6) * sigma)
-
- 4 coeffs are listed in data file or set in input script
-
-
-
-(3) FENE/shift
-
-
- E = -0.5 K R0^2 * ln[1 - ((r - delta)/R0)^2] +
- 4 epsilon [(sigma/(r - delta))^12 - (sigma/(r - delta))^6] + epsilon
-
- same as FENE/standard expect that r is shifted by delta
-
- r = distance (computed by LAMMPS)
-
- coeff1 = K (energy/distance^2)
- coeff2 = R0 (distance)
- coeff3 = epsilon (energy)
- coeff4 = sigma (distance)
- coeff5 = delta (distance)
-
- 1st term is attraction, 2nd term is repulsion (shifted LJ)
- 1st term extends to R0
- 2nd term only extends to the minimum of the LJ potential,
- a cutoff distance computed by LAMMPS (2^(1/6) * sigma + delta)
-
- 5 coeffs are listed in data file or set in input script
-
-
-
-(4) nonlinear
-
-
- E = epsilon (r - r0)^2 / [ lamda^2 - (r - r0)^2 ]
-
- non-harmonic spring of equilibrium length r0
- with finite extension of lamda
- see Rector, Van Swol, Henderson, Molecular Physics, 82, p 1009 (1994)
-
- r = distance (computed by LAMMPS)
-
- coeff1 = epsilon (energy)
- coeff2 = r0 (distance)
- coeff3 = lamda (distance)
-
- 3 coeffs are listed in data file or set in input script
-
-
-
-(5) class2
-
-
- E = K2 (r - r0)^2 + K3 (r - r0)^3 + K4 (r - r0)^4
-
- r = distance (computed by LAMMPS)
-
- coeff1 = r0 (distance)
- coeff2 = K2 (energy/distance^2)
- coeff3 = K3 (energy/distance^3)
- coeff4 = K4 (energy/distance^4)
-
- 4 coeffs are listed in data file - cannot be set in input script
-
-The style of angle potential is specified in the input command file.
-
-(1) harmonic
-
-
- E = K (theta - theta0)^2
-
- theta = radians (computed by LAMMPS)
-
- coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
- coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
-
- 2 coeffs are listed in data file
-
-
-
-(2) class2
-
-
- E = K2 (theta - theta0)^2 + K3 (theta - theta0)^3 +
- K4 (theta - theta0)^4
-
- theta = radians (computed by LAMMPS)
-
- coeff1 = theta0 (degrees) (converted to radians within LAMMPS)
- coeff2 = K2 (energy/radian^2)
- coeff3 = K3 (energy/radian^3)
- coeff4 = K4 (energy/radian^4)
-
- 4 coeffs are listed in data file
-
-The style of dihedral potential is specified in the input command file.
-
-(1) harmonic
-
-
- E = K [1 + d * cos (n * phi) ]
-
- phi = radians (computed by LAMMPS)
-
- coeff1 = K (energy)
- coeff2 = d (always +1 or -1)
- coeff3 = n (1,2,3,4,6)
-
- Cautions when comparing to other force fields:
-
- some force fields reverse the sign convention on d so that
- E = K [1 - d * cos(n*phi)]
- some force fields divide/multiply K by the number of multiple
- torsions that contain the j-k bond in an i-j-k-l torsion
- some force fields let n be positive or negative which
- corresponds to d = 1,-1
- in the LAMMPS force field, the trans position = 180 degrees, while
- in some force fields trans = 0 degrees
-
- 3 coeffs are listed in data file
-
-
-(2) class2
-
-
- E = SUM(n=1,3) { K_n [ 1 - cos( n*Phi - Phi0_n ) ] }
-
- phi = radians (computed by LAMMPS)
-
- coeff1 = K_1 (energy)
- coeff2 = Phi0_1 (degrees) (converted to radians within LAMMPS)
- coeff3 = K_2 (energy)
- coeff4 = Phi0_2 (degrees) (converted to radians within LAMMPS)
- coeff5 = K_3 (energy)
- coeff6 = Phi0_3 (degrees) (converted to radians within LAMMPS)
-
- 6 coeffs are listed in data file
-
-The style of improper potential is specified in the input command file.
-
-(1) harmonic
-
-
- E = K (chi - chi0)^2
-
- chi = radians (computed by LAMMPS)
-
- coeff1 = K (energy/radian^2) (the usual 1/2 is included in the K)
- coeff2 = chi0 (degrees) (converted to radians within LAMMPS)
-
- in data file, listing of 4 atoms requires atom-1 as central atom
- some force fields (AMBER,Discover) have atom-2 as central atom - it is really
- an out-of-plane torsion, may need to treat as dihedral in LAMMPS
-
- 2 coeffs are listed in data file
-
-
-(2) class2
-
-
- same formula, coeffs, and meaning as "harmonic" except that LAMMPS
- averages all 3 angle-contributions to chi
- in class II this is called a Wilson out-of-plane interaction
-
- 2 coeffs are listed in data file
-
-Angle-Torsion (computed within class II dihedral for each of 2 angles)
-
-
- E = (theta - theta0) * [ F1_n*cos(phi) + F2_n*cos(2*phi) + F3_n*cos(3*phi) ]
-
- theta = radians (computed by LAMMPS)
- phi = radians (computed by LAMMPS)
-
- coeff1 = F1_1 (energy/radians)
- coeff2 = F2_1 (energy/radians)
- coeff3 = F3_1 (energy/radians)
- coeff4 = F1_2 (energy/radians)
- coeff5 = F2_3 (energy/radians)
- coeff6 = F3_3 (energy/radians)
- coeff7 = theta0_1 (degrees) (converted to radians within LAMMPS)
- coeff8 = theta0_2 (degrees) (converted to radians within LAMMPS)
-
- 8 coeffs are listed in data file
-
-
-Angle-Angle-Torsion (computed within class II dihedral)
-
-
- E = K (theta - theta0) * (theta' - theta0') * (phi - phi0)
-
- theta,theta' = radians (computed by LAMMPS)
- phi = radians (computed by LAMMPS)
-
- coeff1 = K (energy/radians^3)
- coeff2 = theta0 (degrees) (converted to radians within LAMMPS)
- coeff3 = theta0' (degrees) (converted to radians within LAMMPS)
-
- Note: phi0 is known from dihedral coeffs so don't need it specified here
-
- 3 coeffs are listed in data file
-
-
-
-Bond-Bond-13-Torsion (computed within class II dihedral)
-
-
- (undocumented)
-
-
-
-Angle-Angle (computed within class II improper for each of 3 pairs of
-angles)
-
-
- E = K_n (theta - theta0_n) * (theta' - theta0_n')
-
- theta,theta' = radians (computed by LAMMPS)
-
- coeff1 = K_1 (energy/radians^2)
- coeff2 = K_2 (energy/radians^2)
- coeff3 = K_3 (energy/radians^2)
- coeff4 = theta0_1 (degrees) (converted to radians within LAMMPS)
- coeff5 = theta0_2 (degrees) (converted to radians within LAMMPS)
- coeff6 = theta0_3 (degrees) (converted to radians within LAMMPS)
-
- 6 coeffs are listed in data file
-
-This page contains a complete list of valid LAMMPS inputs. It will be
-easiest to understand if you read it while looking at sample input
-files such as those in the examples directory.
-
-The input file of 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 file to be read
-in or a simulation to be run. In general, commands can be listed in any
-order, although some commands require others to have been executed
-previously.
-
-LAMMPS continues to read successive lines from the input command file
-until the end-of-file is reached which causes LAMMPS to terminate. Thus
-new simulations can be run or current simulations continued by simply
-specifying additional commands in the input command file.
-
-The next section of this page gives an example 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. 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 final section of this page gives a more detailed description of
-each command with its associated parameters. It also lists the default
-parameters associated with each command. When performing a simulation,
-you only need specify a particular command if you do not want to use
-the default settings.
-define style of angle interactions to use for all 3-body terms
-angle style determines how many angle coefficients the program expects to
- find in a "Angle Coeffs" entry in the data file,
- thus the style must be set (if not using default)
- before using the "read data" command (if the data file contains a
- "Angle Coeffs" entry)
-coefficients for all angle types must be defined in data (or restart)
- file by "Angle Coeffs" entry before a run is performed
-style of "none" erases all previously defined angle coefficients, must
- reset style to something else before defining new coefficients
-
-Default = harmonic
-
-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
- remainder
- no other parameters required
-
-assign a group of atoms to a particular constraint
-use appropriate number of coeffs for a particular style
-the constraint itself is defined by the "fix style" command
-multiple groups of atoms can be assigned to the same constraint
-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)
-
-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)
- class 2
- 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
-these coefficients can also be set in data file
- by "Bond Coeffs" entry, the most recently defined coefficients are used
-
-Default = no settings
-
- fene/shift = same as fene/standard with shift of bond distance
-
- nonlinear = non-linear finite-extension spring (van Swol)
-
- class2 = class 2 bonds
-
-
-define style of bond interactions to use between all bonded atoms
-bond style determines how many bond coefficients the program expects to
- find in a "Bond Coeffs" entry in the data file or when using the
- "bond coeff" command, thus the style must be set (if not using default)
- before using the "read data" command (if the data file contains a
- "Bond Coeffs" entry)
-coefficients for all bond types must be defined in data (or restart)
- file by "Bond Coeffs" entry or by "bond coeffs" commands before a run
- is performed
-style of "none" erases all previously defined bond coefficients, must
- reset style to something else before defining new coefficients
-
-Default = harmonic
-
- 1st parameter = style of pairwise Coulomb interactions
-
- 2nd-Nth parameters = coeffs 1 to N-1
-
-
-styles:
-
-
-
- none = no Coulomb interactions are computed
-
- cutoff = use a simple cutoff
-
- smooth = use a switch region that goes smoothly to zero
-
- ewald = use Ewald summations for long-range effects
-
- pppm = use particle-mesh Ewald for long-range effects
-
-
-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
-
-use appropriate number of coeffs for a particular style
-if simulated system has no charges, must set "coulomb style none" to
- prevent LAMMPS from doing useless nonbond work
-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)
-for PPPM, must be running on power-of-2 number of processors for FFTs
-must use periodic boundary conditions in conjuction with Ewald and PPPM
-cannot use any 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
-for smooth style, outer cutoff must be > inner cutoff
-for smooth style, 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
-
-coeffs: types
- (1) lowest atom type
- (2) highest 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
- 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 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"
-
- gaussian = gaussian distribution of velocities
-
- velocity = assign specific initial velocity to each atom
-
-
-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 "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
-
- 1st parameter = nametag of a user routine added to diagnostic.f file
-
- 2nd parameter = call this user routine every this # of timesteps
-
- 3rd parameter = file name for this routine's diagnostic output
-
- 4th parameter = # of remaining parameters (0 to 5)
-
- 5th-9th parameters = optional parameters to pass to user routine
-
-
-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
-the diagnostic.f file has 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 user routines must be compiled and linked into LAMMPS
-the optional 5th-9th parameters are stored in program variables which
- can be accessed by the diagnostic routine
-
-Default = none
-
-define style of dihedral interactions to use for all 4-body terms
-dihedral style determines how many dihedral coefficients the program expects to
- find in a "Dihedral Coeffs" entry in the data file,
- thus the style must be set (if not using default)
- before using the "read data" command (if the data file contains a
- "Dihedral Coeffs" entry)
-coefficients for all dihedral types must be defined in data (or restart)
- file by "Dihedral Coeffs" entry before a run is performed
-style of "none" erases all previously defined dihedral coefficients, must
- reset style to something else before defining new coefficients
-
-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
-positions are also dumped at the start and end of every run
-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
-
-Default = 0
-
-dump all atom forces to a file every this many timesteps
-forces 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
-
-dump all atom velocities to a file every this many 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
-
- 1st parameter = constraint # (except for none)
-
- 2nd parameter = style of that constraint
-
- 3rd-Nth parameters = coeffs 1 to N-2
-
-
-styles:
-
-
-
- none = erase all constraints and all atom assignments
-
- setforce = set force on each atom in group
-
- addforce = add a force to each atom in group
-
- aveforce = apply an external force to group of atoms such that every
- atom is accelerated the same
-
- rescale = thermostat a group of atoms by rescaling their velocities
-
- langevin = thermostat a group of atoms by the Langevin method
-
- nose/hoover = thermostat a group of atoms by the Nose/Hoover method
-
- springforce = apply a spring force to each atom in group
-
- dragforce = drag each atom in group to a specified position
-
-
-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
- 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
- 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)
- 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)
-
-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 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, langevin, nose/hoover) cannot be used in
- conjuction with global "temp control", since they conflict and will
- cause atom velocities to be reset twice
-if multiple Langevin constraints are specified the Marsaglia RNG will
- only use the last RNG seed specified for initialization
-meaning of thermostatting coefficients is same as in "temp control" command
-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 style springforce, 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 style springforce, a xyz position of NULL means do not include that
- dimension in the distance or force computation
-for style dragforce, 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 style dragforce, a xyz position of NULL means do not include that
- dimension in the distance or force computation
-
-Default = none
-
- class2 = class 2 Wilson out-of-plane (V = K*chi*chi)
-
-
-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
-in above formulas, phi = improper torsion, chi = Wilson out-of-plane
-improper style determines how many improper coefficients the program
- expects to find in a "Improper Coeffs" entry in the data file,
- thus the style must be set (if not using default)
- before using the "read data" command (if the data file contains a
- "Improper Coeffs" entry)
-coefficients for all improper types must be defined in data (or restart)
- file by "Improper Coeffs" entry before a run is performed
-style of "none" erases all previously defined improper coefficients, must
- reset style to something else before defining new coefficients
-
-Default = harmonic
-
-name of file to write minimization iteration info to
-filename can exist, will be overwritten when minimization occurs
-if no file is specified, no minimization output will be written to a file
-
-Default = none
-
- 1st parameter = stopping tolerance (in force units)
-
- 2nd parameter = max iterations of minimizer
-
- 3rd parameter = max number of force or energy evaluations
-
-
-perform an energy minimization of the atomic coordinates of the system
-uses algorithm selected with "min style" command
-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
-for good convergence, should specify use of smooth nonbond force fields
- that have continuous second derivatives, set "coulomb style" to "smooth",
- set nonbond style to "lj/smooth" or use a long cutoff
-
- 1st parameter = style of mixing used to generate i-j nonbond
- interactions
-
-
-styles:
-
-
-
- geometric = sqrt(i*j) for both epsilon and sigma
-
- arithmetic = sqrt(i*j) for epsilon, (i+j)/2 for sigma
-
- sixthpower = see force_fields.txt file for details
-
-
-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 used 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
-
-Default = geometric for all nonbond styles except class2/cutoff
- sixthpower for nonbond style class2/cutoff
-
- 3rd parameter = build neighbor list every this many steps (see next
- param)
-
- 4th parameter = delay building until after this many steps since last
- build
-
- 5th parameter = build criteria: 0 = always build, 1 = only build if
- some atom has moved 1/2 or more of the skin thickness
-
-
-factors that affect how and when neighbor lists are constructed
-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 RESPA is run, the 3rd and 4th parameters refer to the
- nonbond (short-range) timestepping
-defaults = 2.0 0 1 10 1
-
-turn off or on Newton's 3rd law for bond and non-bond force computation
-
-
-
- value = 0 -> no Newton's 3rd law for either
-
- value = 1 -> Newton's 3rd law only for bonded computations
-
- value = 2 -> Newton's 3rd law only for non-bonded computations
-
- value = 3 -> Newton's 3rd law for both bonded and non-bonded
- computations
-
-
-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)
-
-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 "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
-
-Default = no settings
-
- 1st parameter = style of pairwise nonbond interactions (other than
- Coulombic)
-
- 2nd-Nth parameters = coeffs 1 to N-1
-
-
-styles:
-
-
-
- none = no nonbond interactions are computed
-
- lj/cutoff = LJ with a cutoff
-
- lj/smooth = LJ with a switched region that goes smoothly to zero
-
- lj/shift = same as lj/cutoff with shift of interparticle distance
-
- soft = cosine potential with time-varying prefactor
-
-
-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)
-
-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)
-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)
-coefficients for all atom type pairs must be defined in data (or restart)
- file by "Nonbond Coeffs" entry or by "nonbond coeffs" commands before a run
- is performed
-style of "none" erases all previously defined nonbond coefficients, must
- reset style to something else before defining new coefficients
-for all styles (except none), 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 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 style, outer cutoff must be > inner cutoff
-for lj/smooth style, 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 style, 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/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
-
- 1st parameter = periodic BC in x direction (0) yes, (1) no
-
- 2nd parameter = periodic BC in y direction (0) yes, (1) no
-
- 3rd parameter = periodic BC in z direction (0) yes, (1) no
-
-
-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)
-
- 1st parameter = # of mesh points in x direction
-
- 2nd parameter = # of mesh points in y direction
-
- 3rd parameter = # of mesh points in z direction
-
-
-specify the mesh size used by coulomb style pppm
-mesh dimensions that are power-of-two are fastest for FFTs, but any size
- 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
-
-Default = none
-
-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
-
-Default = 5
-
-coeffs: none
- no other parameters required
- nose/hoover
- (1) desired P at beginning of run
- (2) desired P at end of run
- (3) frequency constant for volume adjust (inverse time units)
-
-use appropriate number of coeffs for a particular style
-all specified pressures are in pressure units
-target pressure at intermediate points during run is a ramped value
- between the beginning and ending pressure
-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)
-
-Default = none
-
-coeffs: none
- no other parameters required
- nose/hoover
- (1) desired P at beginning of run
- (2) desired P at end of run
- (3) frequency constant for volume adjust (inverse time units)
-
-commands for anisotropic pressure control, any combination is allowed
-for a component with style = none, the cell dimension in that direction
- is held constant (constant volume)
-use appropriate number of coeffs for a particular style
-all specified pressures are in pressure units
-target pressure at intermediate points during run is a ramped value
- between the beginning and ending pressure
-cannot be used with isotropic "press control" command
-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)
-
-Default = none
-
- 1st parameter = # of processors in x dimension
-
- 2nd parameter = # of processors in y dimension
-
- 3rd parameter = # of processors in z dimension
-
-
-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 "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
-most "Coeffs" entries must be present in this file if a particular "style"
- is desired, an exception are the "Nonbond Coeffs" and "Bond Coeffs" entries
- which can be omitted if all the settings are made via "nonbond coeff"
- and "bond coeff" commands
-a "Nonbond Coeffs" entry only contains one set of coefficients for each
- atom type, after being read-in the appropriate class I or class II mixing
- rules are applied to compute the cross-type coefficients (see the file
- data_format for more information)
-
-read atom positions and velocities and nonbond and bond coefficients
- 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
-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 all nonbond and many-body styles and coefficients,
- so reading the file will overwrite any current settings
-the restart file stores the constraint assignments for each atom, but
- not the constraints themselves, so they must still be specified with
- the "fix style" command
-for a restart do not use the "read data" and "create temp" commands
-
-explicitly reset the timestep to this value
-the "read data" and "read restart" commands set the timestep to zero
- and file value respectively, so this should be done after those commands
-
- 1st parameter = compute bond forces this many times for every one
- 3/4-body force call
-
- 2nd parameter = compute 3/4-body forces this many times for every one
- nonbond (short-range) force call
-
- 3rd parameter = compute nonbond (short-range) forces this many times
- for every one long-range force call
-
-
-factors that affect sub-cycling of force calculations within RESPA 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 RESPA, all input commands that specify numbers of timesteps
- (e.g. run, thermo flag, restart flag, 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 nonbond (short-range) timestepping
-setting all 3 parameters to 1 turns off RESPA
-
-Default = 1 1 1 (no RESPA)
-
-create a restart file every this many timesteps
-value of 0 means never create one
-program will toggle between 2 filenames as the run progresses
- so always have at least one good file even if the program dies in mid-write
-restart file stores atom positions and velocities in binary form
-allows program to restart from where it left off (see "read restart" commmand)
-
-Default = 0
-
-weighting factors to turn on/off nonbond interactions of atom pairs that
- are "close" in the molecular topology
-1st nearest neighbors are a pair of atoms connected by a bond
-2nd nearest 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
-
-Default = 0.0 0.0 0.4 (CHARMM standard)
-
-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
- 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)
-
-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 to exactly 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 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 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
-
-read atom positions (see "read data" command) and dump atom positions
- (see "dump flag" command) in one of 2 formats
-
-
-
- flag = 0 -> read/dump only atom positions (remapped to periodic box)
-
- flag = 1 -> dump atom positions plus integer box counts
-
- flag = 2 -> read atom positions plus integer box counts
-
- flag = 3 -> read/dump atom positions plus integer box counts
-
-
-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
-
-Default = 0
-
-set units to one of two options for all subsequent input parameters
-
-option real = conventional units:
-
-
-
- distance = Angstroms
-
- time = femtoseconds
-
- mass = grams/mole
-
- temperature = degrees K
-
- pressure = atmospheres
-
- energy = Kcal/mole
-
- velocity = Angstroms/femtosecond
-
- force = grams/mole * Angstroms/femtosecond^2
-
-
-option lj = LJ reduced units:
-
-
-
- distance = sigmas
-
- time = reduced LJ tau
-
- temperature = reduced LJ temp
-
- pressure = reduced LJ pressure
-
- energy = epsilons
-
- velocity = sigmas/tau
-
- force = reduced LJ force (sigmas/tau^2)
-
-
-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
-must be set before data or restart file is read
-
-Default = real
-
-This file describes the units associated with many of the key variables
-and equations used inside the LAMMPS code. Units used for input command
-parameters are described in the input_commands file. The input command
-"units" selects between conventional and Lennard-Jones units.
-See the force_fields file for more information on units for the force
-field parameters that are input from data files.
-
-Conventional units:
-
-
- distance = Angstroms
-
- time = femtoseconds
-
- mass = grams/mole
-
- temperature = degrees K
-
- pressure = atmospheres
-
- energy = Kcal/mole
-
- velocity = Angstroms/femtosecond
-
- force = grams/mole * Angstroms/femtosecond^2
-
- charge = +/- 1.0 is proton/electron
-
-
-LJ reduced units:
-
-
- distance = sigmas
-
- time = reduced LJ tau
-
- mass = ratio to unitless 1.0
-
- temperature = reduced LJ temp
-
- pressure = reduced LJ pressure
-
- energy = epsilons
-
- velocity = sigmas/tau
-
- force = reduced LJ force (sigmas/tau^2)
-
- charge = ratio to unitless 1.0
-
-
-
-This listing of variables assumes conventional units; to convert to LJ
-reduced units, simply substitute the appropriate term from the list
-above. E.g. x is in sigmas in LJ units. Per-mole in any of the units
-simply means for 6.023 x 10^23 atoms.
-
-
-
-Meaning Variable Units
-
-positions x Angstroms
-velocities v Angstroms / click (see below)
-forces f Kcal / (mole - Angstrom)
-masses mass gram / mole
-charges q electron units (-1 for an electron)
- (1 e.u. = 1.602 x 10^-19 coul)
-
-time --- clicks (1 click = 48.88821 fmsec)
-timestep dt clicks
-input timestep dt_in fmsec
-time convert dtfactor 48.88821 fmsec / click
-
-temperature t_current degrees K
- t_start
- t_stop
-input damping t_freq_in inverse fmsec
-internal temp t_freq inverse clicks
- damping
-
-dielec const dielectric 1.0 (unitless)
-Boltmann const boltz 0.001987191 Kcal / (mole - degree K)
-
-virial virial[xyz] Kcal/mole = r dot F
-pressure factor pfactor 68589.796 (convert internal to atmospheres)
-internal p_current Kcal / (mole - Angs^3)
- pressure p_start
- p_stop
-input press p_start_in atmospheres
- p_stop_in
-output press log file atmospheres
-input damping p_freq_in inverse time
-internal press p_freq inverse clicks
- damping
-
-pot eng e_potential Kcal/mole
-kin eng e_kinetic Kcal/mole
-eng convert efactor 332.0636 (Kcal - Ang) / (q^2 - mole)
- (convert Coulomb eng to Kcal/mole)
-
-LJ coeffs lja,ljb Kcal-Angs^(6,12)/mole
-
-bond various see force_fields file
- parameters 2,3,4-body
- terms
-
The LAMMPS “version” is the date when it was released, such as 1 May
-2010. LAMMPS is updated continuously. Whenever we fix a bug or add a
-feature, we release it immediately, and post a notice on this page of the WWW site. Every 2-4 months one of the incremental releases
-is subjected to more thorough testing and labeled as a stable version.
-
Each dated copy of LAMMPS contains all the
-features and bug-fixes up to and including that version date. The
-version date is printed to the screen and logfile every time you run
-LAMMPS. It is also in the file src/version.h and in the LAMMPS
-directory name created when you unpack a tarball, and at the top of
-the first page of the manual (this page).
-
-
If you browse the HTML doc pages on the LAMMPS WWW site, they always
-describe the most current version of LAMMPS.
-
If you browse the HTML doc pages included in your tarball, they
-describe the version you have.
-
The PDF file on the WWW site or in the tarball is updated
-about once per month. This is because it is large, and we don’t want
-it to be part of every patch.
-
There is also a Developer.pdf file in the doc
-directory, which describes the internal structure and algorithms of
-LAMMPS.
-
-
LAMMPS stands for Large-scale Atomic/Molecular Massively Parallel
-Simulator.
-
LAMMPS is a classical molecular dynamics simulation code designed to
-run efficiently on parallel computers. It was developed at Sandia
-National Laboratories, a US Department of Energy facility, with
-funding from the DOE. It is an open-source code, distributed freely
-under the terms of the GNU Public License (GPL).
-
The current core group of LAMMPS developers is at Sandia National
-Labs and Temple University:
Past core developers include Paul Crozier, Ray Shan and Mark Stevens,
-all at Sandia. The LAMMPS home page at
-http://lammps.sandia.gov has more information
-about the code and its uses. Interaction with external LAMMPS developers,
-bug reports and feature requests are mainly coordinated through the
-LAMMPS project on GitHub.
-The lammps.org domain, currently hosting public continuous integration testing and precompiled Linux RPM and Windows installer packages is located
-at Temple University and managed by Richard Berger,
-richard.berger at temple.edu.
-
-
The LAMMPS documentation is organized into the following sections. If
-you find errors or omissions in this manual or have suggestions for
-useful information to add, please send an email to the developers so
-we can improve the LAMMPS documentation.
-
Once you are familiar with LAMMPS, you may want to bookmark this page at Section_commands.html#comm since
-it gives quick access to documentation for all LAMMPS commands.