lammps/doc/Section_commands.txt

609 lines
20 KiB
Plaintext

"Previous Section"_Section_start.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_howto.html :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)
:line
3. Commands :h3
This section describes how a LAMMPS input script is formatted and what
commands are used to define a LAMMPS simulation.
3.1 "LAMMPS input script"_#3_1
3.2 "Parsing rules"_#3_2
3.3 "Input script structure"_#3_3
3.4 "Commands listed by category"_#3_4
3.5 "Commands listed alphabetically"_#3_5 :all(b)
:line
3.1 LAMMPS input script :link(3_1),h4
LAMMPS executes by reading commands from a input script (text file),
one line at a time. When the input script ends, LAMMPS exits. Each
command causes LAMMPS to take some action. It may set an internal
variable, read in a file, or run a simulation. Most commands have
default settings, which means you only need to use the command if you
wish to change the default.
In many cases, the ordering of commands in an input script is not
important. However the following rules apply:
(1) LAMMPS does not read your entire input script and then perform a
simulation with all the settings. Rather, the input script is read
one line at a time and each command takes effect when it is read.
Thus this sequence of commands:
timestep 0.5
run 100
run 100 :pre
does something different than this sequence:
run 100
timestep 0.5
run 100 :pre
In the first case, the specified timestep (0.5 fmsec) is used for two
simulations of 100 timesteps each. In the 2nd case, the default
timestep (1.0 fmsec) is used for the 1st 100 step simulation and a 0.5
fmsec timestep is used for the 2nd one.
(2) Some commands are only valid when they follow other commands. For
example you cannot set the temperature of a group of atoms until atoms
have been defined and a group command is used to define which atoms
belong to the group.
(3) Sometimes command B will use values that can be set by command A.
This means command A must precede command B in the input script if it
is to have the desired effect. For example, the
"read_data"_read_data.html command initializes the system by setting
up the simulation box and assigning atoms to processors. If default
values are not desired, the "processors"_processors.html and
"boundary"_boundary.html commands need to be used before read_data to
tell LAMMPS how to map processors to the simulation box.
Many input script errors are detected by LAMMPS and an ERROR or
WARNING message is printed. "This section"_Section_errors.html gives
more information on what errors mean. The documentation for each
command lists restrictions on how the command can be used.
:line
3.2 Parsing rules :link(3_2),h4
Each non-blank line in the input script is treated as a command.
LAMMPS commands are case sensitive. Command names are lower-case, as
are specified command arguments. Upper case letters may be used in
file names or user-chosen ID strings.
Here is how each line in the input script is parsed by LAMMPS:
(1) If the line ends with a "&" character (with no trailing
whitespace), the command is assumed to continue on the next line. The
next line is concatenated to the previous line by removing the "&"
character and newline. This allows long commands to be continued
across two or more lines.
(2) All characters from the first "#" character onward are treated as
comment and discarded.
(3) The line is searched repeatedly for $ characters which indicate
variables that are replaced with a text string. If the $ is followed
by curly brackets, then the variable name is the text inside the curly
brackets. If no curly brackets follow the $, then the variable name
is the character immediately following the $. Thus $\{myTemp\} and $x
refer to variable names "myTemp" and "x". See the
"variable"_variable.html command for details of how strings are
assigned to variables and how they are substituted for in input
scripts.
(4) The line is broken into "words" separated by whitespace (tabs,
spaces). Note that words can thus contain letters, digits,
underscores, or punctuation characters.
(5) The first word is the command name. All successive words in the
line are arguments.
(6) Text with spaces can be enclosed in double quotes so it will be
treated as a single argument. See the "dump modify"_dump_modify.html
or "fix print"_fix_print.html commands for examples. A '#' or '$'
character that in text between double quotes will not be treated as a
comment or substituted for as a variable.
:line
3.3 Input script structure :h4,link(3_3)
This section describes the structure of a typical LAMMPS input script.
The "examples" directory in the LAMMPS distribution contains many
sample input scripts; the corresponding problems are discussed in
"this section"_Section_example.html, and animated on the "LAMMPS WWW
Site"_lws.
A LAMMPS input script typically has 4 parts:
Initialization
Atom definition
Settings
Run a simulation :ol
The last 2 parts can be repeated as many times as desired. I.e. run a
simulation, change some settings, run some more, etc. Each of the 4
parts is now described in more detail. Remember that almost all the
commands need only be used if a non-default value is desired.
(1) Initialization
Set parameters that need to be defined before atoms are created or
read-in from a file.
The relevant commands are "units"_units.html,
"dimension"_dimension.html, "newton"_newton.html,
"processors"_processors.html, "boundary"_boundary.html,
"atom_style"_atom_style.html, "atom_modify"_atom_modify.html.
If force-field parameters appear in the files that will be read, these
commands tell LAMMPS what kinds of force fields are being used:
"pair_style"_pair_style.html, "bond_style"_bond_style.html,
"angle_style"_angle_style.html, "dihedral_style"_dihedral_style.html,
"improper_style"_improper_style.html.
(2) Atom definition
There are 3 ways to define atoms in LAMMPS. Read them in from a data
or restart file via the "read_data"_read_data.html or
"read_restart"_read_restart.html commands. These files can contain
molecular topology information. Or create atoms on a lattice (with no
molecular topology), using these commands: "lattice"_lattice.html,
"region"_region.html, "create_box"_create_box.html,
"create_atoms"_create_atoms.html. The entire set of atoms can be
duplicated to make a larger simulation using the
"replicate"_replicate.html command.
(3) Settings
Once atoms and molecular topology are defined, a variety of settings
can be specified: force field coefficients, simulation parameters,
output options, etc.
Force field coefficients are set by these commands (they can also be
set in the read-in files): "pair_coeff"_pair_coeff.html,
"bond_coeff"_bond_coeff.html, "angle_coeff"_angle_coeff.html,
"dihedral_coeff"_dihedral_coeff.html,
"improper_coeff"_improper_coeff.html,
"kspace_style"_kspace_style.html, "dielectric"_dielectric.html,
"special_bonds"_special_bonds.html.
Various simulation parameters are set by these commands:
"neighbor"_neighbor.html, "neigh_modify"_neigh_modify.html,
"group"_group.html, "timestep"_timestep.html,
"reset_timestep"_reset_timestep.html, "run_style"_run_style.html,
"min_style"_min_style.html, "min_modify"_min_modify.html.
Fixes impose a variety of boundary conditions, time integration, and
diagnostic options. The "fix"_fix.html command comes in many flavors.
Various computations can be specified for execution during a
simulation using the "compute"_compute.html,
"compute_modify"_compute_modify.html, and "variable"_variable.html
commands.
Output options are set by the "thermo"_thermo.html, "dump"_dump.html,
and "restart"_restart.html commands.
(4) Run a simulation
A molecular dynamics simulation is run using the "run"_run.html
command. Energy minimization (molecular statics) is performed using
the "minimize"_minimize.html command. A parallel tempering
(replica-exchange) simulation can be run using the
"temper"_temper.html command.
:line
3.4 Commands listed by category :link(3_4),h4
This section lists all LAMMPS commands, grouped by category. The
"next section"_#3_5 lists the same commands alphabetically. Note that
some style options for some commands are part of specific LAMMPS
packages, which means they cannot be used unless the package was
included when LAMMPS was built. Not all packages are included in a
default LAMMPS build. These dependencies are listed as Restrictions
in the command's documentation.
Initialization:
"atom_modify"_atom_modify.html, "atom_style"_atom_style.html,
"boundary"_boundary.html, "dimension"_dimension.html,
"newton"_newton.html, "processors"_processors.html, "units"_units.html
Atom definition:
"create_atoms"_create_atoms.html, "create_box"_create_box.html,
"lattice"_lattice.html, "read_data"_read_data.html,
"read_restart"_read_restart.html, "region"_region.html,
"replicate"_replicate.html
Force fields:
"angle_coeff"_angle_coeff.html, "angle_style"_angle_style.html,
"bond_coeff"_bond_coeff.html, "bond_style"_bond_style.html,
"dielectric"_dielectric.html, "dihedral_coeff"_dihedral_coeff.html,
"dihedral_style"_dihedral_style.html,
"improper_coeff"_improper_coeff.html,
"improper_style"_improper_style.html,
"kspace_modify"_kspace_modify.html, "kspace_style"_kspace_style.html,
"pair_coeff"_pair_coeff.html, "pair_modify"_pair_modify.html,
"pair_style"_pair_style.html, "pair_write"_pair_write.html,
"special_bonds"_special_bonds.html
Settings:
"communicate"_communicate.html, "dipole"_dipole.html,
"group"_group.html, "mass"_mass.html, "min_modify"_min_modify.html,
"min_style"_min_style.html, "neigh_modify"_neigh_modify.html,
"neighbor"_neighbor.html, "reset_timestep"_reset_timestep.html,
"run_style"_run_style.html, "set"_set.html, "shape"_shape.html,
"timestep"_timestep.html, "velocity"_velocity.html
Fixes:
"fix"_fix.html, "fix_modify"_fix_modify.html, "unfix"_unfix.html
Computes:
"compute"_compute.html, "compute_modify"_compute_modify.html,
"uncompute"_uncompute.html
Output:
"dump"_dump.html, "dump_modify"_dump_modify.html,
"restart"_restart.html, "thermo"_thermo.html,
"thermo_modify"_thermo_modify.html, "thermo_style"_thermo_style.html,
"undump"_undump.html, "write_restart"_write_restart.html
Actions:
"delete_atoms"_delete_atoms.html, "delete_bonds"_delete_bonds.html,
"displace_atoms"_displace_atoms.html,
"displace_box"_displace_box.html, "minimize"_minimize.html,
"run"_run.html, "temper"_temper.html
Miscellaneous:
"clear"_clear.html, "echo"_echo.html, "if"_if.html,
"include"_include.html, "jump"_jump.html, "label"_label.html,
"log"_log.html, "next"_next.html, "print"_print.html,
"shell"_shell.html, "variable"_variable.html
:line
3.5 Individual commands :h4,link(3_5),link(comm)
This section lists all LAMMPS commands alphabetically, with a separate
listing below of styles within certain commands. The "previous
section"_#3_4 lists the same commands, grouped by category. Note that
some style options for some commands are part of specific LAMMPS
packages, which means they cannot be used unless the package was
included when LAMMPS was built. Not all packages are included in a
default LAMMPS build. These dependencies are listed as Restrictions
in the command's documentation.
"angle_coeff"_angle_coeff.html,
"angle_style"_angle_style.html,
"atom_modify"_atom_modify.html,
"atom_style"_atom_style.html,
"bond_coeff"_bond_coeff.html,
"bond_style"_bond_style.html,
"boundary"_boundary.html,
"change_box"_change_box.html,
"clear"_clear.html,
"communicate"_communicate.html,
"compute"_compute.html,
"compute_modify"_compute_modify.html,
"create_atoms"_create_atoms.html,
"create_box"_create_box.html,
"delete_atoms"_delete_atoms.html,
"delete_bonds"_delete_bonds.html,
"dielectric"_dielectric.html,
"dihedral_coeff"_dihedral_coeff.html,
"dihedral_style"_dihedral_style.html,
"dimension"_dimension.html,
"dipole"_dipole.html,
"displace_atoms"_displace_atoms.html,
"displace_box"_displace_box.html,
"dump"_dump.html,
"dump_modify"_dump_modify.html,
"echo"_echo.html,
"fix"_fix.html,
"fix_modify"_fix_modify.html,
"group"_group.html,
"if"_if.html,
"improper_coeff"_improper_coeff.html,
"improper_style"_improper_style.html,
"include"_include.html,
"jump"_jump.html,
"kspace_modify"_kspace_modify.html,
"kspace_style"_kspace_style.html,
"label"_label.html,
"lattice"_lattice.html,
"log"_log.html,
"mass"_mass.html,
"minimize"_minimize.html,
"min_modify"_min_modify.html,
"min_style"_min_style.html,
"neigh_modify"_neigh_modify.html,
"neighbor"_neighbor.html,
"newton"_newton.html,
"next"_next.html,
"pair_coeff"_pair_coeff.html,
"pair_modify"_pair_modify.html,
"pair_style"_pair_style.html,
"pair_write"_pair_write.html,
"print"_print.html,
"processors"_processors.html,
"read_data"_read_data.html,
"read_restart"_read_restart.html,
"region"_region.html,
"replicate"_replicate.html,
"reset_timestep"_reset_timestep.html,
"restart"_restart.html,
"run"_run.html,
"run_style"_run_style.html,
"set"_set.html,
"shape"_shape.html,
"shell"_shell.html,
"special_bonds"_special_bonds.html,
"temper"_temper.html,
"thermo"_thermo.html,
"thermo_modify"_thermo_modify.html,
"thermo_style"_thermo_style.html,
"timestep"_timestep.html,
"uncompute"_uncompute.html,
"undump"_undump.html,
"unfix"_unfix.html,
"units"_units.html,
"variable"_variable.html,
"velocity"_velocity.html,
"write_restart"_write_restart.html :tb(c=6,ea=c)
:line
Fix styles. See the "fix"_fix.html command for one-line descriptions
of each style or click on the style itself for a full description:
"addforce"_fix_addforce.html,
"aveforce"_fix_aveforce.html,
"ave/atom"_fix_ave_atom.html,
"ave/spatial"_fix_ave_spatial.html,
"ave/time"_fix_ave_time.html,
"com"_fix_com.html,
"coord/original"_fix_coord_original.html,
"deform"_fix_deform.html,
"deposit"_fix_deposit.html,
"drag"_fix_drag.html,
"dt/reset"_fix_dt_reset.html,
"efield"_fix_efield.html,
"enforce2d"_fix_enforce2d.html,
"freeze"_fix_freeze.html,
"gravity"_fix_gravity.html,
"gyration"_fix_gyration.html,
"heat"_fix_heat.html,
"indent"_fix_indent.html,
"langevin"_fix_langevin.html,
"lineforce"_fix_lineforce.html,
"msd"_fix_msd.html,
"momentum"_fix_momentum.html,
"nph"_fix_nph.html,
"npt"_fix_npt.html,
"npt/asphere"_fix_npt_asphere.html,
"nve"_fix_nve.html,
"nve/asphere"_fix_nve_asphere.html,
"nve/limit"_fix_nve_limit.html,
"nve/noforce"_fix_nve_noforce.html,
"nve/sphere"_fix_nve_sphere.html,
"nvt"_fix_nvt.html,
"nvt/asphere"_fix_nvt_asphere.html,
"nvt/sllod"_fix_nvt_sllod.html,
"orient/fcc"_fix_orient_fcc.html,
"planeforce"_fix_planeforce.html,
"poems"_fix_poems.html,
"pour"_fix_pour.html,
"print"_fix_print.html,
"rdf"_fix_rdf.html,
"recenter"_fix_recenter.html,
"rigid"_fix_rigid.html,
"setforce"_fix_setforce.html,
"shake"_fix_shake.html,
"spring"_fix_spring.html,
"spring/rg"_fix_spring_rg.html,
"spring/self"_fix_spring_self.html,
"temp/berendsen"_fix_temp_berendsen.html,
"temp/rescale"_fix_temp_rescale.html,
"tmd"_fix_tmd.html,
"viscosity"_fix_viscosity.html,
"viscous"_fix_viscous.html,
"wall/gran"_fix_wall_gran.html,
"wall/lj126"_fix_wall_lj126.html,
"wall/lj93"_fix_wall_lj93.html,
"wall/reflect"_fix_wall_reflect.html,
"wiggle"_fix_wiggle.html :tb(c=8,ea=c)
:line
Compute styles. See the "compute"_compute.html command for one-line
descriptions of each style or click on the style itself for a full
description:
"centro/atom"_compute_centro_atom.html,
"coord/atom"_compute_coord_atom.html,
"displace/atom"_compute_displace_atom.html,
"erotate/sphere"_compute_erotate_sphere.html,
"group/group"_compute_group_group.html,
"ke/atom"_compute_ke_atom.html,
"pe"_compute_pe.html,
"pe/atom"_compute_pe_atom.html,
"pressure"_compute_pressure.html,
"reduce"_compute_reduce.html,
"stress/atom"_compute_stress_atom.html,
"temp"_compute_temp.html,
"temp/asphere"_compute_temp_asphere.html,
"temp/com"_compute_temp_com.html,
"temp/deform"_compute_temp_deform.html,
"temp/partial"_compute_temp_partial.html,
"temp/ramp"_compute_temp_ramp.html,
"temp/region"_compute_temp_region.html,
"temp/sphere"_compute_temp_sphere.html :tb(c=6,ea=c)
These are compute styles contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
"ackland/atom"_compute_ackland_atom.html :tb(c=6,ea=c)
:line
Pair_style potentials. See the "pair_style"_pair_style.html command
for an overview of pair potentials. Click on the style itself for a
full description:
"none"_pair_none.html,
"hybrid"_pair_hybrid.html,
"hybrid/overlay"_pair_hybrid.html,
"airebo"_pair_airebo.html,
"buck"_pair_buck.html,
"buck/coul/cut"_pair_buck.html,
"buck/coul/long"_pair_buck.html,
"colloid"_pair_colloid.html,
"coul/cut"_pair_coul.html,
"coul/debye"_pair_coul.html,
"coul/long"_pair_coul.html,
"dipole/cut"_pair_dipole.html,
"dpd"_pair_dpd.html,
"eam"_pair_eam.html,
"eam/opt"_pair_eam.html,
"eam/alloy"_pair_eam.html,
"eam/alloy/opt"_pair_eam.html,
"eam/fs"_pair_eam.html,
"eam/fs/opt"_pair_eam.html,
"gayberne"_pair_gayberne.html,
"gran/hertzian"_pair_gran.html,
"gran/history"_pair_gran.html,
"gran/no_history"_pair_gran.html,
"lj/charmm/coul/charmm"_pair_charmm.html,
"lj/charmm/coul/charmm/implicit"_pair_charmm.html,
"lj/charmm/coul/long"_pair_charmm.html,
"lj/charmm/coul/long/opt"_pair_charmm.html,
"lj/class2"_pair_class2.html,
"lj/class2/coul/cut"_pair_class2.html,
"lj/class2/coul/long"_pair_class2.html,
"lj/cut"_pair_lj.html,
"lj/cut/opt"_pair_lj.html,
"lj/cut/coul/cut"_pair_lj.html,
"lj/cut/coul/debye"_pair_lj.html,
"lj/cut/coul/long"_pair_lj.html,
"lj/cut/coul/long/tip4p"_pair_lj.html,
"lj/expand"_pair_lj_expand.html,
"lj/smooth"_pair_lj_smooth.html,
"lubricate"_pair_lubricate.html,
"meam"_pair_meam.html,
"morse"_pair_morse.html,
"morse/opt"_pair_morse.html,
"resquared"_pair_resquared.html,
"soft"_pair_soft.html,
"sw"_pair_sw.html,
"table"_pair_table.html,
"tersoff"_pair_tersoff.html,
"yukawa"_pair_yukawa.html :tb(c=4,ea=c)
These are pair styles contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
"buck/coul"_pair_buck_coul.html,
"cg/cmm"_pair_cmm.html,
"cg/cmm/coul/cut"_pair_cmm.html,
"cg/cmm/coul/long"_pair_cmm.html,
"lj/coul"_pair_lj_coul.html :tb(c=4,ea=c)
:line
Bond_style potentials. See the "bond_style"_bond_style.html command
for an overview of bond potentials. Click on the style itself for a
full description:
"none"_bond_none.html,
"hybrid"_bond_hybrid.html,
"class2"_bond_class2.html,
"fene"_bond_fene.html,
"fene/expand"_bond_fene_expand.html,
"harmonic"_bond_harmonic.html,
"morse"_bond_morse.html,
"nonlinear"_bond_nonlinear.html,
"quartic"_bond_quartic.html :tb(c=4,ea=c,w=100)
:line
Angle_style potentials. See the "angle_style"_angle_style.html
command for an overview of angle potentials. Click on the style
itself for a full description:
"none"_angle_none.html,
"hybrid"_angle_hybrid.html,
"charmm"_angle_charmm.html,
"class2"_angle_class2.html,
"cosine"_angle_cosine.html,
"cosine/delta"_angle_cosine_delta.html,
"cosine/squared"_angle_cosine_squared.html,
"harmonic"_angle_harmonic.html :tb(c=4,ea=c,w=100)
These are angle styles contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
"cg/cmm"_angle_cmm.html :tb(c=4,ea=c)
:line
Dihedral_style potentials. See the
"dihedral_style"_dihedral_style.html command for an overview of
dihedral potentials. Click on the style itself for a full
description:
"none"_dihedral_none.html,
"hybrid"_dihedral_hybrid.html,
"charmm"_dihedral_charmm.html,
"class2"_dihedral_class2.html,
"harmonic"_dihedral_harmonic.html,
"helix"_dihedral_helix.html,
"multi/harmonic"_dihedral_multi_harmonic.html,
"opls"_dihedral_opls.html :tb(c=4,ea=c,w=100)
:line
Improper_style potentials. See the
"improper_style"_improper_style.html command for an overview of
improper potentials. Click on the style itself for a full
description:
"none"_improper_none.html,
"hybrid"_improper_hybrid.html,
"class2"_improper_class2.html,
"cvff"_improper_cvff.html,
"harmonic"_improper_harmonic.html :tb(c=4,ea=c,w=100)
:line
Kspace solvers. See the "kspace_style"_kspace_style.html command for
an overview of Kspace solvers. Click on the style itself for a full
description:
"ewald"_kspace_style.html,
"pppm"_kspace_style.html,
"pppm/tip4p"_kspace_style.html :tb(c=4,ea=c,w=100)
These are Kspace solvers contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
"ewald/n"_kspace_style.html :tb(c=4,ea=c,w=100)