diff --git a/doc/Manual.txt b/doc/Manual.txt index 63b08660d..ff8bbab6b 100644 --- a/doc/Manual.txt +++ b/doc/Manual.txt @@ -1,125 +1,135 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line <H1></H1> LAMMPS Documentation :c,h3 (22 Jun 2007 version of LAMMPS) :c 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 developers of LAMMPS are "Steve Plimpton"_sjp, Paul Crozier, and Aidan Thompson who can be contacted at sjplimp,pscrozi,athomps at sandia.gov. The "LAMMPS WWW Site"_lws at http://lammps.sandia.gov has more information about the code and its uses. :link(sjp,http://www.cs.sandia.gov/~sjplimp) :line 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"_Section_commands.html#comm at Section_commands.html#comm since +it gives quick access to documentation for all LAMMPS commands. + "PDF file"_Manual.pdf of the entire manual, generated by "htmldoc"_http://www.easysw.com/htmldoc "Introduction"_Section_intro.html :olb,l 1.1 "What is LAMMPS"_1_1 :ulb,b 1.2 "LAMMPS features"_1_2 :b 1.3 "LAMMPS non-features"_1_3 :b 1.4 "Open source distribution"_1_4 :b 1.5 "Acknowledgments and citations"_1_5 :ule,b "Getting started"_Section_start.html :l 2.1 "What's in the LAMMPS distribution"_2_1 :ulb,b 2.2 "Making LAMMPS"_2_2 :b 2.3 "Making LAMMPS with optional packages"_2_3 :b 2.4 "Building LAMMPS as a library"_2_4 :b 2.5 "Running LAMMPS"_2_5 :b 2.6 "Command-line options"_2_6 :b 2.7 "Screen output"_2_7 :b 2.8 "Tips for users of previous versions"_2_8 :ule,b "Commands"_Section_commands.html :l 3.1 "LAMMPS input script"_3_1 :ulb,b 3.2 "Parsing rules"_3_2 :b 3.3 "Input script structure"_3_3 :b 3.4 "Commands listed by category"_3_4 :b 3.5 "Commands listed alphabetically"_3_5 :ule,b "How-to discussions"_Section_howto.html :l 4.1 "Restarting a simulation"_4_1 :ulb,b 4.2 "2d simulations"_4_2 :b 4.3 "CHARMM and AMBER force fields"_4_3 :b 4.4 "Running multiple simulations from one input script"_4_4 :b 4.5 "Parallel tempering"_4_5 :b 4.6 "Granular models"_4_6 :b 4.7 "TIP3P water model"_4_7 :b 4.8 "TIP4P water model"_4_8 :b 4.9 "SPC water model"_4_9 :b 4.10 "Coupling LAMMPS to other codes"_4_10 :b - 4.11 "Visualizing LAMMPS snapshots"_4_11 :ule,b + 4.11 "Visualizing LAMMPS snapshots"_4_11 :b + 4.12 "Non-orthogonal simulation boxes"_4_12 :b + 4.13 "NEMD simulations"_4_13 :b + 4.14 "Aspherical particles"_4_14 :ule,b "Example problems"_Section_example.html :l "Performance & scalability"_Section_perf.html :l "Additional tools"_Section_tools.html :l "Modifying & Extending LAMMPS"_Section_modify.html :l "Errors"_Section_errors.html :l 9.1 "Common problems"_9_1 :ulb,b 9.2 "Reporting bugs"_9_2 :b 9.3 "Error & warning messages"_9_3 :ule,b "Future and history"_Section_history.html :l 10.1 "Coming attractions"_10_1 :ulb,b 10.2 "Past versions"_10_2 :ule,b :ole :link(1_1,Section_intro.html#1_1) :link(1_2,Section_intro.html#1_2) :link(1_3,Section_intro.html#1_3) :link(1_4,Section_intro.html#1_4) :link(1_5,Section_intro.html#1_5) :link(2_1,Section_start.html#2_1) :link(2_2,Section_start.html#2_2) :link(2_3,Section_start.html#2_3) :link(2_4,Section_start.html#2_4) :link(2_5,Section_start.html#2_5) :link(2_6,Section_start.html#2_6) :link(2_7,Section_start.html#2_7) :link(2_8,Section_start.html#2_8) :link(3_1,Section_commands.html#3_1) :link(3_2,Section_commands.html#3_2) :link(3_3,Section_commands.html#3_3) :link(3_4,Section_commands.html#3_4) :link(3_5,Section_commands.html#3_5) :link(4_1,Section_howto.html#4_1) :link(4_2,Section_howto.html#4_2) :link(4_3,Section_howto.html#4_3) :link(4_4,Section_howto.html#4_4) :link(4_5,Section_howto.html#4_5) :link(4_6,Section_howto.html#4_6) :link(4_7,Section_howto.html#4_7) :link(4_8,Section_howto.html#4_8) :link(4_9,Section_howto.html#4_9) :link(4_10,Section_howto.html#4_10) :link(4_11,Section_howto.html#4_11) +:link(4_12,Section_howto.html#4_12) +:link(4_13,Section_howto.html#4_13) +:link(4_14,Section_howto.html#4_14) :link(9_1,Section_errors.html#9_1) :link(9_2,Section_errors.html#9_2) :link(9_3,Section_errors.html#9_3) :link(10_1,Section_history.html#10_1) :link(10_2,Section_history.html#10_2) diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index 4fe787517..5efd8e093 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -1,569 +1,570 @@ "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, "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, "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, "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 commands. 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/spatial"_fix_ave_spatial.html, "ave/time"_fix_ave_time.html, "com"_fix_com.html, "deform"_fix_deform.html, "deposit"_fix_deposit.html, "drag"_fix_drag.html, "efield"_fix_efield.html, "enforce2d"_fix_enforce2d.html, "freeze"_fix_freeze.html, "gran/diag"_fix_gran_diag.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/dipole"_fix_nve_dipole.html, "nve/gran"_fix_nve_gran.html, "nve/noforce"_fix_nve_noforce.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/rescale"_fix_temp_rescale.html, "tmd"_fix_tmd.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 commands. 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, "epair/atom"_compute_epair_atom.html, "etotal/atom"_compute_etotal_atom.html, "ke/atom"_compute_ke_atom.html, "pressure"_compute_pressure.html, "rotate/dipole"_compute_rotate_dipole.html, "rotate/gran"_compute_rotate_gran.html, "stress/atom"_compute_stress_atom.html, "temp"_compute_temp.html, "temp/deform"_compute_temp_deform.html, "temp/asphere"_compute_temp_asphere.html, "temp/dipole"_compute_temp_dipole.html, "temp/partial"_compute_temp_partial.html, "temp/ramp"_compute_temp_ramp.html, "temp/region"_compute_temp_region.html, "variable"_compute_variable.html, "variable/atom"_compute_variable_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, +"airebo"_pair_airebo.html, "buck"_pair_buck.html, "buck/coul/cut"_pair_buck.html, "buck/coul/long"_pair_buck.html, "colloid"_pair_colloid.html, "dipole/cut"_pair_dipole/cut.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, "meam"_pair_meam.html, "morse"_pair_morse.html, "morse/opt"_pair_morse.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) :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/squared"_angle_cosine_squared.html, "harmonic"_angle_harmonic.html :tb(c=4,ea=c,w=100) :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) diff --git a/doc/Section_howto.txt b/doc/Section_howto.txt index dd2d99d70..5dd14d746 100644 --- a/doc/Section_howto.txt +++ b/doc/Section_howto.txt @@ -1,659 +1,801 @@ "Previous Section"_Section_commands.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_example.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line 4. How-to discussions :h3 The following sections describe what commands can be used to perform certain kinds of LAMMPS simulations. 4.1 "Restarting a simulation"_#4_1 4.2 "2d simulations"_#4_2 4.3 "CHARMM and AMBER force fields"_#4_3 4.4 "Running multiple simulations from one input script"_#4_4 4.5 "Parallel tempering"_#4_5 4.6 "Granular models"_#4_6 4.7 "TIP3P water model"_#4_7 4.8 "TIP4P water model"_#4_8 4.9 "SPC water model"_#4_9 4.10 "Coupling LAMMPS to other codes"_#4_10 -4.11 "Visualizing LAMMPS snapshots"_#4_11 :all(b) +4.11 "Visualizing LAMMPS snapshots"_#4_11 +4.12 "Non-orthogonal simulation boxes"_#4_12 +4.13 "NEMD simulations"_#4_13 +4.14 "Aspherical particles"_#4_14 :all(b) The example input scripts included in the LAMMPS distribution and highlighted in "this section"_Section_example.html also show how to setup and run various kinds of problems. :line 4.1 Restarting a simulation :link(4_1),h4 There are 3 ways to continue a long LAMMPS simulation. Multiple "run"_run.html commands can be used in the same input script. Each run will continue from where the previous run left off. Or binary restart files can be saved to disk using the "restart"_restart.html command. At a later time, these binary files can be read via a "read_restart"_read_restart.html command in a new script. Or they can be converted to text data files and read by a "read_data"_read_data.html command in a new script. "This section"_Section_tools.html discusses the {restart2data} tool that is used to perform the conversion. Here we give examples of 2 scripts that read either a binary restart file or a converted data file and then issue a new run command to continue where the previous run left off. They illustrate what settings must be made in the new script. Details are discussed in the documentation for the "read_restart"_read_restart.html and "read_data"_read_data.html commands. Look at the {in.chain} input script provided in the {bench} directory of the LAMMPS distribution to see the original script that these 2 scripts are based on. If that script had the line restart 50 tmp.restart :pre added to it, it would produce 2 binary restart files (tmp.restart.50 and tmp.restart.100) as it ran. This script could be used to read the 1st restart file and re-run the last 50 timesteps: read_restart tmp.restart.50 :pre neighbor 0.4 bin neigh_modify every 1 delay 1 :pre fix 1 all nve fix 2 all langevin 1.0 1.0 10.0 904297 :pre timestep 0.012 :pre run 50 :pre Note that the following commands do not need to be repeated because their settings are included in the restart file: {units, atom_style, special_bonds, pair_style, bond_style}. However these commands do need to be used, since their settings are not in the restart file: {neighbor, fix, timestep}. If you actually use this script to perform a restarted run, you will notice that the thermodynamic data match at step 50 (if you also put a "thermo 50" command in the original script), but do not match at step 100. This is because the "fix langevin"_fix_langevin.html command uses random numbers in a way that does not allow for perfect restarts. As an alternate approach, the restart file could be converted to a data file using this tool: restart2data tmp.restart.50 tmp.restart.data :pre Then, this script could be used to re-run the last 50 steps: units lj atom_style bond pair_style lj/cut 1.12 pair_modify shift yes bond_style fene special_bonds 0.0 1.0 1.0 :pre read_data tmp.restart.data :pre neighbor 0.4 bin neigh_modify every 1 delay 1 :pre fix 1 all nve fix 2 all langevin 1.0 1.0 10.0 904297 :pre timestep 0.012 :pre reset_timestep 50 run 50 :pre Note that nearly all the settings specified in the original {in.chain} script must be repeated, except the {pair_coeff} and {bond_coeff} commands since the new data file lists the force field coefficients. Also, the "reset_timestep"_reset_timestep.html command is used to tell LAMMPS the current timestep. This value is stored in restart files, but not in data files. :line 4.2 2d simulations :link(4_2),h4 Use the "dimension"_dimension.html command to specify a 2d simulation. Make the simulation box periodic in z via the "boundary"_boundary.html command. This is the default. If using the "create box"_create_box.html command to define a simulation box, set the z dimensions narrow, but finite, so that the create_atoms command will tile the 3d simulation box with a single z plane of atoms - e.g. "create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre If using the "read data"_read_data.html command to read in a file of atom coordinates, set the "zlo zhi" values to be finite but narrow, similar to the create_box command settings just described. For each atom in the file, assign a z coordinate so it falls inside the z-boundaries of the box - e.g. 0.0. Use the "fix enforce2d"_fix_enforce2d.html command as the last defined fix to insure that the z-components of velocities and forces are zeroed out every timestep. The reason to make it the last fix is so that any forces induced by other fixes will be zeroed out. Many of the example input scripts included in the LAMMPS distribution are for 2d models. :line 4.3 CHARMM and AMBER force fields :link(4_3),h4 There are many different ways to compute forces in the "CHARMM"_charmm and "AMBER"_amber molecular dynamics codes, only some of which are available as options in LAMMPS. A force field has 2 parts: the formulas that define it and the coefficients used for a particular system. Here we only discuss formulas implemented in LAMMPS. Setting coefficients is done in the input data file via the "read_data"_read_data.html command or in the input script with commands like "pair_coeff"_pair_coeff.html or "bond_coeff"_bond_coeff.html. See "this section"_Section_tools.html for additional tools that can use CHARMM or AMBER to assign force field coefficients and convert their output into LAMMPS input. See "(MacKerell)"_#MacKerell for a description of the CHARMM force field. See "(Cornell)"_#Cornell for a description of the AMBER force field. :link(charmm,http://www.scripps.edu/brooks) :link(amber,http://amber.scripps.edu) These style choices compute force field formulas that are consistent with common options in CHARMM or AMBER. See each command's documentation for the formula it computes. "bond_style"_bond_style.html harmonic "angle_style"_angle_style.html charmm "dihedral_style"_dihedral_style.html charmm "pair_style"_pair_style.html lj/charmm/coul/charmm "pair_style"_pair_style.html lj/charmm/coul/charmm/implicit "pair_style"_pair_style.html lj/charmm/coul/long :ul "special_bonds"_special_bonds.html charmm "special_bonds"_special_bonds.html amber :ul :line 4.4 Running multiple simulations from one input script :link(4_4),h4 This can be done in several ways. See the documentation for individual commands for more details on how these examples work. If "multiple simulations" means continue a previous simulation for more timesteps, then you simply use the "run"_run.html command multiple times. For example, this script units lj atom_style atomic read_data data.lj run 10000 run 10000 run 10000 run 10000 run 10000 :pre would run 5 successive simulations of the same system for a total of 50,000 timesteps. If you wish to run totally different simulations, one after the other, the "clear"_clear.html command can be used in between them to re-initialize LAMMPS. For example, this script units lj atom_style atomic read_data data.lj run 10000 clear units lj atom_style atomic read_data data.lj.new run 10000 :pre would run 2 independent simulations, one after the other. For large numbers of independent simulations, you can use "variables"_variable.html and the "next"_next.html and "jump"_jump.html commands to loop over the same input script multiple times with different settings. For example, this script, named in.polymer variable d index run1 run2 run3 run4 run5 run6 run7 run8 cd $d read_data data.polymer run 10000 cd .. clear next d jump in.polymer :pre would run 8 simulations in different directories, using a data.polymer file in each directory. The same concept could be used to run the same system at 8 different temperatures, using a temperature variable and storing the output in different log and dump files, for example variable a loop 8 variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 log log.$a read data.polymer velocity all create $t 352839 fix 1 all nvt $t $t 100.0 dump 1 all atom 1000 dump.$a run 100000 next t next a jump in.polymer :pre All of the above examples work whether you are running on 1 or multiple processors, but assumed you are running LAMMPS on a single partition of processors. LAMMPS can be run on multiple partitions via the "-partition" command-line switch as described in "this section"_Section_start.html#2_6 of the manual. In the last 2 examples, if LAMMPS were run on 3 partitions, the same scripts could be used if the "index" and "loop" variables were replaced with {universe}-style variables, as described in the "variable"_variable.html command. Also, the "next t" and "next a" commands would need to be replaced with a single "next a t" command. With these modifications, the 8 simulations of each script would run on the 3 partitions one after the other until all were finished. Initially, 3 simulations would be started simultaneously, one on each partition. When one finished, that partition would then start the 4th simulation, and so forth, until all 8 were completed. :line 4.5 Parallel tempering :link(4_5),h4 The "temper"_temper.html command can be used to perform a parallel tempering or replica-exchange simulation where multiple copies of a simulation are run at different temperatures on different sets of processors, and Monte Carlo temperature swaps are performed between pairs of copies. Use the -procs and -in "command-line switches"_Section_start.html#2_6 to launch LAMMPS on multiple partitions. In your input script, define a set of temperatures, one for each processor partition, using the "variable"_variable.html command: variable t proc 300.0 310.0 320.0 330.0 :pre Define a fix of style "nvt"_fix_nvt.html or "langevin"_fix_langevin.html to control the temperature of each simulation: fix myfix all nvt $t $t 100.0 :pre Use the "temper"_temper.html command in place of a "run"_run.html command to perform a simulation where tempering exchanges will take place: temper 100000 100 $t myfix 3847 58382 :pre :line 4.6 Granular models :link(4_6),h4 To run a simulation of a granular model, you will want to use the following commands: "atom_style"_atom_style.html granular "fix nve/gran"_fix_nve_gran.html "fix gravity"_fix_gravity.html "thermo_style"_thermo_style.html gran :ul Use one of these 3 pair potentials: "pair_style"_pair_style.html gran/history "pair_style"_pair_style.html gran/no_history "pair_style"_pair_style.html gran/hertzian :ul These commands implement fix options specific to granular systems: "fix freeze"_fix_freeze.html "fix gran/diag"_fix_gran_diag.html "fix pour"_fix_pour.html "fix viscous"_fix_viscous.html "fix wall/gran"_fix_wall_gran.html :ul The fix style {freeze} zeroes both the force and torque of frozen atoms, and should be used for granular system instead of the fix style {setforce}. For computational efficiency, you can eliminate needless pairwise computations between frozen atoms by using this command: "neigh_modify"_neigh_modify.html exclude :ul :line 4.7 TIP3P water model :link(4_7),h4 The TIP3P water model as implemented in CHARMM "(MacKerell)"_#MacKerell specifies a 3-site rigid water molecule with charges and Lennard-Jones parameters assigned to each of the 3 atoms. In LAMMPS the "fix shake"_fix_shake.html command can be used to hold the two O-H bonds and the H-O-H angle rigid. A bond style of {harmonic} and an angle style of {harmonic} or {charmm} should also be used. These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid TIP3P-CHARMM model with a cutoff. The K values can be used if a flexible TIP3P model (without fix shake) is desired. If the LJ epsilon and sigma for HH and OH are set to 0.0, it corresponds to the original 1983 TIP3P model "(Jorgensen)"_#Jorgensen. O mass = 15.9994 H mass = 1.008 :all(b),p O charge = -0.834 H charge = 0.417 :all(b),p LJ epsilon of OO = 0.1521 LJ sigma of OO = 3.188 LJ epsilon of HH = 0.0460 LJ sigma of HH = 0.4000 LJ epsilon of OH = 0.0836 LJ sigma of OH = 1.7753 :all(b),p K of OH bond = 450 r0 of OH bond = 0.9572 :all(b),p K of HOH angle = 55 theta of HOH angle = 104.52 :all(b),p These are the parameters to use for TIP3P with a long-range Coulombic solver (Ewald or PPPM in LAMMPS): O mass = 15.9994 H mass = 1.008 :all(b),p O charge = -0.830 H charge = 0.415 :all(b),p LJ epsilon of OO = 0.102 LJ sigma of OO = 3.1507 LJ epsilon, sigma of OH, HH = 0.0 :all(b),p K of OH bond = 450 r0 of OH bond = 0.9572 :all(b),p K of HOH angle = 55 theta of HOH angle = 104.52 :all(b),p :line 4.8 TIP4P water model :link(4_8),h4 The four-point TIP4P rigid water model extends the traditional three-point TIP3P model by adding an additional site, usually massless, where the charge associated with the oxygen atom is placed. This site M is located at a fixed distance away from the oxygen along the bisector of the HOH bond angle. A bond style of {harmonic} and an angle style of {harmonic} or {charmm} should also be used. Currently, only a four-point model for long-range Coulombics is implemented via the LAMMPS "pair style lj/cut/coul/long/tip4p"_pair_lj.html. We plan to add a cutoff version in the future. For both models, the bond lengths and bond angles should be held fixed using the "fix shake"_fix_shake.html command. These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid TIP4P model with a cutoff "(Jorgensen)"_#Jorgensen. Note that the OM distance is specified in the "pair_style"_pair_style.html command, not as part of the pair coefficients. O mass = 15.9994 H mass = 1.008 :all(b),p O charge = -1.040 H charge = 0.520 :all(b),p r0 of OH bond = 0.9572 theta of HOH angle = 104.52 :all(b),p OM distance = 0.15 :all(b),p LJ epsilon of O-O = 0.1550 LJ sigma of O-O = 3.1536 LJ epsilon, sigma of OH, HH = 0.0 :all(b),p These are the parameters to use for TIP4P with a long-range Coulombic solver (Ewald or PPPM in LAMMPS): O mass = 15.9994 H mass = 1.008 :all(b),p O charge = -1.0484 H charge = 0.5242 :all(b),p r0 of OH bond = 0.9572 theta of HOH angle = 104.52 :all(b),p OM distance = 0.1250 :all(b),p LJ epsilon of O-O = 0.16275 LJ sigma of O-O = 3.16435 LJ epsilon, sigma of OH, HH = 0.0 :all(b),p :line 4.9 SPC water model :link(4_9),h4 The SPC water model specifies a 3-site rigid water molecule with charges and Lennard-Jones parameters assigned to each of the 3 atoms. In LAMMPS the "fix shake"_fix_shake.html command can be used to hold the two O-H bonds and the H-O-H angle rigid. A bond style of {harmonic} and an angle style of {harmonic} or {charmm} should also be used. These are the additional parameters (in real units) to set for O and H atoms and the water molecule to run a rigid SPC model with long-range Coulombics (Ewald or PPPM in LAMMPS). O mass = 15.9994 H mass = 1.008 :all(b),p O charge = -0.820 H charge = 0.410 :all(b),p LJ epsilon of OO = 0.1553 LJ sigma of OO = 3.166 LJ epsilon, sigma of OH, HH = 0.0 :all(b),p r0 of OH bond = 1.0 theta of HOH angle = 109.47 :all(b),p :line 4.10 Coupling LAMMPS to other codes :link(4_10),h4 LAMMPS is designed to allow it to be coupled to other codes. For example, a quantum mechanics code might compute forces on a subset of atoms and pass those forces to LAMMPS. Or a continuum finite element (FE) simulation might use atom positions as boundary conditions on FE nodal points, compute a FE solution, and return interpolated forces on MD atoms. LAMMPS can be coupled to other codes in at least 3 ways. Each has advantages and disadvantages, which you'll have to think about in the context of your application. (1) Define a new "fix"_fix.html command that calls the other code. In this scenario, LAMMPS is the driver code. During its timestepping, the fix is invoked, and can make library calls to the other code, which has been linked to LAMMPS as a library. This is the way the "POEMS"_poems package that performs constrained rigid-body motion on groups of atoms is hooked to LAMMPS. See the "fix_poems"_fix_poems.html command for more details. See "this section"_Section_modify.html of the documentation for info on how to add a new fix to LAMMPS. :link(poems,http://www.rpi.edu/~anderk5/lab) (2) Define a new LAMMPS command that calls the other code. This is conceptually similar to method (1), but in this case LAMMPS and the other code are on a more equal footing. Note that now the other code is not called during the timestepping of a LAMMPS run, but between runs. The LAMMPS input script can be used to alternate LAMMPS runs with calls to the other code, invoked via the new command. The "run"_run.html command facilitates this with its {every} option, which makes it easy to run a few steps, invoke the command, run a few steps, invoke the command, etc. In this scenario, the other code can be called as a library, as in (1), or it could be a stand-alone code, invoked by a system() call made by the command (assuming your parallel machine allows one or more processors to start up another program). In the latter case the stand-alone code could communicate with LAMMPS thru files that the command writes and reads. See "this section"_Section_modify.html of the documentation for how to add a new command to LAMMPS. (3) Use LAMMPS as a library called by another code. In this case the other code is the driver and calls LAMMPS as needed. Or a wrapper code could link and call both LAMMPS and another code as libraries. Again, the "run"_run.html command has options that allow it to be invoked with minimal overhead (no setup or clean-up) if you wish to do multiple short runs, driven by another program. "This section"_Section_start.html#2_4 of the documentation describes how to build LAMMPS as a library. Once this is done, you can interface with LAMMPS either via C++, C, or Fortran (or any other language that supports a vanilla C-like interface, e.g. a scripting language). For example, from C++ you could create one (or more) "instances" of LAMMPS, pass it an input script to process, or execute individual commands, all by invoking the correct class methods in LAMMPS. From C or Fortran you can make function calls to do the same things. Library.cpp and library.h contain such a C interface with the functions: void lammps_open(int, char **, MPI_Comm, void **); void lammps_close(void *); void lammps_file(void *, char *); char *lammps_command(doivd *, char *); :pre The functions contain C++ code you could write in a C++ application that was invoking LAMMPS directly. Note that LAMMPS classes are defined wihin a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ application. Two of the routines in library.cpp are of particular note. The lammps_open() function initiates LAMMPS and takes an MPI communicator as an argument. It returns a pointer to a LAMMPS "object". As with C++, the lammps_open() function can be called mutliple times, to create multiple instances of LAMMPS. LAMMPS will run on the set of processors in the communicator. This means the calling code can run LAMMPS on all or a subset of processors. For example, a wrapper script might decide to alternate between LAMMPS and another code, allowing them both to run on all the processors. Or it might allocate half the processors to LAMMPS and half to the other code and run both codes simultaneously before syncing them up periodically. Library.cpp contains a lammps_command() function to which the caller passes a single LAMMPS command (a string). Thus the calling code can read or generate a series of LAMMPS commands (e.g. an input script) one line at a time and pass it thru the library interface to setup a problem and then run it. A few other sample functions are included in library.cpp, but the key idea is that you can write any functions you wish to define an interface for how your code talks to LAMMPS and add them to library.cpp and library.h. The routines you add can access any LAMMPS data. The examples/couple directory has example C++ and C codes which show how a stand-alone code can link LAMMPS as a library, run LAMMPS on a subset of processors, grab data from LAMMPS, change it, and put it back into LAMMPS. :line 4.11 Visualizing LAMMPS snapshots :link(4_11),h4 LAMMPS itself does not do visualization, but snapshots from LAMMPS simulations can be visualized (and analyzed) in a variety of ways. LAMMPS snapshots are created by the "dump"_dump.html command which can create files in several formats. The native LAMMPS dump format is a text file (see "dump atom" or "dump custom") which can be visualized by the "xmovie"_Section_tools.html#xmovie program, included with the LAMMPS package. This produces simple, fast 2d projections of 3d systems, and can be useful for rapid debugging of simulation geoemtry and atom trajectories. Several programs included with LAMMPS as auxiliary tools can convert native LAMMPS dump files to other formats. See the "Section_tools"_Section_tools.html doc page for details. The first is the "ch2lmp tool"_Section_tools.html#charmm, which contains a lammps2pdb Perl script which converts LAMMPS dump files into PDB files. The second is the "lmp2arc tool"_Section_tools.html#arc which converts LAMMPS dump files into Accelrys's Insight MD program files. The third is the "lmp2cfg tool"_Section_tools.html#cfg which converts LAMMPS dump files into CFG files which can be read into the "AtomEye"_atomeye visualizer. A Python-based toolkit distributed by our group can read native LAMMPS dump files, including custom dump files with additional columns of user-specified atom information, and convert them to various formats or pipe them into visualization software directly. See the "Pizza.py WWW site"_pizza for details. Specifically, Pizza.py can convert LAMMPS dump files into PDB, XYZ, "Ensight"_ensight, and VTK formats. Pizza.py can pipe LAMMPS dump files directly into the Raster3d and RasMol visualization programs. Pizza.py has tools that do interactive 3d OpenGL visualization and one that creates SVG images of dump file snapshots. LAMMPS can create XYZ files directly (via "dump xyz") which is a simple text-based file format used by many visualization programs including "VMD"_vmd. LAMMPS can create DCD files directly (via "dump dcd") which can be read by "VMD"_vmd in conjunction with a CHARMM PSF file. Using this form of output avoids the need to convert LAMMPS snapshots to PDB files. See the "dump"_dump.html command for more information on DCD files. LAMMPS can create XTC files directly (via "dump xtc") which is GROMACS file format which can also be read by "VMD"_vmd for visualization. See the "dump"_dump.html command for more information on XTC files. :link(pizza,http://www.cs.sandia.gov/~sjplimp/pizza.html) :link(vmd,http://www.ks.uiuc.edu/Research/vmd) :link(ensight,http://www.ensight.com) :link(atomeye,http://164.107.79.177/Archive/Graphics/A) :line +4.12 Non-orthogonal simulation boxes :link(4_12),h4 + +By default, LAMMPS uses an orthogonal simulation box to encompass the +particles. The "boundary"_boundary.html command sets the boundary +conditions of the box (periodic, non-periodic, etc). If the box size +is xprd by yprd by zprd then the 3 mutually orthogonal edge vectors of +an orthogonal simulation box are a = (xprd,0,0), b = (0,yprd,0), and c += (0,0,zprd). + +LAMMPS also allows non-orthogonal simulation boxes (triclinic +symmetry) to be defined with 3 additional "tilt" parameters which +change the edge vectors of the simulation box to be a = (xprd,0,0), b += (xy,yprd,0), and c = (xz,yz,zprd). The xy, xz, and yz parameters +can be positive or negative. The simulation box must be periodic in +both dimensions associated with a tilt factor. For example, if xz != +0.0, then the x and z dimensions must be periodic. + +To avoid extremely tilted boxes (which would be computationally +inefficient), no tilt factor can skew the box more than half the +distance of the parallel box length, which is the 1st dimension in the +tilt factor (x for xz). For example, if xlo = 2 and xhi = 12, then +the x box length is 10 and the xy tilt factor must be between -5 and +5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and ++(yhi-ylo)/2. Note that this is not a limitation, since if the +maximum tilt factor is 5 (as in this example), then configurations +with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. + +You tell LAMMPS to use a non-orthogonal box when the simulation box is +defined. This happens in one of 3 ways. If the +"create_box"_create_box.html command is used with a region of style +{prism}, then a non-orthogonal domain is setup. See the +"region"_region.html command for details. If the +"read_data"_read_data.html command is used to define the simulation +box, and the header of the data file contains a line with the "xy xz +yz" keyword, then a non-orthogonal domain is setup. See the +"read_data"_read_data.html command for details. Finally, if the +"read_restart"_read_restart.html command reads a restart file which +was written from a simulation using a triclinic box, then a +non-orthogonal box will be enabled for the restarted simulation. + +Note that you can define a non-orthogonal box with all 3 tilt factors += 0.0, so that it is initially orthogonal. This is necessary if the +box will ever become non-orthogonal. + +One use of non-orthogonal boxes is to model solid-state crystals with +triclinic symmetry. The "lattice"_lattice.html command can be used +with non-orthogonal basis vectors to define a lattice that will tile a +non-orthogonal simulation box via the "create_atoms"_create_atoms.html +command. Note that while the box edge vectors a,b,c cannot be +arbitrary vectors (e.g. a must be aligned with the x axis), it is +possible to rotate any crystal's basis vectors so that they meet these +restrictions. + +A second use of non-orthogonal boxes is to shear a bulk solid to study +the response of the material. The "fix deform"_fix_deform.html +command can be used for this purpose. It allows dynamic control of +the xy, xz, and yz tilt factors as a simulation runs. + +Another use of non-orthogonal boxes is to perform non-equilibrium MD +(NEMD) simulations, as discussed in the next section. + +:line + +4.13 NEMD simulations :link(4_13),h4 + +Non-equilibrium molecular dynamics or NEMD simulations are typically +used to measure a fluid's rheological properties such as viscosity. +In LAMMPS, such simulations can be performed by first setting up a +non-orthogonal simulation box (see the preceeding Howto section). + +A shear strain can be applied to the simualation box at a desired +strain rate by using the "fix deform"_fix_deform.html command. The +"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat +the sheared fluid and integrate the SLLOD equations of motion for the +system. Fix nvt/sllod uses "compute +temp/deform"_compute_temp_deform.html to compute a thermal temperature +by subtracting out the streaming velocity of the shearing atoms. The +velocity profile or other properties of the fluid can be monitored via +the "fix ave/spatial"_fix_ave_spatial.html command. + +As discussed in the previous section on non-orthogonal simulation +boxes, the amount of tilt or skew that can be applied is limited by +LAMMPS for computation efficiency to be 1/2 of the paralell box +length. However, "fix deform"_fix_deform.html can be used to +continuously strain a box by an arbitrary amount. As discussed in the +"fix deform"_fix_deform.html command, when the tilt reaches a limit, +the box is re-shaped to the opposite limit which is an equivalent +tiling of the periodic plane. The strain rate can then continue to +change as before. In a long NEMD simulation these box re-shaping may +occur any number of times. + +In a NEMD simulation, the "remap" option of "fix +deform"_fix_deform.html should be set to "remap v", since that is what +"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity +profile consistent with the applied shear strain rate. + +:line + +4.14 Aspherical particles :link(4_14),h4 + +LAMMPS supports ellipsoidal particles via the "atom_style +ellipsoid"_atom_style.html and "shape"_shape.html commands. The +latter defines the 3 axes (diamaters) of a general ellipsoid. The +"pair_style gayberne"_pair_gayberne.html command can be used to define +a Gay-Berne (GB) potential for how such particles interact with each +other and with spherical particles. The GB potential is like a +Lennard-Jones (LJ) potential generalized for ellipsoids interacting in +an orientiation-dependent manner. + +The orientation of ellipsoidal particles is stored as a quaternion. +See the "set"_set.html command for a brief explanation of quaternions +and how the orientation of such particles can be initialized. The +data file read by the "read_data"_read_data.html command also contains +quaternions for each atom in the Atoms section if "atom_style +ellipsoid"_atom_style.html is being used. The "compute +temp/asphere"_compute_temp_asphere.html command can be used to +calculate the temperature of a group of ellipsoidal particles, taking +account of rotational degrees of freedom. The motion of the particles +can be integrated via the "fix nve/asphere"_fix_nve_asphere.html, "fix +nvt/asphere"_fix_nvt_asphere.html, or "fix +npt/asphere"_fix_npt_asphere.html commands. All of these commands are +part of the ASPHERE package in LAMMPS. + +Computationally, the cost for two ellipsoidal particles to interact is +30x or more expensive than for 2 LJ particles. Thus if you are +modeling a system with many spherical particles (e.g. as the solvent), +then you should insure sphere-sphere interactions are computed with +the a cheaper potential than GB. This can be done by setting the +particle's 3 shape parameters to all be equal (a sphere). +Additionally, the corresponding GB potential coefficients can be set +so the GB potential will treat the pair of particles as LJ spheres. +Details are given in the doc page for the "pair_style +gayberne"_pair_gayberne.html. Alternatively, the "pair_style +hybrid"_pair_hybrid.html potential can be used, with the sphere-sphere +interactions computed by another pair potential, such as "pair_style +lj/cut"_pair_lj.html. + +:line + :link(Cornell) [(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). :link(Horn) [(Horn)] Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon, J Chem Phys, 120, 9665 (2004). :link(MacKerell) [(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). :link(Jorgensen) [(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). diff --git a/doc/Section_intro.txt b/doc/Section_intro.txt index ab3533725..c9593a1b2 100644 --- a/doc/Section_intro.txt +++ b/doc/Section_intro.txt @@ -1,511 +1,511 @@ "Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Section_start.html :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line 1. Introduction :h3 These sections provide an overview of what LAMMPS can and can't do, describe what it means for LAMMPS to be an open-source code, and acknowledge the funding and people who have contributed to LAMMPS over the years. 1.1 "What is LAMMPS"_#1_1 1.2 "LAMMPS features"_#1_2 1.3 "LAMMPS non-features"_#1_3 1.4 "Open source distribution"_#1_4 1.5 "Acknowledgments and citations"_#1_5 :all(b) :line 1.1 What is LAMMPS :link(1_1),h4 LAMMPS is a classical molecular dynamics code that models an ensemble of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, metallic, granular, and coarse-grained systems using a variety of force fields and boundary conditions. For examples of LAMMPS simulations, see the Publications page of the "LAMMPS WWW Site"_lws. LAMMPS runs efficiently on single-processor desktop or laptop machines, but is designed for parallel computers. It will run on any parallel machine that compiles C++ and supports the "MPI"_mpi message-passing library. This includes distributed- or shared-memory parallel machines and Beowulf-style clusters. :link(mpi,http://www-unix.mcs.anl.gov/mpi) LAMMPS can model systems with only a few particles up to millions or billions. See "this section"_Section_perf.html for information on LAMMPS performance and scalability, or the Benchmarks section of the "LAMMPS WWW Site"_lws. LAMMPS is a freely-available open-source code, distributed under the terms of the "GNU Public License"_gnu, which means you can use or modify the code however you wish. See "this section"_#1_4 for a brief discussion of the open-source philosophy. :link(gnu,http://www.gnu.org/copyleft/gpl.html) LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary conditions, or diagnostics. See "this section"_Section_modify.html for more details. The current version of LAMMPS is written in C++. Earlier versions were written in F77 and F90. See "this section"_Section_history.html for more information on different versions. All versions can be downloaded from the "LAMMPS WWW Site"_lws. LAMMPS was originally developed under a US Department of Energy CRADA (Cooperative Research and Development Agreement) between two DOE labs and 3 companies. It is distributed by "Sandia National Labs"_snl. See "this section"_#1_5 for more information on LAMMPS funding and individuals who have contributed to LAMMPS. :link(snl,http://www.sandia.gov) In the most general sense, LAMMPS integrates Newton's equations of motion for collections of atoms, molecules, or macroscopic particles that interact via short- or long-range forces with a variety of initial and/or boundary conditions. For computational efficiency LAMMPS uses neighbor lists to keep track of nearby particles. The lists are optimized for systems with particles that are repulsive at short distances, so that the local density of particles never becomes too large. On parallel machines, LAMMPS uses spatial-decomposition techniques to partition the simulation domain into small 3d sub-domains, one of which is assigned to each processor. Processors communicate and store "ghost" atom information for atoms that border their sub-domain. LAMMPS is most efficient (in a parallel sense) for systems whose particles fill a 3d rectangular box with roughly uniform density. Papers with technical details of the algorithms used in LAMMPS are listed in "this section"_#1_5. :line 1.2 LAMMPS features :link(1_2),h4 This section highlights LAMMPS features, with pointers to specific commands which give more details. If LAMMPS doesn't have your favorite interatomic potential, boundary condition, or atom type, see "this section"_Section_modify.html, which describes how you can add it to LAMMPS. Kinds of systems LAMMPS can simulate: :h4 ("atom style"_atom_style.html command) atomic (e.g. box of Lennard-Jonesium) bead-spring polymers united-atom polymers or organic molecules all-atom polymers, organic molecules, proteins, DNA metals granular materials coarse-grained mesoscale models ellipsoidal particles point dipolar particles hybrid systems :ul Force fields: :h4 ("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, "kspace style"_kspace_style.html commands) pairwise potentials: Lennard-Jones, Buckingham, Morse, \ Yukawa, Debye, soft, class 2 (COMPASS), tabulated charged pairwise potentials: Coulombic, point-dipole manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \ Stillinger-Weber, Tersoff coarse-grain potentials: granular, DPD, GayBerne, colloidal bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \ quartic (breakable) angle potentials: harmonic, CHARMM, cosine, cosine/squared, \ class 2 (COMPASS) dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \ class 2 (COMPASS), OPLS improper potentials: harmonic, cvff, class 2 (COMPASS) hybrid potentials: multiple pair, bond, angle, dihedral, improper \ - potentials can be used + potentials can be used in one simlulation polymer potentials: all-atom, united-atom, bead-spring, breakable water potentials: TIP3P, TIP4P, SPC long-range Coulombics: Ewald, PPPM (similar to particle-mesh Ewald) CHARMM, AMBER, OPLS force-field compatibility :ul Creation of atoms: :h4 ("read_data"_read_data.html, "lattice"_lattice.html, "create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html, "displace_atoms"_displace_atoms.html commands) read in atom coords from files create atoms on one or more lattices (e.g. grain boundaries) delete geometric or logical groups of atoms (e.g. voids) displace atoms :ul Ensembles, constraints, and boundary conditions: :h4 ("fix"_fix.html command) 2d or 3d systems orthogonal or non-orthogonal (triclinic symmetry) simulation domains constant NVE, NVT, NPT, NPH integrators thermostatting options for groups and geometric regions of atoms pressure control via Nose/Hoover barostatting in 1 to 3 dimensions simulation box deformation (tensile and shear) harmonic (umbrella) constraint forces independent or coupled rigid body integration SHAKE bond and angle constraints walls of various kinds targeted molecular dynamics (TMD) constraints non-equilibrium molecular dynamics (NEMD) variety of additional boundary conditions and constraints :ul Integrators: :h4 ("run"_run.html, "run_style"_run_style.html, "temper"_temper.html commands) velocity-Verlet integrator Brownian dynamics energy minimization via conjugate gradient relaxation rRESPA hierarchical timestepping parallel tempering (replica exchange) run multiple independent simulations simultaneously :ul Output: :h4 ("dump"_dump.html, "restart"_restart.html commands) log file of thermodynanmic info text dump files of atom coords, velocities, other per-atom quantities binary restart files per-atom energy, stress, centro-symmetry parameter user-defined system-wide (log file) or per-atom (dump file) calculations atom snapshots in native, XYZ, XTC, DCD formats :ul Pre- and post-processing: :h4 Our group has also written and released a separate toolkit called "Pizza.py"_pizza which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in "Python"_python and is available for download from "the Pizza.py WWW site"_pizza. :link(pizza,http://www.cs.sandia.gov/~sjplimp/pizza.html) :link(python,http://www.python.org) :line 1.3 LAMMPS non-features :link(1_3),h4 LAMMPS is designed to efficiently compute Newton's equations of motion for a system of interacting particles. Many of the tools needed to pre- and post-process the data for such simulations are not included in the LAMMPS kernel for several reasons: the desire to keep LAMMPS simple they are not parallel operations other codes already do them limited development resources :ul Specifically, LAMMPS itself does not: run thru a GUI build molecular systems assign force-field coefficients automagically perform sophisticated analyses of your MD simulation visualize your MD simulation plot your output data :ul A few tools for pre- and post-processing tasks are provided as part of the LAMMPS package; they are described in "this section"_Section_tools.html. However, many people use other codes or write their own tools for these tasks. As noted above, our group has also written and released a separate toolkit called "Pizza.py"_pizza which addresses some of the listed bullets. It provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. Pizza.py is written in "Python"_python and is available for download from "the Pizza.py WWW site"_pizza. LAMMPS requires as input a list of initial atom coordinates and types, molecular topology information, and force-field coefficients assigned to all atoms and bonds. LAMMPS will not build molecular systems and assign force-field parameters for you. For atomic systems LAMMPS provides a "create_atoms"_create_atoms.html command which places atoms on solid-state lattices (fcc, bcc, user-defined, etc). Assigning small numbers of force field coefficients can be done via the "pair coeff"_pair_coeff.html, "bond coeff"_bond_coeff.html, "angle coeff"_angle_coeff.html, etc commands. For molecular systems or more complicated simulation geometries, users typically use another code as a builder and convert its output to LAMMPS input format, or write their own code to generate atom coordinate and molecular topology for LAMMPS to read in. For complicated molecular systems (e.g. a protein), a multitude of topology information and hundreds of force-field coefficients must typically be specified. We suggest you use a program like "CHARMM"_charmm or "AMBER"_amber or other molecular builders to setup such problems and dump its information to a file. You can then reformat the file as LAMMPS input. Some of the tools in "this section"_Section_tools.html can assist in this process. Similarly, LAMMPS creates output files in a simple format. Most users post-process these files with their own analysis tools or re-format them for input into other programs, including visualization packages. If you are convinced you need to compute something on-the-fly as LAMMPS runs, see "this section"_Section_modify.html for a discussion of how you can use the "dump"_dump.html and "compute"_compute.html and "fix"_fix.html commands to print out data of your choosing. Keep in mind that complicated computations can slow down the molecular dynamics timestepping, particularly if the computations are not parallel, so it is often better to leave such analysis to post-processing codes. A very simple (yet fast) visualizer is provided with the LAMMPS package - see the "xmovie"_Section_tools.html#xmovie tool in "this section"_Section_tools.html. It creates xyz projection views of atomic coordinates and animates them. We find it very useful for debugging purposes. For high-quality visualization we recommend the following packages: "VMD"_http://www.ks.uiuc.edu/Research/vmd "AtomEye"_http://164.107.79.177/Archive/Graphics/A "PyMol"_http://pymol.sourceforge.net "Raster3d"_http://www.bmsc.washington.edu/raster3d/raster3d.html "RasMol"_http://www.openrasmol.org :ul Other features that LAMMPS does not yet (and may never) support are discussed in "this section"_Section_history.html. Finally, these are freely-available molecular dynamics codes, most of them parallel, which may be well-suited to the problems you want to model. They can also be used in conjunction with LAMMPS to perform complementary modeling tasks. "CHARMM"_charmm "AMBER"_amber "NAMD"_namd "NWCHEM"_nwchem "DL_POLY"_dlpoly "Tinker"_tinker :ul :link(charmm,http://www.scripps.edu/brooks) :link(amber,http://amber.scripps.edu) :link(namd,http://www.ks.uiuc.edu/Research/namd/) :link(nwchem,http://www.emsl.pnl.gov/docs/nwchem/nwchem.html) :link(dlpoly,http://www.cse.clrc.ac.uk/msi/software/DL_POLY) :link(tinker,http://dasher.wustl.edu/tinker) CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for modeling biological molecules. CHARMM and AMBER use atom-decomposition (replicated-data) strategies for parallelism; NAMD and NWCHEM use spatial-decomposition approaches, similar to LAMMPS. Tinker is a serial code. DL_POLY includes potentials for a variety of biological and non-biological materials; both a replicated-data and spatial-decomposition version exist. :line 1.4 Open source distribution :link(1_4),h4 LAMMPS comes with no warranty of any kind. As each source file states in its header, it is a copyrighted code that is distributed free-of- charge, under the terms of the "GNU Public License"_gnu (GPL). This is often referred to as open-source distribution - see "www.gnu.org"_gnuorg or "www.opensource.org"_opensource for more details. The legal text of the GPL is in the LICENSE file that is included in the LAMMPS distribution. :link(gnuorg,http://www.gnu.org) :link(opensource,http://www.opensource.org) Here is a summary of what the GPL means for LAMMPS users: (1) Anyone is free to use, modify, or extend LAMMPS in any way they choose, including for commercial purposes. (2) If you distribute a modified version of LAMMPS, it must remain open-source, meaning you distribute it under the terms of the GPL. You should clearly annotate such a code as a derivative version of LAMMPS. (3) If you release any code that includes LAMMPS source code, then it must also be open-sourced, meaning you distribute it under the terms of the GPL. (4) If you give LAMMPS files to someone else, the GPL LICENSE file and source file headers (including the copyright and GPL notices) should remain part of the code. In the spirit of an open-source code, these are various ways you can contribute to making LAMMPS better. You can send email to the "developers"_http://lammps.sandia.gov/authors.html on any of these items. Point prospective users to the "LAMMPS WWW Site"_lws. Mention it in talks or link to it from your WWW site. :ulb,l If you find an error or omission in this manual or on the "LAMMPS WWW Site"_lws, or have a suggestion for something to clarify or include, send an email to the "developers"_http://lammps.sandia.gov/authors.html. :l If you find a bug, "this section"_Section_errors.html#9_2 describes how to report it. :l If you publish a paper using LAMMPS results, send the citation (and any cool pictures or movies if you like) to add to the Publications, Pictures, and Movies pages of the "LAMMPS WWW Site"_lws, with links and attributions back to you. :l Create a new Makefile.machine that can be added to the src/MAKE directory. :l The tools sub-directory of the LAMMPS distribution has various stand-alone codes for pre- and post-processing of LAMMPS data. More details are given in "this section"_Section_tools.html. If you write a new tool that users will find useful, it can be added to the LAMMPS distribution. :l LAMMPS is designed to be easy to extend with new code for features like potentials, boundary conditions, diagnostic computations, etc. "This section"_Section_modify.html gives details. If you add a feature of general interest, it can be added to the LAMMPS distribution. :l The Benchmark page of the "LAMMPS WWW Site"_lws lists LAMMPS performance on various platforms. The files needed to run the benchmarks are part of the LAMMPS distribution. If your machine is sufficiently different from those listed, your timing data can be added to the page. :l You can send feedback for the User Comments page of the "LAMMPS WWW Site"_lws. It might be added to the page. No promises. :l Cash. Small denominations, unmarked bills preferred. Paper sack OK. Leave on desk. VISA also accepted. Chocolate chip cookies encouraged. :ule,l :line 1.5 Acknowledgments and citations :h4,link(1_5) LAMMPS development has been funded by the "US Department of Energy"_doe (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life programs and its "OASCR"_oascr and "OBER"_ober offices. Specifically, work on the latest version was funded in part by the US Department of Energy's Genomics:GTL program ("www.doegenomestolife.org"_gtl) under the "project"_ourgtl, "Carbon Sequestration in Synechococcus Sp.: From Molecular Machines to Hierarchical Modeling". :link(doe,http://www.doe.gov) :link(gtl,http://www.doegenomestolife.org) :link(ourgtl,http://www.genomes2life.org) :link(oascr,http://www.sc.doe.gov/ascr/home.html) :link(ober,http://www.er.doe.gov/production/ober/ober_top.html) The following papers describe the parallel algorithms used in LAMMPS. S. J. Plimpton, [Fast Parallel Algorithms for Short-Range Molecular Dynamics], J Comp Phys, 117, 1-19 (1995). 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). If you use LAMMPS results in your published work, please cite the J Comp Phys reference and include a pointer to the "LAMMPS WWW Site"_lws (http://lammps.sandia.gov). A paper describing the latest version of LAMMPS is in the works; when it appears in print, you can check the "LAMMPS WWW Site"_lws for a more current citation. If you send me information about your publication, I'll be pleased to add it to the Publications page of the "LAMMPS WWW Site"_lws. Ditto for a picture or movie for the Pictures or Movies pages. The core group of LAMMPS developers is at Sandia National Labs. They include "Steve Plimpton"_sjp, Paul Crozier, and Aidan Thompson and can be contacted via email: sjplimp, pscrozi, athomps at sandia.gov. Here are various folks who have made significant contributions to features in LAMMPS: :link(sjp,http://www.cs.sandia.gov/~sjplimp) Ewald and PPPM solvers: Roy Pollock (LLNL) rRESPA: Mark Stevens & Paul Crozier (Sandia) NVT/NPT integrators: Mark Stevens (Sandia) class 2 force fields: Eric Simon (Cray) HTFN energy minimizer: Todd Plantenga (Sandia) msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray) CHARMM force fields: Paul Crozier (Sandia) 2d Ewald/PPPM: Paul Crozier (Sandia) granular force fields and BC: Leo Silbert & Gary Grest (Sandia) multi-harmonic dihedral potential: Mathias Putz (Sandia) EAM potentials: Stephen Foiles (Sandia) parallel tempering: Mark Sears (Sandia) lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, Andrey Kalinichev (Sandia) FFT support for SGI SCLS (Altix): Jim Shepherd (Ga Tech) targeted molecular dynamics (TMD): Paul Crozier (Sandia), Christian Burisch (Bochum University, Germany) force tables for long-range Coulombics: Paul Crozier (Sandia) radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia) Morse bond potential: Jeff Greathouse (Sandia) CHARMM <-> LAMMPS tool: Pieter in't Veld and Paul Crozier (Sandia) AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and Vikas Varshney (U Akron) electric field fix: Christina Payne (Vanderbilt U) cylindrical indenter fix: Ravi Agrawal (Northwestern U) compressed dump files: Erik Luijten (U Illinois) thermodynamics enhanced by fix quantities: Aidan Thompson (Sandia) uniaxial strain fix: Carsten Svaneborg (Max Planck Institute) TIP4P potential (4-site water): Ahmed Ismail and Amalie Frischknecht (Sandia) dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \ Frank van Swol (Sandia) Finnis/Sinclair EAM: Tim Lau (MIT) helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \ Mark Stevens (Sandia) cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U) EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea) self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) radius-of-gyration spring fix : Naveen Michaud-Agrawal (Johns Hopkins U) and \ Paul Crozier (Sandia) lj/smooth pair potential : Craig Maloney (UCSB) grain boundary orientation fix : Koenraad Janssens and David Olmsted (SNL) DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U) breakable bond quartic potential: Chris Lorenz and Mark Stevens (SNL) faster pair hybrid potential: James Fischer \ (High Performance Technologies, Inc), Vincent Natoli and \ David Richie (Stone Ridge Technology) POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI) OPLS dihedral potential: Mark Stevens (Sandia) multi-letter variable names : Naveen Michaud-Agrawal (Johns Hopkins U) fix momentum and recenter : Naveen Michaud-Agrawal (Johns Hopkins U) LJ tail corrections for energy/pressure : Paul Crozier (Sandia) region prism : Pieter in't Veld (Sandia) Stillinger-Weber and Tersoff potentials : Aidan Thompson (Sandia) fix wall/lj126 : Mark Stevens (Sandia) optimized pair potentials for lj/cut, charmm/long, eam, morse : James Fischer (High Performance Tech), David Richie and Vincent Natol (Stone Ridge Technologies) MEAM potential : Greg Wagner (Sandia) fix ave/time and fix ave/spatial : Pieter in 't Veld (Sandia) thermo_extract tool: Vikas Varshney (Wright Patterson AFB) triclinic (non-orthogonal) simulation domains : Pieter in 't Veld (Sandia) MATLAB post-processing scripts : Arun Subramaniyan (Purdue) neighbor multi and communicate multi : Pieter in 't Veld (Sandia) fix heat : Paul Crozier and Ed Webb (Sandia) colloid potentials : Pieter in 't Veld (Sandia) ellipsoidal particles : Mike Brown (Sandia) GayBerne potential : Mike Brown (Sandia) tensile and shear box deformations : NEMD SLLOD integration : Pieter in 't Veld (Sandia) pymol_asphere viz tool : Mike Brown (Sandia) :tb(s=:) Other CRADA partners involved in the design and testing of LAMMPS were John Carpenter (Mayo Clinic, formerly at Cray Research) Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) Steve Lustig (Dupont) Jim Belak (LLNL) :ul diff --git a/doc/angle_charmm.txt b/doc/angle_charmm.txt index 5e6dffb79..e1356cb06 100644 --- a/doc/angle_charmm.txt +++ b/doc/angle_charmm.txt @@ -1,58 +1,62 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line angle_style charmm command :h3 [Syntax:] angle_style charmm :pre [Examples:] angle_style charmm angle_coeff 1 300.0 107.0 50.0 3.0 :pre [Description:] The {charmm} angle style uses the potential :c,image(Eqs/angle_charmm.jpg) with an additional Urey_Bradley term based on the distance {r} between the 1st and 3rd atoms in the angle. K, theta0, Kub, and Rub are coefficients defined for each angle type. See "(MacKerell)"_#MacKerell for a description of the CHARMM force field. The following coefficients must be defined for each angle type via the "angle_coeff"_angle_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/radian^2) theta0 (degrees) K_ub (energy/distance^2) r_ub (distance) :ul Theta0 is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian^2. -[Restrictions:] none +[Restrictions:] + +This angle style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "angle_coeff"_angle_coeff.html [Default:] none :line :link(MacKerell) [(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). diff --git a/doc/angle_class2.txt b/doc/angle_class2.txt index b49abf0a2..6d343f324 100644 --- a/doc/angle_class2.txt +++ b/doc/angle_class2.txt @@ -1,79 +1,79 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line angle_style class2 command :h3 [Syntax:] angle_style class2 :pre [Examples:] angle_style class2 angle_coeff * 75.0 :pre [Description:] The {class2} angle style uses the potential :c,image(Eqs/angle_class2.jpg) where Ea is the angle term, Ebb is a bond-bond term, and Eba is a bond-angle term. Theta0 is the equilibrium angle and r1 and r2 are the equilibrium bond lengths. See "(Sun)"_#Sun for a description of the COMPASS class2 force field. -For this style, only coefficients for the Ea formula can be specified -in the input script. These are the 4 coefficients: +For this style, coefficients for the Ea formula can be specified in +the input script or data file. These are the 4 coefficients: theta0 (degrees) K2 (energy/radian^2) K3 (energy/radian^2) K4 (energy/radian^2) :ul Theta0 is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian^2. -Coefficients for the Ebb and Eba formulas must be specified in the +Coefficients for the Ebb and Eba formulas can only be specified in the data file. For the Ebb formula, the coefficients are listed under a "BondBond Coeffs" heading and each line lists 3 coefficients: M (energy/distance^2) r1 (distance) r2 (distance) :ul For the Eba formula, the coefficients are listed under a "BondAngle Coeffs" heading and each line lists 4 coefficients: N1 (energy/distance^2) N2 (energy/distance^2) r1 (distance) r2 (distance) :ul The theta0 value in the Eba formula is not specified, since it is the same value from the Ea formula. [Restrictions:] -This angle style is part of the "class2" package. It is only enabled -if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +This angle style can only be used if LAMMPS was built with the +"class2" package. See the "Making LAMMPS"_Section_start.html#2_3 +section for more info on packages. [Related commands:] "angle_coeff"_angle_coeff.html [Default:] none :line :link(Sun) [(Sun)] Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/angle_cosine.txt b/doc/angle_cosine.txt index ba161cd9f..4c6cef912 100644 --- a/doc/angle_cosine.txt +++ b/doc/angle_cosine.txt @@ -1,41 +1,45 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line angle_style cosine command :h3 [Syntax:] angle_style cosine :pre [Examples:] angle_style cosine angle_coeff * 75.0 :pre [Description:] The {cosine} angle style uses the potential :c,image(Eqs/angle_cosine.jpg) where K is defined for each angle type. The following coefficients must be defined for each angle type via the "angle_coeff"_angle_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy) :ul -[Restrictions:] none +[Restrictions:] + +This angle style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "angle_coeff"_angle_coeff.html [Default:] none diff --git a/doc/angle_cosine_squared.txt b/doc/angle_cosine_squared.txt index 79e7d946b..d39623ed3 100644 --- a/doc/angle_cosine_squared.txt +++ b/doc/angle_cosine_squared.txt @@ -1,46 +1,50 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line angle_style cosine/squared command :h3 [Syntax:] angle_style cosine/squared :pre [Examples:] angle_style cosine/squared angle_coeff 2*4 75.0 100.0 :pre [Description:] The {cosine/squared} angle style uses the potential :c,image(Eqs/angle_cosine_squared.jpg) where theta0 is the equilibrium value of the angle, and K is a prefactor. Note that the usual 1/2 factor is included in K. The following coefficients must be defined for each angle type via the "angle_coeff"_angle_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy) theta0 (degrees) :ul Theta0 is specified in degrees, but LAMMPS converts it to radians internally. -[Restrictions:] none +[Restrictions:] + +This angle style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "angle_coeff"_angle_coeff.html [Default:] none diff --git a/doc/angle_harmonic.txt b/doc/angle_harmonic.txt index 6ab256c57..dc98882ee 100644 --- a/doc/angle_harmonic.txt +++ b/doc/angle_harmonic.txt @@ -1,46 +1,50 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line angle_style harmonic command :h3 [Syntax:] angle_style harmonic :pre [Examples:] angle_style harmonic angle_coeff 1 300.0 107.0 :pre [Description:] The {harmonic} angle style uses the potential :c,image(Eqs/angle_harmonic.jpg) where theta0 is the equilibrium value of the angle, and K is a prefactor. Note that the usual 1/2 factor is included in K. The following coefficients must be defined for each angle type via the "angle_coeff"_angle_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/radian^2) theta0 (degrees) :ul Theta0 is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian^2. [Restrictions:] none +This angle style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. + [Related commands:] "angle_coeff"_angle_coeff.html [Default:] none diff --git a/doc/angle_hybrid.txt b/doc/angle_hybrid.txt index 33df13030..554fcf261 100644 --- a/doc/angle_hybrid.txt +++ b/doc/angle_hybrid.txt @@ -1,58 +1,62 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line angle_style hybrid command :h3 [Syntax:] angle_style hybrid style1 style2 ... :pre style1,style2 = list of one or more angle styles :ul [Examples:] angle_style hybrid harmonic cosine angle_coeff 1 harmonic 80.0 1.2 angle_coeff 2* cosine 50.0 :pre [Description:] The {hybrid} style enables the use of multiple angle styles in one simulation. An angle style is assigned to each angle type. For example, angles in a polymer flow (of angle type 1) could be computed with a {harmonic} potential and angles in the wall boundary (of angle type 2) could be computed with a {cosine} potential. The assignment of angle type to style is made via the "angle_coeff"_angle_coeff.html command or in the data file. In the angle_coeff command, the first coefficient sets the angle style and the remaining coefficients are those appropriate to that style. In the example above, the 2 angle_coeff commands would set angles of angle type 1 to be computed with a {harmonic} potential with coefficients 80.0, 1.2 for K, r0. All other angle types (2-N) would be computed with a {cosine} potential with coefficient 50.0 for K. If the angle {class2} potential is one of the hybrid styles, it requires additional BondBond and BondAngle coefficients be specified in the data file. These lines must also have an additional "class2" argument added after the angle type. For angle types which are assigned to other hybrid styles, use the style name (e.g. "harmonic") appropriate to that style. The BondBond and BondAngle coeffs for that angle type will then be ignored. An angle style of {none} can be specified as an argument to angle_style hybrid and the corresponding angle_coeff commands, if you desire to turn off certain angle types. -[Restrictions:] none +[Restrictions:] + +This angle style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "angle_coeff"_angle_coeff.html [Default:] none diff --git a/doc/angle_style.txt b/doc/angle_style.txt index 2d7ee8238..897ba5cca 100644 --- a/doc/angle_style.txt +++ b/doc/angle_style.txt @@ -1,79 +1,88 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line angle_style command :h3 [Syntax:] angle_style style :pre style = {none} or {hybrid} or {charmm} or {class2} or {cosine} or \ {cosine/squared} or {harmonic} :ul [Examples:] angle_style harmonic angle_style charmm angle_style hybrid harmonic cosine :pre [Description:] Set the formula(s) LAMMPS uses to compute angle interactions between triplets of atoms, which remain in force for the duration of the simulation. The list of angle triplets is read in by a "read_data"_read_data.html or "read_restart"_read_restart.html command from a data or restart file. Hybrid models where angles are computed using different angle potentials can be setup using the {hybrid} angle style. The coefficients associated with a angle style can be specified in a data or restart file or via the "angle_coeff"_angle_coeff.html command. +All angle potentials store their coefficient data in binary restart +files which means angle_style and "angle_coeff"_angle_coeff.html +commands do not need to be re-specified in an input script that +restarts a simulation. See the "read_restart"_read_restart.html +command for details on how to do this. The one exception is that +angle_style {hybrid} only stores the list of sub-styles in the restart +file; angle coefficients need to be re-specified. + +IMPORTANT NOTE: When both an angle and pair style is defined, the +"special_bonds"_special_bonds.html command often needs to be used to +turn off (or weight) the pairwise interaction that would otherwise +exist between 3 bonded atoms. + In the formulas listed for each angle style, {theta} is the angle between the 3 atoms in the angle. -Note that when both an angle and pair style is defined, the -"special_bond"_special_bond.html command often needs to be used to -turn off (or weight) the pairwise interactions that would otherwise -exist between the 3 bonded atoms. - :line Here is an alphabetic list of angle styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated "angle_coeff"_angle_coeff.html command: "angle_style none"_angle_none.html - turn off angle interactions "angle_style hybrid"_angle_hybrid.html - define multiple styles of angle interactions :ul "angle_style charmm"_angle_charmm.html - CHARMM angle "angle_style class2"_angle_class2.html - COMPASS (class 2) angle "angle_style cosine"_angle_cosine.html - cosine angle potential "angle_style cosine/squared"_angle_cosine_squared.html - cosine squared angle potential "angle_style harmonic"_angle_harmonic.html - harmonic angle :ul :line [Restrictions:] Angle styles can only be set for atom_styles that allow angles to be defined. -Angle styles are part of the "molecular" package or other packages as -noted in their documentation. They are only enabled if LAMMPS was -built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +Most angle styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. The +doc pages for individual bond potentials tell if it is part of a +package. [Related commands:] "angle_coeff"_angle_coeff.html [Default:] angle_style none :pre diff --git a/doc/bond_class2.txt b/doc/bond_class2.txt index 9f1befe12..7fb7b83af 100644 --- a/doc/bond_class2.txt +++ b/doc/bond_class2.txt @@ -1,55 +1,55 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style class2 command :h3 [Syntax:] bond_style class2 :pre [Examples:] bond_style class2 bond_coeff 1 1.0 100.0 80.0 80.0 :pre [Description:] The {class2} bond style uses the potential :c,image(Eqs/bond_class2.jpg) where r0 is the equilibrium bond distance. See "(Sun)"_#Sun for a description of the COMPASS class2 force field. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: R0 (distance) K2 (energy/distance^2) K3 (energy/distance^2) K4 (energy/distance^2) :ul [Restrictions:] -This bond style is part of the "class2" package. It is only enabled -if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +This bond style can only be used if LAMMPS was built with the "class2" +package. See the "Making LAMMPS"_Section_start.html#2_3 section for +more info on packages. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none :line :link(Sun) [(Sun)] Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/bond_fene.txt b/doc/bond_fene.txt index 0e938d3ff..6b2b2d2a4 100644 --- a/doc/bond_fene.txt +++ b/doc/bond_fene.txt @@ -1,53 +1,57 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style fene command :h3 [Syntax:] bond_style fene :pre [Examples:] bond_style fene bond_coeff 1 30.0 1.5 1.0 1.0 :pre [Description:] The {fene} bond style uses the potential :c,image(Eqs/bond_fene.jpg) to define a finite extensible nonlinear elastic (FENE) potential "(Kremer)"_#Kremer, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The first term extends to R0, the maximum extent of the bond. The 2nd term is cutoff at 2^(1/6) sigma, the minimum of the LJ potential. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/distance^2) R0 (distance) epsilon (energy) sigma (distance) :ul -[Restrictions:] none +[Restrictions:] + +This bond style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none :line :link(Kremer) [(Kremer)] Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/bond_fene_expand.txt b/doc/bond_fene_expand.txt index aa165a027..e84623fba 100644 --- a/doc/bond_fene_expand.txt +++ b/doc/bond_fene_expand.txt @@ -1,58 +1,62 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style fene/expand command :h3 [Syntax:] bond_style fene/expand :pre [Examples:] bond_style fene/expand bond_coeff 1 30.0 1.5 1.0 1.0 0.5 :pre [Description:] The {fene/expand} bond style uses the potential :c,image(Eqs/bond_fene_expand.jpg) to define a finite extensible nonlinear elastic (FENE) potential "(Kremer)"_#Kremer, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The {fene/expand} bond style is similar to {fene} except that an extra shift factor of delta (positive or negative) is added to {r} to effectively change the bead size of the bonded atoms. The first term now extends to R0 + delta and the 2nd term is cutoff at 2^(1/6) sigma + delta. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/distance^2) R0 (distance) epsilon (energy) sigma (distance) delta (distance) :ul -[Restrictions:] none +[Restrictions:] + +This bond style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none :line :link(Kremer) [(Kremer)] Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/bond_harmonic.txt b/doc/bond_harmonic.txt index 3fea41d64..1ccbbd4f4 100644 --- a/doc/bond_harmonic.txt +++ b/doc/bond_harmonic.txt @@ -1,43 +1,47 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style harmonic command :h3 [Syntax:] bond_style harmonic :pre [Examples:] bond_style harmonic bond_coeff 5 80.0 1.2 :pre [Description:] The {harmonic} bond style uses the potential :c,image(Eqs/bond_harmonic.jpg) where r0 is the equilibrium bond distance. Note that the usual 1/2 factor is included in K. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/distance^2) r0 (distance) :ul -[Restrictions:] none +[Restrictions:] + +This bond style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none diff --git a/doc/bond_hybrid.txt b/doc/bond_hybrid.txt index 37cd829dd..bf21d39ba 100644 --- a/doc/bond_hybrid.txt +++ b/doc/bond_hybrid.txt @@ -1,51 +1,55 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style hybrid command :h3 [Syntax:] bond_style hybrid style1 style2 ... :pre style1,style2 = list of one or more bond styles :ul [Examples:] bond_style hybrid harmonic fene bond_coeff 1 harmonic 80.0 1.2 bond_coeff 2* fene 30.0 1.5 1.0 1.0 :pre [Description:] The {hybrid} style enables the use of multiple bond styles in one simulation. A bond style is assigned to each bond type. For example, bonds in a polymer flow (of bond type 1) could be computed with a {fene} potential and bonds in the wall boundary (of bond type 2) could be computed with a {harmonic} potential. The assignment of bond type to style is made via the "bond_coeff"_bond_coeff.html command or in the data file. In the bond_coeff command, the first coefficient sets the bond style and the remaining coefficients are those appropriate to that style. In the example above, the 2 bond_coeff commands would set bonds of bond type 1 to be computed with a {harmonic} potential with coefficients 80.0, 1.2 for K, r0. All other bond types (2-N) would be computed with a {fene} potential with coefficients 30.0, 1.5, 1.0, 1.0 for K, R0, epsilon, sigma. A bond style of {none} can be specified as an argument to bond_style hybrid and the corresponding bond_coeff commands, if you desire to turn off certain bond types. -[Restrictions:] none +[Restrictions:] + +This bond style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none diff --git a/doc/bond_morse.txt b/doc/bond_morse.txt index 17ac84155..fd67478ef 100644 --- a/doc/bond_morse.txt +++ b/doc/bond_morse.txt @@ -1,44 +1,48 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style morse command :h3 [Syntax:] bond_style morse :pre [Examples:] bond_style morse bond_coeff 5 1.0 2.0 1.2 :pre [Description:] The {morse} bond style uses the potential :c,image(Eqs/bond_morse.jpg) where r0 is the equilibrium bond distance, alpha is a stiffness parameter, and D determines the depth of the potential well. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: D (energy) alpha (inverse distance) r0 (distance) :ul -[Restrictions:] none +[Restrictions:] + +This bond style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none diff --git a/doc/bond_nonlinear.txt b/doc/bond_nonlinear.txt index 7a3be2214..480109ff4 100644 --- a/doc/bond_nonlinear.txt +++ b/doc/bond_nonlinear.txt @@ -1,49 +1,53 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style nonlinear command :h3 [Syntax:] bond_style nonlinear :pre [Examples:] bond_style nonlinear bond_coeff 2 100.0 1.1 1.4 :pre [Description:] The {nonlinear} bond style uses the potential :c,image(Eqs/bond_nonlinear.jpg) to define an anharmonic spring "(Rector)"_#Rector of equilibrium length r0 and maximum extension lamda. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: epsilon (energy) r0 (distance) lamda (distance) :ul -[Restrictions:] none +[Restrictions:] + +This bond style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none :line :link(Rector) [(Rector)] Rector, Van Swol, Henderson, Molecular Physics, 82, 1009 (1994). diff --git a/doc/bond_quartic.txt b/doc/bond_quartic.txt index 20baf5d15..fc7afa2b9 100644 --- a/doc/bond_quartic.txt +++ b/doc/bond_quartic.txt @@ -1,83 +1,87 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style quartic command :h3 [Syntax:] bond_style quartic :pre [Examples:] bond_style quartic bond_coeff 2 1200 -0.55 0.25 1.3 34.6878 :pre [Description:] The {quartic} bond style uses the potential :c,image(Eqs/bond_quartic.jpg) to define a bond that can be broken as the simulation proceeds (e.g. due to a polymer being stretched). The sigma and epsilon used in the LJ portion of the formula are both set equal to 1.0 by LAMMPS. The following coefficients must be defined for each bond type via the "bond_coeff"_bond_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/distance^2) B1 (distance) B2 (distance) Rc (distance) U0 (energy) :ul This potential was constructed to mimic the FENE bond potential for coarse-grained polymer chains. When monomers with sigma = epsilon = 1.0 are used, the following choice of parameters gives a quartic potential that looks nearly like the FENE potential: K = 1200, B1 = -0.55, B2 = 0.25, Rc = 1.3, and U0 = 34.6878. Different parameters can be specified using the "bond_coeff"_bond_coeff.html command, but you will need to choose them carefully so they form a suitable bond potential. Rc is the cutoff length at which the bond potential goes smoothly to a local maximium. If a bond length ever becomes > Rc, LAMMPS "breaks" the bond, which means two things. First, the bond potential is turned off by setting its type to 0, and is no longer computed. Second, a pairwise interaction between the two atoms is turned on, since they are no longer bonded. LAMMPS does the second task via a computational sleight-of-hand. It subtracts the pairwise interaction as part of the bond computation. When the bond breaks, the subtraction stops. For this to work, the pairwise interaction must always be computed by the "pair_style"_pair_style.html command, whether the bond is broken or not. This means that "special_bonds"_special_bonds.html must be set to 1,1,1, as indicated as a restriction below. Note that when bonds are dumped to a file via "dump bond"_dump.html, bonds with type 0 are not included. The "delete_bonds"_delete_bonds.html command can also be used to query the status of broken bonds or permanently delete them, e.g.: delete_bonds all stats delete_bonds all bond 0 remove :pre [Restrictions:] +This bond style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. + The {quartic} style requires that "special_bonds"_special_bonds.html parameters be set to 1,1,1. Three- and four-body interactions (angle, dihedral, etc) cannot be used with {quartic} bonds. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] none diff --git a/doc/bond_style.txt b/doc/bond_style.txt index 962650dcc..cf2b7ec52 100644 --- a/doc/bond_style.txt +++ b/doc/bond_style.txt @@ -1,89 +1,98 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line bond_style command :h3 [Syntax:] bond_style style args :pre style = {none} or {hybrid} or {class2} or {fene} or {fene/expand} or \ {harmonic} or {morse} or {nonlinear} or {quartic} :ul args = none for any style except {hybrid} {hybrid} args = list of one or more styles :pre [Examples:] bond_style harmonic bond_style fene bond_style hybrid harmonic fene :pre [Description:] Set the formula(s) LAMMPS uses to compute bond interactions between pairs of atoms. In LAMMPS, a bond differs from a pairwise interaction, which are set via the "pair_style"_pair_style.html command. Bonds are defined between specified pairs of atoms and remain in force for the duration of the simulation (unless the bond breaks which is possible in some bond potentials). The list of bonded atoms is read in by a "read_data"_read_data.html or "read_restart"_read_restart.html command from a data or restart file. -By contrast, pair potentials are defined between pairs of atoms that -are within a cutoff distance and the set of active interactions -typically changes over time. +By contrast, pair potentials are typically defined between all pairs +of atoms within a cutoff distance and the set of active interactions +changes over time. Hybrid models where bonds are computed using different bond potentials can be setup using the {hybrid} bond style. The coefficients associated with a bond style can be specified in a data or restart file or via the "bond_coeff"_bond_coeff.html command. -In the formulas listed for each bond style, {r} is the distance -between the 2 atoms in the bond. +All bond potentials store their coefficient data in binary restart +files which means bond_style and "bond_coeff"_bond_coeff.html commands +do not need to be re-specified in an input script that restarts a +simulation. See the "read_restart"_read_restart.html command for +details on how to do this. The one exception is that bond_style +{hybrid} only stores the list of sub-styles in the restart file; bond +coefficients need to be re-specified. -Note that when both a bond and pair style is defined, the +IMPORTANT NOTE: When both a bond and pair style is defined, the "special_bonds"_special_bonds.html command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise exist between 2 bonded atoms. +In the formulas listed for each bond style, {r} is the distance +between the 2 atoms in the bond. + :line Here is an alphabetic list of bond styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated "bond_coeff"_bond_coeff.html command: "bond_style none"_bond_none.html - turn off bonded interactions "bond_style hybrid"_bond_hybrid.html - define multiple styles of bond interactions :ul "bond_style class2"_bond_class2.html - COMPASS (class 2) bond "bond_style fene"_bond_fene.html - FENE (finite-extensible non-linear elastic) bond "bond_style fene/expand"_bond_fene_expand.html - FENE bonds with variable size particles "bond_style harmonic"_bond_harmonic.html - harmonic bond "bond_style morse"_bond_morse.html - Morse bond "bond_style nonlinear"_bond_nonlinear.html - nonlinear bond "bond_style quartic"_bond_quartic.html - breakable quartic bond :ul :line [Restrictions:] Bond styles can only be set for atom styles that allow bonds to be defined. -Bond styles are part of the "molecular" package or other packages as -noted in their documentation. They are only enabled if LAMMPS was -built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +Most bond styles are part of the "molecular" package. They are only +enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. The +doc pages for individual bond potentials tell if it is part of a +package. [Related commands:] "bond_coeff"_bond_coeff.html, "delete_bonds"_delete_bonds.html [Default:] bond_style none diff --git a/doc/dihedral_charmm.txt b/doc/dihedral_charmm.txt index 62e6c24e4..c9aefa726 100644 --- a/doc/dihedral_charmm.txt +++ b/doc/dihedral_charmm.txt @@ -1,81 +1,85 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dihedral_style charmm command :h3 [Syntax:] dihedral_style charmm :pre [Examples:] dihedral_style charmm dihedral_coeff 1 120.0 1 60 0.5 :pre [Description:] The {charmm} dihedral style uses the potential :c,image(Eqs/dihedral_charmm.jpg) See "(MacKerell)"_#MacKerell for a description of the CHARMM force field. This dihedral style can also be used for the AMBER force field (see the comment on weighting factors below). See "(Cornell)"_#Cornell for a description of the AMBER force field. The following coefficients must be defined for each dihedral type via the "dihedral_coeff"_dihedral_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy) n (integer >= 0) d (integer value of degrees) weighting factor (0.0 to 1.0) :ul The weighting factor is applied to pairwise interaction between the 1st and 4th atoms in the dihedral. Note that this weighting factor is unrelated to the weighting factor specified by the "special bonds"_doc/special_bonds.html command which applies to all 1-4 interactions in the system. For CHARMM force fields, the special_bonds 1-4 weighting factor should be set to 0.0. This is because the pair styles that contain "charmm" (e.g. "pair_style lj/charmm/coul/long"_pair_charmm.html) define extra 1-4 interaction coefficients that are used by this dihedral style to compute those interactions explicitly. This means that if any of the weighting factors defined as dihedral coefficients (4th coeff above) are non-zero, then you must use a charmm pair style. Note that if you do not set the special_bonds 1-4 weighting factor to 0.0 (which is the default) then 1-4 interactions in dihedrals will be computed twice, once by the pair routine and once by the dihedral routine, which is probably not what you want. For AMBER force fields, the special_bonds 1-4 weighting factor should be set to the AMBER defaults (1/2 and 5/6) and all the dihedral weighting factors (4th coeff above) should be set to 0.0. In this case, you can use any pair style you wish, since the dihedral does not need any 1-4 information. -[Restrictions:] none +[Restrictions:] + +This dihedral style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "dihedral_coeff"_dihedral_coeff.html [Default:] none :line :link(Cornell) [(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). :link(MacKerell) [(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). diff --git a/doc/dihedral_class2.txt b/doc/dihedral_class2.txt index a638f976e..002896a3b 100644 --- a/doc/dihedral_class2.txt +++ b/doc/dihedral_class2.txt @@ -1,116 +1,116 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dihedral_style class2 command :h3 [Syntax:] dihedral_style class2 :pre [Examples:] dihedral_style class2 dihedral_coeff 1 100 75 100 70 80 60 :pre [Description:] The {class2} dihedral style uses the potential :c,image(Eqs/dihedral_class2.jpg) where Ed is the dihedral term, Embt is a middle-bond-torsion term, Eebt is an end-bond-torsion term, Eat is an angle-torsion term, Eaat is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term. Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium bond lengths. See "(Sun)"_#Sun for a description of the COMPASS class2 force field. -For this style, only coefficients for the Ed formula can be specified -in the input script. These are the 6 coefficients: +For this style, coefficients for the Ed formula can be specified in +either the input script or data file. These are the 6 coefficients: K1 (energy) phi1 (degrees) K2 (energy) phi2 (degrees) K3 (energy) phi3 (degrees) :ul -Coefficients for all the other formulas must be specified in the data -file. +Coefficients for all the other formulas can only be specified in the +data file. For the Embt formula, the coefficients are listed under a "MiddleBondTorsion Coeffs" heading and each line lists 4 coefficients: A1 (energy/distance) A2 (energy/distance) A3 (energy/distance) r2 (distance) :ul For the Eebt formula, the coefficients are listed under a "EndBondTorsion Coeffs" heading and each line lists 8 coefficients: B1 (energy/distance) B2 (energy/distance) B3 (energy/distance) C1 (energy/distance) C2 (energy/distance) C3 (energy/distance) r1 (distance) r3 (distance) :ul For the Eat formula, the coefficients are listed under a "AngleTorsion Coeffs" heading and each line lists 8 coefficients: D1 (energy/radian) D2 (energy/radian) D3 (energy/radian) E1 (energy/radian) E2 (energy/radian) E3 (energy/radian) theta1 (degrees) theta2 (degrees) :ul Theta1 and theta2 are specified in degrees, but LAMMPS converts them to radians internally; hence the units of D and E are in energy/radian. For the Eaat formula, the coefficients are listed under a "AngleAngleTorsion Coeffs" heading and each line lists 3 coefficients: M (energy/radian^2) theta1 (degrees) theta2 (degrees) :ul Theta1 and theta2 are specified in degrees, but LAMMPS converts them to radians internally; hence the units of M are in energy/radian^2. For the Ebb13 formula, the coefficients are listed under a "BondBond13 Coeffs" heading and each line lists 3 coefficients: N (energy/distance^2) r1 (distance) r3 (distance) :ul [Restrictions:] -This dihedral style is part of the "class2" package. It is only -enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +This dihedral style can only be used if LAMMPS was built with the +"class2" package. See the "Making LAMMPS"_Section_start.html#2_3 +section for more info on packages. [Related commands:] "dihedral_coeff"_dihedral_coeff.html [Default:] none :line :link(Sun) [(Sun)] Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/dihedral_harmonic.txt b/doc/dihedral_harmonic.txt index ecae8a111..6e9c5dee0 100644 --- a/doc/dihedral_harmonic.txt +++ b/doc/dihedral_harmonic.txt @@ -1,41 +1,45 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dihedral_style harmonic command :h3 [Syntax:] dihedral_style harmonic :pre [Examples:] dihedral_style harmonic dihedral_coeff 1 80.0 1 2 :pre [Description:] The {harmonic} dihedral style uses the potential :c,image(Eqs/dihedral_harmonic.jpg) The following coefficients must be defined for each dihedral type via the "dihedral_coeff"_dihedral_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy) d (+1 or -1) n (integer >= 0) :ul -[Restrictions:] none +[Restrictions:] + +This dihedral style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "dihedral_coeff"_dihedral_coeff.html [Default:] none diff --git a/doc/dihedral_helix.txt b/doc/dihedral_helix.txt index 7827c65c0..f68d66e6f 100644 --- a/doc/dihedral_helix.txt +++ b/doc/dihedral_helix.txt @@ -1,54 +1,58 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dihedral_style helix command :h3 [Syntax:] dihedral_style helix :pre [Examples:] dihedral_style helix dihedral_coeff 1 80.0 100.0 40.0 :pre [Description:] The {helix} dihedral style uses the potential :c,image(Eqs/dihedral_helix.jpg) This coarse-grain dihedral potential is described in "(Guo)"_#Guo. For dihedral angles in the helical region, the energy function is represented by a standard potential consisting of three minima, one corresponding to the trans (t) state and the other to gauche states (g+ and g-). The paper describes how the A,B,C parameters are chosen so as to balance secondary (largely driven by local interactions) and tertiary structure (driven by long-range interactions). The following coefficients must be defined for each dihedral type via the "dihedral_coeff"_dihedral_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: A (energy) B (energy) C (energy) :ul -[Restrictions:] none +[Restrictions:] + +This dihedral style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "dihedral_coeff"_dihedral_coeff.html [Default:] none :line :link(Guo) [(Guo)] Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996). diff --git a/doc/dihedral_hybrid.txt b/doc/dihedral_hybrid.txt index 87e316a12..d7eda64a3 100644 --- a/doc/dihedral_hybrid.txt +++ b/doc/dihedral_hybrid.txt @@ -1,60 +1,64 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dihedral_style hybrid command :h3 [Syntax:] dihedral_style hybrid style1 style2 ... :pre style1,style2 = list of one or more dihedral styles :ul [Examples:] dihedral_style hybrid harmonic helix dihedral_coeff 1 harmonic 6.0 1 3 dihedral_coeff 2 helix 10 10 10 :pre [Description:] The {hybrid} style enables the use of multiple dihedral styles in one simulation. An dihedral style is assigned to each dihedral type. For example, dihedrals in a polymer flow (of dihedral type 1) could be computed with a {harmonic} potential and dihedrals in the wall boundary (of dihedral type 2) could be computed with a {helix} potential. The assignment of dihedral type to style is made via the "dihedral_coeff"_dihedral_coeff.html command or in the data file. In the dihedral_coeff command, the first coefficient sets the dihedral style and the remaining coefficients are those appropriate to that style. In the example above, the 2 dihedral_coeff commands would set dihedrals of dihedral type 1 to be computed with a {harmonic} potential with coefficients 80.0, 1.2 for K, d, n. Dihedral type 2 would be computed with a {helix} potential with coefficients 10.0, 10.0, 10.0 for A, B, C. If the dihedral {class2} potential is one of the hybrid styles, it requires additional MiddleBondTorsion, EndBondTorsion, AngleTorsion, AngleAngleTorsion, and BondBond13 coefficients be specified in the data file. These lines must also have an additional "class2" argument added after the dihedral type. For dihedral types which are assigned to other hybrid styles, use the style name (e.g. "harmonic") appropriate to that style. The MiddleBondTorsion, etc coeffs for that dihedral type will then be ignored. A dihedral style of {none} can be specified as an argument to dihedral_style hybrid and the corresponding dihedral_coeff commands, if you desire to turn off certain dihedral types. -[Restrictions:] none +[Restrictions:] + +This dihedral style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "dihedral_coeff"_dihedral_coeff.html [Default:] none diff --git a/doc/dihedral_multi_harmonic.txt b/doc/dihedral_multi_harmonic.txt index 53fffc0bf..4c71dbc3c 100644 --- a/doc/dihedral_multi_harmonic.txt +++ b/doc/dihedral_multi_harmonic.txt @@ -1,43 +1,47 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dihedral_style multi/harmonic command :h3 [Syntax:] dihedral_style multi/harmonic :pre [Examples:] dihedral_style multi/harmonic dihedral_coeff 1 20 20 20 20 20 :pre [Description:] The {multi/harmonic} dihedral style uses the potential :c,image(Eqs/dihedral_multi_harmonic.jpg) The following coefficients must be defined for each dihedral type via the "dihedral_coeff"_dihedral_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: A1 (energy) A2 (energy) A3 (energy) A4 (energy) A5 (energy) :ul -[Restrictions:] none +[Restrictions:] + +This dihedral style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "dihedral_coeff"_dihedral_coeff.html [Default:] none diff --git a/doc/dihedral_opls.txt b/doc/dihedral_opls.txt index 639e3a3f3..67c08e654 100644 --- a/doc/dihedral_opls.txt +++ b/doc/dihedral_opls.txt @@ -1,52 +1,56 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dihedral_style opls command :h3 [Syntax:] dihedral_style opls :pre [Examples:] dihedral_style opls dihedral_coeff 1 90.0 90.0 90.0 70.0 :pre [Description:] The {opls} dihedral style uses the potential :c,image(Eqs/dihedral_opls.jpg) Note that the usual 1/2 factor is not included in the K values. This dihedral potential is used in the OPLS force field and is described in "(Watkins)"_#Watkins. The following coefficients must be defined for each dihedral type via the "dihedral_coeff"_dihedral_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K1 (energy) K2 (energy) K3 (energy) K4 (energy) :ul -[Restrictions:] none +[Restrictions:] + +This dihedral style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "dihedral_coeff"_dihedral_coeff.html [Default:] none :line :link(Watkins) [(Watkins)] Watkins and Jorgensen, J Phys Chem A, 105, 4118-4125 (2001). diff --git a/doc/dihedral_style.txt b/doc/dihedral_style.txt index ea01bc720..e540c5540 100644 --- a/doc/dihedral_style.txt +++ b/doc/dihedral_style.txt @@ -1,95 +1,106 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dihedral_style command :h3 [Syntax:] dihedral_style style :pre style = {none} or {hybrid} or {charmm} or {class2} or {harmonic} or {helix} or \ {multi/harmonic} or {opls} :ul [Examples:] dihedral_style harmonic dihedral_style multi/harmonic dihedral_style hybrid harmonic charmm :pre [Description:] Set the formula(s) LAMMPS uses to compute dihedral interactions between quadruplets of atoms, which remain in force for the duration of the simulation. The list of dihedral quadruplets is read in by a "read_data"_read_data.html or "read_restart"_read_restart.html command from a data or restart file. Hybrid models where dihedrals are computed using different dihedral potentials can be setup using the {hybrid} dihedral style. -The coefficients associated with a dihedral style can be specified in a -data or restart file or via the "dihedral_coeff"_dihedral_coeff.html command. +The coefficients associated with a dihedral style can be specified in +a data or restart file or via the "dihedral_coeff"_dihedral_coeff.html +command. + +All dihedral potentials store their coefficient data in binary restart +files which means dihedral_style and +"dihedral_coeff"_dihedral_coeff.html commands do not need to be +re-specified in an input script that restarts a simulation. See the +"read_restart"_read_restart.html command for details on how to do +this. The one exception is that dihedral_style {hybrid} only stores +the list of sub-styles in the restart file; dihedral coefficients need +to be re-specified. + +IMPORTANT NOTE: When both a dihedral and pair style is defined, the +"special_bonds"_special_bonds.html command often needs to be used to +turn off (or weight) the pairwise interaction that would otherwise +exist between 4 bonded atoms. In the formulas listed for each dihedral style, {phi} is the torsional angle defined by the quadruplet of atoms. -Note that when both a dihedral and pair style is defined, the -"special_bond"_special_bond.html command often needs to be used to -turn off (or weight) the pairwise interactions that would otherwise -exist between the 4 bonded atoms. - Here are some important points to take note of when defining the LAMMPS dihedral coefficients in the formulas that follow so that they are compatible with other force fields: The LAMMPS convention is that the trans position = 180 degrees, while in some force fields trans = 0 degrees. :ulb,l Some force fields reverse the sign convention on {d}. :l 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. :l Some force fields let {n} be positive or negative which corresponds to {d} = 1 or -1 for the harmonic style. :ule,l :line Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated "dihedral_coeff"_dihedral_coeff.html command: "dihedral_style none"_dihedral_none.html - turn off dihedral interactions "dihedral_style hybrid"_dihedral_hybrid.html - define multiple styles of dihedral interactions :ul "dihedral_style charmm"_dihedral_charmm.html - CHARMM dihedral "dihedral_style class2"_dihedral_class2.html - COMPASS (class 2) dihedral "dihedral_style harmonic"_dihedral_harmonic.html - harmonic dihedral "dihedral_style helix"_dihedral_helix.html - helix dihedral "dihedral_style multi/harmonic"_dihedral_multi_harmonic.html - multi-harmonic dihedral "dihedral_style opls"_dihedral_opls.html - OPLS dihedral :ul :line [Restrictions:] Dihedral styles can only be set for atom styles that allow dihedrals to be defined. -Dihedral styles are part of the "molecular" package or other packages -as noted in their documentation. They are only enabled if LAMMPS was -built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +Most dihedral styles are part of the "molecular" package. They are +only enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. The +doc pages for individual dihedral potentials tell if it is part of a +package. [Related commands:] "dihedral_coeff"_dihedral_coeff.html [Default:] dihedral_style none diff --git a/doc/dump.txt b/doc/dump.txt index e7953c5f0..965d7453f 100644 --- a/doc/dump.txt +++ b/doc/dump.txt @@ -1,312 +1,312 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line dump command :h3 [Syntax:] dump ID group-ID style N file args :pre ID = user-assigned name for the dump :ulb,l group-ID = ID of the group of atoms to be dumped :l style = {atom} or {bond} or {dcd} or {xtc} or {xyz} or {custom} :l N = dump every this many timesteps :l file = name of file to write dump info to :l args = list of arguments for a particular style :l {atom} args = none {bond} args = none {dcd} args = none {xtc} args = precision (optional) precision = power-of-10 value from 10 to 1000000 (default = 1000) {xyz} args = none {custom} args = list of atom attributes possible attributes = tag, mol, type, x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, vx, vy, vz, fx, fy, fz, q, mux, muy, muz, quatw, quati, quatj, quatk, tqx, tqy, tqz, epair, ke, etotal, centro, sxx, syy, szz, sxy, sxz, syz, c_ID, c_ID\[N\] tag = atom ID mol = molecule ID type = atom type x,y,z = unscaled atom coordinates xs,ys,zs = scaled atom coordinates xu,yu,zu = unwrapped atom coordinates ix,iy,iz = box image that the atom is in vx,vy,vz = atom velocities fx,fy,fz = forces on atoms q = atom charge mux,muy,muz = orientation of dipolar atom quatw,quati,quatj,quatk = quaternion components for aspherical particles tqx,tqy,tqz = torque on aspherical particles epair = per-atom pairwise energy ke = per-atom kinetic energy etotal = per-atom total energy (ke + epair) centro = per-atom centro-symmetry parameter sxx, syy, szz, sxy, sxz, syz = per-atom stress tensor components c_ID = scalar per-atom quantity calculated by a compute identified by its ID c_ID\[N\] = Nth per-atom vector quantity calculated by a compute identified by its ID :pre :ule [Examples:] dump myDump all atom 100 dump.atom dump 2 subgroup atom 50 dump.run.bin dump 4a all custom 100 dump.myforce.* tag type x y vx fx dump 4b flow custom 100 dump.%.myforce tag type epair sxx syy szz c_myF\[3\] dump 1 all xtc 1000 file.xtc 100.0 :pre [Description:] Dump a snapshot of atom quantities to one or more files every N timesteps in one of several styles. As described below, the filename determines the kind of output (text or binary or gzipped, one big file or one per timestep, one big file or one per processor). Only information for atoms in the specified group is dumped. The "dump_modify"_dump_modify.html command can also alter what atoms are included. Not all styles support all these options; see details below. Note that because periodic boundary conditions are enforced only on timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation box. Also note that when LAMMPS is running in parallel, the atom information written to dump files (typically one line per atom) may be written in an indeterminate order. This is because data for a single snapshot is collected from multiple processors. This is always the case for the {atom}, {bond}, and {custom} styles. It is also the case for the {xyz} style if the dump group is not {all}. It is not the case for the {dcd} and {xtc} styles which always write atoms in sorted order. So does the {xyz} style if the dump group is {all}. :line The {style} keyword determines what atom quantities are written to the file and in what format. Settings made via the "dump_modify"_dump_modify.html command can also alter the format of individual values and the file itself. The {atom}, {bond}, and {custom} styles create files in a simple text format that is self-explanatory when viewing a dump file. Many of the LAMMPS "post-processing tools"_Section_tools.html, including "Pizza.py"_http://www.cs.sandia.gov/~sjplimp/pizza.html, work with this format. For style {atom}, atom coordinates are written to the file, along with the atom ID and atom type. By default, atom coords are written in a scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom is at a location 1/4 of the distance from xlo to xhi of the box boundaries. The format can be changed to unscaled coords via the "dump_modify"_dump_modify.html settings. Image flags can also be added for each atom via dump_modify. For style {bond}, the bond topology between atoms is written, in the same format specified in data files read in by the "read_data"_read_data.html command. Both atoms in the bond must be in the dump group for the bond to be written. Any bonds that have been broken (see the "bond_style"_bond_style.html command) by setting their bond type to 0 are not written. Bonds that have been turned off (see the "fix shake"_fix_shake.html or "delete_bonds"_delete_bonds.html commands) by setting their bond type negative are written into the file. Style {custom} allows you to specify a list of atom attributes to be written to the dump file for each atom. Possible attributes are listed above and will appear in the order specified. Be careful not to specify a quantity that is not defined for a particular simulation - such as {q} for atom style {bond}, since that atom style doesn't assign charges. Dumps occur at the very end of a timestep, so atom attributes will include effects due to fixes that are applied during the timestep. An explanation of some of the dump custom quantities is given below. The {dcd} style writes DCD files, a standard atomic trajectory format used by the CHARMM, NAMD, and XPlor molecular dynamics packages. DCD files are binary and thus may not be portable to different machines. The dump group must be {all} for the {dcd} style. The {xtc} style writes XTC files, a compressed trajectory format used by the GROMACS molecular dynamics package, and described "here"_http://www.gromacs.org/documentation/reference_3.3/online/xtc.html. The precision used in XTC files can be specified; for example, a value of 100 means that coordinates are stored to 1/100 nanometer accuracy. XTC files are portable binary files written in the NFS XDR data format, so that any machine which supports XDR should be able to read them. The dump group must be {all} for the {xtc} style. The {xyz} style writes XYZ files, which is a simple text-based coordinate format that many codes can read. Note that DCD, XTC, and XYZ formatted files can be read directly by "VMD"_http://www.ks.uiuc.edu/Research/vmd (a popular molecular viewing program). We are told VMD will also read LAMMPS {atom} style dump files since someone has added a LAMMPS format plug-in to VMD. It may require an initial snapshot from an XYZ formatted file to get started. :line Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. N can be changed between runs by using the "dump_modify"_dump_modify.html command (not allowed for {dcd} style). The specified filename determines how the dump file(s) is written. The default is to write one large text file, which is opened when the dump command is invoked and closed when an "undump"_undump.html command is used or when LAMMPS exits. For the {dcd} and {xtc} styles, this is a single large binary file. Dump filenames can contain two wild-card characters. If a "*" character appears in the filename, then one file per snapshot is written and the "*" character is replaced with the timestep value. For example, tmp.dump.* becomes tmp.dump.0, tmp.dump.10000, tmp.dump.20000, etc. This option is not available for the {dcd} and {xtc} styles. If a "%" character appears in the filename, then one file is written for each processor and the "%" character is replaced with the processor ID from 0 to P-1. For example, tmp.dump.% becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.P-1, etc. This creates smaller files and can be a fast mode of output on parallel machines that support parallel I/O for output. This option is not available for the {dcd}, {xtc}, and {xyz} styles. Note that the "*" and "%" characters can be used together to produce a large number of small dump files! If the filename ends with ".bin", the dump file (or files, if "*" or "%" is also used) is written in binary format. A binary dump file will be about the same size as a text version, but will typically write out much faster. Of course, when post-processing, you will need to convert it back to text format (see the "binary2txt tool"_Section_tools.html#binary) or write your own code to read the binary file. The format of the binary file can be understood by looking at the tools/binary2txt.cpp file. This option is only available for the {atom} and {custom} styles. If the filename ends with ".gz", the dump file (or files, if "*" or "%" is also used) is written in gzipped format. A gzipped dump file will be about 3x smaller than the text version, but will also take longer to write. This option is not available for the {dcd} and {xtc} styles. :line This section explains the atom quantities that can be specified as part of the {custom} style. The {tag}, {mol}, {type}, {x}, {y}, {z}, {vx}, {vy}, {vz}, {fx}, {fy}, {fz}, {q} keywords are self-explanatory. {Tag} is the atom ID. {Mol} is the molecule ID, included in the data file for molecular systems. The {x}, {y}, {z} keywords write atom coordinates "unscaled", in the appropriate distance units (Angstroms, sigma, etc). Use {xs}, {ys}, {zs} if you want the coordinates "scaled" to the box size, so that each value is 0.0 to 1.0. Use {xu}, {yu}, {zu} if you want the coordinates "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed thru a periodic boundary one or more times, the value is printed for what the coordinate would be if it had not been wrapped back into the periodic box. Note that using {xu}, {yu}, {zu} means that the coordinate values may be far outside the box size printed with the snapshot. The image flags can be printed directly using the {ix}, {iy}, {iz} keywords. The "dump_modify"_dump_modify.html command describes in more detail what is meant by scaled vs unscaled coordinates and the image flags. The {mux}, {muy}, {muz} keywords are specific to dipolar systems defined with an atom style of {dipole}. They give the orientation of the atom's dipole. The {quatw}, {quati}, {quatj}, {quatk}, {tqx}, {tqy}, {tqz} keywords are specific to aspherical particles defined with an atom style of {ellipsoid}. The first 4 are the components of the quaternion that define the orientiation of the particle. The final 3 give the rotational torque on the particle. The {epair}, {ke}, {etotal}, {centro}, and {sxx}, etc keywords print the pairwise energy, kinetic energy, total energy (pairwise + kinetic), centro-symmetry parameter, and components of the per-atom stress tensor for each atom. These quantities are calculated by computes that the dump defines, as if these commands had been issued: compute dump-ID_epair/atom group-ID "epair/atom"_compute_epair_atom.html compute dump-ID_ke/atom group-ID "ke/atom"_compute_ke_atom.html compute dump-ID_etotal/atom group-ID "etotal/atom"_compute_etotal_atom.html compute dump-ID_centro/atom group-ID "centro/atom"_compute_centro_atom.html compute dump-ID_stress/atom group-ID "stress/atom"_compute_stress_atom.html :pre See the corresponding "compute"_compute.html style commands for details on what is computed for each atom. Note that the ID of each new compute is the dump-ID with the compute style appended (with an underscore). The group for each new compute is the same as the dump group. Note that the {etotal} keyword does not include energy contributions due to bonds, angles, etc that the atom is part of. The {sxx}, {syy}, {szz}, {sxy}, {sxz}, {syz} keywords access the 6 components of the stress tensor calculated for each atom by the "compute stress/atom"_compute_stress_atom.html style. The {c_ID} and {c_ID\[N\]} keywords allow scalar or vector per-atom quantities calculated by a compute to be output. The ID in the keyword should be replaced by the actual ID of the compute that has been defined elsewhere in the input script. See the "compute"_compute.html command for details. Note that scalar and vector quantities that are not calculated on a per-atom basis (e.g. global temperature or pressure) cannot be output in a dump. Rather, these quantities are output by the "thermo_style custom"_thermo_style.html command. If {c_ID} is used as a keyword, then the scalar per-atom quantity calculated by the compute is printed. If {c_ID\[N\]} is used, then N in the range from 1-M will print the Nth component of the M-length per-atom vector calculated by the compute. See "this section"_Section_modify.html for information on how to add new compute styles to LAMMPS that calculate per-atom quantities which could then be output with these keywords. :line [Restrictions:] Scaled coordinates cannot be writted to dump files when the simulation box is triclinic (non-orthogonal). Note that this is the default for dump style {atom}; the "dump_modify command"_dump_modify.html must be used to change it. The exception is DCD files which store the tilt factors for subsequent visualization by programs like "VMD"_http://www.ks.uiuc.edu/Research/vmd. To write gzipped dump files, you must compile LAMMPS with the -DGZIP option - see the "Making LAMMPS"_Section_start.html#2_2 section of the documentation. The {bond} style is part of the "molecular" package. It is only enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +LAMMPS"_Section_start.html#2_3 section for more info. The {xtc} style is part of the "xtc" package. It is only enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. This is because +LAMMPS"_Section_start.html#2_3 section for more info. This is because some machines may not support the lo-level XDR data format that XTC files are written with, which will result in a compile-time error when a lo-level include file is not found. Putting this style in a package makes it easy to exclude from a LAMMPS build for those machines. Granular systems and granular pair potentials cannot be used to compute per-atom energy and stress. The "fix gran/diag"_fix_gran_diag.html command should be used instead. [Related commands:] "dump_modify"_dump_modify.html, "undump"_undump.html [Default:] none diff --git a/doc/fix.txt b/doc/fix.txt index 8a6ffe576..05ad174ec 100644 --- a/doc/fix.txt +++ b/doc/fix.txt @@ -1,138 +1,144 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix command :h3 [Syntax:] fix ID group-ID style args :pre ID = user-assigned name for the fix group-ID = ID of the group of atoms to apply the fix to style = one of a long list of possible style names (see below) args = arguments used by a particular style :ul [Examples:] fix 1 all nve fix 3 all nvt 300.0 300.0 0.01 fix mine top setforce 0.0 NULL 0.0 :pre [Description:] Set a fix that will be applied to a group of atoms. In LAMMPS, a "fix" is any operation that is applied to the system during timestepping or minimization. Examples include updating of atom positions and velocities due to time integration, controlling temperature, applying constraint forces to atoms, enforcing boundary conditions, computing diagnostics, etc. There are dozens of fixes defined in LAMMPS and new ones can be added - see "this section"_Section_modify.html for a discussion. Each fix style has its own documentation page which describes its -arguments and what it does. For example, see the "fix -setforce"_fix_setforce.html page for information on style {setforce}. +arguments and what it does, as listed below. Fixes perform their operations at different stages of the timestep. If 2 or more fixes both operate at the same stage of the timestep, they are invoked in the order they were specified in the input script. Fixes can be deleted with the "unfix"_unfix.html command. Note that this is the only way to turn off a fix; simply specifying a new fix with a similar style will not turn off the first one. For example, -using a "fix nve" command for a second run after using a "fix nvt" -command for the first run, will not cancel out the NVT time -integration invoked by the "fix nvt" command. Thus two time -integrators would be in place! +using a "fix nve"_fix_nve.html command for a second run after using a +"fix nvt"_fix_nvt.html command for the first run, will not cancel out +the NVT time integration invoked by the "fix nvt" command. Thus two +time integrators would be in place! If you specify a new fix with the same ID and style as an existing fix, the old fix is deleted and the new one is created (presumably with new settings). This is the same as if an "unfix" command were first performed on the old fix, except that the new fix is kept in the same order relative to the existing fixes as the old one originally was. Note that this operation also wipes out any additional changes made to the old fix via the "fix_modify"_fix_modify.html command. -Here is an alphabetic list of fix styles defined in LAMMPS: +The "fix modify"_fix_modify.html command allows settings for some +fixes to be reset. See the doc page for individual fixes for details. + +Some fixes store an internal "state" which is written to binary +restart files via the "restart"_restart.html or +"write_restart"_write_restart.html commands. This allows the fix to +continue on with its calculations in a restarted simulation. See the +"read_restart"_read_restart.html command for info on how to re-specify +a fix in an input script that reads a restart file. See the doc pages +for individual fixes for info on which ones can be restarted. + +Here is an alphabetic list of fix styles available in LAMMPS: "fix addforce"_fix_addforce.html - add a force to each atom "fix aveforce"_fix_aveforce.html - add an averaged force to each atom "fix ave/spatial"_fix_ave_spatial.html - output per-atom quantities by layer "fix ave/time"_fix_ave_time.html - output time-averaged compute quantities "fix com"_fix_com.html - compute a center-of-mass "fix deform"_fix_deform.html - change the simulation box size/shape "fix deposit"_fix_deposit.html - add new atoms above a surface "fix drag"_fix_drag.html - drag atoms towards a defined coordinate "fix efield"_fix_efield.html - impose electric field on system "fix enforce2d"_fix_enforce2d.html - zero out z-dimension velocity and force "fix freeze"_fix_freeze.html - freeze atoms in a granular simulation "fix gran/diag"_fix_gran_diag.html - compute granular diagnostics "fix gravity"_fix_gravity.html - add gravity to atoms in a granular simulation "fix gyration"_fix_gyration.html - compute radius of gyration "fix indent"_fix_indent.html - impose force due to an indenter "fix langevin"_fix_langevin.html - Langevin temperature control "fix lineforce"_fix_lineforce.html - constrain atoms to move in a line "fix msd"_fix_msd.html - compute mean-squared displacement \ (i.e. diffusion coefficient) "fix momentum"_fix_momentum.html - zero the linear and/or angular momentum \ of a group of atoms "fix nph"_fix_nph.html - constant NPH time integration via Nose/Hoover "fix npt"_fix_npt.html - constant NPT time integration via Nose/Hoover "fix npt/asphere"_fix_npt_asphere.html - NPT for aspherical particles "fix nve"_fix_nve.html - constant NVE time integration "fix nve/asphere"_fix_nve_asphere.html - NVT for aspherical particles "fix nve/dipole"_fix_nve_dipole.html - NVE for point dipolar particles "fix nve/gran"_fix_nve_gran.html - NVE for granular particles "fix nve/noforce"_fix_nve_noforce.html - NVE without forces (v only) "fix nvt"_fix_nvt.html - constant NVT time integration via Nose/Hoover "fix nvt/asphere"_fix_nvt_asphere.html - NVT for aspherical particles "fix nvt/sllod"_fix_nvt_sllod.html - NVT for NEMD with SLLOD equations "fix orient/fcc"_fix_orient_fcc.html - add grain boundary migration force "fix planeforce"_fix_planeforce.html - constrain atoms to move in a plane "fix poems"_fix_poems.html - constrain clusters of atoms to move \ as coupled rigid bodies "fix pour"_fix_pour.html - pour new atoms into a granular simulation domain "fix print"_fix_print.html - print text and variables during a simulation "fix rdf"_fix_rdf.html - compute radial distribution functions "fix recenter"_fix_recenter.html - constrain the center-of-mass position \ of a group of atoms "fix rigid"_fix_rigid.html - constrain one or more clusters of atoms to \ move as a rigid body "fix setforce"_fix_setforce.html - set the force on each atom "fix shake"_fix_shake.html - SHAKE constraints on bonds and/or angles "fix spring"_fix_spring.html - apply harmonic spring force to group of atoms "fix spring/rg"_fix_spring_rg.html - spring on radius of gyration of \ group of atoms "fix spring/self"_fix_spring_self.html - spring from each atom to its origin "fix temp/rescale"_fix_temp_rescale.html - temperature control by \ velocity rescaling "fix tmd"_fix_tmd.html - guide a group of atoms to a new configuration "fix viscous"_fix_viscous.html - viscous damping for granular simulations "fix wall/gran"_fix_wall_gran.html - frictional wall(s) for \ granular simulations "fix wall/lj126"_fix_wall_lj126.html - Lennard-Jones 12-6 wall "fix wall/lj93"_fix_wall_lj93.html - Lennard-Jones 9-3 wall "fix wall/reflect"_fix_wall_reflect.html - reflecting wall(s) "fix wiggle"_fix_wiggle.html - oscillate walls and frozen atoms :ul [Restrictions:] Some fix styles are part of specific packages. They are only enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. - -The {freeze}, {gran/diag}, {gravity}, {nve/gran}, {pour}, and -{wall/gran} styles are part of the "granular" package. - -The {poems} style is part of the "poems" package. +LAMMPS"_Section_start.html#2_3 section for more info on packages. The +doc pages for individual fixes tell if it is part of a package. [Related commands:] "unfix"_unfix.html, "fix_modify"_fix_modify.html [Default:] none diff --git a/doc/fix_addforce.html b/doc/fix_addforce.html index 3a0039508..6aeb7608e 100644 --- a/doc/fix_addforce.html +++ b/doc/fix_addforce.html @@ -1,44 +1,53 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix addforce command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID addforce fx fy fz </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>addforce = style name of this fix command <LI>fx,fy,fz = force component values (force units) </UL> <P><B>Examples:</B> </P> <PRE>fix kick flow addforce 1.0 0.0 0.0 </PRE> <P><B>Description:</B> </P> <P>Add fx,fy,fz to the corresponding component of force for each atom in the group. This command can be used to give an additional push to atoms in a simulation, such as for a simulation of Poiseuille flow in a channel. </P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_setforce.html">fix setforce</A>, <A HREF = "fix_aveforce.html">fix aveforce</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_addforce.txt b/doc/fix_addforce.txt index 85dc07926..dde46e4e7 100644 --- a/doc/fix_addforce.txt +++ b/doc/fix_addforce.txt @@ -1,39 +1,48 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix addforce command :h3 [Syntax:] fix ID group-ID addforce fx fy fz :pre ID, group-ID are documented in "fix"_fix.html command addforce = style name of this fix command fx,fy,fz = force component values (force units) :ul [Examples:] fix kick flow addforce 1.0 0.0 0.0 :pre [Description:] Add fx,fy,fz to the corresponding component of force for each atom in the group. This command can be used to give an additional push to atoms in a simulation, such as for a simulation of Poiseuille flow in a channel. -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. [Restrictions:] none [Related commands:] "fix setforce"_fix_setforce.html, "fix aveforce"_fix_aveforce.html [Default:] none diff --git a/doc/fix_ave_spatial.html b/doc/fix_ave_spatial.html index a37b08c3a..f34f1bec0 100644 --- a/doc/fix_ave_spatial.html +++ b/doc/fix_ave_spatial.html @@ -1,156 +1,166 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix ave/spatial command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID ave/spatial Nevery Nfreq dim origin delta file style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>ave/spatial = style name of this fix command <LI>Nevery = calculate property every this many timesteps <LI>Nfreq = write average property to file every this many steps <LI>dim = <I>x</I> or <I>y</I> or <I>z</I> <LI>origin = <I>lower</I> or <I>center</I> or <I>upper</I> or coordinate value (distance units) <LI>delta = thickness of spatial layers in dim (distance units) <LI>file = filename to write results to <LI>style = <I>density</I> or <I>atom</I> or <I>compute</I> <PRE> <I>density</I> arg = <I>mass</I> or <I>number</I> <I>mass</I> = compute mass density <I>number</I> = compute number density <I>atom</I> arg = <I>vx</I> or <I>vy</I> or <I>vz</I> or <I>fx</I> or <I>fy</I> or <I>fz</I> <I>compute</I> arg = compute-ID that calculates per-atom quantities </PRE> <LI>zero or more keyword/value pairs may be appended to the args <PRE>keyword = <I>norm</I> or <I>units</I> <I>norm</I> value = <I>all</I> or <I>sample</I> <I>units</I> value = <I>box</I> or <I>lattice</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all ave/spatial 10000 10000 z lower 2.0 centro.profile compute myCentro fix 1 flow ave/spatial 100 1000 y 0.0 1.0 vel.profile atom vx norm sample fix 1 flow ave/spatial 100 1000 y 0.0 1.0 dens.profile density mass </PRE> <P><B>Description:</B> </P> <P>Calculate one or more instantaneous per-atom quantities every few timesteps, average them by layer in a chosen dimension and over a longer timescale, and print the results to a file. This can be used to spatially average per-atom properties such as velocity or energy or a quantity calculated by an equation you define; see the <A HREF = "variable.html">variable atom</A> command. </P> <P>The <I>density</I> styles means to simply count the number of atoms in each layer, either by mass or number. The <I>atom</I> style allows an atom property such as x-velocity to be specified. The <I>compute</I> style allows specification of a <A HREF = "compute.html">compute</A> which will be invoked to calculate the desired property. The compute can be previously defined in the input script. Note that the "compute variable/atom" style allows you to calculate any quantity for an atom that can be specified by a <A HREF = "variable.html">variable atom</A> equation. Users can also write code for their own compute styles and <A HREF = "Section_modify.html">add them to LAMMPS</A>. Note that the <A HREF = "dump.html">dump custom</A> command can also be used to output per-atom quantities calculated by a compute. </P> <P>For the <I>compute</I> style, the fix ave/spatial style uses the per-atom scalar or vector calculated by the compute. See the <A HREF = "fix_ave_time.html">fix ave/time</A> command if you wish to time-average a global quantity, e.g. via a compute that temperature or pressure. </P> <P>In all cases, the calculated property is averaged over atoms in each layer, where the layers are in a particular <I>dim</I> and have a thickness given by <I>delta</I>. Every Nfreq steps, when a property is calculated for the first time (after a previous write), the number of layers and the layer boundaries are computed. Thus if the simlation box changes size during a simulation, the number of layers and their boundaries may also change. Layers are defined relative to a specified <I>origin</I>, which may be the lower/upper edge of the box (in <I>dim</I>) or its center point, or a specified coordinate value. Starting at the origin, sufficient layers are created in both directions to completely cover the box. On subsequent timesteps every atom is mapped to one of the layers. Atoms beyond the lowermost/uppermost layer are counted in the first/last layer. </P> <P>The <I>units</I> keyword determines the meaning of the distance units used for the layer thickness <I>delta</I> and <I>origin</I> if it is a coordinate value. A <I>box</I> value selects standard distance units as defined by the <A HREF = "units.html">units</A> command, e.g. Angstroms for units = real or metal. A <I>lattice</I> value means the distance units are in lattice spacings. The <A HREF = "lattice.html">lattice</A> command must have been previously used to define the lattice spacing. </P> <P>The <I>Nevery</I> and <I>Nfreq</I> arguments specify how the property calculated for each layer is time-averaged. The property is calculated once each Nevery timesteps. It is averaged and output every Nfreq timesteps. Nfreq must be a multiple of Nevery. In the 2nd example above, the property is calculated every 100 steps. After 10 calculations, the average result is written to the file, once every 1000 steps. </P> <P>The <I>norm</I> keyword also affects how time-averaging is done. For an <I>all</I> setting, a layer quantity is summed over all atoms in all Nfreq/Nevery samples, as is the count of atoms in the layer. The printed value for the layer is Total-quantity / Total-count. In other words it is an average over the entire Nfreq timescale. </P> <P>For a <I>sample</I> setting, the quantity is summed over atoms for only a single sample, as is the count, and a "average sample value" is computed, i.e. Sample-quantity / Sample-count. The printed value for the layer is the average of the M "average sample values", where M = Nfreq/Nevery. In other words it is an average of an average. </P> <P>Each time info is written to the file, it is in the following format. A line with the timestep and number of layers is written. Then one line per layer is written, containing the layer ID (1-N), the coordinate of the center of the layer, the number of atoms in the layer, and one or more calculated values. The number of atoms and the value(s) are average quantities. </P> <P>If the <I>density</I> or <I>atom</I> keyword is used, or the <I>compute</I> keyword with a compute that calculates a single quantity per atom, then a single value will be printed for each layer. If the <I>compute</I> keyword is used with a compute that calculates N quantities per atom, then N values per line will be written, each of them averaged independently. </P> <P>For the <I>compute</I> keyword, the calculation performed by the compute in on the group defined by the compute. However, only atoms in the fix group are included in the layer averaging. LAMMPS prints a warning if the fix group and compute group do not match. </P> <P>Note that some computes perform costly calculations, involving use of or creation of neighbor lists. If the compute is invoked too often by fix ave/spatial, it can slow down a simulation. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "compute.html">compute</A>, <A HREF = "fix_ave_time.html">fix ave/time</A> </P> <P><B>Default:</B> </P> <P>The option defaults are norm = all and units = lattice. </P> </HTML> diff --git a/doc/fix_ave_spatial.txt b/doc/fix_ave_spatial.txt index ddaba0fe4..9b15930a0 100644 --- a/doc/fix_ave_spatial.txt +++ b/doc/fix_ave_spatial.txt @@ -1,142 +1,152 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix ave/spatial command :h3 [Syntax:] fix ID group-ID ave/spatial Nevery Nfreq dim origin delta file style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l ave/spatial = style name of this fix command :l Nevery = calculate property every this many timesteps :l Nfreq = write average property to file every this many steps :l dim = {x} or {y} or {z} :l origin = {lower} or {center} or {upper} or coordinate value (distance units) :l delta = thickness of spatial layers in dim (distance units) :l file = filename to write results to :l style = {density} or {atom} or {compute} :l {density} arg = {mass} or {number} {mass} = compute mass density {number} = compute number density {atom} arg = {vx} or {vy} or {vz} or {fx} or {fy} or {fz} {compute} arg = compute-ID that calculates per-atom quantities :pre zero or more keyword/value pairs may be appended to the args :l keyword = {norm} or {units} {norm} value = {all} or {sample} {units} value = {box} or {lattice} :pre :ule [Examples:] fix 1 all ave/spatial 10000 10000 z lower 2.0 centro.profile compute myCentro fix 1 flow ave/spatial 100 1000 y 0.0 1.0 vel.profile atom vx norm sample fix 1 flow ave/spatial 100 1000 y 0.0 1.0 dens.profile density mass :pre [Description:] Calculate one or more instantaneous per-atom quantities every few timesteps, average them by layer in a chosen dimension and over a longer timescale, and print the results to a file. This can be used to spatially average per-atom properties such as velocity or energy or a quantity calculated by an equation you define; see the "variable atom"_variable.html command. The {density} styles means to simply count the number of atoms in each layer, either by mass or number. The {atom} style allows an atom property such as x-velocity to be specified. The {compute} style allows specification of a "compute"_compute.html which will be invoked to calculate the desired property. The compute can be previously defined in the input script. Note that the "compute variable/atom" style allows you to calculate any quantity for an atom that can be specified by a "variable atom"_variable.html equation. Users can also write code for their own compute styles and "add them to LAMMPS"_Section_modify.html. Note that the "dump custom"_dump.html command can also be used to output per-atom quantities calculated by a compute. For the {compute} style, the fix ave/spatial style uses the per-atom scalar or vector calculated by the compute. See the "fix ave/time"_fix_ave_time.html command if you wish to time-average a global quantity, e.g. via a compute that temperature or pressure. In all cases, the calculated property is averaged over atoms in each layer, where the layers are in a particular {dim} and have a thickness given by {delta}. Every Nfreq steps, when a property is calculated for the first time (after a previous write), the number of layers and the layer boundaries are computed. Thus if the simlation box changes size during a simulation, the number of layers and their boundaries may also change. Layers are defined relative to a specified {origin}, which may be the lower/upper edge of the box (in {dim}) or its center point, or a specified coordinate value. Starting at the origin, sufficient layers are created in both directions to completely cover the box. On subsequent timesteps every atom is mapped to one of the layers. Atoms beyond the lowermost/uppermost layer are counted in the first/last layer. The {units} keyword determines the meaning of the distance units used for the layer thickness {delta} and {origin} if it is a coordinate value. A {box} value selects standard distance units as defined by the "units"_units.html command, e.g. Angstroms for units = real or metal. A {lattice} value means the distance units are in lattice spacings. The "lattice"_lattice.html command must have been previously used to define the lattice spacing. The {Nevery} and {Nfreq} arguments specify how the property calculated for each layer is time-averaged. The property is calculated once each Nevery timesteps. It is averaged and output every Nfreq timesteps. Nfreq must be a multiple of Nevery. In the 2nd example above, the property is calculated every 100 steps. After 10 calculations, the average result is written to the file, once every 1000 steps. The {norm} keyword also affects how time-averaging is done. For an {all} setting, a layer quantity is summed over all atoms in all Nfreq/Nevery samples, as is the count of atoms in the layer. The printed value for the layer is Total-quantity / Total-count. In other words it is an average over the entire Nfreq timescale. For a {sample} setting, the quantity is summed over atoms for only a single sample, as is the count, and a "average sample value" is computed, i.e. Sample-quantity / Sample-count. The printed value for the layer is the average of the M "average sample values", where M = Nfreq/Nevery. In other words it is an average of an average. Each time info is written to the file, it is in the following format. A line with the timestep and number of layers is written. Then one line per layer is written, containing the layer ID (1-N), the coordinate of the center of the layer, the number of atoms in the layer, and one or more calculated values. The number of atoms and the value(s) are average quantities. If the {density} or {atom} keyword is used, or the {compute} keyword with a compute that calculates a single quantity per atom, then a single value will be printed for each layer. If the {compute} keyword is used with a compute that calculates N quantities per atom, then N values per line will be written, each of them averaged independently. For the {compute} keyword, the calculation performed by the compute in on the group defined by the compute. However, only atoms in the fix group are included in the layer averaging. LAMMPS prints a warning if the fix group and compute group do not match. Note that some computes perform costly calculations, involving use of or creation of neighbor lists. If the compute is invoked too often by fix ave/spatial, it can slow down a simulation. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "compute"_compute.html, "fix ave/time"_fix_ave_time.html [Default:] The option defaults are norm = all and units = lattice. diff --git a/doc/fix_ave_time.html b/doc/fix_ave_time.html index f7eef1964..35cdba8f4 100644 --- a/doc/fix_ave_time.html +++ b/doc/fix_ave_time.html @@ -1,85 +1,95 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix ave/time command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID ave/time Nevery Nfreq compute-ID flag file </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>ave/time = style name of this fix command <LI>Nevery = calculate property every this many timesteps <LI>Nfreq = write average property to file every this many steps <LI>compute-ID = ID of compute that performs the calculation <LI>flag = 0 for scalar quantity, 1 for vector quantity, 2 for both <LI>file = filename to write results to </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all ave/time 100 1000 myTemp 0 temp.stats </PRE> <P><B>Description:</B> </P> <P>Calculate one or more instantaneous quantities every few timesteps, average them over a longer timescale, and print the results to a file. This can be used to time-average any "compute" entity in LAMMPS such as a temperature or pressure. </P> <P>The <I>compute-ID</I> specifies a <A HREF = "compute.html">compute</A> which calculates the desired property. The compute can be previously defined in the input script. Or it can be a compute defined by <A HREF = "thermo_style.html">thermodynamic output</A> or other fixes such as <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>. Users can also write code for their own compute styles and <A HREF = "Section_modify.html">add them to LAMMPS</A>. </P> <P>In all these cases, the fix ave/time style uses the global scalar or vector calculated by the compute. See the <A HREF = "fix_ave_spatial.html">fix ave/spatial</A> command if you wish to average spatially, e.g. via a compute that calculates per-atom quantities. </P> <P>The <I>Nevery</I> and <I>Nfreq</I> arguments specify how the property will be averaged. The property is calculated once each Nevery timesteps. It is averaged and output every Nfreq timesteps. Nfreq must be a multiple of Nevery. In the example above, the property is calculated every 100 steps. After 10 calculations, the average result is written to the file, once every 1000 steps. </P> <P>The <I>flag</I> argument chooses whether the scalar and/or vector calculation of the compute is invoked. The former computes a single global value. The latter computes N global values, where N is defined by the compute, e.g. 6 pressure tensor components. In the vector case, each of the N values is averaged independently and N values are written to the file at each output. </P> <P>Since the calculation is performed by the compute which stores its own "group" definition, the group specified for the fix is ignored. LAMMPS prints a warning if the fix group and compute group do not match. </P> <P>If the compute calculates pressure, it will cause the force computations performed by LAMMPS (pair, bond, angle, etc) to calculate virial terms each Nevery timesteps. If this is more frequent than thermodynamic output, this adds extra cost to a simulation. However, if a constant pressure simulation is being run (<A HREF = "fix_npt.html">fix npt</A> or <A HREF = "fix_nph.html">fix nph</A>), LAMMPS is already calculating virial terms for the pressure every timestep. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "compute.html">compute</A>, <A HREF = "fix_ave_spatial.html">fix ave/spatial</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_ave_time.txt b/doc/fix_ave_time.txt index 3a716ab0a..f951d804e 100644 --- a/doc/fix_ave_time.txt +++ b/doc/fix_ave_time.txt @@ -1,80 +1,90 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix ave/time command :h3 [Syntax:] fix ID group-ID ave/time Nevery Nfreq compute-ID flag file :pre ID, group-ID are documented in "fix"_fix.html command ave/time = style name of this fix command Nevery = calculate property every this many timesteps Nfreq = write average property to file every this many steps compute-ID = ID of compute that performs the calculation flag = 0 for scalar quantity, 1 for vector quantity, 2 for both file = filename to write results to :ul [Examples:] fix 1 all ave/time 100 1000 myTemp 0 temp.stats :pre [Description:] Calculate one or more instantaneous quantities every few timesteps, average them over a longer timescale, and print the results to a file. This can be used to time-average any "compute" entity in LAMMPS such as a temperature or pressure. The {compute-ID} specifies a "compute"_compute.html which calculates the desired property. The compute can be previously defined in the input script. Or it can be a compute defined by "thermodynamic output"_thermo_style.html or other fixes such as "fix nvt"_fix_nvt.html or "fix temp/rescale"_fix_temp_rescale.html. Users can also write code for their own compute styles and "add them to LAMMPS"_Section_modify.html. In all these cases, the fix ave/time style uses the global scalar or vector calculated by the compute. See the "fix ave/spatial"_fix_ave_spatial.html command if you wish to average spatially, e.g. via a compute that calculates per-atom quantities. The {Nevery} and {Nfreq} arguments specify how the property will be averaged. The property is calculated once each Nevery timesteps. It is averaged and output every Nfreq timesteps. Nfreq must be a multiple of Nevery. In the example above, the property is calculated every 100 steps. After 10 calculations, the average result is written to the file, once every 1000 steps. The {flag} argument chooses whether the scalar and/or vector calculation of the compute is invoked. The former computes a single global value. The latter computes N global values, where N is defined by the compute, e.g. 6 pressure tensor components. In the vector case, each of the N values is averaged independently and N values are written to the file at each output. Since the calculation is performed by the compute which stores its own "group" definition, the group specified for the fix is ignored. LAMMPS prints a warning if the fix group and compute group do not match. If the compute calculates pressure, it will cause the force computations performed by LAMMPS (pair, bond, angle, etc) to calculate virial terms each Nevery timesteps. If this is more frequent than thermodynamic output, this adds extra cost to a simulation. However, if a constant pressure simulation is being run ("fix npt"_fix_npt.html or "fix nph"_fix_nph.html), LAMMPS is already calculating virial terms for the pressure every timestep. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "compute"_compute.html, "fix ave/spatial"_fix_ave_spatial.html [Default:] none diff --git a/doc/fix_aveforce.html b/doc/fix_aveforce.html index 84efd0c52..29f57680b 100644 --- a/doc/fix_aveforce.html +++ b/doc/fix_aveforce.html @@ -1,55 +1,64 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix aveforce command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID aveforce fx fy fz </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>aveforce = style name of this fix command <LI>fx,fy,fz = force component values (force units) </UL> <P><B>Examples:</B> </P> <PRE>fix pressdown topwall aveforce 0.0 -1.0 0.0 fix 2 bottomwall aveforce NULL -1.0 0.0 </PRE> <P><B>Description:</B> </P> <P>Apply an additional external force to a group of atoms in such a way that every atom experiences the same force. This is useful for pushing on wall or boundary atoms so that the structure of the wall does not change over time. </P> <P>The existing force is averaged for the group of atoms, component by component. The actual force on each atom is then set to the average value plus the component specified in this command. This means each atom in the group receives the same force. </P> <P>If any of the arguments is specified as NULL then the forces in that dimension are not changed. Note that this is not the same as specifying a 0.0 value, since that sets all forces to the same average value without adding in any additional force. </P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_setforce.html">fix setforce</A>, <A HREF = "fix_addforce.html">fix addforce</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_aveforce.txt b/doc/fix_aveforce.txt index 4968bb0c6..4d6a3ae0b 100644 --- a/doc/fix_aveforce.txt +++ b/doc/fix_aveforce.txt @@ -1,50 +1,59 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix aveforce command :h3 [Syntax:] fix ID group-ID aveforce fx fy fz :pre ID, group-ID are documented in "fix"_fix.html command aveforce = style name of this fix command fx,fy,fz = force component values (force units) :ul [Examples:] fix pressdown topwall aveforce 0.0 -1.0 0.0 fix 2 bottomwall aveforce NULL -1.0 0.0 :pre [Description:] Apply an additional external force to a group of atoms in such a way that every atom experiences the same force. This is useful for pushing on wall or boundary atoms so that the structure of the wall does not change over time. The existing force is averaged for the group of atoms, component by component. The actual force on each atom is then set to the average value plus the component specified in this command. This means each atom in the group receives the same force. If any of the arguments is specified as NULL then the forces in that dimension are not changed. Note that this is not the same as specifying a 0.0 value, since that sets all forces to the same average value without adding in any additional force. -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. [Restrictions:] none [Related commands:] "fix setforce"_fix_setforce.html, "fix addforce"_fix_addforce.html [Default:] none diff --git a/doc/fix_com.html b/doc/fix_com.html index ede1fefe4..e44fc277a 100644 --- a/doc/fix_com.html +++ b/doc/fix_com.html @@ -1,39 +1,49 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix com command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID com N file </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>com = style name of this fix command <LI>N = compute center-of-mass every this many timesteps <LI>file = filename to write center-of-mass info to </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all com 100 com.out </PRE> <P><B>Description:</B> </P> <P>Compute the center-of-mass of the group of atoms every N steps, including all effects due to atoms passing thru periodic boundaries. Write the results to the specified file. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> none </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_com.txt b/doc/fix_com.txt index c5b5a71f8..7d4305bcf 100644 --- a/doc/fix_com.txt +++ b/doc/fix_com.txt @@ -1,38 +1,48 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix com command :h3 [Syntax:] fix ID group-ID com N file :pre ID, group-ID are documented in "fix"_fix.html command com = style name of this fix command N = compute center-of-mass every this many timesteps file = filename to write center-of-mass info to :ul [Examples:] fix 1 all com 100 com.out :pre [Description:] Compute the center-of-mass of the group of atoms every N steps, including all effects due to atoms passing thru periodic boundaries. Write the results to the specified file. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] none [Default:] none diff --git a/doc/fix_deform.html b/doc/fix_deform.html index daf8ee6db..fa827892f 100644 --- a/doc/fix_deform.html +++ b/doc/fix_deform.html @@ -1,369 +1,379 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix deform command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID deform N parameter args ... keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>deform = style name of this fix command <LI>N = perform box deformation every this many timesteps <LI>one or more parameter/arg pairs may be appended <PRE>parameter = <I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>xz</I> or <I>yz</I> <I>x</I>, <I>y</I>, <I>z</I> args = style value(s) style = <I>final</I> or <I>delta</I> or <I>scale</I> or <I>vel</I> or <I>erate</I> or <I>trate</I> or <I>volume</I> <I>final</I> values = lo hi lo hi = box boundaries at end of run (distance units) <I>delta</I> values = dlo dhi dlo dhi = change in box boundaries at end of run (distance units) <I>scale</I> values = factor factor = multiplicative factor for change in box length at end of run <I>vel</I> value = V V = change box length at this velocity (distance/time units), effectively an engineering strain rate <I>erate</I> value = R R = engineering strain rate (1/time units) <I>trate</I> value = R R = true strain rate (1/time units) <I>volume</I> value = none = adjust this dim to preserve volume of system <I>xy</I>, <I>xz</I>, <I>yz</I> args = style value style = <I>final</I> or <I>delta</I> or <I>vel</I> or <I>erate</I> or <I>trate</I> <I>final</I> value = tilt tilt = tilt factor at end of run (distance units) <I>delta</I> value = dtilt dtilt = change in tilt factor at end of run (distance units) <I>vel</I> value = V V = change tilt factor at this velocity (distance/time units), effectively an engineering shear strain rate <I>erate</I> value = R R = engineering shear strain rate (1/time units) </PRE> <PRE> <I>trate</I> value = R R = true shear strain rate (1/time units) </PRE> <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>remap</I> or <I>units</I> <PRE> <I>remap</I> value = <I>x</I> or <I>v</I> or <I>none</I> x = remap coords of atoms in group into deforming box v = remap velocities of all atoms when they cross periodic boundaries none = no remapping of x or v <I>units</I> value = <I>lattice</I> or <I>box</I> lattice = distances are defined in lattice units box = distances are defined in simulation box units </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box fix 1 all deform x trate 0.1 y volume z volume fix 1 all deform xy erate 0.001 remap v fix 1 all deform y delta 0.5 xz vel 1.0 </PRE> <P><B>Description:</B> </P> <P>Change the volume and/or shape of the simulation box during a dynamics run. Orthogonal simulation boxes have 3 adjustable parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be adjusted independently and simultaneously by this command. This fix can be used to perform non-equilibrium MD (NEMD) simulations of a continuously strained system. See the <A HREF = "fix_nvt_sllod.html">fix nvt/sllod</A> and <A HREF = "compute_temp_deform.html">compute temp/deform</A> commands for more details. </P> <P>Any parameter varied by this command must refer to a periodic dimension - see the <A HREF = "boundary.html">boundary</A> command. For parameters "xy", "xz", and "yz" this means both affected dimensions must be periodic, e.g. x and y for "xy". Dimensions not varied by this command can be periodic or non-periodic. Unspecified dimensions can also be controlled by a <A HREF = "fix_npt.html">fix npt</A> or <A HREF = "fix_nph.html">fix nph</A> command. </P> <P>The size and shape of the initial simulation box at the beginning of a run are specified by the <A HREF = "create_box.html">create_box</A> or <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> command used to setup the simulation, or they are the values from the end of the previous run. The <A HREF = "create_box.html">create_box</A>, <A HREF = "read_data.html">read data</A>, and <A HREF = "read_restart.html">read_restart</A> commands also specify whether the simulation box is orthogonal or triclinic and explain the meaning of the xy,xz,yz tilt factors. If fix deform changes the xy,xz,yz tilt factors, then the simulation box must be triclinic, even if its initial tilt factors are 0.0. </P> <P>As described below, the desired simulation box size and shape at the end of the run are determined by the parameters of the fix deform command. Every Nth timestep during the run, the simulation box is expanded, contracted, or tilted to ramped values between the initial -and final values. The <A HREF = "run.html">run</A> command documents how to make -the ramping take place across multiple runs. +and final values. </P> <HR> <P>For the <I>x</I>, <I>y</I>, and <I>z</I> parameters, this is the meaning of their styles and values. </P> <P>The <I>final</I>, <I>delta</I>, <I>scale</I>, <I>vel</I>, and <I>erate</I> styles all change the specified dimension of the box via "constant displacement" which is effectively a "constant engineering strain rate". This means the box dimension changes linearly with time from its initial to final value. </P> <P>For style <I>final</I>, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discsussion of the units keyword below. </P> <P>For style <I>delta</I>, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discsussion of the units keyword below. </P> <P>For style <I>scale</I>, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A factor less than 1.0 means compression. </P> <P>For style <I>vel</I>, a velocity at which the box length changes is specified in units of distance/time. This is effectively a "constant engineering strain rate", where rate = V/L0 and L0 is the initial box length. The distance can be in lattice or box distance units. See the discussion of the units keyword below. For example, if the initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then after 10 psec, the box length will have doubled. After 20 psec, it will have tripled. </P> <P>The <I>erate</I> style changes a dimension of the the box at a "constant engineering strain rate". The units of the specified strain rate are 1/time. See the <A HREF = "units.html">units</A> command for the time units associated with different choices of simulation units, e.g. picoseconds for "metal" units). Tensile strain is unitless and is defined as delta/length0, where length0 is the original box length and delta is the change relative to the original length. Thus if the <I>erate</I> R is 0.1 and time units are picoseconds, this means the box length will increase by 10% of its original length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. R = -0.01 means the box length will shrink by 1% of its original length every picosecond. Note that for an "engineering" rate the change is based on the original box length, so running with R = 1 for 10 picoseconds expands the box length by a factor of 10, not 1024 as it would with <I>trate</I>. </P> <P>The <I>trate</I> style changes a dimension of the box at a "constant true strain rate". Note that this is not an "engineering strain rate", as the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the box dimension changes non-linearly with time from its initial to final value. The units of the specified strain rate are 1/time. See the <A HREF = "units.html">units</A> command for the time units associated with different choices of simulation units, e.g. picoseconds for "metal" units). Tensile strain is unitless and is defined as delta/length0, where length0 is the original box length and delta is the change relative to the original length. Thus if the <I>trate</I> R is 0.1 and time units are picoseconds, this means the box length will increase by 10% of its current length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc. R = 1 or 2 means the box length will double or triple every picosecond. R = -0.01 means the box length will shrink by 1% of its current length every picosecond. Note that for a "true" rate the change is continuous and based on the current length, so running with R = 1 for 10 picoseconds does not expand the box length by a factor of 10 as it would with <I>erate</I>, but by a factor of 1024 since it doubles every picosecond. </P> <P>Note that to change the volume (or cross-sectional area) of the simulation box at a constant rate, you can change multiple dimensions via <I>erate</I> or <I>trate</I>. E.g. to double the box volume every picosecond, you could set "x trate M", "y trate M", "z trate M", with M = pow(2,1/3) - 1 = 1.26, since if each box dimension grows by 26%, the box volume doubles. </P> <P>The <I>volume</I> style changes the specified dimension in such a way that the box volume remains constant while other box dimensions are changed explicitly via the styles discussed above. For example, "x scale 1.1 y scale 1.1 z volume" will shrink the z box length as the x,y box lengths increase, to keep the volume constant (product of x,y,z lengths). If "x scale 1.1 z volume" is specified and parameter <I>y</I> is unspecified, then the z box length will shrink as x increases to keep the product of x,z lengths constant. If "x scale 1.1 y volume z volume" is specified, then both the y,z box lengths will shrink as x increases to keep the volume constant (product of x,y,z lengths). In this case, the y,z box lengths shrink so as to keep their relative aspect ratio constant. </P> <P>For solids or liquids, note that when one dimension of the box is expanded via fix deform (i.e. tensile strain), it may be physically undesirable to hold the other 2 box lengths constant (unspecified by fix deform) since that implies a density change. Using the <I>volume</I> style for those 2 dimensions to keep the box volume constant may make more physical sense, but may also not be correct for materials and potentials whose Poisson ratio is not 0.5. An alternative is to use <A HREF = "fix_npt.html">fix npt aniso</A> with zero applied pressure on those 2 dimensions, so that they respond to the tensile strain dynamically. </P> <P>For the <I>scale</I>, <I>vel</I>, <I>erate</I>, <I>trate</I>, and <I>volume</I> styles, the box length is expanded or compressed around its mid point. </P> <HR> <P>For the <I>xy</I>, <I>xz</I>, and <I>yz</I> parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. </P> <P>The <I>final</I>, <I>delta</I>, <I>vel</I>, and <I>erate</I> styles all change the shear strain at a "constant engineering shear strain rate". This means the tilt factor changes linearly with time from its initial to final value. </P> <P>For style <I>final</I>, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below. </P> <P>For style <I>delta</I>, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See the discsussion of the units keyword below. </P> <P>For style <I>vel</I>, a velocity at which the tilt factor changes is specified in units of distance/time. This is effectively an "engineering shear strain rate", where rate = V/L0 and L0 is the initial box length perpendicular to the direction of shear. The distance can be in lattice or box distance units. See the discsussion of the units keyword below. For example, if the initial tilt factor is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the tilt factor will be 15 Angstroms. After 2 psec, it will be 25 Angstroms. </P> <P>The <I>erate</I> style changes a tilt factor at a "constant engineering shear strain rate". The units of the specified shear strain rate are 1/time. See the <A HREF = "units.html">units</A> command for the time units associated with different choices of simulation units, e.g. picoseconds for "metal" units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x direction for xy deformation) from the unstrained orientation. Thus if the <I>erate</I> R is 0.1 and time units are picoseconds, this means the shear strain will increase by 0.1 every picosecond. I.e. if the xy shear strain was initially 0.0, then strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at time 0, 0.1*ybox at 1 psec, 0.2*ybox at 2 psec, etc, where ybox is the original y box length. R = 1 or 2 means the tilt factor will increase by 1 or 2 every picosecond. R = -0.01 means a decrease in shear strain by 0.01 every picosecond. </P> <P>The <I>trate</I> style changes a tilt factor at a "constant true shear strain rate". Note that this is not an "engineering shear strain rate", as the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the tilt factor changes non-linearly with time from its initial to final value. The units of the specified shear strain rate are 1/time. See the <A HREF = "units.html">units</A> command for the time units associated with different choices of simulation units, e.g. picoseconds for "metal" units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x direction for xy deformation) from the unstrained orientation. Thus if the <I>trate</I> R is 0.1 and time units are picoseconds, this means the shear strain or tilt factor will increase by 10% every picosecond. I.e. if the xy shear strain was initially 0.1, then strain after 1 psec = 0.11, strain after 2 psec = 0.121, etc. R = 1 or 2 means the tilt factor will double or triple every picosecond. R = -0.01 means the tilt factor will shrink by 1% every picosecond. Note that the change is continuous, so running with R = 1 for 10 picoseconds does not change the tilt factor by a factor of 10, but by a factor of 1024 since it doubles every picosecond. Also note that the initial tilt factor must be non-zero to use the <I>trate</I> option. </P> <P>Note that shear strain is defined as the tilt factor divided by the perpendicular box length. The <I>erate</I> and <I>trate</I> styles control the tilt factor, but assume the perpendicular box length remains constant. If this is not the case (e.g. it changes due to another fix deform parameter), then this effect on the shear strain is ignored. </P> <P>All of these styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are always bounded by half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. </P> <P>To obey this constraint and allow for large shear deformations to be applied via the <I>xy</I>, <I>xz</I>, or <I>yz</I> parameters, the folloiwng algorithm is used. If <I>prd</I> is the associated parallel box length (10 in the example above), then if the tilt factor exceeds the accepted range of -5 to 5 during the simulation, then the box is re-shaped to the other limit (an equivalent box) and the simulation continues. Thus for this example, if the initial xy tilt factor was 0.0 and "xy final 100.0" was specified, then during the simulation the xy tilt factor would increase from 0.0 to 5.0, the box would be re-shaped so that the tilt factor becomes -5.0, the tilt factor would increase from -5.0 to 5.0, the box would be re-shaped again, etc. The re-shaping would occur 10 times and the final tilt factor at the end of the simulation would be 0.0. During each re-shaping event, atoms are remapped into the new box in the appropriate manner. </P> <HR> <P>Each time the box size or shape is changed, the <I>remap</I> keyword determines whether atom positions are re-mapped to the new box. If <I>remap</I> is set to <I>x</I> (the default), atoms in the fix group are re-mapped; otherwise they are not. If <I>remap</I> is set to <I>v</I>, then any atom in the fix group that crosses a periodic boundary will have a delta added to its velocity equal to the difference in velocities between the lo and hi boundaries. Note that this velocity difference can include tilt components, e.g. a delta in the x velocity when an atom crosses the y periodic boundary. If <I>remap</I> is set to <I>none</I>, then neither of these remappings take place. </P> <P>IMPORTANT NOTE: When non-equilibrium MD (NEMD) simulations are performed using this fix, the option "remap v" should normally be used. This is because <A HREF = "fix_nvt_sllod.html">fix nvt/sllod</A> adjusts the atom positions and velocities to provide a velocity profile that matches the changing box size/shape. Thus atom coordinates should NOT be remapped by fix deform, but velocities SHOULD be when atoms cross periodic boundaries, since when atoms cross periodic boundaries since that is consistent with maintaining the velocity profile created by fix nvt/sllod. LAMMPS will warn you if this settings is not consistent. </P> <P>The <I>units</I> keyword determines the meaning of the distance units used to define various arguments. A <I>box</I> value selects standard distance units as defined by the <A HREF = "units.html">units</A> command, e.g. Angstroms for units = real or metal. A <I>lattice</I> value means the distance units are in lattice spacings. The <A HREF = "lattice.html">lattice</A> command must have been previously used to define the lattice spacing. Note that the units choice also affects the <I>vel</I> style parameters since it is defined in terms of distance/time. </P> -<HR> - +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. +</P> +<P>This fix can perform deformation over multiple runs, using the <I>start</I> +and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the +<A HREF = "run.html">run</A> command for details of how to do this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>Any box dimension varied by this fix must be periodic. </P> <P><B>Related commands:</B> </P> <P><A HREF = "displace_box.html">displace_box</A> </P> <P><B>Default:</B> </P> <P>The option defaults are remap = x and units = lattice. </P> </HTML> diff --git a/doc/fix_deform.txt b/doc/fix_deform.txt index ba195a261..7b3d1f8ea 100644 --- a/doc/fix_deform.txt +++ b/doc/fix_deform.txt @@ -1,359 +1,366 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix deform command :h3 [Syntax:] fix ID group-ID deform N parameter args ... keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l deform = style name of this fix command :l N = perform box deformation every this many timesteps :l one or more parameter/arg pairs may be appended :l parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} {x}, {y}, {z} args = style value(s) style = {final} or {delta} or {scale} or {vel} or {erate} or {trate} or {volume} {final} values = lo hi lo hi = box boundaries at end of run (distance units) {delta} values = dlo dhi dlo dhi = change in box boundaries at end of run (distance units) {scale} values = factor factor = multiplicative factor for change in box length at end of run {vel} value = V V = change box length at this velocity (distance/time units), effectively an engineering strain rate {erate} value = R R = engineering strain rate (1/time units) {trate} value = R R = true strain rate (1/time units) {volume} value = none = adjust this dim to preserve volume of system {xy}, {xz}, {yz} args = style value style = {final} or {delta} or {vel} or {erate} or {trate} {final} value = tilt tilt = tilt factor at end of run (distance units) {delta} value = dtilt dtilt = change in tilt factor at end of run (distance units) {vel} value = V V = change tilt factor at this velocity (distance/time units), effectively an engineering shear strain rate {erate} value = R R = engineering shear strain rate (1/time units) :pre {trate} value = R R = true shear strain rate (1/time units) :pre zero or more keyword/value pairs may be appended to the args :l keyword = {remap} or {units} :l {remap} value = {x} or {v} or {none} - x = remap coords of atoms in group into deforming box (affine deformation) + x = remap coords of atoms in group into deforming box v = remap velocities of all atoms when they cross periodic boundaries none = no remapping of x or v {units} value = {lattice} or {box} lattice = distances are defined in lattice units box = distances are defined in simulation box units :pre :ule [Examples:] fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box fix 1 all deform x trate 0.1 y volume z volume fix 1 all deform xy erate 0.001 remap v fix 1 all deform y delta 0.5 xz vel 1.0 :pre [Description:] Change the volume and/or shape of the simulation box during a dynamics run. Orthogonal simulation boxes have 3 adjustable parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be adjusted independently and simultaneously by this command. This fix can be used to perform non-equilibrium MD (NEMD) simulations of a continuously strained system. See the "fix nvt/sllod"_fix_nvt_sllod.html and "compute temp/deform"_compute_temp_deform.html commands for more details. Any parameter varied by this command must refer to a periodic dimension - see the "boundary"_boundary.html command. For parameters "xy", "xz", and "yz" this means both affected dimensions must be periodic, e.g. x and y for "xy". Dimensions not varied by this command can be periodic or non-periodic. Unspecified dimensions can also be controlled by a "fix npt"_fix_npt.html or "fix nph"_fix_nph.html command. The size and shape of the initial simulation box at the beginning of a run are specified by the "create_box"_create_box.html or "read_data"_read_data.html or "read_restart"_read_restart.html command used to setup the simulation, or they are the values from the end of the previous run. The "create_box"_create_box.html, "read data"_read_data.html, and "read_restart"_read_restart.html commands also specify whether the simulation box is orthogonal or triclinic and explain the meaning of the xy,xz,yz tilt factors. If fix deform changes the xy,xz,yz tilt factors, then the simulation box must be triclinic, even if its initial tilt factors are 0.0. As described below, the desired simulation box size and shape at the end of the run are determined by the parameters of the fix deform command. Every Nth timestep during the run, the simulation box is expanded, contracted, or tilted to ramped values between the initial -and final values. The "run"_run.html command documents how to make -the ramping take place across multiple runs. +and final values. :line For the {x}, {y}, and {z} parameters, this is the meaning of their styles and values. The {final}, {delta}, {scale}, {vel}, and {erate} styles all change the specified dimension of the box via "constant displacement" which is effectively a "constant engineering strain rate". This means the box dimension changes linearly with time from its initial to final value. For style {final}, the final lo and hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discsussion of the units keyword below. For style {delta}, plus or minus changes in the lo/hi box boundaries of a dimension are specified. The values can be in lattice or box distance units. See the discsussion of the units keyword below. For style {scale}, a multiplicative factor to apply to the box length of a dimension is specified. For example, if the initial box length is 10, and the factor is 1.1, then the final box length will be 11. A factor less than 1.0 means compression. For style {vel}, a velocity at which the box length changes is specified in units of distance/time. This is effectively a "constant engineering strain rate", where rate = V/L0 and L0 is the initial box length. The distance can be in lattice or box distance units. See the discussion of the units keyword below. For example, if the initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then after 10 psec, the box length will have doubled. After 20 psec, it will have tripled. The {erate} style changes a dimension of the the box at a "constant engineering strain rate". The units of the specified strain rate are 1/time. See the "units"_units.html command for the time units associated with different choices of simulation units, e.g. picoseconds for "metal" units). Tensile strain is unitless and is defined as delta/length0, where length0 is the original box length and delta is the change relative to the original length. Thus if the {erate} R is 0.1 and time units are picoseconds, this means the box length will increase by 10% of its original length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. R = -0.01 means the box length will shrink by 1% of its original length every picosecond. Note that for an "engineering" rate the change is based on the original box length, so running with R = 1 for 10 picoseconds expands the box length by a factor of 10, not 1024 as it would with {trate}. The {trate} style changes a dimension of the box at a "constant true strain rate". Note that this is not an "engineering strain rate", as the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the box dimension changes non-linearly with time from its initial to final value. The units of the specified strain rate are 1/time. See the "units"_units.html command for the time units associated with different choices of simulation units, e.g. picoseconds for "metal" units). Tensile strain is unitless and is defined as delta/length0, where length0 is the original box length and delta is the change relative to the original length. Thus if the {trate} R is 0.1 and time units are picoseconds, this means the box length will increase by 10% of its current length every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.21, etc. R = 1 or 2 means the box length will double or triple every picosecond. R = -0.01 means the box length will shrink by 1% of its current length every picosecond. Note that for a "true" rate the change is continuous and based on the current length, so running with R = 1 for 10 picoseconds does not expand the box length by a factor of 10 as it would with {erate}, but by a factor of 1024 since it doubles every picosecond. Note that to change the volume (or cross-sectional area) of the simulation box at a constant rate, you can change multiple dimensions via {erate} or {trate}. E.g. to double the box volume every picosecond, you could set "x trate M", "y trate M", "z trate M", with M = pow(2,1/3) - 1 = 1.26, since if each box dimension grows by 26%, the box volume doubles. The {volume} style changes the specified dimension in such a way that the box volume remains constant while other box dimensions are changed explicitly via the styles discussed above. For example, "x scale 1.1 y scale 1.1 z volume" will shrink the z box length as the x,y box lengths increase, to keep the volume constant (product of x,y,z lengths). If "x scale 1.1 z volume" is specified and parameter {y} is unspecified, then the z box length will shrink as x increases to keep the product of x,z lengths constant. If "x scale 1.1 y volume z volume" is specified, then both the y,z box lengths will shrink as x increases to keep the volume constant (product of x,y,z lengths). In this case, the y,z box lengths shrink so as to keep their relative aspect ratio constant. For solids or liquids, note that when one dimension of the box is expanded via fix deform (i.e. tensile strain), it may be physically undesirable to hold the other 2 box lengths constant (unspecified by fix deform) since that implies a density change. Using the {volume} style for those 2 dimensions to keep the box volume constant may make more physical sense, but may also not be correct for materials and potentials whose Poisson ratio is not 0.5. An alternative is to use "fix npt aniso"_fix_npt.html with zero applied pressure on those 2 dimensions, so that they respond to the tensile strain dynamically. For the {scale}, {vel}, {erate}, {trate}, and {volume} styles, the box length is expanded or compressed around its mid point. :line For the {xy}, {xz}, and {yz} parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. The {final}, {delta}, {vel}, and {erate} styles all change the shear strain at a "constant engineering shear strain rate". This means the tilt factor changes linearly with time from its initial to final value. For style {final}, the final tilt factor is specified. The value can be in lattice or box distance units. See the discussion of the units keyword below. For style {delta}, a plus or minus change in the tilt factor is specified. The value can be in lattice or box distance units. See the discsussion of the units keyword below. For style {vel}, a velocity at which the tilt factor changes is specified in units of distance/time. This is effectively an "engineering shear strain rate", where rate = V/L0 and L0 is the initial box length perpendicular to the direction of shear. The distance can be in lattice or box distance units. See the discsussion of the units keyword below. For example, if the initial tilt factor is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the tilt factor will be 15 Angstroms. After 2 psec, it will be 25 Angstroms. The {erate} style changes a tilt factor at a "constant engineering shear strain rate". The units of the specified shear strain rate are 1/time. See the "units"_units.html command for the time units associated with different choices of simulation units, e.g. picoseconds for "metal" units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x direction for xy deformation) from the unstrained orientation. Thus if the {erate} R is 0.1 and time units are picoseconds, this means the shear strain will increase by 0.1 every picosecond. I.e. if the xy shear strain was initially 0.0, then strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at time 0, 0.1*ybox at 1 psec, 0.2*ybox at 2 psec, etc, where ybox is the original y box length. R = 1 or 2 means the tilt factor will increase by 1 or 2 every picosecond. R = -0.01 means a decrease in shear strain by 0.01 every picosecond. The {trate} style changes a tilt factor at a "constant true shear strain rate". Note that this is not an "engineering shear strain rate", as the other styles are. Rather, for a "true" rate, the rate of change is constant, which means the tilt factor changes non-linearly with time from its initial to final value. The units of the specified shear strain rate are 1/time. See the "units"_units.html command for the time units associated with different choices of simulation units, e.g. picoseconds for "metal" units). Shear strain is unitless and is defined as offset/length, where length is the box length perpendicular to the shear direction (e.g. y box length for xy deformation) and offset is the displacement distance in the shear direction (e.g. x direction for xy deformation) from the unstrained orientation. Thus if the {trate} R is 0.1 and time units are picoseconds, this means the shear strain or tilt factor will increase by 10% every picosecond. I.e. if the xy shear strain was initially 0.1, then strain after 1 psec = 0.11, strain after 2 psec = 0.121, etc. R = 1 or 2 means the tilt factor will double or triple every picosecond. R = -0.01 means the tilt factor will shrink by 1% every picosecond. Note that the change is continuous, so running with R = 1 for 10 picoseconds does not change the tilt factor by a factor of 10, but by a factor of 1024 since it doubles every picosecond. Also note that the initial tilt factor must be non-zero to use the {trate} option. Note that shear strain is defined as the tilt factor divided by the perpendicular box length. The {erate} and {trate} styles control the tilt factor, but assume the perpendicular box length remains constant. If this is not the case (e.g. it changes due to another fix deform parameter), then this effect on the shear strain is ignored. All of these styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are always bounded by half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be between -5 and 5. Similarly, both xz and yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, since if the maximum tilt factor is 5 (as in this example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. To obey this constraint and allow for large shear deformations to be applied via the {xy}, {xz}, or {yz} parameters, the folloiwng algorithm is used. If {prd} is the associated parallel box length (10 in the example above), then if the tilt factor exceeds the accepted range of -5 to 5 during the simulation, then the box is re-shaped to the other limit (an equivalent box) and the simulation continues. Thus for this example, if the initial xy tilt factor was 0.0 and "xy final 100.0" was specified, then during the simulation the xy tilt factor would increase from 0.0 to 5.0, the box would be re-shaped so that the tilt factor becomes -5.0, the tilt factor would increase from -5.0 to 5.0, the box would be re-shaped again, etc. The re-shaping would occur 10 times and the final tilt factor at the end of the simulation would be 0.0. During each re-shaping event, atoms are remapped into the new box in the appropriate manner. :line Each time the box size or shape is changed, the {remap} keyword determines whether atom positions are re-mapped to the new box. If {remap} is set to {x} (the default), atoms in the fix group are -re-mapped; otherwise they are not. If all atoms are remapped, this is -effectively an "affine" deformation. - -If {remap} is set to {v}, then any atom in the fix group that crosses -a periodic boundary will have a delta added to its velocity equal to -the difference in velocities between the lo and hi boundaries. Note -that this velocity difference can include tilt components, e.g. a -delta in the x velocity when an atom crosses the y periodic boundary. -If {remap} is set to {none}, then neither of these remappings take -place. Note that unlike remap x which changes atom coords -continuously as the box deforms, this remapping of v is done ONLY when -an atom crosses a periodic boundary. +re-mapped; otherwise they are not. If {remap} is set to {v}, then any +atom in the fix group that crosses a periodic boundary will have a +delta added to its velocity equal to the difference in velocities +between the lo and hi boundaries. Note that this velocity difference +can include tilt components, e.g. a delta in the x velocity when an +atom crosses the y periodic boundary. If {remap} is set to {none}, +then neither of these remappings take place. IMPORTANT NOTE: When non-equilibrium MD (NEMD) simulations are performed using this fix, the option "remap v" should normally be used. This is because "fix nvt/sllod"_fix_nvt_sllod.html adjusts the atom positions and velocities to provide a velocity profile that matches the changing box size/shape. Thus atom coordinates should NOT be remapped by fix deform, but velocities SHOULD be when atoms cross periodic boundaries, since when atoms cross periodic boundaries since that is consistent with maintaining the velocity profile created by fix nvt/sllod. LAMMPS will warn you if this settings is not consistent. The {units} keyword determines the meaning of the distance units used to define various arguments. A {box} value selects standard distance units as defined by the "units"_units.html command, e.g. Angstroms for units = real or metal. A {lattice} value means the distance units are in lattice spacings. The "lattice"_lattice.html command must have been previously used to define the lattice spacing. Note that the units choice also affects the {vel} style parameters since it is defined in terms of distance/time. -:line +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. + +This fix can perform deformation over multiple runs, using the {start} +and {stop} keywords of the "run"_run.html command. See the +"run"_run.html command for details of how to do this. + +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] Any box dimension varied by this fix must be periodic. -[Related commands:] none +[Related commands:] + +"displace_box"_displace_box.html [Default:] The option defaults are remap = x and units = lattice. diff --git a/doc/fix_deposit.html b/doc/fix_deposit.html index aa4458956..d305f6809 100644 --- a/doc/fix_deposit.html +++ b/doc/fix_deposit.html @@ -1,145 +1,169 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix deposit command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID deposit N type M seed keyword values ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>deposit = style name of this fix command <LI>N = # of atoms to insert <LI>type = atom type to assign to inserted atoms <LI>M = insert a single particle every M steps <LI>seed = random # seed <LI>one or more keyword/value pairs may be appended to args <LI>keyword = <I>region</I> or <I>global</I> or <I>local</I> or <I>near</I> or <I>attempt</I> or <I>rate</I> or <I>vx</I> or <I>vy</I> or <I>vz</I> or <I>units</I> <PRE> <I>region</I> value = region-ID region-ID = ID of region to use as insertion volume <I>global</I> values = lo hi lo,hi = put new particle a distance lo-hi above all other particles (distance units) <I>local</I> values = lo hi delta lo,hi = put new particle a distance lo-hi above any nearby particle beneath it (distance units) delta = lateral distance within which a neighbor is considered "nearby" (distance units) <I>near</I> value = R R = only insert particle if further than R from existing particles (distance units) <I>attempt</I> value = Q Q = attempt a single insertion up to Q times <I>rate</I> value = V V = z velocity (y in 2d) at which insertion volume moves (velocity units) <I>vx</I> values = vxlo vxhi vxlo,vxhi = range of x velocities for inserted particle (velocity units) <I>vy</I> values = vylo vyhi vylo,vyhi = range of y velocities for inserted particle (velocity units) <I>vz</I> values = vzlo vzhi vzlo,vzhi = range of z velocities for inserted particle (velocity units) <I>units</I> value = <I>lattice</I> or <I>box</I> lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box fix 2 newatoms deposit 10000 1 500 12345 region disk near 2.0 vz -1.0 -0.8 </PRE> <P><B>Description:</B> </P> <P>Insert a single particle into the simulation domain every M timesteps until N particles have been inserted. This is useful for simulating the deposition of particles onto a surface. </P> <P>Inserted particles have the specified atom type and are assigned to two groups: the default group "all" and the group specified in the fix deposit command (which can also be "all"). </P> <P>If you are computing temperature values which include inserted particles, you will want to use the <A HREF = "compute_modify.html">compute_modify</A> dynamic option, which insures the current number of atoms is used as a normalizing factor each time temperature is computed. </P> <P>Care must be taken that inserted particles are not too near existing particles, using the options described below. When inserting particles above a surface in a non-perioidic box (see the <A HREF = "boundary.html">boundary</A> command), the possibility of a particle escaping the surface and flying upward should be considered, since the particle may be lost or the box size may grow infinitely large. A <A HREF = "fix_wall_reflect.html">fix wall/reflect</A> command can be used to prevent this behavior. Note that if a shrink-wrap boundary is used, it is OK to insert the new particle outside the box, however the box will immediately be expanded to include the new particle. </P> <P>This command must use the <I>region</I> keyword to define an insertion volume. The specified region must have been previously defined with a <A HREF = "region.html">region</A> command. It must be defined with side = <I>in</I>. </P> <P>Each timestep a particle is to be inserted, its coordinates are chosen as follows. A random position within the insertion volume is generated. If neither the <I>global</I> or <I>local</I> keyword is used, that is the trial position. If the <I>global</I> keyword is used, the random x,y values are used, but the z position of the new particle is set above the highest current atom in the simulation by a distance randomly chosen between lo/hi. (For a 2d simulation, this is done for the y position.) If the <I>local</I> keyword is used, the z position is set a distance between lo/hi above the highest current atom in the simulation that is "nearby" the chosen x,y position. In this context, "nearby" means the lateral distance (in x,y) between the new and old particles is less than the delta parameter. </P> <P>Once a trial x,y,z location has been computed, the insertion is only performed if no current particle in the simulation is within a distance R of the new particle. If this test fails, a new random position within the insertion volume is chosen and another trial is made. Up to Q attempts are made, after which LAMMPS prints a warning message. </P> <P>The <I>rate</I> option moves the insertion volume in the z direction (3d) or y direction (2d). This enables particles to be inserted from a successively higher height over time. Note that this parameter is ignored if the <I>global</I> or <I>local</I> keywords are used, since those options choose a z-coordinate for insertion independently. </P> <P>The vx, vy, and vz components of velocity for the inserted particle are set using the values specified for the <I>vx</I>, <I>vy</I>, and <I>vz</I> keywords. Note that normally, new particles should be a assigned a negative vertical velocity so that they move towards the surface. </P> <P>The <I>units</I> keyword determines the meaning of the distance units used for the other deposition parameters. A <I>box</I> value selects standard distance units as defined by the <A HREF = "units.html">units</A> command, e.g. Angstroms for units = real or metal. A <I>lattice</I> value means the distance units are in lattice spacings. The <A HREF = "lattice.html">lattice</A> command must have been previously used to define the lattice spacing. Note that the units choice affects all the keyword values that have units of distance or velocity. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. This means you must be careful when restarting a +deposition simulation, when the restart file was written in the middle +of the deposition operation. Specifically, you should use a new fix +deposit command in the input script for the restarted simulation that +continues the operation. You will need to adjust the arguments of the +original fix deposit command to do this. +</P> +<P>Also note that because the state of the random number generator is not +saved in restart files, you cannot do "exact" restarts with this fix, +where the simulation continues on the same as if no restart had taken +place. However, in a statistical sense, a restarted simulation should +produce the same behavior if you adjust the fix deposit parameters +appropriately. +</P> +<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this +fix. No quantities calculated by this fix can be output by the +<A HREF = "thermo_style.html">thermo_style custom</A> command. No parameter of this +fix can be used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> +command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_pour.html">fix_pour</A>, <A HREF = "region.html">region</A> </P> <P><B>Default:</B> </P> <P>The option defaults are delta = 0.0, near = 0.0, attempt = 10, rate = 0.0, vx = 0.0 0.0, vy = 0.0 0.0, vz = 0.0 0.0, and units = lattice. </P> </HTML> diff --git a/doc/fix_deposit.txt b/doc/fix_deposit.txt index ae2bf0f75..524f147ea 100644 --- a/doc/fix_deposit.txt +++ b/doc/fix_deposit.txt @@ -1,131 +1,155 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix deposit command :h3 [Syntax:] fix ID group-ID deposit N type M seed keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l deposit = style name of this fix command :l N = # of atoms to insert :l type = atom type to assign to inserted atoms :l M = insert a single particle every M steps :l seed = random # seed :l one or more keyword/value pairs may be appended to args :l keyword = {region} or {global} or {local} or {near} or {attempt} or {rate} or {vx} or {vy} or {vz} or {units} :l {region} value = region-ID region-ID = ID of region to use as insertion volume {global} values = lo hi lo,hi = put new particle a distance lo-hi above all other particles (distance units) {local} values = lo hi delta lo,hi = put new particle a distance lo-hi above any nearby particle beneath it (distance units) delta = lateral distance within which a neighbor is considered "nearby" (distance units) {near} value = R R = only insert particle if further than R from existing particles (distance units) {attempt} value = Q Q = attempt a single insertion up to Q times {rate} value = V V = z velocity (y in 2d) at which insertion volume moves (velocity units) {vx} values = vxlo vxhi vxlo,vxhi = range of x velocities for inserted particle (velocity units) {vy} values = vylo vyhi vylo,vyhi = range of y velocities for inserted particle (velocity units) {vz} values = vzlo vzhi vzlo,vzhi = range of z velocities for inserted particle (velocity units) {units} value = {lattice} or {box} lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units :pre :ule [Examples:] fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box fix 2 newatoms deposit 10000 1 500 12345 region disk near 2.0 vz -1.0 -0.8 :pre [Description:] Insert a single particle into the simulation domain every M timesteps until N particles have been inserted. This is useful for simulating the deposition of particles onto a surface. Inserted particles have the specified atom type and are assigned to two groups: the default group "all" and the group specified in the fix deposit command (which can also be "all"). If you are computing temperature values which include inserted particles, you will want to use the "compute_modify"_compute_modify.html dynamic option, which insures the current number of atoms is used as a normalizing factor each time temperature is computed. Care must be taken that inserted particles are not too near existing particles, using the options described below. When inserting particles above a surface in a non-perioidic box (see the "boundary"_boundary.html command), the possibility of a particle escaping the surface and flying upward should be considered, since the particle may be lost or the box size may grow infinitely large. A "fix wall/reflect"_fix_wall_reflect.html command can be used to prevent this behavior. Note that if a shrink-wrap boundary is used, it is OK to insert the new particle outside the box, however the box will immediately be expanded to include the new particle. This command must use the {region} keyword to define an insertion volume. The specified region must have been previously defined with a "region"_region.html command. It must be defined with side = {in}. Each timestep a particle is to be inserted, its coordinates are chosen as follows. A random position within the insertion volume is generated. If neither the {global} or {local} keyword is used, that is the trial position. If the {global} keyword is used, the random x,y values are used, but the z position of the new particle is set above the highest current atom in the simulation by a distance randomly chosen between lo/hi. (For a 2d simulation, this is done for the y position.) If the {local} keyword is used, the z position is set a distance between lo/hi above the highest current atom in the simulation that is "nearby" the chosen x,y position. In this context, "nearby" means the lateral distance (in x,y) between the new and old particles is less than the delta parameter. Once a trial x,y,z location has been computed, the insertion is only performed if no current particle in the simulation is within a distance R of the new particle. If this test fails, a new random position within the insertion volume is chosen and another trial is made. Up to Q attempts are made, after which LAMMPS prints a warning message. The {rate} option moves the insertion volume in the z direction (3d) or y direction (2d). This enables particles to be inserted from a successively higher height over time. Note that this parameter is ignored if the {global} or {local} keywords are used, since those options choose a z-coordinate for insertion independently. The vx, vy, and vz components of velocity for the inserted particle are set using the values specified for the {vx}, {vy}, and {vz} keywords. Note that normally, new particles should be a assigned a negative vertical velocity so that they move towards the surface. The {units} keyword determines the meaning of the distance units used for the other deposition parameters. A {box} value selects standard distance units as defined by the "units"_units.html command, e.g. Angstroms for units = real or metal. A {lattice} value means the distance units are in lattice spacings. The "lattice"_lattice.html command must have been previously used to define the lattice spacing. Note that the units choice affects all the keyword values that have units of distance or velocity. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. This means you must be careful when restarting a +deposition simulation, when the restart file was written in the middle +of the deposition operation. Specifically, you should use a new fix +deposit command in the input script for the restarted simulation that +continues the operation. You will need to adjust the arguments of the +original fix deposit command to do this. + +Also note that because the state of the random number generator is not +saved in restart files, you cannot do "exact" restarts with this fix, +where the simulation continues on the same as if no restart had taken +place. However, in a statistical sense, a restarted simulation should +produce the same behavior if you adjust the fix deposit parameters +appropriately. + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No quantities calculated by this fix can be output by the +"thermo_style custom"_thermo_style.html command. No parameter of this +fix can be used with the {start/stop} keywords of the "run"_run.html +command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix_pour"_fix_pour.html, "region"_region.html [Default:] The option defaults are delta = 0.0, near = 0.0, attempt = 10, rate = 0.0, vx = 0.0 0.0, vy = 0.0 0.0, vz = 0.0 0.0, and units = lattice. diff --git a/doc/fix_drag.html b/doc/fix_drag.html index 48eebee2d..aac8731c8 100644 --- a/doc/fix_drag.html +++ b/doc/fix_drag.html @@ -1,50 +1,60 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix drag command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID drag x y z fmag delta </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>drag = style name of this fix command <LI>x,y,z = coord to drag atoms towards <LI>fmag = magnitude of force to apply to each atom (force units) <LI>delta = cutoff distance inside of which force is not applied (distance units) </UL> <P><B>Examples:</B> </P> <PRE>fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 </PRE> <P><B>Description:</B> </P> <P>Apply a force to each atom in a group to drag it towards the point (x,y,z). The magnitude of the force is specified by fmag. If an atom is closer than a distance delta to the point, then the force is not applied. </P> <P>Any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force application. </P> <P>This command can be used to steer one or more atoms to a new location in the simulation. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_spring.html">fix spring</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_drag.txt b/doc/fix_drag.txt index 45eabd669..f360fb719 100644 --- a/doc/fix_drag.txt +++ b/doc/fix_drag.txt @@ -1,46 +1,56 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix drag command :h3 [Syntax:] fix ID group-ID drag x y z fmag delta :pre ID, group-ID are documented in "fix"_fix.html command drag = style name of this fix command x,y,z = coord to drag atoms towards fmag = magnitude of force to apply to each atom (force units) delta = cutoff distance inside of which force \ is not applied (distance units) :ul [Examples:] fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 :pre [Description:] Apply a force to each atom in a group to drag it towards the point (x,y,z). The magnitude of the force is specified by fmag. If an atom is closer than a distance delta to the point, then the force is not applied. Any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force application. This command can be used to steer one or more atoms to a new location in the simulation. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix spring"_fix_spring.html [Default:] none diff --git a/doc/fix_efield.html b/doc/fix_efield.html index a74e9252a..20f5204af 100644 --- a/doc/fix_efield.html +++ b/doc/fix_efield.html @@ -1,39 +1,49 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix efield command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID efield ex ey ez </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>efield = style name of this fix command <LI>ex,ey,ez = E-field component values (electric field units) </UL> <P><B>Examples:</B> </P> <PRE>fix kick external-field efield 1.0 0.0 0.0 </PRE> <P><B>Description:</B> </P> <P>Add a force F = qE to each charged atom in the group due to an external electric field being applied to the system. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_addforce.html">fix addforce</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_efield.txt b/doc/fix_efield.txt index f2c3b7fd2..20aff825e 100644 --- a/doc/fix_efield.txt +++ b/doc/fix_efield.txt @@ -1,34 +1,44 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix efield command :h3 [Syntax:] fix ID group-ID efield ex ey ez :pre ID, group-ID are documented in "fix"_fix.html command efield = style name of this fix command ex,ey,ez = E-field component values (electric field units) :ul [Examples:] fix kick external-field efield 1.0 0.0 0.0 :pre [Description:] Add a force F = qE to each charged atom in the group due to an external electric field being applied to the system. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix addforce"_fix_addforce.html [Default:] none diff --git a/doc/fix_enforce2d.html b/doc/fix_enforce2d.html index e209a9179..5d2bd8636 100644 --- a/doc/fix_enforce2d.html +++ b/doc/fix_enforce2d.html @@ -1,40 +1,49 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix enforce2d command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID enforce2d </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>enforce2d = style name of this fix command </UL> <P><B>Examples:</B> </P> <PRE>fix 5 all enforce2d </PRE> <P><B>Description:</B> </P> <P>Zero out the z-dimension velocity and force on each atom in the group. This is useful when running a 2d simulation to insure that atoms do not move from their initial z coordinate. </P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> none </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_enforce2d.txt b/doc/fix_enforce2d.txt index 070cc627c..29db81fb7 100644 --- a/doc/fix_enforce2d.txt +++ b/doc/fix_enforce2d.txt @@ -1,35 +1,44 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix enforce2d command :h3 [Syntax:] fix ID group-ID enforce2d :pre ID, group-ID are documented in "fix"_fix.html command enforce2d = style name of this fix command :ul [Examples:] fix 5 all enforce2d :pre [Description:] Zero out the z-dimension velocity and force on each atom in the group. This is useful when running a 2d simulation to insure that atoms do not move from their initial z coordinate. -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. [Restrictions:] none [Related commands:] none [Default:] none diff --git a/doc/fix_freeze.html b/doc/fix_freeze.html index c8e43efd9..5ef6820fa 100644 --- a/doc/fix_freeze.html +++ b/doc/fix_freeze.html @@ -1,45 +1,57 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix freeze command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID freeze </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>freeze = style name of this fix command </UL> <P><B>Examples:</B> </P> <PRE>fix 2 bottom freeze </PRE> <P><B>Description:</B> </P> <P>Zero out the force and torque on a granular particle. This is useful for preventing certain particles from moving in a simulation. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> -<P>Can only be used if LAMMPS was built with the "granular" package. +<P>This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P>There can only be a single freeze fix defined. This is because other parts of the code (pair potentials, thermodynamics, etc) treat frozen particles differently and need to be able to reference a single group to which this fix is applied. </P> <P><B>Related commands:</B> none </P> <P><A HREF = "atom_style.html">atom_style granular</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_freeze.txt b/doc/fix_freeze.txt index c332647a0..46f9625b5 100644 --- a/doc/fix_freeze.txt +++ b/doc/fix_freeze.txt @@ -1,40 +1,52 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix freeze command :h3 [Syntax:] fix ID group-ID freeze :pre ID, group-ID are documented in "fix"_fix.html command freeze = style name of this fix command :ul [Examples:] fix 2 bottom freeze :pre [Description:] Zero out the force and torque on a granular particle. This is useful for preventing certain particles from moving in a simulation. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] -Can only be used if LAMMPS was built with the "granular" package. +This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. There can only be a single freeze fix defined. This is because other parts of the code (pair potentials, thermodynamics, etc) treat frozen particles differently and need to be able to reference a single group to which this fix is applied. [Related commands:] none "atom_style granular"_atom_style.html [Default:] none diff --git a/doc/fix_gran_diag.html b/doc/fix_gran_diag.html index ec1f9f804..d5df6ab37 100644 --- a/doc/fix_gran_diag.html +++ b/doc/fix_gran_diag.html @@ -1,47 +1,59 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix gran/diag command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID gran/diag nevery file zlayer </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>gran/diag = style name of this fix command <LI>nevery = compute diagnostics every this many timesteps <LI>file = filename to store diagnostic info in <LI>zlayer = bin size in z dimension </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all gran/diag 1000 tmp 0.9 </PRE> <P><B>Description:</B> </P> <P>Compute aggregate density, velocity, and stress diagnostics for a group of granular atoms as a function of z depth in the granular system. The results are written to 3 files named file.den, file.vel, and file.str. The z bins begin at the bottom of the system and extend upward with a thickness of <I>zlayer</I> for each bin. The quantities written to the file are averaged over all atoms in the bin. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> -<P>Can only be used if LAMMPS was built with the "granular" package. +<P>This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "atom_style.html">atom_style granular</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_gran_diag.txt b/doc/fix_gran_diag.txt index 681853809..e3f43133e 100644 --- a/doc/fix_gran_diag.txt +++ b/doc/fix_gran_diag.txt @@ -1,42 +1,54 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix gran/diag command :h3 [Syntax:] fix ID group-ID gran/diag nevery file zlayer :pre ID, group-ID are documented in "fix"_fix.html command gran/diag = style name of this fix command nevery = compute diagnostics every this many timesteps file = filename to store diagnostic info in zlayer = bin size in z dimension :ul [Examples:] fix 1 all gran/diag 1000 tmp 0.9 :pre [Description:] Compute aggregate density, velocity, and stress diagnostics for a group of granular atoms as a function of z depth in the granular system. The results are written to 3 files named file.den, file.vel, and file.str. The z bins begin at the bottom of the system and extend upward with a thickness of {zlayer} for each bin. The quantities written to the file are averaged over all atoms in the bin. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] -Can only be used if LAMMPS was built with the "granular" package. +This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "atom_style granular"_atom_style.html [Default:] none diff --git a/doc/fix_gravity.html b/doc/fix_gravity.html index b5d978326..538bad27b 100644 --- a/doc/fix_gravity.html +++ b/doc/fix_gravity.html @@ -1,95 +1,105 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix gravity command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group gravity style args </PRE> <UL><LI>ID, group are documented in <A HREF = "fix.html">fix</A> command <LI>gravity = style name of this fix command <LI>style = <I>chute</I> or <I>spherical</I> or <I>gradient</I> or <I>vector</I> <PRE> <I>chute</I> args = angle angle = angle in +x away from -z axis (in degrees) <I>spherical</I> args = phi theta phi = azimuthal angle from +x axis (in degrees) theta = angle from +z axis (in degrees) <I>gradient</I> args = phi theta phi_grad theta_grad phi = azimuthal angle from +x axis (in degrees) theta = angle from +z axis (in degrees) phi_grad = rate of change of angle phi (full rotations per time unit) theta_grad = rate of change of angle theta (full rotations per time unit) <I>vector</I> args = magnitude x y z magnitude = size of acceleration (force/mass units) x y z = vector direction to apply the acceleration </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all gravity chute 24.0 fix 1 all gravity spherical 0.0 -180.0 fix 1 all gravity gradient 0.0 -180.0 0.0 0.1 fix 1 all gravity vector 100.0 1 1 0 </PRE> <P><B>Description:</B> </P> <P>Impose an additional acceleration on each particle in the group. For granular systems the magnitude is chosen so as to be due to gravity. For non-granular systems the magnitude of the acceleration is specified, so it can be any kind of driving field desired (e.g. a pressure gradient inducing a Poisselle flow). Note that this is different from what the <A HREF = "fix_addforce.html">fix addforce</A> command does, since it adds the same force to each atom, independent of its mass. This command adds the same acceleration to each atom (force/mass). </P> <P>The first 3 styles apply to granular systems. Style <I>chute</I> is typically used for simulations of chute flow where the specified angle is the chute angle, with flow occurring in the +x direction. Style <I>spherical</I> allows an arbitrary 3d direction to be specified for the gravity vector. Style <I>gradient</I> allows the direction of the gravity vector to be time dependent. The units of the gradient arguments are in full rotations per time unit. E.g. a timestep of 0.001 and a gradient of 0.1 means the gravity vector would rotate thru 360 degrees every 10,000 timesteps. For the time-dependent case, the initial direction of the gravity vector is phi,theta at the time the fix is specified. </P> <P>Phi and theta are defined in the usual spherical coordinates. Thus for gravity acting in the -z direction, theta would be specified as 180.0 (or -180.0). Theta = 90.0 and phi = -90.0 would mean gravity acts in the -y direction. </P> <P>Style <I>vector</I> is used for non-granular systems. An acceleration of the specified magnitude is applied to each atom in the group in the vector direction given by (x,y,z). </P> <P>The strength of the acceleration due to gravity is 1.0 in LJ units, which are the only allowed units for granular systems. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>Styles <I>chute</I>, <I>spherical</I>, and <I>gradient</I> can only be used with atom_style granular. Style <I>vector</I> can only be used with non-granular systems. </P> <P><B>Related commands:</B> </P> <P><A HREF = "atom_style.html">atom_style granular</A>, <A HREF = "fix_addforce.html">fix addforce</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_gravity.txt b/doc/fix_gravity.txt index 70cc50e17..06b772a85 100644 --- a/doc/fix_gravity.txt +++ b/doc/fix_gravity.txt @@ -1,86 +1,96 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix gravity command :h3 [Syntax:] fix ID group gravity style args :pre ID, group are documented in "fix"_fix.html command :ulb,l gravity = style name of this fix command :l style = {chute} or {spherical} or {gradient} or {vector} :l {chute} args = angle angle = angle in +x away from -z axis (in degrees) {spherical} args = phi theta phi = azimuthal angle from +x axis (in degrees) theta = angle from +z axis (in degrees) {gradient} args = phi theta phi_grad theta_grad phi = azimuthal angle from +x axis (in degrees) theta = angle from +z axis (in degrees) phi_grad = rate of change of angle phi (full rotations per time unit) theta_grad = rate of change of angle theta (full rotations per time unit) {vector} args = magnitude x y z magnitude = size of acceleration (force/mass units) x y z = vector direction to apply the acceleration :pre :ule [Examples:] fix 1 all gravity chute 24.0 fix 1 all gravity spherical 0.0 -180.0 fix 1 all gravity gradient 0.0 -180.0 0.0 0.1 fix 1 all gravity vector 100.0 1 1 0 :pre [Description:] Impose an additional acceleration on each particle in the group. For granular systems the magnitude is chosen so as to be due to gravity. For non-granular systems the magnitude of the acceleration is specified, so it can be any kind of driving field desired (e.g. a pressure gradient inducing a Poisselle flow). Note that this is different from what the "fix addforce"_fix_addforce.html command does, since it adds the same force to each atom, independent of its mass. This command adds the same acceleration to each atom (force/mass). The first 3 styles apply to granular systems. Style {chute} is typically used for simulations of chute flow where the specified angle is the chute angle, with flow occurring in the +x direction. Style {spherical} allows an arbitrary 3d direction to be specified for the gravity vector. Style {gradient} allows the direction of the gravity vector to be time dependent. The units of the gradient arguments are in full rotations per time unit. E.g. a timestep of 0.001 and a gradient of 0.1 means the gravity vector would rotate thru 360 degrees every 10,000 timesteps. For the time-dependent case, the initial direction of the gravity vector is phi,theta at the time the fix is specified. Phi and theta are defined in the usual spherical coordinates. Thus for gravity acting in the -z direction, theta would be specified as 180.0 (or -180.0). Theta = 90.0 and phi = -90.0 would mean gravity acts in the -y direction. Style {vector} is used for non-granular systems. An acceleration of the specified magnitude is applied to each atom in the group in the vector direction given by (x,y,z). The strength of the acceleration due to gravity is 1.0 in LJ units, which are the only allowed units for granular systems. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] Styles {chute}, {spherical}, and {gradient} can only be used with atom_style granular. Style {vector} can only be used with non-granular systems. [Related commands:] "atom_style granular"_atom_style.html, "fix addforce"_fix_addforce.html [Default:] none diff --git a/doc/fix_gyration.html b/doc/fix_gyration.html index 1110a3536..f2c498ddf 100644 --- a/doc/fix_gyration.html +++ b/doc/fix_gyration.html @@ -1,47 +1,57 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix gyration command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID gyration N file </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>gyration = style name of this fix command <LI>N = compute radius-of-gyration every this many timesteps <LI>file = filename to write gyration info to </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all gyration 100 molecule.out </PRE> <P><B>Description:</B> </P> <P>Compute the radius-of-gyration of the group of atoms every N steps, including all effects due to atoms passing thru periodic boundaries. Write the results to the specified file. </P> <P>Rg is a measure of the size of the group of atoms, and is computed by this formula </P> <CENTER><IMG SRC = "Eqs/fix_gyration.jpg"> </CENTER> <P>where M is the total mass of the group and Rcm is the center-of-mass position of the group. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> none </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_gyration.txt b/doc/fix_gyration.txt index 6f285842f..911526a57 100644 --- a/doc/fix_gyration.txt +++ b/doc/fix_gyration.txt @@ -1,42 +1,52 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix gyration command :h3 [Syntax:] fix ID group-ID gyration N file :pre ID, group-ID are documented in "fix"_fix.html command gyration = style name of this fix command N = compute radius-of-gyration every this many timesteps file = filename to write gyration info to :ul [Examples:] fix 1 all gyration 100 molecule.out :pre [Description:] Compute the radius-of-gyration of the group of atoms every N steps, including all effects due to atoms passing thru periodic boundaries. Write the results to the specified file. Rg is a measure of the size of the group of atoms, and is computed by this formula :c,image(Eqs/fix_gyration.jpg) where M is the total mass of the group and Rcm is the center-of-mass position of the group. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] none [Default:] none diff --git a/doc/fix_heat.html b/doc/fix_heat.html index e1028c336..93099a72c 100644 --- a/doc/fix_heat.html +++ b/doc/fix_heat.html @@ -1,71 +1,81 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix heat command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID heat N eflux </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>heat = style name of this fix command <LI>N = add/subtract heat every this many timesteps <LI>eflux = rate of heat addition or subtraction (energy/time units) </UL> <P><B>Examples:</B> </P> <PRE>fix 3 qin heat 1 1.0 fix 4 qout heat 1 -1.0 </PRE> <P><B>Description:</B> </P> <P>Add non-translational kinetic energy (heat) to a group of atoms such that their aggregate momentum is conserved. Two of these fixes can be used to establish a temperature gradient across a simulation domain by adding heat to one group of atoms (hot reservoir) and subtracting heat from another (cold reservoir). E.g. a simulation sampling from the McDLT ensemble. Note that the fix is applied to a group of atoms, not a geometric region, so that the same set of atoms is affected wherever they may move to. </P> <P>Heat addition/subtraction is performed every N timesteps. The <I>eflux</I> parameter determines the change in aggregate energy of the entire group of atoms. Since eflux is in units of energy/time, this means a larger value of N will add/subtract a larger amount of energy each timestep the fix is invoked. If heat is subtracted from the system too aggressively so that the group's kinetic energy goes to zero, LAMMPS halts with an error message. </P> <P>Fix heat is different from a thermostat such as <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A> in that energy is added/subtracted continually. Thus if there isn't another mechanism in place to counterbalance this effect, the entire system will heat or cool continuously. You can use multiple heat fixes so that the net energy change is 0.0 or use <A HREF = "fix_viscous">fix viscous</A> to drain energy from the system. </P> <P>This fix does not change the coordinates of its atoms; it only scales their velocities. Thus you must still use an integration fix (e.g. <A HREF = "fix_nve.html">fix nve</A>) on the affected atoms. This fix should not normally be used on atoms that have their temperature controlled by another fix - e.g. <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_langevin.html">fix langevin</A> fix. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "compute_temp.html">compute temp</A>, <A HREF = "compute_temp_region.html">compute temp/region</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_heat.txt b/doc/fix_heat.txt index 03fb62a28..c0839e937 100644 --- a/doc/fix_heat.txt +++ b/doc/fix_heat.txt @@ -1,67 +1,77 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix heat command :h3 [Syntax:] fix ID group-ID heat N eflux :pre ID, group-ID are documented in "fix"_fix.html command heat = style name of this fix command N = add/subtract heat every this many timesteps eflux = rate of heat addition or subtraction (energy/time units) :ul [Examples:] fix 3 qin heat 1 1.0 fix 4 qout heat 1 -1.0 :pre [Description:] Add non-translational kinetic energy (heat) to a group of atoms such that their aggregate momentum is conserved. Two of these fixes can be used to establish a temperature gradient across a simulation domain by adding heat to one group of atoms (hot reservoir) and subtracting heat from another (cold reservoir). E.g. a simulation sampling from the McDLT ensemble. Note that the fix is applied to a group of atoms, not a geometric region, so that the same set of atoms is affected wherever they may move to. Heat addition/subtraction is performed every N timesteps. The {eflux} parameter determines the change in aggregate energy of the entire group of atoms. Since eflux is in units of energy/time, this means a larger value of N will add/subtract a larger amount of energy each timestep the fix is invoked. If heat is subtracted from the system too aggressively so that the group's kinetic energy goes to zero, LAMMPS halts with an error message. Fix heat is different from a thermostat such as "fix nvt"_fix_nvt.html or "fix temp/rescale"_fix_temp_rescale.html in that energy is added/subtracted continually. Thus if there isn't another mechanism in place to counterbalance this effect, the entire system will heat or cool continuously. You can use multiple heat fixes so that the net energy change is 0.0 or use "fix viscous"_fix_viscous to drain energy from the system. This fix does not change the coordinates of its atoms; it only scales their velocities. Thus you must still use an integration fix (e.g. "fix nve"_fix_nve.html) on the affected atoms. This fix should not normally be used on atoms that have their temperature controlled by another fix - e.g. "fix nvt"_fix_nvt.html or "fix langevin"_fix_langevin.html fix. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "compute temp"_compute_temp.html, "compute temp/region"_compute_temp_region.html [Default:] none diff --git a/doc/fix_indent.html b/doc/fix_indent.html index 37f96f8f6..d66cd11c6 100644 --- a/doc/fix_indent.html +++ b/doc/fix_indent.html @@ -1,124 +1,136 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix indent command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID indent k keyword args ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>indent = style name of this fix command <LI>k = force constant for indenter surface (force/distance^2 units) <LI>one or more keyword/value pairs may be appended to the args <LI>keyword = <I>sphere</I> or <I>cylinder</I> or <I>vel</I> or <I>rstart</I> or <I>units</I> <PRE> <I>sphere</I> args = x y z R x,y,z = initial position of center of indenter R = sphere radius of indenter (distance units) <I>cylinder</I> args = dim c1 c2 R dim = x or y or z = axis of cylinder c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) R = cylinder radius of indenter (distance units) <I>vel</I> args = vx vy vz vx,vy,vz = velocity of center of indenter (velocity units) <I>rstart</I> value = R0 R0 = sphere or cylinder radius at start of run (distance units) R is value at end of run, so indenter expands/contracts over time <I>units</I> value = <I>lattice</I> or <I>box</I> lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 vel 0.0 0.0 -1.0 fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box </PRE> <P><B>Description:</B> </P> <P>Insert an indenter within a simulation box. The indenter repels all atoms that touch it, so it can be used to push into a material or as an obstacle in a flow. </P> <P>The indenter can either be spherical or cylindrical. You must set one of those 2 keywords. </P> <P>A spherical indenter exerts a force of magnitude </P> <PRE>F(r) = - k (r - R)^2 </PRE> <P>on each atom where <I>k</I> is the specified force constant, <I>r</I> is the distance from the atom to the center of the indenter, and <I>R</I> is the radius of the indenter. The force is repulsive and F(r) = 0 for <I>r</I> > <I>R</I>. </P> <P>A cylindrical indenter exerts the same force, except that <I>r</I> is the distance from the atom to the center axis of the cylinder. The cylinder extends infinitely along its axis. </P> <P>If the <I>vel</I> keyword is specified, the center (or axis) of the spherical (or cylindrical) indenter will move during the simulation, based on its initial position (x,y,z) and the specified (vx,vy,vz). Note that if you do multiple runs, the initial position of the indenter (x,y,z) does not change, so it will continue to move at the specified velocity. </P> <P>If the <I>rstart</I> keyword is specified, then the radius of the indenter is a time-dependent quantity. R0 is the value assigned at the start of the run; R is the value at the end. At intermediate times, the -radius is linearly interpolated between these two values. The -<A HREF = "run.html">run</A> command documents how to make the interpolation take -place across multiple runs. This option can be used, for example, to -grow/shrink a void within the simulation box. This option is not -relevant during an energy minimization; the indenter always has radius -R in that case. Note that if you do multiple runs, you may need to -re-specify the fix so that the indenter radius has the appropriate -value. If you do nothing, it will be reset to R0 at the beginning of -each run. +radius is linearly interpolated between these two values. This option +can be used, for example, to grow/shrink a void within the simulation +box. </P> <P>The <I>units</I> keyword determines the meaning of the distance units used to define the indenter. A <I>box</I> value selects standard distance units as defined by the <A HREF = "units.html">units</A> command, e.g. Angstroms for units = real or metal. A <I>lattice</I> value means the distance units are in lattice spacings. The <A HREF = "lattice.html">lattice</A> command must have been previously used to define the lattice spacing. Note that the units choice affects not only the indenter's physical geometry, but also its velocity and force constant since they are defined in terms of distance as well. </P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The energy of each -particle interacting with the indenter is K/3 (r - R)^3. The -contribution can also be printed by itself via the keyword <I>f_fix-ID</I> -in the <A HREF = "thermo_style.html">thermo_style custom</A> command. -</P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. If you -want that energy to be included in the total potential energy of the -system (the quantity being minimized), you must enable the -<A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option for this fix. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy of interaction between atoms and the indenter to +the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic +output</A>. The energy of each particle interacting +with the indenter is K/3 (r - R)^3. +</P> +<P>The atom/indenter interaction energy can be printed as part of +thermodynamic output via the keyword f_ID, where ID is the fix-ID of +this fix. See the <A HREF = "thermo_style.html">thermo_style custom</A> command for +details. +</P> +<P>This fix can adjust the indenter position and radius over multiple +runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> +command. See the <A HREF = "run.html">run</A> command for details of how to do +this. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. The <I>rstart</I> keyword +does not change the indenter radius during an energy minimization; the +indenter always has a radius of its final value R in that case. +</P> +<P>IMPORTANT NOTE: If you want the atom/indenter interaction energy to be +included in the total potential energy of the system (the quantity +being minimized), you MUST enable the <A HREF = "fix_modify.html">fix_modify</A> +<I>energy</I> option for this fix. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> none </P> <P><B>Default:</B> </P> <P>The option defaults are vel = 0,0,0 and units = lattice. </P> </HTML> diff --git a/doc/fix_indent.txt b/doc/fix_indent.txt index ff045b923..50947370e 100644 --- a/doc/fix_indent.txt +++ b/doc/fix_indent.txt @@ -1,113 +1,125 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix indent command :h3 [Syntax:] fix ID group-ID indent k keyword args ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l indent = style name of this fix command :l k = force constant for indenter surface (force/distance^2 units) :l one or more keyword/value pairs may be appended to the args :l keyword = {sphere} or {cylinder} or {vel} or {rstart} or {units} :l {sphere} args = x y z R x,y,z = initial position of center of indenter R = sphere radius of indenter (distance units) {cylinder} args = dim c1 c2 R dim = x or y or z = axis of cylinder c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) R = cylinder radius of indenter (distance units) {vel} args = vx vy vz vx,vy,vz = velocity of center of indenter (velocity units) {rstart} value = R0 R0 = sphere or cylinder radius at start of run (distance units) R is value at end of run, so indenter expands/contracts over time {units} value = {lattice} or {box} lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units :pre :ule [Examples:] fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 vel 0.0 0.0 -1.0 fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box :pre [Description:] Insert an indenter within a simulation box. The indenter repels all atoms that touch it, so it can be used to push into a material or as an obstacle in a flow. The indenter can either be spherical or cylindrical. You must set one of those 2 keywords. A spherical indenter exerts a force of magnitude F(r) = - k (r - R)^2 :pre on each atom where {k} is the specified force constant, {r} is the distance from the atom to the center of the indenter, and {R} is the radius of the indenter. The force is repulsive and F(r) = 0 for {r} > {R}. A cylindrical indenter exerts the same force, except that {r} is the distance from the atom to the center axis of the cylinder. The cylinder extends infinitely along its axis. If the {vel} keyword is specified, the center (or axis) of the spherical (or cylindrical) indenter will move during the simulation, based on its initial position (x,y,z) and the specified (vx,vy,vz). Note that if you do multiple runs, the initial position of the indenter (x,y,z) does not change, so it will continue to move at the specified velocity. If the {rstart} keyword is specified, then the radius of the indenter is a time-dependent quantity. R0 is the value assigned at the start of the run; R is the value at the end. At intermediate times, the -radius is linearly interpolated between these two values. The -"run"_run.html command documents how to make the interpolation take -place across multiple runs. This option can be used, for example, to -grow/shrink a void within the simulation box. This option is not -relevant during an energy minimization; the indenter always has radius -R in that case. Note that if you do multiple runs, you may need to -re-specify the fix so that the indenter radius has the appropriate -value. If you do nothing, it will be reset to R0 at the beginning of -each run. +radius is linearly interpolated between these two values. This option +can be used, for example, to grow/shrink a void within the simulation +box. The {units} keyword determines the meaning of the distance units used to define the indenter. A {box} value selects standard distance units as defined by the "units"_units.html command, e.g. Angstroms for units = real or metal. A {lattice} value means the distance units are in lattice spacings. The "lattice"_lattice.html command must have been previously used to define the lattice spacing. Note that the units choice affects not only the indenter's physical geometry, but also its velocity and force constant since they are defined in terms of distance as well. -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The energy of each -particle interacting with the indenter is K/3 (r - R)^3. The -contribution can also be printed by itself via the keyword {f_fix-ID} -in the "thermo_style custom"_thermo_style.html command. - -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. If you -want that energy to be included in the total potential energy of the -system (the quantity being minimized), you must enable the -"fix_modify"_fix_modify.html {energy} option for this fix. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy of interaction between atoms and the indenter to +the system's potential energy as part of "thermodynamic +output"_thermo_style.html. The energy of each particle interacting +with the indenter is K/3 (r - R)^3. + +The atom/indenter interaction energy can be printed as part of +thermodynamic output via the keyword f_ID, where ID is the fix-ID of +this fix. See the "thermo_style custom"_thermo_style.html command for +details. + +This fix can adjust the indenter position and radius over multiple +runs, using the {start} and {stop} keywords of the "run"_run.html +command. See the "run"_run.html command for details of how to do +this. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. The {rstart} keyword +does not change the indenter radius during an energy minimization; the +indenter always has a radius of its final value R in that case. + +IMPORTANT NOTE: If you want the atom/indenter interaction energy to be +included in the total potential energy of the system (the quantity +being minimized), you MUST enable the "fix_modify"_fix_modify.html +{energy} option for this fix. [Restrictions:] none [Related commands:] none [Default:] The option defaults are vel = 0,0,0 and units = lattice. diff --git a/doc/fix_langevin.html b/doc/fix_langevin.html index 944d69b6a..ba0ccdf5d 100644 --- a/doc/fix_langevin.html +++ b/doc/fix_langevin.html @@ -1,133 +1,148 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix langevin command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID langevin Tstart Tstop damp seed keyword values ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>langevin = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run (temperature units) <LI>damp = damping parameter (time units) <LI>seed = random # seed to use for white noise (8 digits or less) <LI>zero or more keyword/value pairs may be appended to the args <PRE>keyword = <I>axes</I> or <I>scale</I> or <I>region</I> <I>axes</I> values = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include a dimension in the thermostat <I>scale</I> values = type ratio type = atom type (1-N) ratio = factor to scale the damping coefficient by <I>region</I> values = region-ID region-ID = ID of region to apply thermostat to </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 3 boundary langevin 1.0 1.0 1000.0 699483 fix 1 all langevin 1.0 1.1 100.0 48279 axes 0 1 1 fix 3 boundary langevin 1.0 1.0 1000.0 699483 region boundary </PRE> <P><B>Description:</B> </P> <P>Apply a Langevin thermostat to a group of atoms which models an interaction with a background implicit solvent. Used with <A HREF = "fix_nve.html">fix nve</A>, this command performs Brownian dynamics (BD), since the total force on each atom will have the form: </P> <PRE>F = Fc + Ff + Fr </PRE> <P>Fc is the conservative force computed via the usual inter-particle interactions (<A HREF = "pair_style.html">pair_style</A>, <A HREF = "bond_style.html">bond_style</A>, etc). </P> <P>The Ff and Fr terms are added by this fix. Ff = - gamma v and is a frictional drag or viscous damping term proportional to the particle's velocity. Gamma for each atom is computed as m/damp, where m is the mass of the particle and damp is the damping factor specified by the user. </P> <P>Fr is a force due to solvent atoms at a temperature T randomly bumping into the particle. As derived from the fluctuation/dissipation theorum, its magnitude is proportional to sqrt(T m / dt damp), where T is the desired temperature, m is the mass of the particle, dt is the timestep size, and damp is the damping factor. Random numbers are used to randomize the direction and magnitude of this force. </P> <P>The desired temperature at each timestep is a ramped value during the -run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents -how to make the ramping take place across multiple runs. +run from <I>Tstart</I> to <I>Tstop</I>. </P> <P>The <I>damp</I> parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). The damp factor can be thought of as inversely related to the viscosity of the solvent. I.e. a small relaxation time implies a hi-viscosity solvent and vice versa. See the discussion about gamma and viscosity in the documentation for the <A HREF = "fix_viscous.html">fix viscous</A> command for more details. </P> <P>The random # <I>seed</I> should be a non-zero integer with 1 to 8 digits. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical -on two runs on different numbers of processors. Also, the state of -the random number generator is not saved in a restart file. This -means you cannot do exact restarts when a fix <I>langevin</I> command is -used. +on two runs on different numbers of processors. </P> <P>The keyword <I>axes</I> can be used to specify which dimensions to add Ff and Fr to. A flag of 0 means skip that dimension; a flag of 1 means include that dimension. The default is 1 for all 3 dimensions. </P> <P>The keyword <I>scale</I> allows the damp factor to be scaled up or down by the specified factor for atoms of that type. It can be used multiple times to adjust damp for several atom types. Note that specifying a ratio of 2 increase the relaxation time which is equivalent to the the solvent's viscosity acting on particles with 1/2 the diameter. This is the opposite effect of scale factors used by the <A HREF = "fix_viscous.html">fix viscous</A> command, since the damp factor in fix <I>langevin</I> is inversely related to the gamma factor in fix <I>viscous</I>. Also note that the damping factor in fix <I>langevin</I> includes the particle mass in Ff, unlike fix <I>viscous</I>. Thus the mass and size of different atom types should be accounted for in the choice of ratio values. </P> <P>The keyword <I>region</I> applies the fix only to atoms that are in the specified geometric region (and in the fix group). Since atoms can enter/leave a region, this test is performed each timestep. </P> <P>As noted above, fix <I>langevin</I> does not update the coordinates or velocities of its atoms, only the forces. It is normally used with a <A HREF = "fix_nve.html">fix nve</A> that does the time integration. Fix <I>langevin</I> should not normally be used on atoms that also have their temperature controlled by another fix - e.g. a <A HREF = "fix_nvt.html">nvt</A> or <A HREF = "fix_temp_rescale.html">temp/rescale</A> fix. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" +restarts with this fix, where the simulation continues on the same as +if no restart had taken place. However, in a statistical sense, a +restarted simulation should produce the same behavior. +</P> +<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. +</P> +<P>This fix can ramp its target temperature over multiple runs, using the +<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the +<A HREF = "run.html">run</A> command for details of how to do this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_viscous.html">fix viscous</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_langevin.txt b/doc/fix_langevin.txt index 8d9bd8c68..869649c60 100644 --- a/doc/fix_langevin.txt +++ b/doc/fix_langevin.txt @@ -1,121 +1,136 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix langevin command :h3 [Syntax:] fix ID group-ID langevin Tstart Tstop damp seed keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l langevin = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run (temperature units) :l damp = damping parameter (time units) :l seed = random # seed to use for white noise (8 digits or less) :l zero or more keyword/value pairs may be appended to the args :l keyword = {axes} or {scale} or {region} {axes} values = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include a dimension in the thermostat {scale} values = type ratio type = atom type (1-N) ratio = factor to scale the damping coefficient by {region} values = region-ID region-ID = ID of region to apply thermostat to :pre :ule [Examples:] fix 3 boundary langevin 1.0 1.0 1000.0 699483 fix 1 all langevin 1.0 1.1 100.0 48279 axes 0 1 1 fix 3 boundary langevin 1.0 1.0 1000.0 699483 region boundary :pre [Description:] Apply a Langevin thermostat to a group of atoms which models an interaction with a background implicit solvent. Used with "fix nve"_fix_nve.html, this command performs Brownian dynamics (BD), since the total force on each atom will have the form: F = Fc + Ff + Fr :pre Fc is the conservative force computed via the usual inter-particle interactions ("pair_style"_pair_style.html, "bond_style"_bond_style.html, etc). The Ff and Fr terms are added by this fix. Ff = - gamma v and is a frictional drag or viscous damping term proportional to the particle's velocity. Gamma for each atom is computed as m/damp, where m is the mass of the particle and damp is the damping factor specified by the user. Fr is a force due to solvent atoms at a temperature T randomly bumping into the particle. As derived from the fluctuation/dissipation theorum, its magnitude is proportional to sqrt(T m / dt damp), where T is the desired temperature, m is the mass of the particle, dt is the timestep size, and damp is the damping factor. Random numbers are used to randomize the direction and magnitude of this force. The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. The "run"_run.html command documents -how to make the ramping take place across multiple runs. +run from {Tstart} to {Tstop}. The {damp} parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the "units"_units.html command). The damp factor can be thought of as inversely related to the viscosity of the solvent. I.e. a small relaxation time implies a hi-viscosity solvent and vice versa. See the discussion about gamma and viscosity in the documentation for the "fix viscous"_fix_viscous.html command for more details. The random # {seed} should be a non-zero integer with 1 to 8 digits. A Marsaglia random number generator is used. Each processor uses the input seed to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical -on two runs on different numbers of processors. Also, the state of -the random number generator is not saved in a restart file. This -means you cannot do exact restarts when a fix {langevin} command is -used. +on two runs on different numbers of processors. The keyword {axes} can be used to specify which dimensions to add Ff and Fr to. A flag of 0 means skip that dimension; a flag of 1 means include that dimension. The default is 1 for all 3 dimensions. The keyword {scale} allows the damp factor to be scaled up or down by the specified factor for atoms of that type. It can be used multiple times to adjust damp for several atom types. Note that specifying a ratio of 2 increase the relaxation time which is equivalent to the the solvent's viscosity acting on particles with 1/2 the diameter. This is the opposite effect of scale factors used by the "fix viscous"_fix_viscous.html command, since the damp factor in fix {langevin} is inversely related to the gamma factor in fix {viscous}. Also note that the damping factor in fix {langevin} includes the particle mass in Ff, unlike fix {viscous}. Thus the mass and size of different atom types should be accounted for in the choice of ratio values. The keyword {region} applies the fix only to atoms that are in the specified geometric region (and in the fix group). Since atoms can enter/leave a region, this test is performed each timestep. As noted above, fix {langevin} does not update the coordinates or velocities of its atoms, only the forces. It is normally used with a "fix nve"_fix_nve.html that does the time integration. Fix {langevin} should not normally be used on atoms that also have their temperature controlled by another fix - e.g. a "nvt"_fix_nvt.html or "temp/rescale"_fix_temp_rescale.html fix. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. Because the state of the random number generator +is not saved in restart files, this means you cannot do "exact" +restarts with this fix, where the simulation continues on the same as +if no restart had taken place. However, in a statistical sense, a +restarted simulation should produce the same behavior. + +None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. + +This fix can ramp its target temperature over multiple runs, using the +{start} and {stop} keywords of the "run"_run.html command. See the +"run"_run.html command for details of how to do this. + +This fix is not invoked during "energy minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix nvt"_fix_nvt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix viscous"_fix_viscous.html [Default:] none diff --git a/doc/fix_lineforce.html b/doc/fix_lineforce.html index 930dd6683..208351bd7 100644 --- a/doc/fix_lineforce.html +++ b/doc/fix_lineforce.html @@ -1,47 +1,56 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix lineforce command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID lineforce x y z </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>lineforce = style name of this fix command <LI>x y z = direction of line as a 3-vector </UL> <P><B>Examples:</B> </P> <PRE>fix hold boundary lineforce 0.0 1.0 1.0 </PRE> <P><B>Description:</B> </P> <P>Adjust the forces on each atom in the group so that it's motion will be along the linear direction specified by the vector (x,y,z). This is done by subtracting out components of force perpendicular to the line. </P> <P>If the initial velocity of the atom is 0.0 (or along the line), then it should continue to move along the line thereafter. </P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_planeforce.html">fix planeforce</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_lineforce.txt b/doc/fix_lineforce.txt index c053f0085..151f0b70d 100644 --- a/doc/fix_lineforce.txt +++ b/doc/fix_lineforce.txt @@ -1,42 +1,51 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix lineforce command :h3 [Syntax:] fix ID group-ID lineforce x y z :pre ID, group-ID are documented in "fix"_fix.html command lineforce = style name of this fix command x y z = direction of line as a 3-vector :ul [Examples:] fix hold boundary lineforce 0.0 1.0 1.0 :pre [Description:] Adjust the forces on each atom in the group so that it's motion will be along the linear direction specified by the vector (x,y,z). This is done by subtracting out components of force perpendicular to the line. If the initial velocity of the atom is 0.0 (or along the line), then it should continue to move along the line thereafter. -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. [Restrictions:] none [Related commands:] "fix planeforce"_fix_planeforce.html [Default:] none diff --git a/doc/fix_modify.html b/doc/fix_modify.html index 806948504..362942c29 100644 --- a/doc/fix_modify.html +++ b/doc/fix_modify.html @@ -1,78 +1,78 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix_modify command </H3> <P><B>Syntax:</B> </P> <PRE>fix_modify fix-ID keyword value ... </PRE> <UL><LI>fix-ID = ID of the fix to modify <LI>one or more keyword/value pairs may be appended <LI>keyword = <I>temp</I> or <I>press</I> or <I>energy</I> <PRE> <I>temp</I> value = compute ID that calculates a temperature <I>press</I> value = compute ID that calculates a pressure <I>energy</I> value = <I>yes</I> or <I>no</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix_modify 3 temp myTemp press myPress fix_modify 1 energy yes </PRE> <P><B>Description:</B> </P> <P>Modify one or more parameters of a previously defined fix. Only specific fix styles support specific parameters. See the doc pages for individual fix commands for info on which ones support which fix_modify parameters. </P> <P>The <I>temp</I> keyword is used to determine how a fix computes temperature. The specified compute ID must have been previously defined by the user via the <A HREF = "compute.html">compute</A> command and it must be a style of compute that calculates a temperature. All fixes that compute temperatures define their own compute by default, as described in their documentation. Thus this option allows the user to override the default method for computing T. </P> <P>The <I>press</I> keyword is used to determine how a fix computes pressure. The specified compute ID must have been previously defined by the user via the <A HREF = "compute.html">compute</A> command and it must be a style of compute that calculates a pressure. All fixes that compute pressures define their own compute by default, as described in their documentation. Thus this option allows the user to override the default method for computing P. </P> <P>For fixes that calculate a contribution to the potential energy of the system, the <I>energy</I> keyword will include that contribution in thermodyanmic output of potential energy. See the -<A HREF = "thermo_style.html">thermo_style</A> command for info on how to output -potential energy is printed. The contribution itself can also be -printed by using the keyword f_ID in the thermo_style custom command, -where ID is the fix-ID of the appropriate fix. +<A HREF = "thermo_style.html">thermo_style</A> command for info on how potential +energy is output. The contribution by itself can be printed by using +the keyword f_ID in the thermo_style custom command, where ID is the +fix-ID of the appropriate fix. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix.html">fix</A>, <A HREF = "temperature.html">temperature</A>, <A HREF = "thermo_style.html">thermo_style</A> </P> <P><B>Default:</B> </P> <P>The option defaults are temp = ID defined by fix, press = ID defined by fix, energy = no. </P> </HTML> diff --git a/doc/fix_modify.txt b/doc/fix_modify.txt index 19812f4ca..a4699187a 100644 --- a/doc/fix_modify.txt +++ b/doc/fix_modify.txt @@ -1,68 +1,69 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix_modify command :h3 [Syntax:] fix_modify fix-ID keyword value ... :pre fix-ID = ID of the fix to modify :ulb,l one or more keyword/value pairs may be appended :l keyword = {temp} or {press} or {energy} :l {temp} value = compute ID that calculates a temperature {press} value = compute ID that calculates a pressure {energy} value = {yes} or {no} :pre :ule [Examples:] fix_modify 3 temp myTemp press myPress fix_modify 1 energy yes :pre [Description:] -Modify one or more parameters of a previously defined fix. Not all -fix styles support all parameters. +Modify one or more parameters of a previously defined fix. Only +specific fix styles support specific parameters. See the doc pages +for individual fix commands for info on which ones support which +fix_modify parameters. The {temp} keyword is used to determine how a fix computes temperature. The specified compute ID must have been previously defined by the user via the "compute"_compute.html command and it must be a style of compute that calculates a temperature. All fixes that -compute temperatures defined their own compute by default, as -described in their documentation. Thus this option allows the user to -override the default method for computing T. +compute temperatures define their own compute by default, as described +in their documentation. Thus this option allows the user to override +the default method for computing T. The {press} keyword is used to determine how a fix computes pressure. The specified compute ID must have been previously defined by the user via the "compute"_compute.html command and it must be a style of compute that calculates a pressure. All fixes that compute pressures -defined their own compute by default, as described in their +define their own compute by default, as described in their documentation. Thus this option allows the user to override the default method for computing P. -For fixes that calculates a contribution to the potential energy of -the system, the {energy} keyword will include that contribution in -thermodyanmic output of the potential energy, as invoked by the -"thermo_style"_thermo_style.html command. The value of the -contribution can also be printed by itself using the "thermo_style -custom"_thermo_style.html keywords. The documentation for individual -fix commands specifies whether they make a contribution to the -potential energy. +For fixes that calculate a contribution to the potential energy of the +system, the {energy} keyword will include that contribution in +thermodyanmic output of potential energy. See the +"thermo_style"_thermo_style.html command for info on how potential +energy is output. The contribution by itself can be printed by using +the keyword f_ID in the thermo_style custom command, where ID is the +fix-ID of the appropriate fix. [Restrictions:] none [Related commands:] "fix"_fix.html, "temperature"_temperature.html, "thermo_style"_thermo_style.html [Default:] The option defaults are temp = ID defined by fix, press = ID defined by fix, energy = no. diff --git a/doc/fix_momentum.html b/doc/fix_momentum.html index c18b2d354..89d7eb6f8 100644 --- a/doc/fix_momentum.html +++ b/doc/fix_momentum.html @@ -1,69 +1,79 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix momentum command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID momentum N keyword values ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>momentum = style name of this fix command <LI>N = adjust the momentum every this many timesteps one or more keyword/value pairs may be appended to the args <LI>keyword = <I>linear</I> or <I>angular</I> <PRE> <I>linear</I> values = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include each dimension <I>angular</I> values = none </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all momentum 1 linear 1 1 0 fix 1 all momentum 100 linear 1 1 1 angular </PRE> <P><B>Description:</B> </P> <P>Zero the linear and/or angular momentum of the group of atoms every N timesteps by adjusting the velocities of the atoms. One (or both) of the <I>linear</I> or <I>angular</I> keywords must be specified. </P> <P>If the <I>linear</I> keyword is used, the linear momentum is zeroed by subtracting the center-of-mass velocity of the group from each atom. This does not change the relative velocity of any pair of atoms. One or more dimensions can be excluded from this operation by setting the corresponding flag to 0. </P> <P>If the <I>angular</I> keyword is used, the angular momentum is zeroed by subtracting a rotational component from each atom. </P> <P>This command can be used to insure the entire collection of atoms (or a subset of them) does not drift or rotate during the simulation due to random perturbations (e.g. <A HREF = "fix_langevin.html">fix langevin</A> thermostatting). </P> <P>Note that the <A HREF = "velocity.html">velocity</A> command can be used to create initial velocities with zero aggregate linear and/or angular momentum. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_recenter.html">fix recenter</A>, <A HREF = "velocity.html">velocity</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_momentum.txt b/doc/fix_momentum.txt index 8e5523602..8a1c3ed98 100644 --- a/doc/fix_momentum.txt +++ b/doc/fix_momentum.txt @@ -1,59 +1,69 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix momentum command :h3 [Syntax:] fix ID group-ID momentum N keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l momentum = style name of this fix command :l N = adjust the momentum every this many timesteps one or more keyword/value pairs may be appended to the args :l keyword = {linear} or {angular} :l {linear} values = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include each dimension {angular} values = none :pre :ule [Examples:] fix 1 all momentum 1 linear 1 1 0 fix 1 all momentum 100 linear 1 1 1 angular :pre [Description:] Zero the linear and/or angular momentum of the group of atoms every N timesteps by adjusting the velocities of the atoms. One (or both) of the {linear} or {angular} keywords must be specified. If the {linear} keyword is used, the linear momentum is zeroed by subtracting the center-of-mass velocity of the group from each atom. This does not change the relative velocity of any pair of atoms. One or more dimensions can be excluded from this operation by setting the corresponding flag to 0. If the {angular} keyword is used, the angular momentum is zeroed by subtracting a rotational component from each atom. This command can be used to insure the entire collection of atoms (or a subset of them) does not drift or rotate during the simulation due to random perturbations (e.g. "fix langevin"_fix_langevin.html thermostatting). Note that the "velocity"_velocity.html command can be used to create initial velocities with zero aggregate linear and/or angular momentum. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix recenter"_fix_recenter.html, "velocity"_velocity.html [Default:] none diff --git a/doc/fix_msd.html b/doc/fix_msd.html index f69594039..94ff529e7 100644 --- a/doc/fix_msd.html +++ b/doc/fix_msd.html @@ -1,42 +1,58 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix msd command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID msd N file </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>msd = style name of this fix command <LI>N = compute mean-squared displacement every this many timesteps <LI>file = filename to write mean-squared displacement info to </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all msd 100 diff.out </PRE> <P><B>Description:</B> </P> <P>Compute the mean-squared displacement of the group of atoms every N steps, including all effects due to atoms passing thru periodic boundaries. The slope of the mean-squared displacement versus time is proportional to the diffusion coefficient of the diffusing atoms. The "origin" of the displacement for each atom is its position at the time the fix command was issued. Write the results to the specified file. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the original coordinates of diffusing atoms to <A HREF = "restart.html">binary +restart files</A>, so that the mean-squared displacement +will be accurate in a restarted simulation. See the +<A HREF = "read_restart.html">read_restart</A> command for info on how to re-specify +a fix in an input script that reads a restart file, so that the +operation of the fix continues in an uninterrupted fashion. +</P> +<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this +fix. No quantities calculated by this fix can be output by the +<A HREF = "thermo_style.html">thermo_style custom</A> command. No parameter of this +fix can be used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> +command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> none </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_msd.txt b/doc/fix_msd.txt index f808f1490..29657cfec 100644 --- a/doc/fix_msd.txt +++ b/doc/fix_msd.txt @@ -1,43 +1,59 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix msd command :h3 [Syntax:] fix ID group-ID msd N file :pre ID, group-ID are documented in "fix"_fix.html command msd = style name of this fix command N = compute mean-squared displacement every this many timesteps file = filename to write mean-squared displacement info to :ul [Examples:] fix 1 all msd 100 diff.out :pre [Description:] Compute the mean-squared displacement of the group of atoms every N steps, including all effects due to atoms passing thru periodic boundaries. The slope of the mean-squared displacement versus time is proportional to the diffusion coefficient of the diffusing atoms. The "origin" of the displacement for each atom is its position at the time the fix command was issued. Write the results to the specified file. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the original coordinates of diffusing atoms to "binary +restart files"_restart.html, so that the mean-squared displacement +will be accurate in a restarted simulation. See the +"read_restart"_read_restart.html command for info on how to re-specify +a fix in an input script that reads a restart file, so that the +operation of the fix continues in an uninterrupted fashion. + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No quantities calculated by this fix can be output by the +"thermo_style custom"_thermo_style.html command. No parameter of this +fix can be used with the {start/stop} keywords of the "run"_run.html +command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] none [Default:] none diff --git a/doc/fix_nph.html b/doc/fix_nph.html index a2b625fa0..4cb1ebbfa 100644 --- a/doc/fix_nph.html +++ b/doc/fix_nph.html @@ -1,178 +1,197 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nph command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nph p-style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nph = style name of this fix command <LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> <PRE> <I>xyz</I> args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) <I>xy</I> or <I>yz</I> or <I>xz</I> args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) <I>aniso</I> args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) </PRE> <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>drag</I> or <I>dilate</I> <PRE> <I>drag</I> value = drag factor added to barostat (0.0 = no drag) <I>dilate</I> value = <I>all</I> or <I>partial</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nph xyz 0.0 0.0 1000.0 fix 2 all nph xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 1.0 fix 2 all nph aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 </PRE> <P><B>Description:</B> </P> <P>Perform constant NPH integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover pressure barostat. P is pressure. This creates a system trajectory consistent with the isobaric ensemble. Unlike <A HREF = "fix_npt.html">fix npt</A>, temperature will not be controlled if no other fix is used. Temperature can be controlled independently by using "<A HREF = "fix_langevin.html">fix langevin</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>. </P> <P>The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. </P> <P>Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. </P> <HR> <P>The pressure can be controlled in one of several styles, as specified by the <I>p-style</I> argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to -the end value. The <A HREF = "run.html">run</A> command documents how to make the -ramping take place across multiple runs. +the end value. </P> <P>Style <I>xyz</I> means couple all 3 dimensions together when pressure is computed (isotropic pressure), and dilate/contract the 3 dimensions together. </P> <P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. </P> <P>For style <I>aniso</I>, all 3 dimensions dilate/contract independently using their individual pressure components as the 3 driving forces. </P> <P>For any of the styles except <I>xyz</I>, any of the independent pressure components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. </P> <P>In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not implemented in LAMMPS. </P> <P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I> parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <HR> <P>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp </PRE> <PRE>compute fix-ID_press group-ID pressure fix-ID_temp </PRE> <P>See the <A HREF = "compute_temp.html">compute temp</A> and <A HREF = "compute_pressure.html">compute pressure</A> commands for details. Note that the IDs of the new computes are the fix-ID with underscore + "temp" or "press" appended and the group for the new computes is the same as the fix group. </P> <P>Note that these are NOT the computes used by thermodynamic output (see the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I> and <I>thermo_pressure</I>. This means you can change the attributes of this fix's temperature or pressure via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature or pressure during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> or -<I>thermo_pressure</I> will have no effect on this fix. Alternatively, you -can directly assign a new compute (for calculating temeperature or -pressure) that you have defined to this fix via the -<A HREF = "fix_modify.html">fix_modify</A> command. If you do this, note that the -kinetic energy derived from T should be consistent with the virial -term computed using all atoms. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms. -</P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. +<I>thermo_pressure</I> will have no effect on this fix. +</P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the state of the Nose/Hoover barostat to <A HREF = "restart.html">binary +restart files</A>. See the <A HREF = "read_restart.html">read_restart</A> +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an +uninterrupted fashion. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are +supported by this fix. You can use them to assign a +<A HREF = "compute.html">compute</A> you have defined to this fix which will be used +in its thermostatting or barostatting procedure. If you do this, note +that the kinetic energy derived from the compute temperature should be +consistent with the virial term computed using all atoms for the +pressure. LAMMPS will warn you if you choose to compute temperature +on a subset of atoms. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy change induced by Nose/Hoover barostatting to +the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic +output</A>. +</P> +<P>The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +<A HREF = "thermo_style.html">thermo_style custom</A> command for details. +</P> +<P>This fix can ramp its target pressure over multiple runs, using the +<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the +<A HREF = "run.html">run</A> command for details of how to do this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. </P> <P>You should not use <A HREF = "fix_nvt.html">fix nvt</A> with this fix. Instead, use <A HREF = "fix_npt.html">fix npt</A> if you want to control both temperature and pressure via Nose/Hoover. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0 and dilate = all. </P> </HTML> diff --git a/doc/fix_nph.txt b/doc/fix_nph.txt index be0939bec..01a34c7fb 100644 --- a/doc/fix_nph.txt +++ b/doc/fix_nph.txt @@ -1,166 +1,185 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nph command :h3 [Syntax:] fix ID group-ID nph p-style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l nph = style name of this fix command :l p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l {xyz} args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) {xy} or {yz} or {xz} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) {aniso} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) :pre zero or more keyword/value pairs may be appended to the args :l keyword = {drag} or {dilate} :l {drag} value = drag factor added to barostat (0.0 = no drag) {dilate} value = {all} or {partial} :pre :ule [Examples:] fix 1 all nph xyz 0.0 0.0 1000.0 fix 2 all nph xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 1.0 fix 2 all nph aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 :pre [Description:] Perform constant NPH integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover pressure barostat. P is pressure. This creates a system trajectory consistent with the isobaric ensemble. Unlike "fix npt"_fix_npt.html, temperature will not be controlled if no other fix is used. Temperature can be controlled independently by using ""fix langevin"_fix_langevin.html or "fix temp/rescale"_fix_temp_rescale.html. The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword {dilate} is specified with a value of {partial}, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. :line The pressure can be controlled in one of several styles, as specified by the {p-style} argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to -the end value. The "run"_run.html command documents how to make the -ramping take place across multiple runs. +the end value. Style {xyz} means couple all 3 dimensions together when pressure is computed (isotropic pressure), and dilate/contract the 3 dimensions together. Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. For style {aniso}, all 3 dimensions dilate/contract independently using their individual pressure components as the 3 driving forces. For any of the styles except {xyz}, any of the independent pressure components (e.g. z in {xy}, or any dimension in {aniso}) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not implemented in LAMMPS. For all styles, the {Pdamp} parameter operates like the {Tdamp} parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the "units"_units.html command). :line This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: compute fix-ID_temp group-ID temp :pre compute fix-ID_press group-ID pressure fix-ID_temp :pre See the "compute temp"_compute_temp.html and "compute pressure"_compute_pressure.html commands for details. Note that the IDs of the new computes are the fix-ID with underscore + "temp" or "press" appended and the group for the new computes is the same as the fix group. Note that these are NOT the computes used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} and {thermo_pressure}. This means you can change the attributes of this fix's temperature or pressure via the "compute_modify"_compute_modify.html command or print this temperature or pressure during thermodyanmic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} or -{thermo_pressure} will have no effect on this fix. Alternatively, you -can directly assign a new compute (for calculating temeperature or -pressure) that you have defined to this fix via the -"fix_modify"_fix_modify.html command. If you do this, note that the -kinetic energy derived from T should be consistent with the virial -term computed using all atoms. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms. - -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. +{thermo_pressure} will have no effect on this fix. + +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the state of the Nose/Hoover barostat to "binary +restart files"_restart.html. See the "read_restart"_read_restart.html +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an +uninterrupted fashion. + +The "fix_modify"_fix_modify.html {temp} and {press} options are +supported by this fix. You can use them to assign a +"compute"_compute.html you have defined to this fix which will be used +in its thermostatting or barostatting procedure. If you do this, note +that the kinetic energy derived from the compute temperature should be +consistent with the virial term computed using all atoms for the +pressure. LAMMPS will warn you if you choose to compute temperature +on a subset of atoms. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy change induced by Nose/Hoover barostatting to +the system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +"thermo_style custom"_thermo_style.html command for details. + +This fix can ramp its target pressure over multiple runs, using the +{start} and {stop} keywords of the "run"_run.html command. See the +"run"_run.html command for details of how to do this. + +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. You should not use "fix nvt"_fix_nvt.html with this fix. Instead, use "fix npt"_fix_npt.html if you want to control both temperature and pressure via Nose/Hoover. [Related commands:] "fix nve"_fix_nve.html, "fix npt"_fix_npt.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are drag = 0.0 and dilate = all. diff --git a/doc/fix_npt.html b/doc/fix_npt.html index f4b7f5583..f765d3316 100644 --- a/doc/fix_npt.html +++ b/doc/fix_npt.html @@ -1,182 +1,201 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix npt command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID npt Tstart Tstop Tdamp p-style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>npt = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run <LI>Tdamp = temperature damping parameter (time units) <LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> <PRE> <I>xyz</I> args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) </PRE> <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>drag</I> or <I>dilate</I> <PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag) <I>dilate</I> value = <I>all</I> or <I>partial</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial </PRE> <P><B>Description:</B> </P> <P>Perform constant NPT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. </P> <P>The desired temperature at each timestep is a ramped value during the -run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents -how to make the ramping take place across multiple runs. The <I>Tdamp</I> -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the <A HREF = "units.html">units</A> command). +run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +<A HREF = "units.html">units</A> command). </P> <P>The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. </P> <P>Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. </P> <HR> <P>The pressure can be controlled in one of several styles, as specified by the <I>p-style</I> argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to -the end value. The <A HREF = "run.html">run</A> command documents how to make the -ramping take place across multiple runs. +the end value. </P> <P>Style <I>xyz</I> means couple all 3 dimensions together when pressure is computed (isotropic pressure), and dilate/contract the 3 dimensions together. </P> <P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. </P> <P>For style <I>aniso</I>, all 3 dimensions dilate/contract independently using their individual pressure components as the 3 driving forces. </P> <P>For any of the styles except <I>xyz</I>, any of the independent pressure components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. </P> <P>In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not implemented in LAMMPS. </P> <P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I> parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <HR> <P>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp </PRE> <P>See the <A HREF = "compute_temp.html">compute temp</A> and <A HREF = "compute_pressure.html">compute pressure</A> commands for details. Note that the IDs of the new computes are the fix-ID with underscore + "temp" or "press" appended and the group for the new computes is the same as the fix group. </P> <P>Note that these are NOT the computes used by thermodynamic output (see the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I> and <I>thermo_pressure</I>. This means you can change the attributes of this fix's temperature or pressure via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature or pressure during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> or -<I>thermo_pressure</I> will have no effect on this fix. Alternatively, you -can directly assign a new compute (for calculating temeperature or -pressure) that you have defined to this fix via the -<A HREF = "fix_modify.html">fix_modify</A> command. If you do this, note that the -kinetic energy derived from T should be consistent with the virial -term computed using all atoms. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms. -</P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. +<I>thermo_pressure</I> will have no effect on this fix. +</P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the state of the Nose/Hoover thermostat and barostat +to <A HREF = "restart.html">binary restart files</A>. See the +<A HREF = "read_restart.html">read_restart</A> command for info on how to re-specify +a fix in an input script that reads a restart file, so that the +operation of the fix continues in an uninterrupted fashion. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are +supported by this fix. You can use them to assign a +<A HREF = "compute.html">compute</A> you have defined to this fix which will be used +in its thermostatting or barostatting procedure. If you do this, note +that the kinetic energy derived from the compute temperature should be +consistent with the virial term computed using all atoms for the +pressure. LAMMPS will warn you if you choose to compute temperature +on a subset of atoms. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting and +barostatting to the system's potential energy as part of +<A HREF = "thermo_style.html">thermodynamic output</A>. +</P> +<P>The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +<A HREF = "thermo_style.html">thermo_style custom</A> command for details. +</P> +<P>This fix can ramp its target temperature and pressure over multiple +runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> +command. See the <A HREF = "run.html">run</A> command for details of how to do +this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. </P> <P>The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_nph.html">fix nph</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0 and dilate = all. </P> </HTML> diff --git a/doc/fix_npt.txt b/doc/fix_npt.txt index 793b190a9..00e4aa87b 100644 --- a/doc/fix_npt.txt +++ b/doc/fix_npt.txt @@ -1,169 +1,188 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix npt command :h3 [Syntax:] fix ID group-ID npt Tstart Tstop Tdamp p-style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l npt = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run :l Tdamp = temperature damping parameter (time units) :l p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l {xyz} args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) {xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) :pre zero or more keyword/value pairs may be appended to the args :l keyword = {drag} or {dilate} :l {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) {dilate} value = {all} or {partial} :pre :ule [Examples:] fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre [Description:] Perform constant NPT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. The "run"_run.html command documents -how to make the ramping take place across multiple runs. The {Tdamp} -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the "units"_units.html command). +run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +"units"_units.html command). The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword {dilate} is specified with a value of {partial}, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. :line The pressure can be controlled in one of several styles, as specified by the {p-style} argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to -the end value. The "run"_run.html command documents how to make the -ramping take place across multiple runs. +the end value. Style {xyz} means couple all 3 dimensions together when pressure is computed (isotropic pressure), and dilate/contract the 3 dimensions together. Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. For style {aniso}, all 3 dimensions dilate/contract independently using their individual pressure components as the 3 driving forces. For any of the styles except {xyz}, any of the independent pressure components (e.g. z in {xy}, or any dimension in {aniso}) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not implemented in LAMMPS. For all styles, the {Pdamp} parameter operates like the {Tdamp} parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the "units"_units.html command). :line This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp :pre See the "compute temp"_compute_temp.html and "compute pressure"_compute_pressure.html commands for details. Note that the IDs of the new computes are the fix-ID with underscore + "temp" or "press" appended and the group for the new computes is the same as the fix group. Note that these are NOT the computes used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} and {thermo_pressure}. This means you can change the attributes of this fix's temperature or pressure via the "compute_modify"_compute_modify.html command or print this temperature or pressure during thermodyanmic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} or -{thermo_pressure} will have no effect on this fix. Alternatively, you -can directly assign a new compute (for calculating temeperature or -pressure) that you have defined to this fix via the -"fix_modify"_fix_modify.html command. If you do this, note that the -kinetic energy derived from T should be consistent with the virial -term computed using all atoms. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms. - -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. +{thermo_pressure} will have no effect on this fix. + +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the state of the Nose/Hoover thermostat and barostat +to "binary restart files"_restart.html. See the +"read_restart"_read_restart.html command for info on how to re-specify +a fix in an input script that reads a restart file, so that the +operation of the fix continues in an uninterrupted fashion. + +The "fix_modify"_fix_modify.html {temp} and {press} options are +supported by this fix. You can use them to assign a +"compute"_compute.html you have defined to this fix which will be used +in its thermostatting or barostatting procedure. If you do this, note +that the kinetic energy derived from the compute temperature should be +consistent with the virial term computed using all atoms for the +pressure. LAMMPS will warn you if you choose to compute temperature +on a subset of atoms. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting and +barostatting to the system's potential energy as part of +"thermodynamic output"_thermo_style.html. + +The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +"thermo_style custom"_thermo_style.html command for details. + +This fix can ramp its target temperature and pressure over multiple +runs, using the {start} and {stop} keywords of the "run"_run.html +command. See the "run"_run.html command for details of how to do +this. + +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. [Related commands:] "fix nve"_fix_nve.html, "fix nvt"_fix_nvt.html, "fix nph"_fix_nph.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are drag = 0.0 and dilate = all. diff --git a/doc/fix_npt_asphere.html b/doc/fix_npt_asphere.html index 8f0c15cb7..d91d02aa8 100644 --- a/doc/fix_npt_asphere.html +++ b/doc/fix_npt_asphere.html @@ -1,185 +1,206 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix npt/asphere command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>npt/asphere = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run <LI>Tdamp = temperature damping parameter (time units) <LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> <PRE> <I>xyz</I> args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) </PRE> <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>drag</I> or <I>dilate</I> <PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag) <I>dilate</I> value = <I>all</I> or <I>partial</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial </PRE> <P><B>Description:</B> </P> <P>Perform constant NPT integration to update positions, velocities, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. </P> <P>The desired temperature at each timestep is a ramped value during the -run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents -how to make the ramping take place across multiple runs. The <I>Tdamp</I> -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the <A HREF = "units.html">units</A> command). +run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +<A HREF = "units.html">units</A> command). </P> <P>The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. </P> <P>Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. </P> <HR> <P>The pressure can be controlled in one of several styles, as specified by the <I>p-style</I> argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to -the end value. The <A HREF = "run.html">run</A> command documents how to make the -ramping take place across multiple runs. +the end value. </P> <P>Style <I>xyz</I> means couple all 3 dimensions together when pressure is computed (isotropic pressure), and dilate/contract the 3 dimensions together. </P> <P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. </P> <P>For style <I>aniso</I>, all 3 dimensions dilate/contract independently using their individual pressure components as the 3 driving forces. </P> <P>For any of the styles except <I>xyz</I>, any of the independent pressure components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. </P> <P>In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>For all pressure styles, the simulation box stays rectangular in -shape. Parinello-Rahman boundary conditions (tilted box) are not +shape. Parinello-Rahman boundary conditions (tilted box) are not yet implemented in LAMMPS. </P> <P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I> parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <HR> <P>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp/asphere compute fix-ID_press group-ID pressure fix-ID_temp </PRE> <P>See the <A HREF = "compute_temp_asphere.html">compute temp/asphere</A> and <A HREF = "compute_pressure.html">compute pressure</A> commands for details. Note that the IDs of the new computes are the fix-ID with underscore + "temp" or "press" appended and the group for the new computes is the same as the fix group. </P> <P>Note that these are NOT the computes used by thermodynamic output (see the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I> and <I>thermo_press</I>. This means you can change the attributes of this fix's temperature or pressure via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature or pressure during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> or -<I>thermo_press</I> will have no effect on this fix. Alternatively, you -can directly assign a new compute (for calculating temeperature or -pressure) that you have defined to this fix via the -<A HREF = "fix_modify.html">fix_modify</A> command. If you do this, note that the -kinetic energy derived from T should be consistent with the virial -term computed using all particles. LAMMPS will warn you if you choose -to compute temperature on a subset of particles. -</P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. +<I>thermo_press</I> will have no effect on this fix. +</P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the state of the Nose/Hoover thermostat and barostat +to <A HREF = "restart.html">binary restart files</A>. See the +<A HREF = "read_restart.html">read_restart</A> command for info on how to re-specify +a fix in an input script that reads a restart file, so that the +operation of the fix continues in an uninterrupted fashion. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are +supported by this fix. You can use them to assign a +<A HREF = "compute.html">compute</A> you have defined to this fix which will be used +in its thermostatting or barostatting procedure. If you do this, note +that the kinetic energy derived from the compute temperature should be +consistent with the virial term computed using all atoms for the +pressure. LAMMPS will warn you if you choose to compute temperature +on a subset of atoms. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting and +barostatting to the system's potential energy as part of +<A HREF = "thermo_style.html">thermodynamic output</A>. +</P> +<P>The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +<A HREF = "thermo_style.html">thermo_style custom</A> command for details. +</P> +<P>This fix can ramp its target temperature and pressure over multiple +runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> +command. See the <A HREF = "run.html">run</A> command for details of how to do +this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> -<P>Can only be used if LAMMPS was built with the "asphere" package. +<P>This fix is part of the "asphere" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P>Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. </P> <P>The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_nve_asphere.html">fix nve_asphere</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0 and dilate = all. </P> </HTML> diff --git a/doc/fix_npt_asphere.txt b/doc/fix_npt_asphere.txt index 654d3de66..066167769 100755 --- a/doc/fix_npt_asphere.txt +++ b/doc/fix_npt_asphere.txt @@ -1,172 +1,193 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix npt/asphere command :h3 [Syntax:] fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l npt/asphere = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run :l Tdamp = temperature damping parameter (time units) :l p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l {xyz} args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) {xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) :pre zero or more keyword/value pairs may be appended to the args :l keyword = {drag} or {dilate} :l {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) {dilate} value = {all} or {partial} :pre :ule [Examples:] fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre [Description:] Perform constant NPT integration to update positions, velocities, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. The "run"_run.html command documents -how to make the ramping take place across multiple runs. The {Tdamp} -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the "units"_units.html command). +run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +"units"_units.html command). The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the keyword {dilate} is specified with a value of {partial}, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. :line The pressure can be controlled in one of several styles, as specified by the {p-style} argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to -the end value. The "run"_run.html command documents how to make the -ramping take place across multiple runs. +the end value. Style {xyz} means couple all 3 dimensions together when pressure is computed (isotropic pressure), and dilate/contract the 3 dimensions together. Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. For style {aniso}, all 3 dimensions dilate/contract independently using their individual pressure components as the 3 driving forces. For any of the styles except {xyz}, any of the independent pressure components (e.g. z in {xy}, or any dimension in {aniso}) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. For all pressure styles, the simulation box stays rectangular in -shape. Parinello-Rahman boundary conditions (tilted box) are not +shape. Parinello-Rahman boundary conditions (tilted box) are not yet implemented in LAMMPS. For all styles, the {Pdamp} parameter operates like the {Tdamp} parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the "units"_units.html command). :line This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: compute fix-ID_temp group-ID temp/asphere compute fix-ID_press group-ID pressure fix-ID_temp :pre See the "compute temp/asphere"_compute_temp_asphere.html and "compute pressure"_compute_pressure.html commands for details. Note that the IDs of the new computes are the fix-ID with underscore + "temp" or "press" appended and the group for the new computes is the same as the fix group. Note that these are NOT the computes used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} and {thermo_press}. This means you can change the attributes of this fix's temperature or pressure via the "compute_modify"_compute_modify.html command or print this temperature or pressure during thermodyanmic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. Alternatively, you -can directly assign a new compute (for calculating temeperature or -pressure) that you have defined to this fix via the -"fix_modify"_fix_modify.html command. If you do this, note that the -kinetic energy derived from T should be consistent with the virial -term computed using all particles. LAMMPS will warn you if you choose -to compute temperature on a subset of particles. - -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. +{thermo_press} will have no effect on this fix. + +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the state of the Nose/Hoover thermostat and barostat +to "binary restart files"_restart.html. See the +"read_restart"_read_restart.html command for info on how to re-specify +a fix in an input script that reads a restart file, so that the +operation of the fix continues in an uninterrupted fashion. + +The "fix_modify"_fix_modify.html {temp} and {press} options are +supported by this fix. You can use them to assign a +"compute"_compute.html you have defined to this fix which will be used +in its thermostatting or barostatting procedure. If you do this, note +that the kinetic energy derived from the compute temperature should be +consistent with the virial term computed using all atoms for the +pressure. LAMMPS will warn you if you choose to compute temperature +on a subset of atoms. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting and +barostatting to the system's potential energy as part of +"thermodynamic output"_thermo_style.html. + +The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +"thermo_style custom"_thermo_style.html command for details. + +This fix can ramp its target temperature and pressure over multiple +runs, using the {start} and {stop} keywords of the "run"_run.html +command. See the "run"_run.html command for details of how to do +this. + +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] -Can only be used if LAMMPS was built with the "asphere" package. +This fix is part of the "asphere" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. [Related commands:] "fix npt"_fix_npt.html, "fix nve_asphere"_fix_nve_asphere.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are drag = 0.0 and dilate = all. diff --git a/doc/fix_nve.html b/doc/fix_nve.html index 61b962a03..ab4259178 100644 --- a/doc/fix_nve.html +++ b/doc/fix_nve.html @@ -1,39 +1,49 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nve command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nve </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nve = style name of this fix command </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nve </PRE> <P><B>Description:</B> </P> <P>Perform constant NVE updates of position and velocity for atoms in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_npt.html">fix npt</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_nve.txt b/doc/fix_nve.txt index cd3f90937..2ff28977e 100644 --- a/doc/fix_nve.txt +++ b/doc/fix_nve.txt @@ -1,34 +1,44 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nve command :h3 [Syntax:] fix ID group-ID nve :pre ID, group-ID are documented in "fix"_fix.html command nve = style name of this fix command :ul [Examples:] fix 1 all nve :pre [Description:] Perform constant NVE updates of position and velocity for atoms in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix nvt"_fix_nvt.html, "fix npt"_fix_npt.html [Default:] none diff --git a/doc/fix_nve_asphere.html b/doc/fix_nve_asphere.html index 054b2c63c..3f670bf0e 100644 --- a/doc/fix_nve_asphere.html +++ b/doc/fix_nve_asphere.html @@ -1,42 +1,54 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nve/asphere command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nve/asphere </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nve/asphere = style name of this fix command </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nve/asphere </PRE> <P><B>Description:</B> </P> <P>Perform constant NVE updates of position, velocity, orientation, and angular velocity for aspherical or ellipsoidal particles in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> -<P>Can only be used if LAMMPS was built with the "asphere" package. +<P>This fix is part of the "asphere" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_nve_asphere.txt b/doc/fix_nve_asphere.txt index 90f4ace9f..b40be7224 100755 --- a/doc/fix_nve_asphere.txt +++ b/doc/fix_nve_asphere.txt @@ -1,37 +1,49 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nve/asphere command :h3 [Syntax:] fix ID group-ID nve/asphere :pre ID, group-ID are documented in "fix"_fix.html command nve/asphere = style name of this fix command :ul [Examples:] fix 1 all nve/asphere :pre [Description:] Perform constant NVE updates of position, velocity, orientation, and angular velocity for aspherical or ellipsoidal particles in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] -Can only be used if LAMMPS was built with the "asphere" package. +This fix is part of the "asphere" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "fix nve"_fix_nve.html [Default:] none diff --git a/doc/fix_nve_dipole.html b/doc/fix_nve_dipole.html index aa1fa9d9d..4c90f1e61 100644 --- a/doc/fix_nve_dipole.html +++ b/doc/fix_nve_dipole.html @@ -1,42 +1,54 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nve/dipole command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nve/dipole </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nve/dipole = style name of this fix command </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nve/dipole </PRE> <P><B>Description:</B> </P> <P>Perform constant NVE updates of position, velocity, orientation, and angular velocity for particles with point dipole moments in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> -<P>Can only be used if LAMMPS was built with the "dipole" package. +<P>This fix is part of the "dipole" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_nve_dipole.txt b/doc/fix_nve_dipole.txt index b78f4c238..ce54074c8 100755 --- a/doc/fix_nve_dipole.txt +++ b/doc/fix_nve_dipole.txt @@ -1,37 +1,49 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nve/dipole command :h3 [Syntax:] fix ID group-ID nve/dipole :pre ID, group-ID are documented in "fix"_fix.html command nve/dipole = style name of this fix command :ul [Examples:] fix 1 all nve/dipole :pre [Description:] Perform constant NVE updates of position, velocity, orientation, and angular velocity for particles with point dipole moments in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] -Can only be used if LAMMPS was built with the "dipole" package. +This fix is part of the "dipole" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "fix nve"_fix_nve.html [Default:] none diff --git a/doc/fix_nve_gran.html b/doc/fix_nve_gran.html index 21d9c1ec2..1fae9ed3c 100644 --- a/doc/fix_nve_gran.html +++ b/doc/fix_nve_gran.html @@ -1,43 +1,55 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nve/gran command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nve/gran </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nve/gran = style name of this fix command </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nve/gran </PRE> <P><B>Description:</B> </P> <P>Perform constant NVE updates each timestep on a group of atoms of atom style granular. V is volume; E is energy. Granular atoms store rotational information as well as position and velocity, so this integrator updates translational and rotational degrees of freedom due to forces and torques. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> -<P>Can only be used if LAMMPS was built with the "granular" package. +<P>This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "atom_style.html">atom_style granular</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_nve_gran.txt b/doc/fix_nve_gran.txt index 22caaf49e..4423733b9 100644 --- a/doc/fix_nve_gran.txt +++ b/doc/fix_nve_gran.txt @@ -1,38 +1,50 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nve/gran command :h3 [Syntax:] fix ID group-ID nve/gran :pre ID, group-ID are documented in "fix"_fix.html command nve/gran = style name of this fix command :ul [Examples:] fix 1 all nve/gran :pre [Description:] Perform constant NVE updates each timestep on a group of atoms of atom style granular. V is volume; E is energy. Granular atoms store rotational information as well as position and velocity, so this integrator updates translational and rotational degrees of freedom due to forces and torques. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none -Can only be used if LAMMPS was built with the "granular" package. +This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "atom_style granular"_atom_style.html [Default:] none diff --git a/doc/fix_nve_noforce.html b/doc/fix_nve_noforce.html index c6dab7199..bac32dc51 100644 --- a/doc/fix_nve_noforce.html +++ b/doc/fix_nve_noforce.html @@ -1,49 +1,59 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nve/noforce command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nve </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nve/noforce = style name of this fix command </UL> <P><B>Examples:</B> </P> <PRE>fix 3 wall nve/noforce </PRE> <P><B>Description:</B> </P> <P>Perform updates of position, but not velocity for atoms in the group each timestep. In other words, the force on the atoms is ignored and their velocity is not updated. The atom velocities are used to update their positions. </P> <P>This can be useful for wall atoms, when you set their velocities, and want the wall to move (or stay stationary) in a prescribed fashion. </P> <P>This can also be accomplished via the <A HREF = "fix_setforce.html">fix setforce</A> command, but with fix nve/noforce, the forces on the wall atoms are unchanged, and can thus be printed by the <A HREF = "dump.html">dump</A> command or queried with an equal-style <A HREF = "variable.html">variable</A> that uses the fcm() group function to compute the total force on the group of atoms. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_nve_noforce.txt b/doc/fix_nve_noforce.txt index 627dc686f..12716b6be 100644 --- a/doc/fix_nve_noforce.txt +++ b/doc/fix_nve_noforce.txt @@ -1,44 +1,54 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nve/noforce command :h3 [Syntax:] fix ID group-ID nve :pre ID, group-ID are documented in "fix"_fix.html command nve/noforce = style name of this fix command :ul [Examples:] fix 3 wall nve/noforce :pre [Description:] Perform updates of position, but not velocity for atoms in the group each timestep. In other words, the force on the atoms is ignored and their velocity is not updated. The atom velocities are used to update their positions. This can be useful for wall atoms, when you set their velocities, and want the wall to move (or stay stationary) in a prescribed fashion. This can also be accomplished via the "fix setforce"_fix_setforce.html command, but with fix nve/noforce, the forces on the wall atoms are unchanged, and can thus be printed by the "dump"_dump.html command or queried with an equal-style "variable"_variable.html that uses the fcm() group function to compute the total force on the group of atoms. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix nve"_fix_nve.html [Default:] none diff --git a/doc/fix_nvt.html b/doc/fix_nvt.html index 0f89ae6c6..a1939a03d 100644 --- a/doc/fix_nvt.html +++ b/doc/fix_nvt.html @@ -1,109 +1,128 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nvt command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nvt Tstart Tstop Tdamp keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nvt = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run <LI>Tdamp = temperature damping parameter (time units) <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>drag</I> <PRE> <I>drag</I> value = drag factor added to thermostat (0.0 = no drag) </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nvt 300.0 300.0 100.0 fix 1 all nvt 300.0 300.0 100.0 drag 0.2 </PRE> <P><B>Description:</B> </P> <P>Perform constant NVT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system trajectory consistent with the canonical ensemble. </P> <P>The desired temperature at each timestep is a ramped value during the -run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents -how to make the ramping take place across multiple runs. The <I>Tdamp</I> -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the <A HREF = "units.html">units</A> command). +run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +<A HREF = "units.html">units</A> command). </P> <P>In some cases (e.g. for solids) the temperature of the system can oscillate undesirably when a Nose/Hoover thermostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: </P> <PRE>compute fix-ID_temp group-ID temp </PRE> <P>See the <A HREF = "compute_temp.html">compute temp</A> command for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended and the group for the new compute is the same as the fix group. </P> <P>Note that this is NOT the compute used by thermodynamic output (see the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> will have no -effect on this fix. Alternatively, you can directly assign a new -compute (for calculating temeperature) that you have defined to this -fix via the <A HREF = "fix_modify.html">fix_modify</A> command. -</P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. +effect on this fix. +</P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the state of the Nose/Hoover thermostat to <A HREF = "restart.html">binary +restart files</A>. See the <A HREF = "read_restart.html">read_restart</A> +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an +uninterrupted fashion. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this +fix. You can use it to assign a <A HREF = "compute.html">compute</A> you have +defined to this fix which will be used in its thermostatting +procedure. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting to +the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic +output</A>. +</P> +<P>The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +<A HREF = "thermo_style.html">thermo_style custom</A> command for details. +</P> +<P>This fix can ramp its target temperature over multiple runs, using the +<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the +<A HREF = "run.html">run</A> command for details of how to do this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_langevin.html">fix langevin</A>, <A HREF = "fix_modify.html">fix_modify</A>, <A HREF = "temperature.html">temperature</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0. </P> </HTML> diff --git a/doc/fix_nvt.txt b/doc/fix_nvt.txt index 58e8a3da0..b50df05e0 100644 --- a/doc/fix_nvt.txt +++ b/doc/fix_nvt.txt @@ -1,98 +1,117 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nvt command :h3 [Syntax:] fix ID group-ID nvt Tstart Tstop Tdamp keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l nvt = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run :l Tdamp = temperature damping parameter (time units) :l zero or more keyword/value pairs may be appended to the args :l keyword = {drag} :l {drag} value = drag factor added to thermostat (0.0 = no drag) :pre :ule [Examples:] fix 1 all nvt 300.0 300.0 100.0 fix 1 all nvt 300.0 300.0 100.0 drag 0.2 :pre [Description:] Perform constant NVT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system trajectory consistent with the canonical ensemble. The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. The "run"_run.html command documents -how to make the ramping take place across multiple runs. The {Tdamp} -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the "units"_units.html command). +run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +"units"_units.html command). In some cases (e.g. for solids) the temperature of the system can oscillate undesirably when a Nose/Hoover thermostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: compute fix-ID_temp group-ID temp :pre See the "compute temp"_compute_temp.html command for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the "compute_modify"_compute_modify.html command or print this temperature during thermodyanmic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} will have no -effect on this fix. Alternatively, you can directly assign a new -compute (for calculating temeperature) that you have defined to this -fix via the "fix_modify"_fix_modify.html command. - -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. +effect on this fix. + +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the state of the Nose/Hoover thermostat to "binary +restart files"_restart.html. See the "read_restart"_read_restart.html +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an +uninterrupted fashion. + +The "fix_modify"_fix_modify.html {temp} option is supported by this +fix. You can use it to assign a "compute"_compute.html you have +defined to this fix which will be used in its thermostatting +procedure. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting to +the system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +"thermo_style custom"_thermo_style.html command for details. + +This fix can ramp its target temperature over multiple runs, using the +{start} and {stop} keywords of the "run"_run.html command. See the +"run"_run.html command for details of how to do this. + +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. [Related commands:] "fix nve"_fix_nve.html, "fix npt"_fix_npt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html, "fix_modify"_fix_modify.html, "temperature"_temperature.html [Default:] The keyword defaults are drag = 0.0. diff --git a/doc/fix_nvt_asphere.html b/doc/fix_nvt_asphere.html index c8bbee14b..cdffdedb7 100644 --- a/doc/fix_nvt_asphere.html +++ b/doc/fix_nvt_asphere.html @@ -1,111 +1,132 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nvt/asphere command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nvt/asphere Tstart Tstop Tdamp keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nvt/asphere = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run <LI>Tdamp = temperature damping parameter (time units) <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>drag</I> <PRE> <I>drag</I> value = drag factor added to thermostat (0.0 = no drag) </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nvt/asphere 300.0 300.0 100.0 fix 1 all nvt/asphere 300.0 300.0 100.0 drag 0.2 </PRE> <P><B>Description:</B> </P> <P>Perform constant NVT integration to update positions, velocities, and angular velocities each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system trajectory consistent with the canonical ensemble. </P> <P>The desired temperature at each timestep is a ramped value during the -run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents -how to make the ramping take place across multiple runs. The <I>Tdamp</I> -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the <A HREF = "units.html">units</A> command). +run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +<A HREF = "units.html">units</A> command). </P> <P>In some cases (e.g. for solids) the temperature of the system can oscillate undesirably when a Nose/Hoover thermostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/asphere", as if this command had been issued: </P> <PRE>compute fix-ID_temp group-ID temp/asphere </PRE> <P>See the <A HREF = "compute_temp_asphere.html">compute temp/asphere</A> command for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended and the group for the new compute is the same as the fix group. </P> <P>Note that this is NOT the compute used by thermodynamic output (see the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> will have no -effect on this fix. Alternatively, you can directly assign a new -compute (for calculating temeperature) that you have defined to this -fix via the <A HREF = "fix_modify.html">fix_modify</A> command. +effect on this fix. </P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the state of the Nose/Hoover thermostat to <A HREF = "restart.html">binary +restart files</A>. See the <A HREF = "read_restart.html">read_restart</A> +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an +uninterrupted fashion. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this +fix. You can use it to assign a <A HREF = "compute.html">compute</A> you have +defined to this fix which will be used in its thermostatting +procedure. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting to +the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic +output</A>. +</P> +<P>The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +<A HREF = "thermo_style.html">thermo_style custom</A> command for details. +</P> +<P>This fix can ramp its target temperature over multiple runs, using the +<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the +<A HREF = "run.html">run</A> command for details of how to do this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> -<P>Can only be used if LAMMPS was built with the "asphere" package. +<P>This fix is part of the "asphere" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P>The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_nve_asphere.html">fix nve_asphere</A>, <A HREF = "fix_npt_asphere.html">fix npt_asphere</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0. </P> </HTML> diff --git a/doc/fix_nvt_asphere.txt b/doc/fix_nvt_asphere.txt index 7909fee98..e38b3ba71 100755 --- a/doc/fix_nvt_asphere.txt +++ b/doc/fix_nvt_asphere.txt @@ -1,100 +1,121 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nvt/asphere command :h3 [Syntax:] fix ID group-ID nvt/asphere Tstart Tstop Tdamp keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l nvt/asphere = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run :l Tdamp = temperature damping parameter (time units) :l zero or more keyword/value pairs may be appended to the args :l keyword = {drag} :l {drag} value = drag factor added to thermostat (0.0 = no drag) :pre :ule [Examples:] fix 1 all nvt/asphere 300.0 300.0 100.0 fix 1 all nvt/asphere 300.0 300.0 100.0 drag 0.2 :pre [Description:] Perform constant NVT integration to update positions, velocities, and angular velocities each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system trajectory consistent with the canonical ensemble. The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. The "run"_run.html command documents -how to make the ramping take place across multiple runs. The {Tdamp} -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the "units"_units.html command). +run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +"units"_units.html command). In some cases (e.g. for solids) the temperature of the system can oscillate undesirably when a Nose/Hoover thermostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/asphere", as if this command had been issued: compute fix-ID_temp group-ID temp/asphere :pre See the "compute temp/asphere"_compute_temp_asphere.html command for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the "compute_modify"_compute_modify.html command or print this temperature during thermodyanmic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} will have no -effect on this fix. Alternatively, you can directly assign a new -compute (for calculating temeperature) that you have defined to this -fix via the "fix_modify"_fix_modify.html command. +effect on this fix. -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the state of the Nose/Hoover thermostat to "binary +restart files"_restart.html. See the "read_restart"_read_restart.html +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an +uninterrupted fashion. + +The "fix_modify"_fix_modify.html {temp} option is supported by this +fix. You can use it to assign a "compute"_compute.html you have +defined to this fix which will be used in its thermostatting +procedure. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting to +the system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +"thermo_style custom"_thermo_style.html command for details. + +This fix can ramp its target temperature over multiple runs, using the +{start} and {stop} keywords of the "run"_run.html command. See the +"run"_run.html command for details of how to do this. + +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] -Can only be used if LAMMPS was built with the "asphere" package. +This fix is part of the "asphere" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. [Related commands:] "fix nvt"_fix_nvt.html, "fix nve_asphere"_fix_nve_asphere.html, "fix npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are drag = 0.0. diff --git a/doc/fix_nvt_sllod.html b/doc/fix_nvt_sllod.html index 61dc95578..1ee450254 100644 --- a/doc/fix_nvt_sllod.html +++ b/doc/fix_nvt_sllod.html @@ -1,144 +1,163 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nvt/sllod command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nvt/sllod Tstart Tstop Tdamp keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nvt/sllod = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run <LI>Tdamp = temperature damping parameter (time units) <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>drag</I> <PRE> <I>drag</I> value = drag factor added to thermostat (0.0 = no drag) </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nvt/sllod 300.0 300.0 100.0 fix 1 all nvt/sllod 300.0 300.0 100.0 drag 0.2 </PRE> <P><B>Description:</B> </P> <P>Perform constant NVT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system trajectory consistent with the canonical ensemble. </P> <P>This thermostat is used for a simulation box that is changing size and/or shape, for example in a non-equilibrium MD (NEMD) simulation. The size/shape change is induced by use of the <A HREF = "fix_deform.html">fix deform</A> command, so each point in the simulation box can be thought of as having a "streaming" velocity. This position-dependent streaming velocity is subtracted from each atom's actual velocity to yield a thermal velocity which is used for temperature computation and thermostatting. For example, if the box is being sheared in x, relative to y, then points at the bottom of the box (low y) have a small x velocity, while points at the top of the box (hi y) have a large x velocity. These velocities do not contribute to the thermal "temperature" of the atom. </P> <P>IMPORTANT NOTE: <A HREF = "fix_deform.html">Fix deform</A> has an option for remapping either atom coordinates or velocities to the changing simulation box. To use fix nvt/sllod, fix deform should NOT remap atom positions, because fix nvt/sllod adjusts the atom positions and velocities to create a velocity profile that matches the changing box size/shape. Fix deform SHOULD remap atom velocities when atoms cross periodic boundaries since that is consistent with maintaining the velocity profile created by fix nvt/sllod. LAMMPS will give an error if this setting is not consistent. </P> <P>The SLLOD equations of motion coupled to a Nose/Hoover thermostat are discussed in <A HREF = "#Tuckerman">(Tuckerman)</A> (eqs 4 and 5), which is what is implemented in LAMMPS in a velocity Verlet formulation. </P> <P>The desired temperature at each timestep is a ramped value during the -run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents -how to make the ramping take place across multiple runs. The <I>Tdamp</I> -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the <A HREF = "units.html">units</A> command). +run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +<A HREF = "units.html">units</A> command). </P> <P>In some cases (e.g. for solids) the temperature of the system can oscillate undesirably when a Nose/Hoover thermostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/deform", as if this command had been issued: </P> <PRE>compute fix-ID_temp group-ID temp/deform </PRE> <P>See the <A HREF = "compute_temp_deform.html">compute temp/deform</A> command for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended and the group for the new compute is the same as the fix group. </P> <P>Note that this is NOT the compute used by thermodynamic output (see the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> will have no -effect on this fix. Alternatively, you can directly assign a new -compute (for calculating temeperature) that you have defined to this -fix via the <A HREF = "fix_modify.html">fix_modify</A> command. -</P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. +effect on this fix. +</P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the state of the Nose/Hoover thermostat to <A HREF = "restart.html">binary +restart files</A>. See the <A HREF = "read_restart.html">read_restart</A> +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an +uninterrupted fashion. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this +fix. You can use it to assign a <A HREF = "compute.html">compute</A> you have +defined to this fix which will be used in its thermostatting +procedure. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting to +the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic +output</A>. +</P> +<P>The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +<A HREF = "thermo_style.html">thermo_style custom</A> command for details. +</P> +<P>This fix can ramp its target temperature over multiple runs, using the +<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the +<A HREF = "run.html">run</A> command for details of how to do this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_langevin.html">fix langevin</A>, <A HREF = "fix_modify.html">fix_modify</A>, <A HREF = "temperature.html">temperature</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0. </P> <HR> <A NAME = "Tuckerman"></A> <P><B>(Tuckerman)</B> Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, 106, 5615 (1997). </P> </HTML> diff --git a/doc/fix_nvt_sllod.txt b/doc/fix_nvt_sllod.txt index d4896d953..f951f8c11 100644 --- a/doc/fix_nvt_sllod.txt +++ b/doc/fix_nvt_sllod.txt @@ -1,132 +1,151 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix nvt/sllod command :h3 [Syntax:] fix ID group-ID nvt/sllod Tstart Tstop Tdamp keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l nvt/sllod = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run :l Tdamp = temperature damping parameter (time units) :l zero or more keyword/value pairs may be appended to the args :l keyword = {drag} :l {drag} value = drag factor added to thermostat (0.0 = no drag) :pre :ule [Examples:] fix 1 all nvt/sllod 300.0 300.0 100.0 fix 1 all nvt/sllod 300.0 300.0 100.0 drag 0.2 :pre [Description:] Perform constant NVT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat. V is volume; T is temperature. This creates a system trajectory consistent with the canonical ensemble. This thermostat is used for a simulation box that is changing size and/or shape, for example in a non-equilibrium MD (NEMD) simulation. The size/shape change is induced by use of the "fix deform"_fix_deform.html command, so each point in the simulation box can be thought of as having a "streaming" velocity. This position-dependent streaming velocity is subtracted from each atom's actual velocity to yield a thermal velocity which is used for temperature computation and thermostatting. For example, if the box is being sheared in x, relative to y, then points at the bottom of the box (low y) have a small x velocity, while points at the top of the box (hi y) have a large x velocity. These velocities do not contribute to the thermal "temperature" of the atom. IMPORTANT NOTE: "Fix deform"_fix_deform.html has an option for remapping either atom coordinates or velocities to the changing simulation box. To use fix nvt/sllod, fix deform should NOT remap atom positions, because fix nvt/sllod adjusts the atom positions and velocities to create a velocity profile that matches the changing box size/shape. Fix deform SHOULD remap atom velocities when atoms cross periodic boundaries since that is consistent with maintaining the velocity profile created by fix nvt/sllod. LAMMPS will give an error if this setting is not consistent. The SLLOD equations of motion coupled to a Nose/Hoover thermostat are discussed in "(Tuckerman)"_#Tuckerman (eqs 4 and 5), which is what is implemented in LAMMPS in a velocity Verlet formulation. The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. The "run"_run.html command documents -how to make the ramping take place across multiple runs. The {Tdamp} -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 100.0 means to relax -the temperature in a timespan of (roughly) 100 time units (tau or -fmsec or psec - see the "units"_units.html command). +run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in +time units and determines how rapidly the temperature is relaxed. For +example, a value of 100.0 means to relax the temperature in a timespan +of (roughly) 100 time units (tau or fmsec or psec - see the +"units"_units.html command). In some cases (e.g. for solids) the temperature of the system can oscillate undesirably when a Nose/Hoover thermostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/deform", as if this command had been issued: compute fix-ID_temp group-ID temp/deform :pre See the "compute temp/deform"_compute_temp_deform.html command for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the "compute_modify"_compute_modify.html command or print this temperature during thermodyanmic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} will have no -effect on this fix. Alternatively, you can directly assign a new -compute (for calculating temeperature) that you have defined to this -fix via the "fix_modify"_fix_modify.html command. - -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. +effect on this fix. + +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the state of the Nose/Hoover thermostat to "binary +restart files"_restart.html. See the "read_restart"_read_restart.html +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an +uninterrupted fashion. + +The "fix_modify"_fix_modify.html {temp} option is supported by this +fix. You can use it to assign a "compute"_compute.html you have +defined to this fix which will be used in its thermostatting +procedure. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy change induced by Nose/Hoover thermostatting to +the system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +"thermo_style custom"_thermo_style.html command for details. + +This fix can ramp its target temperature over multiple runs, using the +{start} and {stop} keywords of the "run"_run.html command. See the +"run"_run.html command for details of how to do this. + +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. [Related commands:] "fix nve"_fix_nve.html, "fix npt"_fix_npt.html, "fix npt"_fix_npt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html, "fix_modify"_fix_modify.html, "temperature"_temperature.html [Default:] The keyword defaults are drag = 0.0. :line :link(Tuckerman) [(Tuckerman)] Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, 106, 5615 (1997). diff --git a/doc/fix_orient_fcc.html b/doc/fix_orient_fcc.html index 36ed72e7a..66fc8f785 100644 --- a/doc/fix_orient_fcc.html +++ b/doc/fix_orient_fcc.html @@ -1,166 +1,179 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix orient/fcc command </H3> <PRE>fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nstats = print stats every this many steps, 0 = never <LI>dir = 0/1 for which crystal is used as reference <LI>alat = fcc cubic lattice constant (distance units) <LI>dE = energy added to each atom (energy units) <LI>cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi <LI>file0,file1 = files that specify orientation of each grain </UL> <P><B>Examples:</B> </P> <PRE>fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec </PRE> <P><B>Description:</B> </P> <P>The fix applies an orientation-dependent force to atoms near a planar grain boundary which can be used to induce grain boundary migration (in the direction perpendicular to the grain boundary plane). The motivation and explanation of this force and its application are described in <A HREF = "#Janssens">(Janssens)</A>. The force is only applied to atoms in the fix group. </P> <P>The basic idea is that atoms in one grain (on one side of the boundary) have a potential energy dE added to them. Atoms in the other grain have 0.0 potential energy added. Atoms near the boundary (whose neighbor environment is intermediate between the two grain orientations) have an energy between 0.0 and dE added. This creates an effective driving force to reduce the potential energy of atoms near the boundary by pushing them towards one of the grain orientations. For dir = 1 and dE > 0, the boundary will thus move so that the grain described by file0 grows and the grain described by file1 shrinks. Thus this fix is designed for simulations of two-grain systems, either with one grain boundary and free surfaces parallel to the boundary, or a system with periodic boundary conditions and two equal and opposite grain boundaries. In either case, the entire system can displace during the simulation, and such motion should be accounted for in measuring the grain boundary velocity. </P> <P>The potential energy added to atom I is given by these formulas </P> <CENTER><IMG SRC = "Eqs/fix_orient_fcc.jpg"> </CENTER> <P>which are fully explained in <A HREF = "#Janssens">(Janssens)</A>. The order parameter Xi for atom I in equation (1) is a sum over the 12 nearest neighbors of atom I. Rj is the vector from atom I to its neighbor J, and RIj is a vector in the reference (perfect) crystal. That is, if dir = 0/1, then RIj is a vector to an atom coord from file 0/1. Equation (2) gives the expected value of the order parameter XiIJ in the other grain. Hi and lo cutoffs are defined in equations (3) and (4), using the input parameters <I>cutlo</I> and <I>cuthi</I> as threshholds to avoid adding grain boundary energy when the deviation in the order parameter from 0 or 1 is small (e.g. due to thermal fluctuations in a perfect crystal). The added potential energy Ui for atom I is given in equation (6) where it is interpolated between 0 and dE using the two threshhold Xi values and the Wi value of equation (5). </P> <P>The derivative of this energy expression gives the force on each atom which thus depends on the orientation of its neighbors relative to the 2 grain orientations. Only atoms near the grain boundary feel a net force which tends to drive them to one of the two grain orientations. </P> <P>In equation (1), the reference vector used for each neigbbor is the reference vector closest to the actual neighbor position. This means it is possible two different neighbors will use the same reference vector. In such cases, the atom in question is far from a perfect orientation and will likely receive the full dE addition, so the effect of duplicate reference vector usage is small. </P> <P>The <I>dir</I> parameter determines which grain wants to grow at the expense of the other. A value of 0 means the first grain will shrink; a value of 1 means it will grow. This assumes that <I>dE</I> is positive. The reverse will be true if <I>dE</I> is negative. </P> <P>The <I>alat</I> parameter is the cubic lattice constant for the fcc material and is only used to compute a cutoff distance of 1.57 * alat / sqrt(2) for finding the 12 nearest neighbors of each atom (which should be valid for an fcc crystal). A longer/shorter cutoff can be imposed by adjusting <I>alat</I>. If a particular atom has less than 12 neighbors within the cutoff, the order parameter of equation (1) is effectively multiplied by 12 divided by the actual number of neighbors within the cutoff. </P> <P>The <I>dE</I> parameter is the maximum amount of additional energy added to each atom in the grain which wants to shrink. </P> <P>The <I>cutlo</I> and <I>cuthi</I> parameters are used to reduce the force added to bulk atoms in each grain far away from the boundary. An atom in the bulk surrounded by neighbors at the ideal grain orientation would compute an order parameter of 0 or 1 and have no force added. However, thermal vibrations in the solid will cause the order parameters to be greater than 0 or less than 1. The cutoff parameters mask this effect, allowing forces to only be added to atoms with order-parameters between the cutoff values. </P> <P><I>File0</I> and <I>file1</I> are filenames for the two grains which each contain 6 vectors (6 lines with 3 values per line) which specify the grain orientations. Each vector is a displacement from a central atom (0,0,0) to a nearest neighbor atom in an fcc lattice at the proper orientation. The vector lengths should all be identical since an fcc lattice has a coordination number of 12. Only 6 are listed due to symmetry, so the list must include one from each pair of equal-and-opposite neighbors. A pair of orientation files for a Sigma=5 tilt boundary are show below. </P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the potential energy of atom interactions with the grain +boundary driving force to the system's potential energy as part of +<A HREF = "thermo_style.html">thermodynamic output</A>. +</P> +<P>The atom/grain-boundary interaction energy can be printed as part of +thermodynamic output via the keyword f_ID, where ID is the fix-ID of +this fix. See the <A HREF = "thermo_style.html">thermo_style custom</A> command for +details. +</P> +<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>This fix should only be used with fcc lattices. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Janssens"></A> <P><B>(Janssens)</B> Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature Materials, 5, 124-127 (2006). </P> <HR> <P>For illustration purposes, here are example files that specify a Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 Angs. </P> <P>file0: </P> <PRE> 0.798410432046075 1.785300000000000 1.596820864092150 -0.798410432046075 1.785300000000000 -1.596820864092150 2.395231296138225 0.000000000000000 0.798410432046075 0.798410432046075 0.000000000000000 -2.395231296138225 1.596820864092150 1.785300000000000 -0.798410432046075 1.596820864092150 -1.785300000000000 -0.798410432046075 </PRE> <P>file1: </P> <PRE> -0.798410432046075 1.785300000000000 1.596820864092150 0.798410432046075 1.785300000000000 -1.596820864092150 0.798410432046075 0.000000000000000 2.395231296138225 2.395231296138225 0.000000000000000 -0.798410432046075 1.596820864092150 1.785300000000000 0.798410432046075 1.596820864092150 -1.785300000000000 0.798410432046075 </PRE> </HTML> diff --git a/doc/fix_orient_fcc.txt b/doc/fix_orient_fcc.txt index 44cfd3045..2f586125c 100644 --- a/doc/fix_orient_fcc.txt +++ b/doc/fix_orient_fcc.txt @@ -1,160 +1,173 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix orient/fcc command :h3 fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 :pre ID, group-ID are documented in "fix"_fix.html command nstats = print stats every this many steps, 0 = never dir = 0/1 for which crystal is used as reference alat = fcc cubic lattice constant (distance units) dE = energy added to each atom (energy units) cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi file0,file1 = files that specify orientation of each grain :ul [Examples:] fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec :pre [Description:] The fix applies an orientation-dependent force to atoms near a planar grain boundary which can be used to induce grain boundary migration (in the direction perpendicular to the grain boundary plane). The motivation and explanation of this force and its application are described in "(Janssens)"_#Janssens. The force is only applied to atoms in the fix group. The basic idea is that atoms in one grain (on one side of the boundary) have a potential energy dE added to them. Atoms in the other grain have 0.0 potential energy added. Atoms near the boundary (whose neighbor environment is intermediate between the two grain orientations) have an energy between 0.0 and dE added. This creates an effective driving force to reduce the potential energy of atoms near the boundary by pushing them towards one of the grain orientations. For dir = 1 and dE > 0, the boundary will thus move so that the grain described by file0 grows and the grain described by file1 shrinks. Thus this fix is designed for simulations of two-grain systems, either with one grain boundary and free surfaces parallel to the boundary, or a system with periodic boundary conditions and two equal and opposite grain boundaries. In either case, the entire system can displace during the simulation, and such motion should be accounted for in measuring the grain boundary velocity. The potential energy added to atom I is given by these formulas :c,image(Eqs/fix_orient_fcc.jpg) which are fully explained in "(Janssens)"_#Janssens. The order parameter Xi for atom I in equation (1) is a sum over the 12 nearest neighbors of atom I. Rj is the vector from atom I to its neighbor J, and RIj is a vector in the reference (perfect) crystal. That is, if dir = 0/1, then RIj is a vector to an atom coord from file 0/1. Equation (2) gives the expected value of the order parameter XiIJ in the other grain. Hi and lo cutoffs are defined in equations (3) and (4), using the input parameters {cutlo} and {cuthi} as threshholds to avoid adding grain boundary energy when the deviation in the order parameter from 0 or 1 is small (e.g. due to thermal fluctuations in a perfect crystal). The added potential energy Ui for atom I is given in equation (6) where it is interpolated between 0 and dE using the two threshhold Xi values and the Wi value of equation (5). The derivative of this energy expression gives the force on each atom which thus depends on the orientation of its neighbors relative to the 2 grain orientations. Only atoms near the grain boundary feel a net force which tends to drive them to one of the two grain orientations. In equation (1), the reference vector used for each neigbbor is the reference vector closest to the actual neighbor position. This means it is possible two different neighbors will use the same reference vector. In such cases, the atom in question is far from a perfect orientation and will likely receive the full dE addition, so the effect of duplicate reference vector usage is small. The {dir} parameter determines which grain wants to grow at the expense of the other. A value of 0 means the first grain will shrink; a value of 1 means it will grow. This assumes that {dE} is positive. The reverse will be true if {dE} is negative. The {alat} parameter is the cubic lattice constant for the fcc material and is only used to compute a cutoff distance of 1.57 * alat / sqrt(2) for finding the 12 nearest neighbors of each atom (which should be valid for an fcc crystal). A longer/shorter cutoff can be imposed by adjusting {alat}. If a particular atom has less than 12 neighbors within the cutoff, the order parameter of equation (1) is effectively multiplied by 12 divided by the actual number of neighbors within the cutoff. The {dE} parameter is the maximum amount of additional energy added to each atom in the grain which wants to shrink. The {cutlo} and {cuthi} parameters are used to reduce the force added to bulk atoms in each grain far away from the boundary. An atom in the bulk surrounded by neighbors at the ideal grain orientation would compute an order parameter of 0 or 1 and have no force added. However, thermal vibrations in the solid will cause the order parameters to be greater than 0 or less than 1. The cutoff parameters mask this effect, allowing forces to only be added to atoms with order-parameters between the cutoff values. {File0} and {file1} are filenames for the two grains which each contain 6 vectors (6 lines with 3 values per line) which specify the grain orientations. Each vector is a displacement from a central atom (0,0,0) to a nearest neighbor atom in an fcc lattice at the proper orientation. The vector lengths should all be identical since an fcc lattice has a coordination number of 12. Only 6 are listed due to symmetry, so the list must include one from each pair of equal-and-opposite neighbors. A pair of orientation files for a Sigma=5 tilt boundary are show below. -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the potential energy of atom interactions with the grain +boundary driving force to the system's potential energy as part of +"thermodynamic output"_thermo_style.html. + +The atom/grain-boundary interaction energy can be printed as part of +thermodynamic output via the keyword f_ID, where ID is the fix-ID of +this fix. See the "thermo_style custom"_thermo_style.html command for +details. + +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. [Restrictions:] This fix should only be used with fcc lattices. [Related commands:] "fix_modify"_fix_modify.html [Default:] none :line :link(Janssens) [(Janssens)] Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature Materials, 5, 124-127 (2006). :line For illustration purposes, here are example files that specify a Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 Angs. file0: 0.798410432046075 1.785300000000000 1.596820864092150 -0.798410432046075 1.785300000000000 -1.596820864092150 2.395231296138225 0.000000000000000 0.798410432046075 0.798410432046075 0.000000000000000 -2.395231296138225 1.596820864092150 1.785300000000000 -0.798410432046075 1.596820864092150 -1.785300000000000 -0.798410432046075 :pre file1: -0.798410432046075 1.785300000000000 1.596820864092150 0.798410432046075 1.785300000000000 -1.596820864092150 0.798410432046075 0.000000000000000 2.395231296138225 2.395231296138225 0.000000000000000 -0.798410432046075 1.596820864092150 1.785300000000000 0.798410432046075 1.596820864092150 -1.785300000000000 0.798410432046075 :pre diff --git a/doc/fix_planeforce.html b/doc/fix_planeforce.html index 438f75572..6560681e1 100644 --- a/doc/fix_planeforce.html +++ b/doc/fix_planeforce.html @@ -1,46 +1,55 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix planeforce command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID planeforce x y z </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>lineforce = style name of this fix command <LI>x y z = 3-vector that is normal to the plane </UL> <P><B>Examples:</B> </P> <PRE>fix hold boundary planeforce 1.0 0.0 0.0 </PRE> <P><B>Description:</B> </P> <P>Adjust the forces on each atom in the group so that it's motion will be in the plane specified by the normal vector (x,y,z). This is done by subtracting out components of force perpendicular to the plane. </P> <P>If the initial velocity of the atom is 0.0 (or in the plane), then it should continue to move in the plane thereafter. </P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_lineforce.html">fix lineforce</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_planeforce.txt b/doc/fix_planeforce.txt index e584faec5..134d3c6d5 100644 --- a/doc/fix_planeforce.txt +++ b/doc/fix_planeforce.txt @@ -1,43 +1,52 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix planeforce command :h3 [Syntax:] fix ID group-ID planeforce x y z :pre ID, group-ID are documented in "fix"_fix.html command lineforce = style name of this fix command x y z = 3-vector that is normal to the plane :ul [Examples:] fix hold boundary planeforce 1.0 0.0 0.0 :pre [Description:] Adjust the forces on each atom in the group so that it's motion will be in the plane specified by the normal vector (x,y,z). This is done by subtracting out components of force perpendicular to the plane. If the initial velocity of the atom is 0.0 (or in the plane), then it should continue to move in the plane thereafter. -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. [Restrictions:] none [Related commands:] "fix lineforce"_fix_lineforce.html [Default:] none diff --git a/doc/fix_poems.html b/doc/fix_poems.html index c6bc55210..b1e7c5217 100644 --- a/doc/fix_poems.html +++ b/doc/fix_poems.html @@ -1,133 +1,146 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix poems </H3> <P>Syntax: </P> <PRE>fix ID group-ID poems keyword values </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>poems = style name of this fix command <LI>keyword = <I>group</I> or <I>file</I> or <I>molecule</I> <PRE> <I>group</I> values = list of group IDs <I>molecule</I> values = none <I>file</I> values = filename </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 3 fluid poems group clump1 clump2 clump3 fix 3 fluid poems file cluster.list </PRE> <P><B>Description:</B> </P> <P>Treats one or more sets of atoms as coupled rigid bodies. This means that each timestep the total force and torque on each rigid body is computed and the coordinates and velocities of the atoms are updated so that the collection of bodies move as a coupled set. This can be useful for treating a large biomolecule as a collection of connected, coarse-grained particles. </P> <P>The coupling, associated motion constraints, and time integration is performed by the software package <A HREF = "http://www.rpi.edu/~anderk5/lab">Parallelizable Open source Efficient Multibody Software (POEMS)</A> which computes the constrained rigid-body motion of articulated (jointed) multibody systems <A HREF = "#Anderson">(Anderson)</A>. POEMS was written and is distributed by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, and other members of his group at Rensselaer Polytechnic Institute (RPI). Rudranarayan developed the LAMMPS/POEMS interface. For copyright information on POEMS and other details, please refer to the documents in the poems directory distributed with LAMMPS. </P> <P>This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). </P> <P>Each body must have a non-degenerate inertia tensor, which means if must contain at least 3 non-colinear atoms. Which atoms are in which bodies can be defined via several options. </P> <P>For option <I>group</I>, each of the listed groups is treated as a rigid body. Note that only atoms that are also in the fix group are included in each rigid body. </P> <P>For option <I>molecule</I>, each set of atoms in the group with a different molecule ID is treated as a rigid body. </P> <P>For option <I>file</I>, sets of atoms are read from the specified file and each set is treated as a rigid body. Each line of the file specifies a rigid body in the following format: </P> <P>ID type atom1-ID atom2-ID atom3-ID ... </P> <P>ID as an integer from 1 to M (the number of rigid bodies). Type is any integer; it is not used by the fix poems command. The remaining arguments are IDs of atoms in the rigid body, each typically from 1 to N (the number of atoms in the system). Only atoms that are also in the fix group are included in each rigid body. Blank lines and lines that begin with '#' are skipped. </P> <P>A connection between a pair of rigid bodies is inferred if one atom is common to both bodies. The POEMS solver treats that atom as a spherical joint with 3 degrees of freedom. Currently, a collection of bodies can only be connected by joints as a linear chain. The entire collection of rigid bodies can represent one or more chains. Other connection topologies (tree, ring) are not allowed, but will be added later. Note that if no joints exist, it is more efficient to use the <A HREF = "fix_rigid.html">fix rigid</A> command to simulate the system. </P> <P>When the poems fix is defined, it will print out statistics on the total # of clusters, bodies, joints, atoms involved. A cluster in this context means a set of rigid bodies connected by joints. </P> <P>For computational efficiency, you should turn off pairwise and bond interactions within each rigid body, as they no longer contribute to the motion. The "neigh_modify exclude" and "delete_bonds" commands can be used to do this if each rigid body is a group. </P> <P>For computational efficiency, you should only define one fix poems which includes all the desired rigid bodies. LAMMPS will allow multiple poems fixes to be defined, but it is more expensive. </P> <P>The degrees-of-freedom removed by coupled rigid bodies are accounted for in temperature and pressure computations. Similary, the rigid body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned off, and there is only a single fix poems defined. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> -<P>Can only be used if LAMMPS was built with the "poems" package. +<P>This fix is part of the "poems" package. It is only enabled if LAMMPS +was built with that package, which also requires the POEMS library be +built and linked with LAMMPS. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_rigid.html">fix rigid</A>, <A HREF = "delete_bonds.html">delete_bonds</A>, <A HREF = "neigh_modify.html">neigh_modify</A> exclude </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Anderson"></A> <P><B>(Anderson)</B> Anderson, Mukherjee, Critchley, Ziegler, and Lipton "POEMS: Parallelizable Open-source Efficient Multibody Software ", Engineering With Computers (2006). (<A HREF = "http://dx.doi.org/10.1007/s00366-006-0026-x">link to paper</A>) </P> </HTML> diff --git a/doc/fix_poems.txt b/doc/fix_poems.txt index a814985d1..3b0634dc5 100644 --- a/doc/fix_poems.txt +++ b/doc/fix_poems.txt @@ -1,123 +1,136 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix poems :h3 Syntax: fix ID group-ID poems keyword values :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l poems = style name of this fix command :l keyword = {group} or {file} or {molecule} :l {group} values = list of group IDs {molecule} values = none {file} values = filename :pre :ule [Examples:] fix 3 fluid poems group clump1 clump2 clump3 fix 3 fluid poems file cluster.list :pre [Description:] Treats one or more sets of atoms as coupled rigid bodies. This means that each timestep the total force and torque on each rigid body is computed and the coordinates and velocities of the atoms are updated so that the collection of bodies move as a coupled set. This can be useful for treating a large biomolecule as a collection of connected, coarse-grained particles. The coupling, associated motion constraints, and time integration is performed by the software package "Parallelizable Open source Efficient Multibody Software (POEMS)"_poems which computes the constrained rigid-body motion of articulated (jointed) multibody systems "(Anderson)"_#Anderson. POEMS was written and is distributed by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, and other members of his group at Rensselaer Polytechnic Institute (RPI). Rudranarayan developed the LAMMPS/POEMS interface. For copyright information on POEMS and other details, please refer to the documents in the poems directory distributed with LAMMPS. :link(poems,http://www.rpi.edu/~anderk5/lab) This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). Each body must have a non-degenerate inertia tensor, which means if must contain at least 3 non-colinear atoms. Which atoms are in which bodies can be defined via several options. For option {group}, each of the listed groups is treated as a rigid body. Note that only atoms that are also in the fix group are included in each rigid body. For option {molecule}, each set of atoms in the group with a different molecule ID is treated as a rigid body. For option {file}, sets of atoms are read from the specified file and each set is treated as a rigid body. Each line of the file specifies a rigid body in the following format: ID type atom1-ID atom2-ID atom3-ID ... ID as an integer from 1 to M (the number of rigid bodies). Type is any integer; it is not used by the fix poems command. The remaining arguments are IDs of atoms in the rigid body, each typically from 1 to N (the number of atoms in the system). Only atoms that are also in the fix group are included in each rigid body. Blank lines and lines that begin with '#' are skipped. A connection between a pair of rigid bodies is inferred if one atom is common to both bodies. The POEMS solver treats that atom as a spherical joint with 3 degrees of freedom. Currently, a collection of bodies can only be connected by joints as a linear chain. The entire collection of rigid bodies can represent one or more chains. Other connection topologies (tree, ring) are not allowed, but will be added later. Note that if no joints exist, it is more efficient to use the "fix rigid"_fix_rigid.html command to simulate the system. When the poems fix is defined, it will print out statistics on the total # of clusters, bodies, joints, atoms involved. A cluster in this context means a set of rigid bodies connected by joints. For computational efficiency, you should turn off pairwise and bond interactions within each rigid body, as they no longer contribute to the motion. The "neigh_modify exclude" and "delete_bonds" commands can be used to do this if each rigid body is a group. For computational efficiency, you should only define one fix poems which includes all the desired rigid bodies. LAMMPS will allow multiple poems fixes to be defined, but it is more expensive. The degrees-of-freedom removed by coupled rigid bodies are accounted for in temperature and pressure computations. Similary, the rigid body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned off, and there is only a single fix poems defined. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] -Can only be used if LAMMPS was built with the "poems" package. +This fix is part of the "poems" package. It is only enabled if LAMMPS +was built with that package, which also requires the POEMS library be +built and linked with LAMMPS. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "fix rigid"_fix_rigid.html, "delete_bonds"_delete_bonds.html, "neigh_modify"_neigh_modify.html exclude [Default:] none :line :link(Anderson) [(Anderson)] Anderson, Mukherjee, Critchley, Ziegler, and Lipton "POEMS: Parallelizable Open-source Efficient Multibody Software ", Engineering With Computers (2006). ("link to paper"_http://dx.doi.org/10.1007/s00366-006-0026-x) diff --git a/doc/fix_pour.html b/doc/fix_pour.html index 422a340b0..55bf54424 100644 --- a/doc/fix_pour.html +++ b/doc/fix_pour.html @@ -1,122 +1,148 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix pour command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID pour N type seed keyword values ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>pour = style name of this fix command <LI>N = # of atoms to insert <LI>type = atom type to assign to inserted atoms <LI>seed = random # seed <LI>one or more keyword/value pairs may be appended to args <LI>keyword = <I>region</I> or <I>diam</I> or <I>dens</I> or <I>vol</I> or <I>rate</I> or <I>vel</I> <PRE> <I>region</I> value = region-ID region-ID = ID of region to use as insertion volume <I>diam</I> values = lo hi lo,hi = range of diameters for inserted particles (distance units) <I>dens</I> values = lo hi lo,hi = range of densities for inserted particles <I>vol</I> values = fraction Nattempt fraction = desired volume fraction for filling insertion volume Nattempt = max # of insertion attempts per atom <I>rate</I> value = V V = z velocity (3d) or y velocity (2d) at which insertion volume moves (velocity units) <I>vel</I> values (3d) = vxlo vxhi vylo vyhi vz <I>vel</I> values (2d) = vxlo vxhi vy vxlo,vxhi = range of x velocities for inserted particles (velocity units) vylo,vyhi = range of y velocities for inserted particles (velocity units) vz = z velocity (3d) assigned to inserted particles (velocity units) vy = y velocity (2d) assigned to inserted particles (velocity units) </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 3 all pour 1000 2 29494 region myblock fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam 0.9 1.1 </PRE> <P><B>Description:</B> </P> <P>Insert particles into a granular run every few timesteps within a specified region until N particles have been inserted. This is useful for simulating the pouring of particles into a container under the influence of gravity. </P> <P>Inserted particles are assigned the specified atom type and are assigned to two groups: the default group "all" and the group specified in the fix pour command (which can also be "all"). </P> <P>This command must use the <I>region</I> keyword to define an insertion volume. The specified region must have been previously defined with a <A HREF = "region.html">region</A> command. It must be of type <I>block</I> or a z-axis <I>cylinder</I> and must be defined with side = <I>in</I>. The cylinder style of region can only be used with 3d simulations. </P> <P>Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. The larger the volume, the more particles that can be inserted at any one timestep. Particles are inserted again after enough time has elapsed that the previously inserted particles fall out of the insertion volume under the influence of gravity. Insertions continue every so many timesteps until the desired # of particles has been inserted. </P> <P>All other keywords are optional with defaults as shown below. The <I>diam</I>, <I>dens</I>, and <I>vel</I> options enable inserted particles to have a range of diameters or densities or xy velocities. The specific values for a particular inserted particle will be chosen randomly and uniformly between the specified bounds. The <I>vz</I> or <I>vy</I> value for option <I>vel</I> assigns a z-velocity (3d) or y-velocity (2d) to each inserted particle. </P> <P>The <I>vol</I> option specifies what volume fraction of the insertion volume will be filled with particles. The higher the value, the more particles are inserted each timestep. Since inserted particles cannot overlap, the maximum volume fraction should be no higher than about 0.6. Each timestep particles are inserted, LAMMPS will make up to a total of M tries to insert the new particles without overlaps, where M = # of inserted particles * Nattempt. If LAMMPS is unsuccessful at completing all insertions, it prints a warning. </P> <P>The <I>rate</I> option moves the insertion volume in the z direction (3d) or y direction (2d). This enables pouring particles from a successively higher height over time. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. This means you must be careful when restarting a +pouring simulation, when the restart file was written in the middle of +the pouring operation. Specifically, you should use a new fix pour +command in the input script for the restarted simulation that +continues the operation. You will need to adjust the arguments of the +original fix pour command to do this. +</P> +<P>Also note that because the state of the random number generator is not +saved in restart files, you cannot do "exact" restarts with this fix, +where the simulation continues on the same as if no restart had taken +place. However, in a statistical sense, a restarted simulation should +produce the same behavior if you adjust the fix pour parameters +appropriately. +</P> +<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this +fix. No quantities calculated by this fix can be output by the +<A HREF = "thermo_style.html">thermo_style custom</A> command. No parameter of this +fix can be used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> +command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> -<P>Can only be used if LAMMPS was built with the "granular" package. +<P>This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P>For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity must be defined in the -y direction. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_deposit.html">fix_deposit</A>, <A HREF = "fix_gravity.html">fix_gravity</A>, <A HREF = "region.html">region</A> </P> <P><B>Default:</B> </P> <P>The option defaults are diam = 1.0 1.0, dens = 1.0 1.0, vol = 0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0. </P> </HTML> diff --git a/doc/fix_pour.txt b/doc/fix_pour.txt index 499ba8aa4..fd1044fbd 100644 --- a/doc/fix_pour.txt +++ b/doc/fix_pour.txt @@ -1,109 +1,135 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix pour command :h3 [Syntax:] fix ID group-ID pour N type seed keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l pour = style name of this fix command :l N = # of atoms to insert :l type = atom type to assign to inserted atoms :l seed = random # seed :l one or more keyword/value pairs may be appended to args :l keyword = {region} or {diam} or {dens} or {vol} or {rate} or {vel} :l {region} value = region-ID region-ID = ID of region to use as insertion volume {diam} values = lo hi lo,hi = range of diameters for inserted particles (distance units) {dens} values = lo hi lo,hi = range of densities for inserted particles {vol} values = fraction Nattempt fraction = desired volume fraction for filling insertion volume Nattempt = max # of insertion attempts per atom {rate} value = V V = z velocity (3d) or y velocity (2d) at which insertion volume moves (velocity units) {vel} values (3d) = vxlo vxhi vylo vyhi vz {vel} values (2d) = vxlo vxhi vy vxlo,vxhi = range of x velocities for inserted particles (velocity units) vylo,vyhi = range of y velocities for inserted particles (velocity units) vz = z velocity (3d) assigned to inserted particles (velocity units) vy = y velocity (2d) assigned to inserted particles (velocity units) :pre :ule [Examples:] fix 3 all pour 1000 2 29494 region myblock fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam 0.9 1.1 :pre [Description:] Insert particles into a granular run every few timesteps within a specified region until N particles have been inserted. This is useful for simulating the pouring of particles into a container under the influence of gravity. Inserted particles are assigned the specified atom type and are assigned to two groups: the default group "all" and the group specified in the fix pour command (which can also be "all"). This command must use the {region} keyword to define an insertion volume. The specified region must have been previously defined with a "region"_region.html command. It must be of type {block} or a z-axis {cylinder} and must be defined with side = {in}. The cylinder style of region can only be used with 3d simulations. Each timestep particles are inserted, they are placed randomly inside the insertion volume so as to mimic a stream of poured particles. The larger the volume, the more particles that can be inserted at any one timestep. Particles are inserted again after enough time has elapsed that the previously inserted particles fall out of the insertion volume under the influence of gravity. Insertions continue every so many timesteps until the desired # of particles has been inserted. All other keywords are optional with defaults as shown below. The {diam}, {dens}, and {vel} options enable inserted particles to have a range of diameters or densities or xy velocities. The specific values for a particular inserted particle will be chosen randomly and uniformly between the specified bounds. The {vz} or {vy} value for option {vel} assigns a z-velocity (3d) or y-velocity (2d) to each inserted particle. The {vol} option specifies what volume fraction of the insertion volume will be filled with particles. The higher the value, the more particles are inserted each timestep. Since inserted particles cannot overlap, the maximum volume fraction should be no higher than about 0.6. Each timestep particles are inserted, LAMMPS will make up to a total of M tries to insert the new particles without overlaps, where M = # of inserted particles * Nattempt. If LAMMPS is unsuccessful at completing all insertions, it prints a warning. The {rate} option moves the insertion volume in the z direction (3d) or y direction (2d). This enables pouring particles from a successively higher height over time. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. This means you must be careful when restarting a +pouring simulation, when the restart file was written in the middle of +the pouring operation. Specifically, you should use a new fix pour +command in the input script for the restarted simulation that +continues the operation. You will need to adjust the arguments of the +original fix pour command to do this. + +Also note that because the state of the random number generator is not +saved in restart files, you cannot do "exact" restarts with this fix, +where the simulation continues on the same as if no restart had taken +place. However, in a statistical sense, a restarted simulation should +produce the same behavior if you adjust the fix pour parameters +appropriately. + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No quantities calculated by this fix can be output by the +"thermo_style custom"_thermo_style.html command. No parameter of this +fix can be used with the {start/stop} keywords of the "run"_run.html +command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] -Can only be used if LAMMPS was built with the "granular" package. +This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity must be defined in the -y direction. [Related commands:] "fix_deposit"_fix_deposit.html, "fix_gravity"_fix_gravity.html, "region"_region.html [Default:] The option defaults are diam = 1.0 1.0, dens = 1.0 1.0, vol = 0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0. diff --git a/doc/fix_print.html b/doc/fix_print.html index 6376baae6..faec35aa7 100644 --- a/doc/fix_print.html +++ b/doc/fix_print.html @@ -1,63 +1,73 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix print command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID print N string </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>print = style name of this fix command <LI>N = print every N steps <LI>string = text string to print with optional variable names </UL> <P><B>Examples:</B> </P> <PRE>fix extra all print 100 "Coords of marker atom = $x $y $z" </PRE> <P><B>Description:</B> </P> <P>Print a text string to the screen and logfile every N steps during a simulation run. This can be used for diagnostic purposes or even as a debugging tool to monitor some quantity during a run. The text string must be a single argument, so it should be enclosed in double quotes if it is more than one word. If it contains variables it must be enclosed in double quotes to insure they are not evaluated when the input script is read, but will instead be evaluated when the string is printed. </P> <P>See the <A HREF = "variable.html">variable</A> command for a description of <I>equal</I> style variables which are the most useful ones to use with the fix print command, since they are evaluated afresh each timestep that the fix print line is output. Equal-style variables can calculate complex formulas involving atom and group properties, mathematical operations, other variables, etc. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>If <I>equal</I>-style variables are used which contain <A HREF = "thermo_style.html">thermo_style custom</A> keywords for energy such as pe, eng, evdwl, ebond, etc, then they will only be up-to-date on timesteps where thermodynamics are computed. For example, if you output thermodynamics every 100 steps, but issue a fix print command with N = 2 that contains such a variable, the printed value will only be current on timesteps that are a multiple of 100. This is because the potential functions in LAMMPS (pairwise, bond, etc) only compute energies on timesteps when thermodynamic output is being performed. </P> <P><B>Related commands:</B> </P> <P><A HREF = "variable.html">variable</A>, <A HREF = "print.html">print</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_print.txt b/doc/fix_print.txt index f6bcfe1bb..d9f5f5e39 100644 --- a/doc/fix_print.txt +++ b/doc/fix_print.txt @@ -1,58 +1,68 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix print command :h3 [Syntax:] fix ID group-ID print N string :pre ID, group-ID are documented in "fix"_fix.html command print = style name of this fix command N = print every N steps string = text string to print with optional variable names :ul [Examples:] fix extra all print 100 "Coords of marker atom = $x $y $z" :pre [Description:] Print a text string to the screen and logfile every N steps during a simulation run. This can be used for diagnostic purposes or even as a debugging tool to monitor some quantity during a run. The text string must be a single argument, so it should be enclosed in double quotes if it is more than one word. If it contains variables it must be enclosed in double quotes to insure they are not evaluated when the input script is read, but will instead be evaluated when the string is printed. See the "variable"_variable.html command for a description of {equal} style variables which are the most useful ones to use with the fix print command, since they are evaluated afresh each timestep that the fix print line is output. Equal-style variables can calculate complex formulas involving atom and group properties, mathematical operations, other variables, etc. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] If {equal}-style variables are used which contain "thermo_style custom"_thermo_style.html keywords for energy such as pe, eng, evdwl, ebond, etc, then they will only be up-to-date on timesteps where thermodynamics are computed. For example, if you output thermodynamics every 100 steps, but issue a fix print command with N = 2 that contains such a variable, the printed value will only be current on timesteps that are a multiple of 100. This is because the potential functions in LAMMPS (pairwise, bond, etc) only compute energies on timesteps when thermodynamic output is being performed. [Related commands:] "variable"_variable.html, "print"_print.html [Default:] none diff --git a/doc/fix_rdf.html b/doc/fix_rdf.html index 53897154f..71c25a426 100644 --- a/doc/fix_rdf.html +++ b/doc/fix_rdf.html @@ -1,64 +1,74 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix rdf command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID rdf N file Nbin itype1 jtype1 itype2 jtype2 ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>rdf = style name of this fix command <LI>N = compute radial distribution function (RDF) every this many timesteps <LI>file = filename to write radial distribution funtion info to <LI>Nbin = number of RDF bins <LI>itypeN = central atom type for RDF pair N <LI>jtypeN = distribution atom type for RDF pair N </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all rdf 500 rdf.out 100 1 1 fix 1 fluid rdf 10000 rdf.out 100 1 1 1 2 2 1 2 2 </PRE> <P><B>Description:</B> </P> <P>Compute the radial distribution function (RDF), also known as g(r), and coordination number every N steps. The RDF for each specified atom type pair is histogrammed in Nbin bins from distance 0 to Rc, where Rc = the maximum force cutoff for any pair of atom types. An atom pair only contributes to the RDF if </P> <UL><LI>both atoms are in the fix group <LI>the distance between them is within the maximum force cutoff <LI>their interaction is stored in the neighbor list </UL> <P>Bonded atoms (1-2, 1-3, 1-4 interactions within a molecular topology) with a pairwise weighting factor of 0.0 are not included in the RDF; pairs with a non-zero weighting factor are included. The weighting factor is set by the <A HREF = "special_bonds.html">special_bonds</A> command. </P> <P>The RDF statistics for each timestep are written to the specified file, as are the RDF values averaged over all timesteps. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>The RDF is not computed for distances longer than the force cutoff, since processors (in parallel) don't know atom coordinates for atoms further away than that distance. If you want an RDF for larger <I>r</I>, you'll need to post-process a dump file. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_style.html">pair_style</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_rdf.txt b/doc/fix_rdf.txt index 9716efada..e4b52a59b 100644 --- a/doc/fix_rdf.txt +++ b/doc/fix_rdf.txt @@ -1,59 +1,69 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix rdf command :h3 [Syntax:] fix ID group-ID rdf N file Nbin itype1 jtype1 itype2 jtype2 ... :pre ID, group-ID are documented in "fix"_fix.html command rdf = style name of this fix command N = compute radial distribution function (RDF) every this many timesteps file = filename to write radial distribution funtion info to Nbin = number of RDF bins itypeN = central atom type for RDF pair N jtypeN = distribution atom type for RDF pair N :ul [Examples:] fix 1 all rdf 500 rdf.out 100 1 1 fix 1 fluid rdf 10000 rdf.out 100 1 1 1 2 2 1 2 2 :pre [Description:] Compute the radial distribution function (RDF), also known as g(r), and coordination number every N steps. The RDF for each specified atom type pair is histogrammed in Nbin bins from distance 0 to Rc, where Rc = the maximum force cutoff for any pair of atom types. An atom pair only contributes to the RDF if both atoms are in the fix group the distance between them is within the maximum force cutoff their interaction is stored in the neighbor list :ul Bonded atoms (1-2, 1-3, 1-4 interactions within a molecular topology) with a pairwise weighting factor of 0.0 are not included in the RDF; pairs with a non-zero weighting factor are included. The weighting factor is set by the "special_bonds"_special_bonds.html command. The RDF statistics for each timestep are written to the specified file, as are the RDF values averaged over all timesteps. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] The RDF is not computed for distances longer than the force cutoff, since processors (in parallel) don't know atom coordinates for atoms further away than that distance. If you want an RDF for larger {r}, you'll need to post-process a dump file. [Related commands:] "pair_style"_pair_style.html [Default:] none diff --git a/doc/fix_recenter.html b/doc/fix_recenter.html index f6b1a05df..c467b2920 100644 --- a/doc/fix_recenter.html +++ b/doc/fix_recenter.html @@ -1,102 +1,112 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix recenter command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID recenter x y z keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>recenter = style name of this fix command <LI>x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below) <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>shift</I> or <I>units</I> <PRE> <I>shift</I> value = group-ID group-ID = group of atoms whose coords are shifted <I>units</I> value = <I>box</I> or <I>lattice</I> or <I>fraction</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all recenter 0.0 0.5 0.0 fix 1 all recenter INIT INIT NULL fix 1 all recenter INIT 0.0 0.0 units box </PRE> <P><B>Description:</B> </P> <P>Constrain the center-of-mass position of a group of atoms by adjusting the coordinates of the atoms every timestep. This is simply a small shift that does not alter the dynamics of the system or change the relative coordinates of any pair of atoms in the group. This can be used to insure the entire collection of atoms (or a portion of them) do not drift during the simulation due to random perturbations (e.g. <A HREF = "fix_langevin.html">fix langevin</A> thermostatting). </P> <P>Distance units for the x,y,z values are determined by the setting of the <I>units</I> keyword, as discussed below. One or more x,y,z values can also be specified as NULL, which means exclude that dimension from this operation. Or it can be specified as INIT which means to constain the center-of-mass to its initial value at the beginning of the run. </P> <P>The center-of-mass (COM) is computed for the group specified by the fix. If the current COM is different than the specified x,y,z, then a group of atoms has their coordinates shifted by the difference. By default the shifted group is also the group specified by the fix. A different group can be shifted by using the <I>shift</I> keyword. For example, the COM could be computed on a protein to keep it in the center of the simulation box. But the entire system (protein + water) could be shifted. </P> <P>If the <I>units</I> keyword is set to <I>box</I>, then the distance units of x,y,z are defined by the <A HREF = "units.html">units</A> command - e.g. Angstroms for <I>real</I> units. A <I>lattice</I> value means the distance units are in lattice spacings. The <A HREF = "lattice.html">lattice</A> command must have been previously used to define the lattice spacing. A <I>fraction</I> value means a fractional distance between the lo/hi box boundaries, e.g. 0.5 = middle of the box. The default is to use lattice units. </P> <P>Note that the <A HREF = "velocity.html">velocity</A> command can be used to create velocities with zero aggregate linear and/or angular momentum. </P> <P>IMPORTANT NOTE: This fix performs its operations at the same point in the timestep as other time integration fixes, such as <A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nvt.html">fix nvt</A>, or <A HREF = "fix_npt.html">fix npt</A>. Thus fix recenter should normally be the last such fix specified in the input script, since the adjustments it makes to atom coordinates should come after the changes made by time integration. LAMMPS will warn you if your fixes are not ordered this way. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>This fix should not be used with an x,y,z setting that causes a large shift in the system on the 1st timestep, due to the requested COM being very different from the initial COM. This could cause atoms to be lost,especially in parallel. Instead, use the <A HREF = "displace_atoms.html">displace_atoms</A> command, which can be used to move atoms a large distance. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_momentum.html">fix momentum</A>, <A HREF = "velocity.html">velocity</A> </P> <P><B>Default:</B> </P> <P>The option defaults are adjust = fix group-ID, and units = lattice. </P> </HTML> diff --git a/doc/fix_recenter.txt b/doc/fix_recenter.txt index cc8bdf7a2..a9d780920 100644 --- a/doc/fix_recenter.txt +++ b/doc/fix_recenter.txt @@ -1,92 +1,102 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix recenter command :h3 [Syntax:] fix ID group-ID recenter x y z keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l recenter = style name of this fix command :l x,y,z = constrain center-of-mass to these coords (distance units), \ any coord can also be NULL or INIT (see below) :l zero or more keyword/value pairs may be appended to the args :l keyword = {shift} or {units} :l {shift} value = group-ID group-ID = group of atoms whose coords are shifted {units} value = {box} or {lattice} or {fraction} :pre :ule [Examples:] fix 1 all recenter 0.0 0.5 0.0 fix 1 all recenter INIT INIT NULL fix 1 all recenter INIT 0.0 0.0 units box :pre [Description:] Constrain the center-of-mass position of a group of atoms by adjusting the coordinates of the atoms every timestep. This is simply a small shift that does not alter the dynamics of the system or change the relative coordinates of any pair of atoms in the group. This can be used to insure the entire collection of atoms (or a portion of them) do not drift during the simulation due to random perturbations (e.g. "fix langevin"_fix_langevin.html thermostatting). Distance units for the x,y,z values are determined by the setting of the {units} keyword, as discussed below. One or more x,y,z values can also be specified as NULL, which means exclude that dimension from this operation. Or it can be specified as INIT which means to constain the center-of-mass to its initial value at the beginning of the run. The center-of-mass (COM) is computed for the group specified by the fix. If the current COM is different than the specified x,y,z, then a group of atoms has their coordinates shifted by the difference. By default the shifted group is also the group specified by the fix. A different group can be shifted by using the {shift} keyword. For example, the COM could be computed on a protein to keep it in the center of the simulation box. But the entire system (protein + water) could be shifted. If the {units} keyword is set to {box}, then the distance units of x,y,z are defined by the "units"_units.html command - e.g. Angstroms for {real} units. A {lattice} value means the distance units are in lattice spacings. The "lattice"_lattice.html command must have been previously used to define the lattice spacing. A {fraction} value means a fractional distance between the lo/hi box boundaries, e.g. 0.5 = middle of the box. The default is to use lattice units. Note that the "velocity"_velocity.html command can be used to create velocities with zero aggregate linear and/or angular momentum. IMPORTANT NOTE: This fix performs its operations at the same point in the timestep as other time integration fixes, such as "fix nve"_fix_nve.html, "fix nvt"_fix_nvt.html, or "fix npt"_fix_npt.html. Thus fix recenter should normally be the last such fix specified in the input script, since the adjustments it makes to atom coordinates should come after the changes made by time integration. LAMMPS will warn you if your fixes are not ordered this way. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] This fix should not be used with an x,y,z setting that causes a large shift in the system on the 1st timestep, due to the requested COM being very different from the initial COM. This could cause atoms to be lost,especially in parallel. Instead, use the "displace_atoms"_displace_atoms.html command, which can be used to move atoms a large distance. [Related commands:] "fix momentum"_fix_momentum.html, "velocity"_velocity.html [Default:] The option defaults are adjust = fix group-ID, and units = lattice. diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index 8f9de6534..e6a4d232a 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -1,114 +1,124 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix rigid </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID rigid keyword values </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>rigid = style name of this fix command <LI>keyword = <I>single</I> or <I>molecule</I> or <I>group</I> <PRE> <I>single</I> values = none <I>molecule</I> values = none <I>group</I> values = list of group IDs </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 clump rigid single fix 1 polychains rigid molecule fix 2 fluid rigid group clump1 clump2 clump3 </PRE> <P><B>Description:</B> </P> <P>Treat one or more sets of atoms as an independent rigid body. This means that each timestep the total force and torque on each rigid body is computed and the coordinates and velocities of the atoms in each body are updated so that they move as a rigid body. This can be useful for freezing one or more portions of a large biomolecule, or for simulating a system of colloidal particles. </P> <P>This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same atoms via other fixes (e.g. nve, nvt, npt). </P> <P>Each body must have two or more atoms. Which atoms are in which bodies can be defined via several options. </P> <P>For option <I>single</I> the entire group of atoms is treated as one rigid body. </P> <P>For option <I>molecule</I>, each set of atoms in the group with a different molecule ID is treated as a rigid body. </P> <P>For option <I>group</I>, each of the listed groups is treated as a separate rigid body. Note that only atoms that are also in the fix group are included in each rigid body. </P> <P>For computational efficiency, you should also turn off pairwise and bond interactions within each rigid body, as they no longer contribute to the motion. The <A HREF = "neigh_modify.html">neigh_modify exclude</A> and <A HREF = "delete_bonds.html">delete_bonds</A> commands are used to do this. </P> <P>For computational efficiency, you should define one fix rigid which includes all the desired rigid bodies. LAMMPS will allow multiple rigid fixes to be defined, but it is more expensive. </P> <P>The degrees-of-freedom removed by rigid bodies are accounted for in temperature and pressure computations. Similary, the rigid body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned off, and there is only a single fix rigid defined. For each linear rigid body of three or more atoms, one degree-of-freedom must be subtracted using a <A HREF = "compute_modify.html">compute_modify</A> command (i.e. for a simulation of 10 such rigid bodies, use "compute_modify thermo_temp extra 13", after the thermo_style command, where 3 is the default setting and an additional 10 degrees-of-freedom are subtracted). </P> <P>Note that this fix uses constant-energy integration, so you may need to impose additional constraints to control the temperature of an ensemble of rigid bodies. You can use <A HREF = "fix_langevin.html">fix langevin</A> for this purpose to treat the system as effectively immersed in an implicit solvent, i.e. a Brownian dynamics model. Or you can thermostat additional atoms of an explicit solvent directly. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>This fix performs an MPI_Allreduce each timestep that is proportional in length to the number of rigid bodies. Hence it will not scale well in parallel if large numbers of rigid bodies are simulated. </P> <P>If the atoms in a single rigid body initially straddle a periodic boundary, the input data file must define the image flags for each atom correctly, so that LAMMPS can "unwrap" the atoms into a valid rigid body. </P> <P>You should not use this fix if you just want to hold group of atoms stationary. A better way to do this is to not include those atoms in your time integration fix. E.g. use "fix 1 mobile nve" instead of "fix 1 all nve", where "mobile" is the group of atoms that you want to move. </P> <P><B>Related commands:</B> </P> <P><A HREF = "delete_bonds.html">delete_bonds</A>, <A HREF = "neigh_modify.html">neigh_modify</A> exclude </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_rigid.txt b/doc/fix_rigid.txt index 34a7fba92..468114d81 100644 --- a/doc/fix_rigid.txt +++ b/doc/fix_rigid.txt @@ -1,105 +1,115 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix rigid :h3 [Syntax:] fix ID group-ID rigid keyword values :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l rigid = style name of this fix command :l keyword = {single} or {molecule} or {group} :l {single} values = none {molecule} values = none {group} values = list of group IDs :pre :ule [Examples:] fix 1 clump rigid single fix 1 polychains rigid molecule fix 2 fluid rigid group clump1 clump2 clump3 :pre [Description:] Treat one or more sets of atoms as an independent rigid body. This means that each timestep the total force and torque on each rigid body is computed and the coordinates and velocities of the atoms in each body are updated so that they move as a rigid body. This can be useful for freezing one or more portions of a large biomolecule, or for simulating a system of colloidal particles. This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same atoms via other fixes (e.g. nve, nvt, npt). Each body must have two or more atoms. Which atoms are in which bodies can be defined via several options. For option {single} the entire group of atoms is treated as one rigid body. For option {molecule}, each set of atoms in the group with a different molecule ID is treated as a rigid body. For option {group}, each of the listed groups is treated as a separate rigid body. Note that only atoms that are also in the fix group are included in each rigid body. For computational efficiency, you should also turn off pairwise and bond interactions within each rigid body, as they no longer contribute to the motion. The "neigh_modify exclude"_neigh_modify.html and "delete_bonds"_delete_bonds.html commands are used to do this. For computational efficiency, you should define one fix rigid which includes all the desired rigid bodies. LAMMPS will allow multiple rigid fixes to be defined, but it is more expensive. The degrees-of-freedom removed by rigid bodies are accounted for in temperature and pressure computations. Similary, the rigid body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned off, and there is only a single fix rigid defined. For each linear rigid body of three or more atoms, one degree-of-freedom must be subtracted using a "compute_modify"_compute_modify.html command (i.e. for a simulation of 10 such rigid bodies, use "compute_modify thermo_temp extra 13", after the thermo_style command, where 3 is the default setting and an additional 10 degrees-of-freedom are subtracted). Note that this fix uses constant-energy integration, so you may need to impose additional constraints to control the temperature of an ensemble of rigid bodies. You can use "fix langevin"_fix_langevin.html for this purpose to treat the system as effectively immersed in an implicit solvent, i.e. a Brownian dynamics model. Or you can thermostat additional atoms of an explicit solvent directly. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] This fix performs an MPI_Allreduce each timestep that is proportional in length to the number of rigid bodies. Hence it will not scale well in parallel if large numbers of rigid bodies are simulated. If the atoms in a single rigid body initially straddle a periodic boundary, the input data file must define the image flags for each atom correctly, so that LAMMPS can "unwrap" the atoms into a valid rigid body. You should not use this fix if you just want to hold group of atoms stationary. A better way to do this is to not include those atoms in your time integration fix. E.g. use "fix 1 mobile nve" instead of "fix 1 all nve", where "mobile" is the group of atoms that you want to move. [Related commands:] "delete_bonds"_delete_bonds.html, "neigh_modify"_neigh_modify.html exclude [Default:] none diff --git a/doc/fix_setforce.html b/doc/fix_setforce.html index 77083a54a..1d68b32c0 100644 --- a/doc/fix_setforce.html +++ b/doc/fix_setforce.html @@ -1,58 +1,68 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix setforce command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID setforce fx fy fz </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>setforce = style name of this fix command <LI>fx,fy,fz = force component values </UL> <P><B>Examples:</B> </P> <PRE>fix freeze indenter setforce 0.0 0.0 0.0 fix 2 edge setforce NULL 0.0 0.0 </PRE> <P><B>Description:</B> </P> <P>Set each component of force on each atom in the group to the specified values fx,fy,fz. This erases all previously computed forces on the atom, though additional fixes could add new forces. This command can be used to freeze certain atoms in the simulation by zeroing their force, assuming their initial velocity zero. </P> <P>Any of the fx,fy,fz values can be specified as NULL which means do not alter the force component in that dimension. </P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. -</P> -<P>The total force on the group of atoms before it is reset is stored by -the fix and its components can be accessed during thermodynamic -print-out by using f_ID[N] where ID = he fix-ID and N = 1,2,3. See -the <A HREF = "thermo_style.html">thermo_style custom</A> command for details. Note -that the fix stores the total force on the group of atoms, but the -printed value may be normalized by the total number of atoms in the -simulation depending on the <A HREF = "thermo_modify.html">thermo_modify norm</A> -option you are using. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. +</P> +<P>The total vector force on the group of atoms before it is reset is +stored by the fix and its components can be printed as part of +thermodynamic output via the keywords f_ID[N] where ID is the fix-ID +of this fix and N = 1,2,3. See the <A HREF = "thermo_style.html">thermo_style +custom</A> command for details. Note that the fix +stores the total force on the group of atoms, but the printed value +may be normalized by the total number of atoms in the simulation +depending on the <A HREF = "thermo_modify.html">thermo_modify norm</A> option being +used. +</P> +<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_addforce.html">fix addforce</A>, <A HREF = "fix_aveforce.html">fix aveforce</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_setforce.txt b/doc/fix_setforce.txt index 5cef6a4ce..6c2180792 100644 --- a/doc/fix_setforce.txt +++ b/doc/fix_setforce.txt @@ -1,53 +1,63 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix setforce command :h3 [Syntax:] fix ID group-ID setforce fx fy fz :pre ID, group-ID are documented in "fix"_fix.html command setforce = style name of this fix command fx,fy,fz = force component values :ul [Examples:] fix freeze indenter setforce 0.0 0.0 0.0 fix 2 edge setforce NULL 0.0 0.0 :pre [Description:] Set each component of force on each atom in the group to the specified values fx,fy,fz. This erases all previously computed forces on the atom, though additional fixes could add new forces. This command can be used to freeze certain atoms in the simulation by zeroing their force, assuming their initial velocity zero. Any of the fx,fy,fz values can be specified as NULL which means do not alter the force component in that dimension. -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. - -The total force on the group of atoms before it is reset is stored by -the fix and its components can be accessed during thermodynamic -print-out by using f_ID\[N\] where ID = he fix-ID and N = 1,2,3. See -the "thermo_style custom"_thermo_style.html command for details. Note -that the fix stores the total force on the group of atoms, but the -printed value may be normalized by the total number of atoms in the -simulation depending on the "thermo_modify norm"_thermo_modify.html -option you are using. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. + +The total vector force on the group of atoms before it is reset is +stored by the fix and its components can be printed as part of +thermodynamic output via the keywords f_ID\[N\] where ID is the fix-ID +of this fix and N = 1,2,3. See the "thermo_style +custom"_thermo_style.html command for details. Note that the fix +stores the total force on the group of atoms, but the printed value +may be normalized by the total number of atoms in the simulation +depending on the "thermo_modify norm"_thermo_modify.html option being +used. + +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. [Restrictions:] none [Related commands:] "fix addforce"_fix_addforce.html, "fix aveforce"_fix_aveforce.html [Default:] none diff --git a/doc/fix_shake.html b/doc/fix_shake.html index 1315ddbc5..c1e8870d4 100644 --- a/doc/fix_shake.html +++ b/doc/fix_shake.html @@ -1,103 +1,113 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix shake command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID shake tol iter N keyword values ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>shake = style name of this fix command <LI>tol = accuracy tolerance of SHAKE solution <LI>iter = max # of iterations in each SHAKE solution <LI>N = print SHAKE statistics every this many timesteps (0 = never) <LI>one or more keyword/value pairs are appended <LI>keyword = <I>b</I> or <I>a</I> or <I>t</I> or <I>m</I> <PRE> <I>b</I> values = one or more bond types <I>a</I> values = one or more angle types <I>t</I> values = one or more atom types <I>m</I> value = one or more mass values </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2 fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 </PRE> <P><B>Description:</B> </P> <P>Apply bond and angle constraints to specified bonds and angles in the simulation. This typically enables a longer timestep. </P> <P>Each timestep the specified bonds and angles are reset to their equilibrium lengths and angular values via the well-known SHAKE algorithm. This is done by applying an additional constraint force so that the new positions preserve the desired atom separations. The equations for the additional force are solved via an iterative method that typically converges to an accurate solution in a few iterations. The desired tolerance (e.g. 1.0e-4 = 1 part in 10000) and maximum # of iterations are specified as arguments. Setting the N argument will print statistics to the screen and log file about regarding the lengths of bonds and angles that are being constrained. Small delta values mean SHAKE is doing a good job. </P> <P>In LAMMPS, only small clusters of atoms can be constrained. This is so the constraint calculation for a cluster can be performed by a single processor, to enable good parallel performance. A cluster is defined as a central atom connected to others in the cluster by constrained bonds. LAMMPS allows for the following kinds of clusters to be constrained: one central atom bonded to 1 or 2 or 3 atoms, or one central atom bonded to 2 others and the angle between the 3 atoms also constained. This means water molecules or CH2 or CH3 groups may be constrained, but not all the C-C backbone bonds of a long polymer chain. </P> <P>The <I>b</I> keyword lists bond types that will be constrained. The <I>t</I> keyword lists atom types. All bonds connected to an atom of the specified type will be constrained. The <I>m</I> keyword lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in fix_shake.cpp). The <I>a</I> keyword lists angle types. If both bonds in the angle are constrained then the angle will also be constrained if its type is in the list. </P> <P>For all keywords, a particular bond is only constrained if both atoms in the bond are in the group specified with the SHAKE fix. </P> <P>The degrees-of-freedom removed by SHAKE bonds and angles are accounted for in temperature and pressure computations. Similarly, the SHAKE contribution to the pressure virial is also accounted for. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>For computational efficiency, there can only be one shake fix defined in a simulation. </P> <P>If you use a tolerance that is too large or a max-iteration count that is too small, the constraints will not be enforced very strongly, which can lead to poor energy conservation. You can test for this in your system by running a constant NVE simulation with a particular set of SHAKE parameters and monitoring the energy versus time. </P> <P><B>Related commands:</B> none </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_shake.txt b/doc/fix_shake.txt index 86f32d158..3ce8e1f8b 100644 --- a/doc/fix_shake.txt +++ b/doc/fix_shake.txt @@ -1,90 +1,100 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix shake command :h3 [Syntax:] fix ID group-ID shake tol iter N keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l shake = style name of this fix command :l tol = accuracy tolerance of SHAKE solution :l iter = max # of iterations in each SHAKE solution :l N = print SHAKE statistics every this many timesteps (0 = never) :l one or more keyword/value pairs are appended :l keyword = {b} or {a} or {t} or {m} :l {b} values = one or more bond types {a} values = one or more angle types {t} values = one or more atom types {m} value = one or more mass values :pre :ule [Examples:] fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2 fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 :pre [Description:] Apply bond and angle constraints to specified bonds and angles in the simulation. This typically enables a longer timestep. Each timestep the specified bonds and angles are reset to their equilibrium lengths and angular values via the well-known SHAKE algorithm. This is done by applying an additional constraint force so that the new positions preserve the desired atom separations. The equations for the additional force are solved via an iterative method that typically converges to an accurate solution in a few iterations. The desired tolerance (e.g. 1.0e-4 = 1 part in 10000) and maximum # of iterations are specified as arguments. Setting the N argument will print statistics to the screen and log file about regarding the lengths of bonds and angles that are being constrained. Small delta values mean SHAKE is doing a good job. In LAMMPS, only small clusters of atoms can be constrained. This is so the constraint calculation for a cluster can be performed by a single processor, to enable good parallel performance. A cluster is defined as a central atom connected to others in the cluster by constrained bonds. LAMMPS allows for the following kinds of clusters to be constrained: one central atom bonded to 1 or 2 or 3 atoms, or one central atom bonded to 2 others and the angle between the 3 atoms also constained. This means water molecules or CH2 or CH3 groups may be constrained, but not all the C-C backbone bonds of a long polymer chain. The {b} keyword lists bond types that will be constrained. The {t} keyword lists atom types. All bonds connected to an atom of the specified type will be constrained. The {m} keyword lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in fix_shake.cpp). The {a} keyword lists angle types. If both bonds in the angle are constrained then the angle will also be constrained if its type is in the list. For all keywords, a particular bond is only constrained if both atoms in the bond are in the group specified with the SHAKE fix. The degrees-of-freedom removed by SHAKE bonds and angles are accounted for in temperature and pressure computations. Similarly, the SHAKE contribution to the pressure virial is also accounted for. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] For computational efficiency, there can only be one shake fix defined in a simulation. If you use a tolerance that is too large or a max-iteration count that is too small, the constraints will not be enforced very strongly, which can lead to poor energy conservation. You can test for this in your system by running a constant NVE simulation with a particular set of SHAKE parameters and monitoring the energy versus time. [Related commands:] none [Default:] none diff --git a/doc/fix_spring.html b/doc/fix_spring.html index 101642017..689ead3fc 100644 --- a/doc/fix_spring.html +++ b/doc/fix_spring.html @@ -1,103 +1,113 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix spring command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID spring keyword values </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>spring = style name of this fix command <LI>keyword = <I>tether</I> or <I>couple</I> <PRE> <I>tether</I> values = K x y z R0 K = spring constant (force/distance units) x,y,z = point to which spring is tethered R0 = equilibrium distance from tether point (distance units) <I>couple</I> values = group-ID2 K x y z R0 group-ID2 = 2nd group to couple to fix group with a spring K = spring constant (force/distance units) x,y,z = direction of spring R0 = equilibrium distance of spring (distance units) </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0 fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0 fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0 fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0 fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0 fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 </PRE> <P><B>Description:</B> </P> <P>Apply a spring force to a group of atoms or between two groups of atoms. This is useful for applying an umbrella force to a small molecule or lightly tethering a large group of atoms (e.g. all the solvent or a large molecule) to the center of the simulation box so that it doesn't wander away over the course of a long simulation. It can also be used to hold the centers of mass of two groups of atoms at a given distance or orientation with respect to each other. </P> <P>The <I>tether</I> style attaches a spring between a fixed point <I>x,y,z</I> and the center of mass of the fix group of atoms. The equilibrium position of the spring is R0. At each timestep the distance R from the center of mass of the group of atoms to the tethering point is computed, taking account of wrap-around in a periodic simulation box. A restoring force of magnitude K (R - R0) Mi / M is applied to each atom in the group where <I>K</I> is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the group. Note that <I>K</I> thus represents the total force on the group of atoms, not a per-atom force. </P> <P>The <I>couple</I> style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when the two groups are displaced by a vector <I>x,y,z</I> with respect to each other and at a distance R0 from that displacement. Note that <I>x,y,z</I> is the equilibrium displacement of group-ID2 relative to the fix group. Thus (1,1,0) is a different spring than (-1,-1,0). When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms in each of the two groups. </P> <P>For both the <I>tether</I> and <I>couple</I> styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force application. </P> <P>The first example above pulls the ligand towards the point (0,0,0). The second example holds the ligand near the surface of a sphere of radius 5 around the point (0,0,0). The third example holds the ligand a distance 3 away from the z=2 plane (on either side). </P> <P>The fourth example holds 2 bilayers a distance 10 apart in z. For the last two examples, imagine a pore (a slab of atoms with a cylindrical hole cut out) oriented with the pore axis along z, and an ion moving within the pore. The fifth example holds the ion a distance of -20 below the z = 0 center plane of the pore (umbrella sampling). The last example holds the ion a distance 5 away from the pore axis (assuming the center-of-mass of the pore in x,y is the pore axis). </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_drag.html">fix drag</A>, <A HREF = "fix_spring_self.html">fix spring/self</A>, <A HREF = "fix_spring_rg.html">fix spring/rg</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_spring.txt b/doc/fix_spring.txt index e05af0e1f..cfe2c6c00 100644 --- a/doc/fix_spring.txt +++ b/doc/fix_spring.txt @@ -1,94 +1,104 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix spring command :h3 [Syntax:] fix ID group-ID spring keyword values :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l spring = style name of this fix command :l keyword = {tether} or {couple} :l {tether} values = K x y z R0 K = spring constant (force/distance units) x,y,z = point to which spring is tethered R0 = equilibrium distance from tether point (distance units) {couple} values = group-ID2 K x y z R0 group-ID2 = 2nd group to couple to fix group with a spring K = spring constant (force/distance units) x,y,z = direction of spring R0 = equilibrium distance of spring (distance units) :pre :ule [Examples:] fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0 fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0 fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0 fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0 fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0 fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 :pre [Description:] Apply a spring force to a group of atoms or between two groups of atoms. This is useful for applying an umbrella force to a small molecule or lightly tethering a large group of atoms (e.g. all the solvent or a large molecule) to the center of the simulation box so that it doesn't wander away over the course of a long simulation. It can also be used to hold the centers of mass of two groups of atoms at a given distance or orientation with respect to each other. The {tether} style attaches a spring between a fixed point {x,y,z} and the center of mass of the fix group of atoms. The equilibrium position of the spring is R0. At each timestep the distance R from the center of mass of the group of atoms to the tethering point is computed, taking account of wrap-around in a periodic simulation box. A restoring force of magnitude K (R - R0) Mi / M is applied to each atom in the group where {K} is the spring constant, Mi is the mass of the atom, and M is the total mass of all atoms in the group. Note that {K} thus represents the total force on the group of atoms, not a per-atom force. The {couple} style links two groups of atoms together. The first group is the fix group; the second is specified by group-ID2. The groups are coupled together by a spring that is at equilibrium when the two groups are displaced by a vector {x,y,z} with respect to each other and at a distance R0 from that displacement. Note that {x,y,z} is the equilibrium displacement of group-ID2 relative to the fix group. Thus (1,1,0) is a different spring than (-1,-1,0). When the relative positions and distance between the two groups are not in equilibrium, the same spring force described above is applied to atoms in each of the two groups. For both the {tether} and {couple} styles, any of the x,y,z values can be specified as NULL which means do not include that dimension in the distance calculation or force application. The first example above pulls the ligand towards the point (0,0,0). The second example holds the ligand near the surface of a sphere of radius 5 around the point (0,0,0). The third example holds the ligand a distance 3 away from the z=2 plane (on either side). The fourth example holds 2 bilayers a distance 10 apart in z. For the last two examples, imagine a pore (a slab of atoms with a cylindrical hole cut out) oriented with the pore axis along z, and an ion moving within the pore. The fifth example holds the ion a distance of -20 below the z = 0 center plane of the pore (umbrella sampling). The last example holds the ion a distance 5 away from the pore axis (assuming the center-of-mass of the pore in x,y is the pore axis). +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix drag"_fix_drag.html, "fix spring/self"_fix_spring_self.html, "fix spring/rg"_fix_spring_rg.html [Default:] none diff --git a/doc/fix_spring_rg.html b/doc/fix_spring_rg.html index 13f51832d..d42648e5e 100644 --- a/doc/fix_spring_rg.html +++ b/doc/fix_spring_rg.html @@ -1,61 +1,71 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix spring/rg command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID spring/rg K RG0 </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>spring/rg = style name of this fix command <LI>K = harmonic force constant (force/distance units) <LI>RG0 = target radius of gyration to constrain to (distance units) </UL> <PRE> if RG0 = NULL, use the current RG as the target value </PRE> <P><B>Examples:</B> </P> <PRE>fix 1 protein spring/rg 5.0 10.0 fix 2 micelle spring/rg 5.0 NULL </PRE> <P><B>Description:</B> </P> <P>Apply a harmonic restraining force to atoms in the group to affect their central moment about the center of mass (radius of gyration). This fix is useful to encourage a protein or polymer to fold/unfold and also when sampling along the radius of gyration as a reaction coordinate (i.e. for protein folding). </P> <P>The radius of gyration is defined as RG in the first formula. The energy of the constraint and associated force on each atom is given by the second and third formulas, when the group is at a different RG than the target value RG0. </P> <CENTER><IMG SRC = "Eqs/fix_spring_rg.jpg"> </CENTER> <P>The (xi - center-of-mass) term is computed taking into account periodic boundary conditions, m_i is the mass of the atom, and M is the mass of the entire group. Note that K is thus a force constant for the aggregate force on the group of atoms, not a per-atom force. </P> <P>If RG0 is specified as NULL, then the RG of the group is computed at the time the fix is specified, and that value is used as the target. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_spring.html">fix spring</A>, <A HREF = "fix_spring_self.html">fix spring/self</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_spring_rg.txt b/doc/fix_spring_rg.txt index e8561b260..5dafee6f9 100644 --- a/doc/fix_spring_rg.txt +++ b/doc/fix_spring_rg.txt @@ -1,55 +1,65 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix spring/rg command :h3 [Syntax:] fix ID group-ID spring/rg K RG0 :pre ID, group-ID are documented in "fix"_fix.html command spring/rg = style name of this fix command K = harmonic force constant (force/distance units) RG0 = target radius of gyration to constrain to (distance units) :ul if RG0 = NULL, use the current RG as the target value :pre [Examples:] fix 1 protein spring/rg 5.0 10.0 fix 2 micelle spring/rg 5.0 NULL :pre [Description:] Apply a harmonic restraining force to atoms in the group to affect their central moment about the center of mass (radius of gyration). This fix is useful to encourage a protein or polymer to fold/unfold and also when sampling along the radius of gyration as a reaction coordinate (i.e. for protein folding). The radius of gyration is defined as RG in the first formula. The energy of the constraint and associated force on each atom is given by the second and third formulas, when the group is at a different RG than the target value RG0. :c,image(Eqs/fix_spring_rg.jpg) The (xi - center-of-mass) term is computed taking into account periodic boundary conditions, m_i is the mass of the atom, and M is the mass of the entire group. Note that K is thus a force constant for the aggregate force on the group of atoms, not a per-atom force. If RG0 is specified as NULL, then the RG of the group is computed at the time the fix is specified, and that value is used as the target. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html [Default:] none diff --git a/doc/fix_spring_self.html b/doc/fix_spring_self.html index 1028781c8..9f0c1d4f4 100644 --- a/doc/fix_spring_self.html +++ b/doc/fix_spring_self.html @@ -1,43 +1,59 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix spring/self command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID spring/self K </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>spring/self = style name of this fix command <LI>K = spring constant (force/distance units) </UL> <P><B>Examples:</B> </P> <PRE>fix tether boundary-atoms spring/self 10.0 </PRE> <P><B>Description:</B> </P> <P>Apply a spring force independently to each atom in the group to tether it to its initial position. The initial position for each atom is its location at the time the fix command was issued. At each timestep, the magnitude of the force on each atom is -Kr, where r is the displacement of the atom from its current position to its initial position. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the original coordinates of tethered atoms to <A HREF = "restart.html">binary +restart files</A>, so that the spring effect will be the +same in a restarted simulation. See the +<A HREF = "read_restart.html">read_restart</A> command for info on how to re-specify +a fix in an input script that reads a restart file, so that the +operation of the fix continues in an uninterrupted fashion. +</P> +<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this +fix. No quantities calculated by this fix can be output by the +<A HREF = "thermo_style.html">thermo_style custom</A> command. No parameter of this +fix can be used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> +command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_drag.html">fix drag</A>, <A HREF = "fix_spring.html">fix spring</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_spring_self.txt b/doc/fix_spring_self.txt index b221e7f81..466525d5e 100644 --- a/doc/fix_spring_self.txt +++ b/doc/fix_spring_self.txt @@ -1,38 +1,54 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix spring/self command :h3 [Syntax:] fix ID group-ID spring/self K :pre ID, group-ID are documented in "fix"_fix.html command spring/self = style name of this fix command K = spring constant (force/distance units) :ul [Examples:] fix tether boundary-atoms spring/self 10.0 :pre [Description:] Apply a spring force independently to each atom in the group to tether it to its initial position. The initial position for each atom is its location at the time the fix command was issued. At each timestep, the magnitude of the force on each atom is -Kr, where r is the displacement of the atom from its current position to its initial position. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the original coordinates of tethered atoms to "binary +restart files"_restart.html, so that the spring effect will be the +same in a restarted simulation. See the +"read_restart"_read_restart.html command for info on how to re-specify +a fix in an input script that reads a restart file, so that the +operation of the fix continues in an uninterrupted fashion. + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No quantities calculated by this fix can be output by the +"thermo_style custom"_thermo_style.html command. No parameter of this +fix can be used with the {start/stop} keywords of the "run"_run.html +command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix drag"_fix_drag.html, "fix spring"_fix_spring.html [Default:] none diff --git a/doc/fix_temp_rescale.html b/doc/fix_temp_rescale.html index d5531cfb1..7f84d702f 100644 --- a/doc/fix_temp_rescale.html +++ b/doc/fix_temp_rescale.html @@ -1,107 +1,123 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix temp/rescale command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID temp/rescale N Tstart Tstop window fraction keyword values ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>temp/rescale = style name of this fix command <LI>N = perform rescaling every N steps <LI>Tstart,Tstop = desired temperature at start/end of run (temperature units) <LI>window = only rescale if temperature is outside this window (temperature units) <LI>fraction = rescale to target temperature by this fraction <LI>zero or more keyword/value pairs may be appended to the args <LI>keyword = <I>region</I> </UL> <PRE> <I>region</I> values = region-ID of region to apply rescaling to </PRE> <P><B>Examples:</B> </P> <PRE>fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5 fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 region edge </PRE> <P><B>Description:</B> </P> <P>Reset the temperature of a group of atoms by explicitly rescaling their velocities. </P> <P>Rescaling is performed every N timesteps. The target temperature is a ramped value between the <I>Tstart</I> and <I>Tstop</I> temperatures at the -beginning and end of the run. The <A HREF = "run.html">run</A> command documents -how to make the ramping take place across multiple runs. +beginning and end of the run. </P> <P>Rescaling is only performed if the difference between the current and desired temperatures is greater than the <I>window</I> value. The amount of rescaling that is applied is a <I>fraction</I> (from 0.0 to 1.0) of the difference between the actual and desired temperature. E.g. if <I>fraction</I> = 1.0, the temperature is reset to exactly the desired value. </P> <P>The keyword <I>region</I> applies the fix only to atoms that are in the specified geometric region (and in the fix group). Since atoms can enter/leave a region, this test is performed each timestep. </P> <P>A temp/rescale fix does not update the coordinates of its atoms. It is normally used with a fix of style <I>nve</I> that does that. A temp/rescale fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. a <A HREF = "fix_nvt.html">nvt</A> or <A HREF = "fix_langevin.html">langevin</A> fix. </P> <P>This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp" or "temp/region", as if one of these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp compute fix-ID_temp group-ID temp/region region-ID </PRE> <P>Which is used depends on whether a region was specified with the fix. See the <A HREF = "compute_temp.html">compute temp</A> and <A HREF = "compute_temp_region.html">compute temp/region</A> commands for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended and the group for the new compute is the same as the fix group. </P> <P>Note that this is NOT the compute used by thermodynamic output (see the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> will have no -effect on this fix. Alternatively, you can directly assign a new -compute (for calculating temeperature) that you have defined to this -fix via the <A HREF = "fix_modify.html">fix_modify</A> command. For consistency, if -using the keyword <I>region</I>, the compute you assign should also be of -style <I>temp/region</I>. -</P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. Note that because -this fix is invoked every N steps and thermodynamic info may be -printed every M steps, that unless M is a multiple of N, the energy -info accessed will not be for the current timestep. +effect on this fix. +</P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> option is supported by this +fix. You can use it to assign a <A HREF = "compute.html">compute</A> you have +defined to this fix which will be used in its thermostatting +procedure. For consistency, if using the keyword <I>region</I>, the +compute you assign should also be of style +<A HREF = "compute_temp_region.html">temp/region</A>. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy change implied by a velocity rescaling to the +system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic +output</A>. Note that because this fix is invoked +every N steps and thermodynamic info is printed every M steps, that +unless M is a multiple of N, the energy contribution will not be for +the current timestep. +</P> +<P>The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +<A HREF = "thermo_style.html">thermo_style custom</A> command for details. +</P> +<P>This fix can ramp its target temperature over multiple runs, using the +<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the +<A HREF = "run.html">run</A> command for details of how to do this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_langevin.html">fix langevin</A>, <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_temp_rescale.txt b/doc/fix_temp_rescale.txt index 871ad50ce..9ae3d08d6 100644 --- a/doc/fix_temp_rescale.txt +++ b/doc/fix_temp_rescale.txt @@ -1,101 +1,117 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix temp/rescale command :h3 [Syntax:] fix ID group-ID temp/rescale N Tstart Tstop window fraction keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command temp/rescale = style name of this fix command N = perform rescaling every N steps Tstart,Tstop = desired temperature at start/end of run (temperature units) window = only rescale if temperature is outside this window (temperature units) fraction = rescale to target temperature by this fraction zero or more keyword/value pairs may be appended to the args keyword = {region} :ul {region} values = region-ID of region to apply rescaling to :pre [Examples:] fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5 fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 region edge :pre [Description:] Reset the temperature of a group of atoms by explicitly rescaling their velocities. Rescaling is performed every N timesteps. The target temperature is a ramped value between the {Tstart} and {Tstop} temperatures at the -beginning and end of the run. The "run"_run.html command documents -how to make the ramping take place across multiple runs. +beginning and end of the run. Rescaling is only performed if the difference between the current and desired temperatures is greater than the {window} value. The amount of rescaling that is applied is a {fraction} (from 0.0 to 1.0) of the difference between the actual and desired temperature. E.g. if {fraction} = 1.0, the temperature is reset to exactly the desired value. The keyword {region} applies the fix only to atoms that are in the specified geometric region (and in the fix group). Since atoms can enter/leave a region, this test is performed each timestep. A temp/rescale fix does not update the coordinates of its atoms. It is normally used with a fix of style {nve} that does that. A temp/rescale fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. a "nvt"_fix_nvt.html or "langevin"_fix_langevin.html fix. This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp" or "temp/region", as if one of these commands had been issued: compute fix-ID_temp group-ID temp compute fix-ID_temp group-ID temp/region region-ID :pre Which is used depends on whether a region was specified with the fix. See the "compute temp"_compute_temp.html and "compute temp/region"_compute_temp_region.html commands for details. Note that the ID of the new compute is the fix-ID with underscore + "temp" appended and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the "compute_modify"_compute_modify.html command or print this temperature during thermodyanmic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} will have no -effect on this fix. Alternatively, you can directly assign a new -compute (for calculating temeperature) that you have defined to this -fix via the "fix_modify"_fix_modify.html command. For consistency, if -using the keyword {region}, the compute you assign should also be of -style {temp/region}. - -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. Note that because -this fix is invoked every N steps and thermodynamic info may be -printed every M steps, that unless M is a multiple of N, the energy -info accessed will not be for the current timestep. +effect on this fix. + +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. + +The "fix_modify"_fix_modify.html {temp} option is supported by this +fix. You can use it to assign a "compute"_compute.html you have +defined to this fix which will be used in its thermostatting +procedure. For consistency, if using the keyword {region}, the +compute you assign should also be of style +"temp/region"_compute_temp_region.html. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy change implied by a velocity rescaling to the +system's potential energy as part of "thermodynamic +output"_thermo_style.html. Note that because this fix is invoked +every N steps and thermodynamic info is printed every M steps, that +unless M is a multiple of N, the energy contribution will not be for +the current timestep. + +The energy change can be printed as part of thermodynamic output via +the keyword f_ID, where ID is the fix-ID of this fix. See the +"thermo_style custom"_thermo_style.html command for details. + +This fix can ramp its target temperature over multiple runs, using the +{start} and {stop} keywords of the "run"_run.html command. See the +"run"_run.html command for details of how to do this. + +This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] none [Related commands:] "fix langevin"_fix_langevin.html, "fix nvt"_fix_nvt.html, "fix_modify"_fix_modify.html [Default:] none diff --git a/doc/fix_tmd.html b/doc/fix_tmd.html index 7df6e41b6..c5ddf6755 100644 --- a/doc/fix_tmd.html +++ b/doc/fix_tmd.html @@ -1,120 +1,132 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix tmd command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID tmd rho_final file1 N file2 </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>tmd = style name of this fix command <LI>rho_final = desired value of rho at the end of the run (distance units) <LI>file1 = filename to read target structure from <LI>N = dump TMD statistics every this many timesteps, 0 = no dump <LI>file2 = filename to write TMD statistics to (only needed if N > 0) </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nve fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file </PRE> <P><B>Description:</B> </P> <P>Perform targeted molecular dynamics (TMD) on a group of atoms. A holonomic constraint is used to force the atoms to move towards (or away from) the target configuration. The parameter "rho" is monotonically decreased (or increased) from its initial value to -rho_final at the end of the run. The <A HREF = "run.html">run</A> command documents -how to make the ramping take place across multiple runs. +rho_final at the end of the run. </P> <P>Rho has distance units and is a measure of the root-mean-squared distance (RMSD) between the current configuration of the atoms in the group and the target coordinates listed in file1. Thus a value of rho_final = 0.0 means move the atoms all the way to the final structure during the course of the run. </P> <P>The format of the target file1 is as follows: </P> <PRE>0.0 25.0 xlo xhi 0.0 25.0 ylo yhi 0.0 25.0 zlo zhi 125 24.97311 1.69005 23.46956 0 0 -1 126 1.94691 2.79640 1.92799 1 0 0 127 0.15906 3.46099 0.79121 1 0 0 ... </PRE> <P>The first 3 lines may or may not be needed, depending on the format of the atoms to follow. If image flags are included with the atoms, the 1st 3 lo/hi lines must appear in the file. If image flags are not included, the 1st 3 lines should not appear. The 3 lines contain the simulation box dimensions for the atom coordinates, in the same format as in a LAMMPS data file (see the <A HREF = "read_data.html">read_data</A> command). </P> <P>The remaining lines each contain an atom ID and its target x,y,z coordinates. The atom lines (all or none of them) can optionally be followed by 3 integer values: nx,ny,nz. For periodic dimensions, they specify which image of the box the atom is considered to be in, i.e. a value of N (positive or negative) means add N times the box length to the coordinate to get the true value. </P> <P>The atom lines can be listed in any order, but every atom in the group must be listed in the file. Atoms not in the fix group may also be listed; they will be ignored. </P> <P>TMD statistics are written to file2 every N timesteps, unless N is specified as 0, which means no statistics. </P> <P>The atoms in the fix tmd group should be integrated (via a fix nve, nvt, npt) along with other atoms in the system. </P> <P>Restarts can be used with a fix tmd command. For example, imagine a 10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a restart file was written after 2000 time steps, then the configuration in the file would have a rho value of 9. A new 8000 time step run could be performed with the same rho_final = 1 to complete the conformational change at the same transition rate. Note that for restarted runs, the name of the TMD statistics file should be changed to prevent it being overwritten. </P> <P>For more information about TMD, see <A HREF = "#Schlitter1">(Schlitter1)</A> and <A HREF = "#Schlitter2">(Schlitter2)</A>. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. +</P> +<P>This fix can ramp its rho parameter over multiple runs, using the +<I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the +<A HREF = "run.html">run</A> command for details of how to do this. +</P> +<P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>All TMD fixes must be listed in the input script after all integrator fixes (nve, nvt, npt) are applied. This ensures that atoms are moved before their positions are corrected to comply with the constraint. </P> <P>Atoms that have a TMD fix applied should not be part of a group to which a SHAKE fix is applied. This is because LAMMPS assumes there are not multiple competing holonomic constraints applied to the same atoms. </P> <P><B>Related commands:</B> none </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Schlitter1"></A> <P><B>(Schlitter1)</B> Schlitter, Swegat, Mulders, "Distance-type reaction coordinates for modelling activated processes", J Molecular Modeling, 7, 171-177 (2001). </P> <A NAME = "Schlitter2"></A> <P><B>(Schlitter2)</B> Schlitter and Klahn, "The free energy of a reaction coordinate at multiple constraints: a concise formulation", Molecular Physics, 101, 3439-3443 (2003). </P> </HTML> diff --git a/doc/fix_tmd.txt b/doc/fix_tmd.txt index 6f51d792d..bd7096f50 100644 --- a/doc/fix_tmd.txt +++ b/doc/fix_tmd.txt @@ -1,113 +1,125 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix tmd command :h3 [Syntax:] fix ID group-ID tmd rho_final file1 N file2 :pre ID, group-ID are documented in "fix"_fix.html command tmd = style name of this fix command rho_final = desired value of rho at the end of the run (distance units) file1 = filename to read target structure from N = dump TMD statistics every this many timesteps, 0 = no dump file2 = filename to write TMD statistics to (only needed if N > 0) :ul [Examples:] fix 1 all nve fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file :pre [Description:] Perform targeted molecular dynamics (TMD) on a group of atoms. A holonomic constraint is used to force the atoms to move towards (or away from) the target configuration. The parameter "rho" is monotonically decreased (or increased) from its initial value to -rho_final at the end of the run. The "run"_run.html command documents -how to make the ramping take place across multiple runs. +rho_final at the end of the run. Rho has distance units and is a measure of the root-mean-squared distance (RMSD) between the current configuration of the atoms in the group and the target coordinates listed in file1. Thus a value of rho_final = 0.0 means move the atoms all the way to the final structure during the course of the run. The format of the target file1 is as follows: 0.0 25.0 xlo xhi 0.0 25.0 ylo yhi 0.0 25.0 zlo zhi 125 24.97311 1.69005 23.46956 0 0 -1 126 1.94691 2.79640 1.92799 1 0 0 127 0.15906 3.46099 0.79121 1 0 0 ... :pre The first 3 lines may or may not be needed, depending on the format of the atoms to follow. If image flags are included with the atoms, the 1st 3 lo/hi lines must appear in the file. If image flags are not included, the 1st 3 lines should not appear. The 3 lines contain the simulation box dimensions for the atom coordinates, in the same format as in a LAMMPS data file (see the "read_data"_read_data.html command). The remaining lines each contain an atom ID and its target x,y,z coordinates. The atom lines (all or none of them) can optionally be followed by 3 integer values: nx,ny,nz. For periodic dimensions, they specify which image of the box the atom is considered to be in, i.e. a value of N (positive or negative) means add N times the box length to the coordinate to get the true value. The atom lines can be listed in any order, but every atom in the group must be listed in the file. Atoms not in the fix group may also be listed; they will be ignored. TMD statistics are written to file2 every N timesteps, unless N is specified as 0, which means no statistics. The atoms in the fix tmd group should be integrated (via a fix nve, nvt, npt) along with other atoms in the system. Restarts can be used with a fix tmd command. For example, imagine a 10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a restart file was written after 2000 time steps, then the configuration in the file would have a rho value of 9. A new 8000 time step run could be performed with the same rho_final = 1 to complete the conformational change at the same transition rate. Note that for restarted runs, the name of the TMD statistics file should be changed to prevent it being overwritten. For more information about TMD, see "(Schlitter1)"_#Schlitter1 and "(Schlitter2)"_#Schlitter2. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. + +This fix can ramp its rho parameter over multiple runs, using the +{start} and {stop} keywords of the "run"_run.html command. See the +"run"_run.html command for details of how to do this. + +This fix is not invoked during "energy minimization"_minimize.html. + [Restrictions:] All TMD fixes must be listed in the input script after all integrator fixes (nve, nvt, npt) are applied. This ensures that atoms are moved before their positions are corrected to comply with the constraint. Atoms that have a TMD fix applied should not be part of a group to which a SHAKE fix is applied. This is because LAMMPS assumes there are not multiple competing holonomic constraints applied to the same atoms. [Related commands:] none [Default:] none :line :link(Schlitter1) [(Schlitter1)] Schlitter, Swegat, Mulders, "Distance-type reaction coordinates for modelling activated processes", J Molecular Modeling, 7, 171-177 (2001). :link(Schlitter2) [(Schlitter2)] Schlitter and Klahn, "The free energy of a reaction coordinate at multiple constraints: a concise formulation", Molecular Physics, 101, 3439-3443 (2003). diff --git a/doc/fix_viscous.html b/doc/fix_viscous.html index 81efb9797..c536a974e 100644 --- a/doc/fix_viscous.html +++ b/doc/fix_viscous.html @@ -1,86 +1,96 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix viscous command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID viscous gamma keyword values ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>viscous = style name of this fix command <LI>gamma = damping coefficient (force/velocity units) <LI>zero or more keyword/value pairs can be appended <LI>keyword = <I>b</I> or <I>a</I> or <I>t</I> or <I>m</I> <LI>zero or more keyword/value pairs may be appended to the args <PRE>keyword = <I>scale</I> <I>scale</I> values = type ratio type = atom type (1-N) ratio = factor to scale the damping coefficient by </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 flow viscous 0.1 fix 1 damp viscous 0.5 scale 3 2.5 </PRE> <P><B>Description:</B> </P> <P>Add a viscous damping force to atoms in the group that is proportional to the velocity of the atom. The added force can be thought of as a frictional interaction with implicit solvent. In granular simulations this can be useful for draining the kinetic energy from the system in a controlled fashion. If used without additional thermostatting (to add kinetic energy to the system), it has the effect of slowly (or rapidly) freezing the system; hence it is a simple energy minimization technique. </P> <P>The damping force F is given by F = - gamma * velocity. The larger the coefficient, the faster the kinetic energy is reduced. If the optional keyword <I>scale</I> is used, gamma can scaled up or down by the specified factor for atoms of that type. It can be used multiple times to adjust gamma for several atom types. </P> <P>In a Brownian dynamics context, gamma = kT / mD, where k = Bolztmann's constant, T = temperature, m = particle mass, and D = particle diffusion coefficient. D can be written as kT / (6 pi eta d), where eta = viscosity of the frictional fluid and d = diameter of particle. This means gamma = 6 pi eta d, and thus is proportional to the viscosity of the fluid and the particle diameter. </P> <P>In the current implementation, rather than have the user specify a viscosity (in centiPoise or some other units), gamma is specified directly in force/velocity units. If needed, gamma can be adjusted for atoms of different sizes (i.e. sigma) by using the <I>scale</I> keyword. </P> <P>Note that Brownian dynamics models also typically include a randomized force term to thermostat the system at a chosen temperature. The <A HREF = "fix_langevin.html">fix langevin</A> command adds both a viscous damping term and this random force to each atom; hence if using fix <I>langevin</I> you do not typically need to use fix <I>viscous</I>. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_langevin.html">fix langevin</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_viscous.txt b/doc/fix_viscous.txt index f9b96826c..bec27a705 100644 --- a/doc/fix_viscous.txt +++ b/doc/fix_viscous.txt @@ -1,74 +1,84 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix viscous command :h3 [Syntax:] fix ID group-ID viscous gamma keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l viscous = style name of this fix command :l gamma = damping coefficient (force/velocity units) :l zero or more keyword/value pairs can be appended :l keyword = {b} or {a} or {t} or {m} :l zero or more keyword/value pairs may be appended to the args :l keyword = {scale} {scale} values = type ratio type = atom type (1-N) ratio = factor to scale the damping coefficient by :pre :ule [Examples:] fix 1 flow viscous 0.1 fix 1 damp viscous 0.5 scale 3 2.5 :pre [Description:] Add a viscous damping force to atoms in the group that is proportional to the velocity of the atom. The added force can be thought of as a frictional interaction with implicit solvent. In granular simulations this can be useful for draining the kinetic energy from the system in a controlled fashion. If used without additional thermostatting (to add kinetic energy to the system), it has the effect of slowly (or rapidly) freezing the system; hence it is a simple energy minimization technique. The damping force F is given by F = - gamma * velocity. The larger the coefficient, the faster the kinetic energy is reduced. If the optional keyword {scale} is used, gamma can scaled up or down by the specified factor for atoms of that type. It can be used multiple times to adjust gamma for several atom types. In a Brownian dynamics context, gamma = kT / mD, where k = Bolztmann's constant, T = temperature, m = particle mass, and D = particle diffusion coefficient. D can be written as kT / (6 pi eta d), where eta = viscosity of the frictional fluid and d = diameter of particle. This means gamma = 6 pi eta d, and thus is proportional to the viscosity of the fluid and the particle diameter. In the current implementation, rather than have the user specify a viscosity (in centiPoise or some other units), gamma is specified directly in force/velocity units. If needed, gamma can be adjusted for atoms of different sizes (i.e. sigma) by using the {scale} keyword. Note that Brownian dynamics models also typically include a randomized force term to thermostat the system at a chosen temperature. The "fix langevin"_fix_langevin.html command adds both a viscous damping term and this random force to each atom; hence if using fix {langevin} you do not typically need to use fix {viscous}. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] "fix langevin"_fix_langevin.html [Default:] none diff --git a/doc/fix_wall_gran.html b/doc/fix_wall_gran.html index 482e16390..a57b6e4c2 100644 --- a/doc/fix_wall_gran.html +++ b/doc/fix_wall_gran.html @@ -1,94 +1,113 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix wall/gran command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID wall/gran wallstyle args keyword values ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>wall/gran = style name of this fix command <LI>style = <I>xplane</I> or <I>yplane</I> or <I>zplane</I> or <I>zcylinder</I> <LI>args = list of arguments for a particular style <PRE> <I>xplane</I> or <I>yplane</I> or <I>zplane</I> args = lo hi gamma xmu lo, hi = position of lower and upper plane (either can be NULL) gamman = damping coeff for normal direction collisions with wall xmu = friction coeff for the wall <I>zcylinder</I> args = radius gamma xmu radius = cylinder radius (distance units) gamman = damping coeff for normal direction collisions with wall xmu = friction coeff for the wall </PRE> <LI>zero or more keyword/value pairs may be appended to args <PRE> keyword = <I>wiggle</I> values = dim amplitude period dim = <I>x</I> or <I>y</I> or <I>z</I> amplitude = size of oscillation (distance units) period = time of oscillation (time units) </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all wall/gran xplane -10.0 10.0 50.0 0.5 fix 2 all wall/gran zcylinder 15.0 50.0 0.5 wiggle z 3.0 2.0 fix 1 all wall/gran zplane 0.0 NULL 100.0 0.5 </PRE> <P><B>Description:</B> </P> <P>Bound the simulation domain of a granular system with a frictional wall. All particles in the group interact with the wall when they are close enough to touch it. </P> <P>The <I>wallstyle</I> can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by <I>lo</I> and <I>hi</I>. Either of the values can be specified as NULL if a single wall is desired. For a <I>zcylinder</I> wallstyle, the cylinder's axis is at x = y = 0.0, and the radius of the cylinder is specified. For all wallstyles, a damping and friction coefficient for particle-wall interactions are also specified. </P> <P>Optionally, a wall can be oscillated, similar to the oscillations of frozen particles specified by the <A HREF = "fix_wiggle.html">fix_wiggle</A> command. This is useful in packing simulations of granular particles. If the keyword <I>wiggle</I> is appended to the argument list, then a dimension for the motion, as well as it's <I>amplitude</I> and <I>period</I> is specified. Each timestep, the position of the wall in the appropriate <I>dim</I> is set according to this equation: </P> <PRE>position = pos0 + A - A cos (omega * delta) </PRE> <P>where <I>pos0</I> is the position at the time the fix was specified, <I>A</I> is the <I>amplitude</I>, <I>omega</I> is 2 PI / <I>period</I>, and <I>delta</I> is the elapsed time since the fix was specified. The velocity of the wall is also set to the derivative of this expression. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>This fix writes the shear friction state of atoms interacting with the +wall to <A HREF = "restart.html">binary restart files</A>, so that a simulation can +continue correctly if granular potentials with shear "history" effects +are being used. See the <A HREF = "read_restart.html">read_restart</A> command for +info on how to re-specify a fix in an input script that reads a +restart file, so that the operation of the fix continues in an +uninterrupted fashion. +</P> +<P>None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this +fix. No quantities calculated by this fix can be output by the +<A HREF = "thermo_style.html">thermo_style custom</A> command. No parameter of this +fix can be used with the <I>start/stop</I> keywords of the <A HREF = "run.html">run</A> +command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> +<P>This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. +</P> <P>Any dimension (xyz) that has a granular wall must be non-periodic. </P> -<P>This fix can only be used if LAMMPS was built with the "granular" -package and with atom_style granular. A zcylinder wall can only be -oscillated in the z dimension. +<P>A zcylinder wall can only be oscillated in the z dimension. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_wiggle.html">fix_wiggle</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_wall_gran.txt b/doc/fix_wall_gran.txt index c5b36bd8b..2f6c31ff1 100644 --- a/doc/fix_wall_gran.txt +++ b/doc/fix_wall_gran.txt @@ -1,82 +1,101 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix wall/gran command :h3 [Syntax:] fix ID group-ID wall/gran wallstyle args keyword values ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l wall/gran = style name of this fix command :l style = {xplane} or {yplane} or {zplane} or {zcylinder} :l args = list of arguments for a particular style :l {xplane} or {yplane} or {zplane} args = lo hi gamma xmu lo, hi = position of lower and upper plane (either can be NULL) gamman = damping coeff for normal direction collisions with wall xmu = friction coeff for the wall {zcylinder} args = radius gamma xmu radius = cylinder radius (distance units) gamman = damping coeff for normal direction collisions with wall xmu = friction coeff for the wall :pre zero or more keyword/value pairs may be appended to args :l keyword = {wiggle} values = dim amplitude period dim = {x} or {y} or {z} amplitude = size of oscillation (distance units) period = time of oscillation (time units) :pre :ule [Examples:] fix 1 all wall/gran xplane -10.0 10.0 50.0 0.5 fix 2 all wall/gran zcylinder 15.0 50.0 0.5 wiggle z 3.0 2.0 fix 1 all wall/gran zplane 0.0 NULL 100.0 0.5 :pre [Description:] Bound the simulation domain of a granular system with a frictional wall. All particles in the group interact with the wall when they are close enough to touch it. The {wallstyle} can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by {lo} and {hi}. Either of the values can be specified as NULL if a single wall is desired. For a {zcylinder} wallstyle, the cylinder's axis is at x = y = 0.0, and the radius of the cylinder is specified. For all wallstyles, a damping and friction coefficient for particle-wall interactions are also specified. Optionally, a wall can be oscillated, similar to the oscillations of frozen particles specified by the "fix_wiggle"_fix_wiggle.html command. This is useful in packing simulations of granular particles. If the keyword {wiggle} is appended to the argument list, then a dimension for the motion, as well as it's {amplitude} and {period} is specified. Each timestep, the position of the wall in the appropriate {dim} is set according to this equation: position = pos0 + A - A cos (omega * delta) :pre where {pos0} is the position at the time the fix was specified, {A} is the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the elapsed time since the fix was specified. The velocity of the wall is also set to the derivative of this expression. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +This fix writes the shear friction state of atoms interacting with the +wall to "binary restart files"_restart.html, so that a simulation can +continue correctly if granular potentials with shear "history" effects +are being used. See the "read_restart"_read_restart.html command for +info on how to re-specify a fix in an input script that reads a +restart file, so that the operation of the fix continues in an +uninterrupted fashion. + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No quantities calculated by this fix can be output by the +"thermo_style custom"_thermo_style.html command. No parameter of this +fix can be used with the {start/stop} keywords of the "run"_run.html +command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] +This fix is part of the "granular" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. + Any dimension (xyz) that has a granular wall must be non-periodic. -This fix can only be used if LAMMPS was built with the "granular" -package and with atom_style granular. A zcylinder wall can only be -oscillated in the z dimension. +A zcylinder wall can only be oscillated in the z dimension. [Related commands:] "fix_wiggle"_fix_wiggle.html [Default:] none diff --git a/doc/fix_wall_lj126.html b/doc/fix_wall_lj126.html index 512552fc0..46dae8478 100644 --- a/doc/fix_wall_lj126.html +++ b/doc/fix_wall_lj126.html @@ -1,70 +1,84 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix wall/lj126 command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID wall/lj126 style coord epsilon sigma cutoff </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>wall/lj126 = style name of this fix command <LI>style = <I>xlo</I> or <I>xhi</I> or <I>ylo</I> or <I>yhi</I> or <I>zlo</I> or <I>zhi</I> <LI>coord = position of wall <LI>epsilon = Lennard-Jones epsilon for wall-particle interaction <LI>sigma = Lennard-Jones sigma for wall-particle interaction <LI>cutoff = distance from wall at which wall-particle interaction is cut off </UL> <P><B>Examples:</B> </P> <PRE>fix wallhi all wall/lj126 xhi 10.0 1.0 1.0 1.12 </PRE> <P><B>Description:</B> </P> <P>Bound the simulation domain with a Lennard-Jones wall that encloses the atoms. The energy E of a wall-particle interactions is given by the 12-6 potential </P> <CENTER><IMG SRC = "Eqs/pair_lj.jpg"> </CENTER> <P>where <I>r</I> is the distance from the particle to the wall <I>coord</I>, and epsilon and sigma are the usual LJ parameters. Rc is the cutoff value specified in the command. This interaction provides a harder, more repulsive interaction with the wall than the softer 9-3 potential provided by the <A HREF = "fix_wall_lj93.html">fix wall/lj93</A> command. </P> <P>The wall potential is shifted so that the energy of a wall-particle interaction is 0.0 at the cutoff distance. </P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. -</P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. If you -want that energy to be included in the total potential energy of the -system (the quantity being minimized), you must enable the -<A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option for this fix. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy of interaction between atoms and the wall to the +system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic +output</A>. +</P> +<P>The atom/wall interaction energy can be printed as part of +thermodynamic output via the keyword f_ID, where ID is the fix-ID of +this fix. See the <A HREF = "thermo_style.html">thermo_style custom</A> command for +details. +</P> +<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. +</P> +<P>IMPORTANT NOTE: If you want the atom/wall interaction energy to be +included in the total potential energy of the system (the quantity +being minimized), you MUST enable the <A HREF = "fix_modify.html">fix_modify</A> +<I>energy</I> option for this fix. </P> <P><B>Restrictions:</B> </P> <P>Any dimension (xyz) that has a LJ 12/6 wall must be non-periodic. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_wall_reflect.html">fix wall/reflect</A>, <A HREF = "fix_wall_lj93.html">fix wall/lj93</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_wall_lj126.txt b/doc/fix_wall_lj126.txt index 23a269298..3bb4f1033 100644 --- a/doc/fix_wall_lj126.txt +++ b/doc/fix_wall_lj126.txt @@ -1,65 +1,79 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix wall/lj126 command :h3 [Syntax:] fix ID group-ID wall/lj126 style coord epsilon sigma cutoff :pre ID, group-ID are documented in "fix"_fix.html command wall/lj126 = style name of this fix command style = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} coord = position of wall epsilon = Lennard-Jones epsilon for wall-particle interaction sigma = Lennard-Jones sigma for wall-particle interaction cutoff = distance from wall at which wall-particle interaction is cut off :ul [Examples:] fix wallhi all wall/lj126 xhi 10.0 1.0 1.0 1.12 :pre [Description:] Bound the simulation domain with a Lennard-Jones wall that encloses the atoms. The energy E of a wall-particle interactions is given by the 12-6 potential :c,image(Eqs/pair_lj.jpg) where {r} is the distance from the particle to the wall {coord}, and epsilon and sigma are the usual LJ parameters. Rc is the cutoff value specified in the command. This interaction provides a harder, more repulsive interaction with the wall than the softer 9-3 potential provided by the "fix wall/lj93"_fix_wall_lj93.html command. The wall potential is shifted so that the energy of a wall-particle interaction is 0.0 at the cutoff distance. -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. - -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. If you -want that energy to be included in the total potential energy of the -system (the quantity being minimized), you must enable the -"fix_modify"_fix_modify.html {energy} option for this fix. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy of interaction between atoms and the wall to the +system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The atom/wall interaction energy can be printed as part of +thermodynamic output via the keyword f_ID, where ID is the fix-ID of +this fix. See the "thermo_style custom"_thermo_style.html command for +details. + +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. + +IMPORTANT NOTE: If you want the atom/wall interaction energy to be +included in the total potential energy of the system (the quantity +being minimized), you MUST enable the "fix_modify"_fix_modify.html +{energy} option for this fix. [Restrictions:] Any dimension (xyz) that has a LJ 12/6 wall must be non-periodic. [Related commands:] "fix wall/reflect"_fix_wall_reflect.html, "fix wall/lj93"_fix_wall_lj93.html [Default:] none diff --git a/doc/fix_wall_lj93.html b/doc/fix_wall_lj93.html index d60ecc30b..116fa5dde 100644 --- a/doc/fix_wall_lj93.html +++ b/doc/fix_wall_lj93.html @@ -1,71 +1,85 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix wall/lj93 command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID wall/lj93 style coord epsilon sigma cutoff </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>wall/lj93 = style name of this fix command <LI>style = <I>xlo</I> or <I>xhi</I> or <I>ylo</I> or <I>yhi</I> or <I>zlo</I> or <I>zhi</I> <LI>coord = position of wall <LI>epsilon = Lennard-Jones epsilon for wall-particle interaction <LI>sigma = Lennard-Jones sigma for wall-particle interaction <LI>cutoff = distance from wall at which wall-particle interaction is cut off </UL> <P><B>Examples:</B> </P> <PRE>fix wallhi all wall/lj93 xhi 10.0 1.0 1.0 2.5 </PRE> <P><B>Description:</B> </P> <P>Bound the simulation domain with a Lennard-Jones wall that encloses the atoms. The energy E of a wall-particle interactions is given by the 9-3 potential </P> <CENTER><IMG SRC = "Eqs/fix_wall_lj93.jpg"> </CENTER> <P>where <I>r</I> is the distance from the particle to the wall <I>coord</I>, and epsilon and sigma are the usual LJ parameters. Rc is the cutoff value specified in the command. This interaction is derived by integrating over a 3d half-lattice of Lennard-Jones 12-6 particles. A harder, more repulsive wall interaction can be computed by using the <A HREF = "fix_wall_lj126.html">fix wall/lj126</A> command. </P> <P>The wall potential is shifted so that the energy of a wall-particle interaction is 0.0 at the cutoff distance. </P> -<P>This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can -also be printed by itself via the keyword <I>f_fix-ID</I> in the -<A HREF = "thermo_style.html">thermo_style custom</A> command. -</P> -<P>The forces due to this fix are also imposed during an energy -minimization, invoked by the <A HREF = "minimize.html">minimize</A> command. If you -want that energy to be included in the total potential energy of the -system (the quantity being minimized), you must enable the -<A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option for this fix. +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. +</P> +<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this +fix to add the energy of interaction between atoms and the wall to the +system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic +output</A>. +</P> +<P>The atom/wall interaction energy can be printed as part of +thermodynamic output via the keyword f_ID, where ID is the fix-ID of +this fix. See the <A HREF = "thermo_style.html">thermo_style custom</A> command for +details. +</P> +<P>No parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. +</P> +<P>The forces due to this fix are imposed during an energy minimization, +invoked by the <A HREF = "minimize.html">minimize</A> command. +</P> +<P>IMPORTANT NOTE: If you want the atom/wall interaction energy to be +included in the total potential energy of the system (the quantity +being minimized), you MUST enable the <A HREF = "fix_modify.html">fix_modify</A> +<I>energy</I> option for this fix. </P> <P><B>Restrictions:</B> </P> <P>Any dimension (xyz) that has a LJ 9/3 wall must be non-periodic. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_wall_reflect.html">fix wall/reflect</A>, <A HREF = "fix_wall_lj126.html">fix wall/lj126</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_wall_lj93.txt b/doc/fix_wall_lj93.txt index a859c8668..49fb34872 100644 --- a/doc/fix_wall_lj93.txt +++ b/doc/fix_wall_lj93.txt @@ -1,66 +1,80 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix wall/lj93 command :h3 [Syntax:] fix ID group-ID wall/lj93 style coord epsilon sigma cutoff :pre ID, group-ID are documented in "fix"_fix.html command wall/lj93 = style name of this fix command style = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} coord = position of wall epsilon = Lennard-Jones epsilon for wall-particle interaction sigma = Lennard-Jones sigma for wall-particle interaction cutoff = distance from wall at which wall-particle interaction is cut off :ul [Examples:] fix wallhi all wall/lj93 xhi 10.0 1.0 1.0 2.5 :pre [Description:] Bound the simulation domain with a Lennard-Jones wall that encloses the atoms. The energy E of a wall-particle interactions is given by the 9-3 potential :c,image(Eqs/fix_wall_lj93.jpg) where {r} is the distance from the particle to the wall {coord}, and epsilon and sigma are the usual LJ parameters. Rc is the cutoff value specified in the command. This interaction is derived by integrating over a 3d half-lattice of Lennard-Jones 12-6 particles. A harder, more repulsive wall interaction can be computed by using the "fix wall/lj126"_fix_wall_lj126.html command. The wall potential is shifted so that the energy of a wall-particle interaction is 0.0 at the cutoff distance. -This fix makes a contribution to the potential energy of the system -that can be included in thermodynamic output of potential energy using -the "fix_modify energy"_fix_modify.html option. The contribution can -also be printed by itself via the keyword {f_fix-ID} in the -"thermo_style custom"_thermo_style.html command. - -The forces due to this fix are also imposed during an energy -minimization, invoked by the "minimize"_minimize.html command. If you -want that energy to be included in the total potential energy of the -system (the quantity being minimized), you must enable the -"fix_modify"_fix_modify.html {energy} option for this fix. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. + +The "fix_modify"_fix_modify.html {energy} option is supported by this +fix to add the energy of interaction between atoms and the wall to the +system's potential energy as part of "thermodynamic +output"_thermo_style.html. + +The atom/wall interaction energy can be printed as part of +thermodynamic output via the keyword f_ID, where ID is the fix-ID of +this fix. See the "thermo_style custom"_thermo_style.html command for +details. + +No parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. + +IMPORTANT NOTE: If you want the atom/wall interaction energy to be +included in the total potential energy of the system (the quantity +being minimized), you MUST enable the "fix_modify"_fix_modify.html +{energy} option for this fix. [Restrictions:] Any dimension (xyz) that has a LJ 9/3 wall must be non-periodic. [Related commands:] "fix wall/reflect"_fix_wall_reflect.html, "fix wall/lj126"_fix_wall_lj126.html [Default:] none diff --git a/doc/fix_wall_reflect.html b/doc/fix_wall_reflect.html index d592c7691..85c644b02 100644 --- a/doc/fix_wall_reflect.html +++ b/doc/fix_wall_reflect.html @@ -1,62 +1,72 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix wall/reflect command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID wall/reflect keyword ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>wall/reflect = style name of this fix command <LI>one or more keyword/value pairs may be appended to the args <LI>keyword = <I>xlo</I> or <I>xhi</I> or <I>ylo</I> or <I>yhi</I> or <I>zlo</I> or <I>zhi</I> </UL> <P><B>Examples:</B> </P> <PRE>fix xwalls all wall/reflect xlo xhi fix walls all wall/reflect xlo ylo zlo xhi yhi zhi </PRE> <P><B>Description:</B> </P> <P>Bound the simulation with one or more walls which reflect particles when they attempt to move thru them. </P> <P>Reflection means that if an atom moves outside the box on a timestep by a distance delta (e.g. due to <A HREF = "fix_nve.html">fix nve</A>), then it is put back inside the box by the same delta and the sign of the corresponding component of its velocity is flipped. </P> <P>IMPORTANT NOTE: This fix performs its operations at the same point in the timestep as other time integration fixes, such as <A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nvt.html">fix nvt</A>, or <A HREF = "fix_npt.html">fix npt</A>. Thus fix wall/reflect should normally be the last such fix specified in the input script, since the adjustments it makes to atom coordinates should come after the changes made by time integration. LAMMPS will warn you if your fixes are not ordered this way. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> </P> <P>Any dimension (xyz) that has a reflecting wall must be non-periodic. </P> <P>A reflecting wall cannot be used with rigid bodies such as those defined by a "fix rigid" command. This is because the wall/reflect displaces atoms directly rather than exerts a force on them. For rigid bodies, use a soft wall instead, such as <A HREF = "fix_wall_lj93.html">fix wall/lj93</A>. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_wall_lj93.html">fix wall/lj93</A> command </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_wall_reflect.txt b/doc/fix_wall_reflect.txt index 330b172f6..334a3229e 100644 --- a/doc/fix_wall_reflect.txt +++ b/doc/fix_wall_reflect.txt @@ -1,57 +1,67 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix wall/reflect command :h3 [Syntax:] fix ID group-ID wall/reflect keyword ... :pre ID, group-ID are documented in "fix"_fix.html command wall/reflect = style name of this fix command one or more keyword/value pairs may be appended to the args keyword = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} :ul [Examples:] fix xwalls all wall/reflect xlo xhi fix walls all wall/reflect xlo ylo zlo xhi yhi zhi :pre [Description:] Bound the simulation with one or more walls which reflect particles when they attempt to move thru them. Reflection means that if an atom moves outside the box on a timestep by a distance delta (e.g. due to "fix nve"_fix_nve.html), then it is put back inside the box by the same delta and the sign of the corresponding component of its velocity is flipped. IMPORTANT NOTE: This fix performs its operations at the same point in the timestep as other time integration fixes, such as "fix nve"_fix_nve.html, "fix nvt"_fix_nvt.html, or "fix npt"_fix_npt.html. Thus fix wall/reflect should normally be the last such fix specified in the input script, since the adjustments it makes to atom coordinates should come after the changes made by time integration. LAMMPS will warn you if your fixes are not ordered this way. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] Any dimension (xyz) that has a reflecting wall must be non-periodic. A reflecting wall cannot be used with rigid bodies such as those defined by a "fix rigid" command. This is because the wall/reflect displaces atoms directly rather than exerts a force on them. For rigid bodies, use a soft wall instead, such as "fix wall/lj93"_fix_wall_lj93.html. [Related commands:] "fix wall/lj93"_fix_wall_lj93.html command [Default:] none diff --git a/doc/fix_wiggle.html b/doc/fix_wiggle.html index aefff2ec1..422b63a3c 100644 --- a/doc/fix_wiggle.html +++ b/doc/fix_wiggle.html @@ -1,49 +1,59 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix wiggle command </H3> <P><B>Syntax:</B> </P> <P>fix ID group-ID wiggle dim amplitude period </P> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>wiggle = style name of this fix command <LI>dim = <I>x</I> or <I>y</I> or <I>z</I> <LI>amplitude = size of oscillation (distance units) <LI>period = time of oscillation (time units) </UL> <P><B>Examples:</B> </P> <PRE>fix 1 frozen wiggle 3.0 0.5 </PRE> <P><B>Description:</B> </P> <P>Move a group of atoms in a sinusoidal oscillation. This is useful in granular simulations when boundary atoms are wiggled to induce packing of the dynamic atoms. The dimension <I>dim</I> of movement is specified as is the <I>amplitude</I> and <I>period</I> of the oscillations. Each timestep the <I>dim</I> coordinate of each atom is set to </P> <PRE>coord = coord0 + A - A cos (omega * delta) </PRE> <P>where <I>coord0</I> is the coordinate at the time the fix was specified, <I>A</I> is the <I>amplitude</I>, <I>omega</I> is 2 PI / <I>period</I>, and <I>delta</I> is the elapsed time since the fix was specified. The velocity of the atom is set to the derivative of this expression. </P> +<P><B>Restart, fix_modify, thermo output, run start/stop, minimize info:</B> +</P> +<P>No information about this fix is written to <A HREF = "restart.html">binary restart +files</A>. None of the <A HREF = "fix_modify.html">fix_modify</A> options +are relevant to this fix. No quantities calculated by this fix can be +output by the <A HREF = "thermo_style.html">thermo_style custom</A> command. No +parameter of this fix can be used with the <I>start/stop</I> keywords of +the <A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy +minimization</A>. +</P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> none </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/fix_wiggle.txt b/doc/fix_wiggle.txt index 6f82cd7b2..a4f9dcdd5 100644 --- a/doc/fix_wiggle.txt +++ b/doc/fix_wiggle.txt @@ -1,44 +1,54 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix wiggle command :h3 [Syntax:] fix ID group-ID wiggle dim amplitude period ID, group-ID are documented in "fix"_fix.html command wiggle = style name of this fix command dim = {x} or {y} or {z} amplitude = size of oscillation (distance units) period = time of oscillation (time units) :ul [Examples:] fix 1 frozen wiggle 3.0 0.5 :pre [Description:] Move a group of atoms in a sinusoidal oscillation. This is useful in granular simulations when boundary atoms are wiggled to induce packing of the dynamic atoms. The dimension {dim} of movement is specified as is the {amplitude} and {period} of the oscillations. Each timestep the {dim} coordinate of each atom is set to coord = coord0 + A - A cos (omega * delta) :pre where {coord0} is the coordinate at the time the fix was specified, {A} is the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the elapsed time since the fix was specified. The velocity of the atom is set to the derivative of this expression. +[Restart, fix_modify, thermo output, run start/stop, minimize info:] + +No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No quantities calculated by this fix can be +output by the "thermo_style custom"_thermo_style.html command. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + [Restrictions:] none [Related commands:] none [Default:] none diff --git a/doc/improper_class2.txt b/doc/improper_class2.txt index f5390e56a..5e27bb6aa 100644 --- a/doc/improper_class2.txt +++ b/doc/improper_class2.txt @@ -1,77 +1,77 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line improper_style class2 command :h3 [Syntax:] improper_style class2 :pre [Examples:] improper_style class2 improper_coeff 1 100.0 0 :pre [Description:] The {class2} improper style uses the potential :c,image(Eqs/improper_class2.jpg) where Ei is the improper term and Eaa is an angle-angle term. The chi used in Ei is an average over 3 possible chi orientations. The subscripts on the various theta's refer to different combinations of atoms i,j,k,l used to form the angle; theta1, theta2, theta3 are the equilibrium positions of those angles. See "(Sun)"_#Sun for a description of the COMPASS class2 force field. The following coefficients must be defined for each improper type via the "improper_coeff"_improper_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: -For this style, only coefficients for the Ei formula can be specified -in the input script. These are the 2 coefficients: +For this style, coefficients for the Ei formula can be specified in +eiher the input script or data file. These are the 2 coefficients: K (energy/radian^2) X0 (degrees) :ul X0 is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian^2. -Coefficients for the Eaa formula must be specified in the data file. -For the Eaa formula, the coefficients are listed under a +Coefficients for the Eaa formula can only be specified in the data +file. For the Eaa formula, the coefficients are listed under a "AngleAngle Coeffs" heading and each line lists 6 coefficients: M1 (energy/distance) M2 (energy/distance) M3 (energy/distance) theta1 (degrees) theta2 (degrees) theta3 (degrees) :ul The theta values are specified in degrees, but LAMMPS converts them to radians internally; hence the units of M are in energy/radian^2. [Restrictions:] -This improper style is part of the "class2" package. It is only -enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +This improper style can only be used if LAMMPS was built with the +"class2" package. See the "Making LAMMPS"_Section_start.html#2_3 +section for more info on packages. [Related commands:] "improper_coeff"_improper_coeff.html [Default:] none :line :link(Sun) [(Sun)] Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/improper_cvff.txt b/doc/improper_cvff.txt index d47660d79..ddec5bcfe 100644 --- a/doc/improper_cvff.txt +++ b/doc/improper_cvff.txt @@ -1,43 +1,47 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line improper_style cvff command :h3 [Syntax:] improper_style cvff :pre [Examples:] improper_style cvff improper_coeff 1 80.0 -1 4 :pre [Description:] The {cvff} improper style uses the potential :c,image(Eqs/improper_cvff.jpg) where phi is the Wilson out-of-plane angle. The following coefficients must be defined for each improper type via the "improper_coeff"_improper_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy) d (+1 or -1) n (0,1,2,3,4,6) :ul -[Restrictions:] none +[Restrictions:] + +This improper style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "improper_coeff"_improper_coeff.html [Default:] none diff --git a/doc/improper_harmonic.txt b/doc/improper_harmonic.txt index a5567428e..9b66c35ec 100644 --- a/doc/improper_harmonic.txt +++ b/doc/improper_harmonic.txt @@ -1,46 +1,50 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line improper_style harmonic command :h3 [Syntax:] improper_style harmonic :pre [Examples:] improper_style harmonic improper_coeff 1 100.0 0 :pre [Description:] The {harmonic} improper style uses the potential :c,image(Eqs/improper_harmonic.jpg) where X is the improper angle, X0 is its equilibrium value, and K is a prefactor. Note that the usual 1/2 factor is included in K. The following coefficients must be defined for each improper type via the "improper_coeff"_improper_coeff.html command as in the example above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: K (energy/radian^2) X0 (degrees) :ul X0 is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian^2. -[Restrictions:] none +[Restrictions:] + +This improper style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "improper_coeff"_improper_coeff.html [Default:] none diff --git a/doc/improper_hybrid.txt b/doc/improper_hybrid.txt index 3bed0c6c3..b6f2e92a9 100644 --- a/doc/improper_hybrid.txt +++ b/doc/improper_hybrid.txt @@ -1,59 +1,63 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line improper_style hybrid command :h3 [Syntax:] improper_style hybrid style1 style2 ... :pre style1,style2 = list of one or more improper styles :ul [Examples:] improper_style hybrid harmonic helix improper_coeff 1 harmonic 120.0 30 improper_coeff 2 cvff 20.0 -1 2 :pre [Description:] The {hybrid} style enables the use of multiple improper styles in one simulation. An improper style is assigned to each improper type. For example, impropers in a polymer flow (of improper type 1) could be computed with a {harmonic} potential and impropers in the wall boundary (of improper type 2) could be computed with a {cvff} potential. The assignment of improper type to style is made via the "improper_coeff"_improper_coeff.html command or in the data file. In the improper_coeff command, the first coefficient sets the improper style and the remaining coefficients are those appropriate to that style. In the example above, the 2 improper_coeff commands would set impropers of improper type 1 to be computed with a {harmonic} potential with coefficients 120.0, 30 for K, X0. Improper type 2 would be computed with a {cvff} potential with coefficients 20.0, -1, 2 for K, d, n. If the improper {class2} potential is one of the hybrid styles, it requires additional AngleAngle coefficients be specified in the data file. These lines must also have an additional "class2" argument added after the improper type. For improper types which are assigned to other hybrid styles, use the style name (e.g. "harmonic") appropriate to that style. The AngleAngle coeffs for that improper type will then be ignored. An improper style of {none} can be specified as an argument to improper_style hybrid and the corresponding improper_coeff commands, if you desire to turn off certain improper types. -[Restrictions:] none +[Restrictions:] + +This improper style can only be used if LAMMPS was built with the +"molecular" package (which it is by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. [Related commands:] "improper_coeff"_improper_coeff.html [Default:] none diff --git a/doc/improper_style.txt b/doc/improper_style.txt index 85fbc6918..420bbc0e7 100644 --- a/doc/improper_style.txt +++ b/doc/improper_style.txt @@ -1,73 +1,84 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line improper_style command :h3 [Syntax:] improper_style style :pre style = {none} or {hybrid} or {class2} or {cvff} or {harmonic} :ul [Examples:] improper_style harmonic improper_style cvff improper_style hybrid cvff harmonic :pre [Description:] Set the formula(s) LAMMPS uses to compute improper interactions between quadruplets of atoms, which remain in force for the duration of the simulation. The list of improper quadruplets is read in by a "read_data"_read_data.html or "read_restart"_read_restart.html command from a data or restart file. Hybrid models where impropers are computed using different improper potentials can be setup using the {hybrid} improper style. -The coefficients associated with an improper style can be specified in a -data or restart file or via the "improper_coeff"_improper_coeff.html command. - -Note that when both an improper and pair style is defined, the -"special_bond"_special_bond.html command often needs to be used to -turn off (or weight) the pairwise interactions that would otherwise -exist between the 4 bonded atoms. +The coefficients associated with an improper style can be specified in +a data or restart file or via the "improper_coeff"_improper_coeff.html +command. + +All improper potentials store their coefficient data in binary restart +files which means improper_style and +"improper_coeff"_improper_coeff.html commands do not need to be +re-specified in an input script that restarts a simulation. See the +"read_restart"_read_restart.html command for details on how to do +this. The one exception is that improper_style {hybrid} only stores +the list of sub-styles in the restart file; improper coefficients need +to be re-specified. + +IMPORTANT NOTE: When both an improper and pair style is defined, the +"special_bonds"_special_bonds.html command often needs to be used to +turn off (or weight) the pairwise interaction that would otherwise +exist between 4 bonded atoms. :line Here is an alphabetic list of improper styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated "improper_coeff"_improper_coeff.html command: "improper_style none"_improper_none.html - turn off improper interactions "improper_style hybrid"_improper_hybrid.html - define multiple styles of improper interactions :ul "improper_style class2"_improper_class2.html - COMPASS (class 2) improper "improper_style cvff"_improper_cvff.html - CVFF improper "improper_style harmonic"_improper_harmonic.html - harmonic improper :ul :line [Restrictions:] Improper styles can only be set for atom_style choices that allow impropers to be defined. -Improper styles are part of the "molecular" package or other packages -as noted in their documentation. They are only enabled if LAMMPS was -built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +Most improper styles are part of the "molecular" package. They are +only enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. The +doc pages for individual improper potentials tell if it is part of a +package. [Related commands:] "improper_coeff"_improper_coeff.html [Default:] improper_style none :pre diff --git a/doc/kspace_style.txt b/doc/kspace_style.txt index 3a8bd6d8c..e7e5e2447 100644 --- a/doc/kspace_style.txt +++ b/doc/kspace_style.txt @@ -1,100 +1,100 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line kspace_style command :h3 [Syntax:] kspace_style style value :pre style = {none} or {ewald} or {pppm} :ulb,l {none} value = none {ewald} value = precision precision = desired accuracy {pppm} value = precision precision = desired accuracy {pppm/tip4p} value = precision precision = desired accuracy :pre :ule [Examples:] kspace_style pppm 1.0e-4 kspace_style none :pre [Description:] Define a K-space solver for LAMMPS to use each timestep to compute long-range Coulombic interactions. When such a solver is used in conjunction with an appropriate pair style, the cutoff for Coulombic interactions is effectively infinite; each charge in the system interacts with charges in an infinite array of periodic images of the simulation domain. The {ewald} style performs a standard Ewald summation as described in any solid-state physics text. The {pppm} style invokes a particle-particle particle-mesh solver "(Hockney)"_#Hockney which maps atom charge to a 3d mesh, uses 3d FFTs to solve Poisson's equation on the mesh, then interpolates electric fields on the mesh points back to the atoms. It is closely related to the particle-mesh Ewald technique (PME) "(Darden)"_#Darden used in AMBER and CHARMM. The cost of traditional Ewald summation scales as N^(3/2) where N is the number of atoms in the system. The PPPM solver scales as Nlog(N) due to the FFTs, so it is almost always a faster choice "(Pollock)"_#Pollock. The {pppm/tip4p} style is identical to the {pppm} style except that it adds a charge at the massless 4th site in each TIP4P water molecule. It should be used with "pair styles"_pair_style.html with a {long/tip4p} in their style name. When a kspace style is used, a pair style that includes the short-range correction to the pairwise Coulombic forces must also be selected. These styles are ones that have a {coul/long} in their style name. A precision value of 1.0e-4 means one part in 10000. This setting is used in conjunction with the pairwise cutoff to determine the number of K-space vectors for style {ewald} or the FFT grid size for style {pppm}. [Restrictions:] A simulation must be 3d and periodic in all dimensions to use an Ewald or PPPM solver. The only exception is if the slab option is set with "kspace_modify"_kspace_modify.html, in which case the xy dimensions must be periodic and the z dimension must be non-periodic. Kspace styles are part of the "kspace" package. They are only enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +LAMMPS"_Section_start.html#2_3 section for more info. When using a long-range pairwise TIP4P potential, you must use kspace style {pppm/tip4p} and vice versa. [Related commands:] "kspace_modify"_kspace_modify.html, "pair_style"_pair_style.html lj/cut/coul/long, "pair_style"_pair_style.html lj/charmm/coul/long [Default:] kspace_style none :pre :line :link(Darden) [(Darden)] Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993). :link(Hockney) [(Hockney)] Hockney and Eastwood, Computer Simulation Using Particles, Adam Hilger, NY (1989). :link(Pollock) [(Pollock)] Pollock and Glosli, Comp Phys Comm, 95, 93 (1996). diff --git a/doc/minimize.html b/doc/minimize.html index 64c251b2b..7f1550b27 100644 --- a/doc/minimize.html +++ b/doc/minimize.html @@ -1,109 +1,111 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>minimize command </H3> <P><B>Syntax:</B> </P> <PRE>minimize tolerance maxiter maxeval </PRE> <UL><LI>tolerance = stopping tolerance <LI>maxiter = max iterations of minimizer <LI>maxeval = max number of total force/energy evaluations </UL> <P><B>Examples:</B> </P> <PRE>minimize 1.0e-4 100 1000 </PRE> <P><B>Description:</B> </P> <P>Perform an energy minimization of the system, by adjusting each atom's atomic coordinates. The algorithm used is set by the <A HREF = "min_style.html">min_style</A> command. Minimize commands can be interspersed with <A HREF = "run.html">run</A> commands to alternate between relaxation and dynamics. The minimizers are implemented in a robust fashion that should allow for systems with highly overlapped atoms (large energies and forces) to still be minimized by pushing the atoms off of each other. </P> +<P>Following the minimization a statistical summary is printed that +includes the energy change and convergence criteria information. +</P> <P>A minimization involves an outer iteration loop which sets the search direction along which coordinates are changed. An inner iteration is then performed using a line search algorithm. The line search typically evaluates forces and energies several times to set new coordinates. The minimization stops if any of several criteria are met: </P> <UL><LI>the change in energy between outer iterations is less than the tolerance <LI>the number of outer iterations exceeds maxiter <LI>the number of force evaluations exceeds maxeval <LI>the 3N dimensional force vector goes (nearly) to zero </UL> <P>For the first criterion, the specified tolerance is unitless; it is met when the ratio of the energy delta to the energy magnitude is equal to the tolerance (e.g. one part in 10^4 in the example above). </P> <P>During a minimization, the outer iteration count is treated as a timestep. Output is triggered by this timestep, e.g. thermodynamic output or dump and restart files. </P> <P>For optimal convergence, a <A HREF = "pair_style.html">pair style</A> that goes smoothly to 0.0 at the cutoff distance for both energy and force should typically be used though this is not required. Examples include <I>pair/lj/charmm/coul/charmm</I> and <I>pair/lj/charmm/coul/long</I>. If a <I>soft</I> potential is used the Astop value is used for the prefactor (no time dependence). </P> -<P>Only fixes that apply force constraints are invoked during -minimization. The list of the currently implemented ones include fix -<I>addforce</I>, <I>aveforce</I>, <I>enforce2d</I>, <I>indent</I>, <I>lineforce</I>, -<I>planeforce</I>, <I>setforce</I>, and <I>wall/lj93</I>. Note that <I>indent</I>, -<I>wall/lj93</I> have an associated potential energy. If you want that -energy to be included in the total potential energy of the system (the -quantity being minimized), you must enable the -<A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option for that fix. +<P>Only some fixes (typically those that apply force constraints) are +invoked during minimization. See the doc pages for individual +<A HREF = "fix.html">fix</A> commands to see which ones are relevant. </P> -<P>Following the minimization a statistical summary is printed that -includes the energy change and convergence criteria information. +<P>IMPORTANT NOTE: Some fixes which are invoked during minimization have +an associated potential energy. For that energy to be included in the +total potential energy of the system (the quantity being minimized), +you MUST enable the <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option for +that fix. The doc pages for individual <A HREF = "fix.html">fix</A> commands +specify if this should be done. </P> <P><B>Restrictions:</B> </P> -<P>Features that are not yet implemented listed here, in case someone +<P>Features that are not yet implemented are listed here, in case someone knows how they could be coded: </P> <P>It is an error to use <A HREF = "fix_shake.html">fix shake</A> with minimization because it turns off bonds that should be included in the potential energy of the system. The effect of a fix shake can be approximated during a minimization by using stiff spring constants for the bonds and/or angles that would normally be constrained by the SHAKE algorithm. </P> <P><A HREF = "fix_rigid.html">Fix rigid</A> is also not supported by minimization. It is not an error to have it defined, but the energy minimization will not keep the defined body(s) rigid during the minimization. Note that if bonds, angles, etc internal to a rigid body have been turned off (e.g. via <A HREF = "neigh_modify.html">neigh_modify exclude</A>), they will not contribute to the potential energy which is probably not what is desired. </P> <P>The volume of the simulation domain is not allowed to change during a minimzation. Ideally we would allow a fix such as <I>npt</I> to impose an external pressure that would be included in the minimization (i.e. allow the box dimensions to change), but this has not yet been implemented. </P> <P><B>Related commands:</B> </P> <P><A HREF = "min_modify.html">min_modify</A>, <A HREF = "min_style.html">min_style</A>, <A HREF = "run_style.html">run_style</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/minimize.txt b/doc/minimize.txt index 0b3459a07..30a7609a5 100644 --- a/doc/minimize.txt +++ b/doc/minimize.txt @@ -1,104 +1,106 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line minimize command :h3 [Syntax:] minimize tolerance maxiter maxeval :pre tolerance = stopping tolerance maxiter = max iterations of minimizer maxeval = max number of total force/energy evaluations :ul [Examples:] minimize 1.0e-4 100 1000 :pre [Description:] Perform an energy minimization of the system, by adjusting each atom's atomic coordinates. The algorithm used is set by the "min_style"_min_style.html command. Minimize commands can be interspersed with "run"_run.html commands to alternate between relaxation and dynamics. The minimizers are implemented in a robust fashion that should allow for systems with highly overlapped atoms (large energies and forces) to still be minimized by pushing the atoms off of each other. +Following the minimization a statistical summary is printed that +includes the energy change and convergence criteria information. + A minimization involves an outer iteration loop which sets the search direction along which coordinates are changed. An inner iteration is then performed using a line search algorithm. The line search typically evaluates forces and energies several times to set new coordinates. The minimization stops if any of several criteria are met: the change in energy between outer iterations is less than the tolerance the number of outer iterations exceeds maxiter the number of force evaluations exceeds maxeval the 3N dimensional force vector goes (nearly) to zero :ul For the first criterion, the specified tolerance is unitless; it is met when the ratio of the energy delta to the energy magnitude is equal to the tolerance (e.g. one part in 10^4 in the example above). During a minimization, the outer iteration count is treated as a timestep. Output is triggered by this timestep, e.g. thermodynamic output or dump and restart files. For optimal convergence, a "pair style"_pair_style.html that goes smoothly to 0.0 at the cutoff distance for both energy and force should typically be used though this is not required. Examples include {pair/lj/charmm/coul/charmm} and {pair/lj/charmm/coul/long}. If a {soft} potential is used the Astop value is used for the prefactor (no time dependence). -Only fixes that apply force constraints are invoked during -minimization. The list of the currently implemented ones include fix -{addforce}, {aveforce}, {enforce2d}, {indent}, {lineforce}, -{planeforce}, {setforce}, and {wall/lj93}. Note that {indent}, -{wall/lj93} have an associated potential energy. If you want that -energy to be included in the total potential energy of the system (the -quantity being minimized), you must enable the -"fix_modify"_fix_modify.html {energy} option for that fix. +Only some fixes (typically those that apply force constraints) are +invoked during minimization. See the doc pages for individual +"fix"_fix.html commands to see which ones are relevant. -Following the minimization a statistical summary is printed that -includes the energy change and convergence criteria information. +IMPORTANT NOTE: Some fixes which are invoked during minimization have +an associated potential energy. For that energy to be included in the +total potential energy of the system (the quantity being minimized), +you MUST enable the "fix_modify"_fix_modify.html {energy} option for +that fix. The doc pages for individual "fix"_fix.html commands +specify if this should be done. [Restrictions:] -Features that are not yet implemented listed here, in case someone +Features that are not yet implemented are listed here, in case someone knows how they could be coded: It is an error to use "fix shake"_fix_shake.html with minimization because it turns off bonds that should be included in the potential energy of the system. The effect of a fix shake can be approximated during a minimization by using stiff spring constants for the bonds and/or angles that would normally be constrained by the SHAKE algorithm. "Fix rigid"_fix_rigid.html is also not supported by minimization. It is not an error to have it defined, but the energy minimization will not keep the defined body(s) rigid during the minimization. Note that if bonds, angles, etc internal to a rigid body have been turned off (e.g. via "neigh_modify exclude"_neigh_modify.html), they will not contribute to the potential energy which is probably not what is desired. The volume of the simulation domain is not allowed to change during a minimzation. Ideally we would allow a fix such as {npt} to impose an external pressure that would be included in the minimization (i.e. allow the box dimensions to change), but this has not yet been implemented. [Related commands:] "min_modify"_min_modify.html, "min_style"_min_style.html, "run_style"_run_style.html [Default:] none diff --git a/doc/pair_buck.txt b/doc/pair_buck.txt index 9d23621c2..e48559743 100644 --- a/doc/pair_buck.txt +++ b/doc/pair_buck.txt @@ -1,102 +1,123 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style buck command :h3 pair_style buck/coul/cut command :h3 pair_style buck/coul/long command :h3 [Syntax:] pair_style style args :pre style = {buck} or {buck/coul/cut} or {buck/coul/long} args = list of arguments for a particular style :ul {buck} args = cutoff cutoff = global cutoff for Buckingham interactions (distance units) {buck/coul/cut} args = cutoff (cutoff2) cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) {buck/coul/long} args = cutoff (cutoff2) cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre [Examples:] pair_style buck 2.5 pair_coeff * * 100.0 1.5 200.0 pair_coeff * * 100.0 1.5 200.0 3.0 :pre pair_style buck/coul/cut 10.0 pair_style buck/coul/cut 10.0 8.0 pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0 :pre pair_style buck/coul/long 10.0 pair_style buck/coul/long 10.0 8.0 pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 :pre [Description:] The {buck} style computes a Buckingham potential (exp/6 instead of Lennard-Jones 12/6) given by :c,image(Eqs/pair_buck.jpg) Rc is the cutoff. The {buck/coul/cut} and {buck/coul/long} styles add a Coulombic term as described for the "lj/cut"_pair_lj.html pair styles. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: A (energy units) rho (distance units) C (energy-distance^6 units) cutoff (distance units) cutoff2 (distance units) :ul The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style {buck}, since it has no Coulombic terms. The second coefficient, rho, must be greater than zero. For {buck/coul/long} only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command. -[Restrictions:] +:line -The {buck} potentials do not support the -"pair_modify"_pair_modify.hmtl {mix} option. Coefficients for all i,j -pairs must be specified explicitly. +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: -The {buck/coul/long} style is part of the "kspace" package. It is -only enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +None of the Buckingham pair styles support mixing. Thus, coefficients +for all I,J pairs must be specified explicitly. + +All of the Buckingham pair styles support the +"pair_modify"_pair_modify.html shift option for the energy of the +exp() and 1/r^6 portion of the pair interaction. + +The {buck/coul/long} pair style does not support the +"pair_modify"_pair_modify.html table option since a tabulation +capability has not yet been added to this potential. + +None of the Buckingham pair styles support the +"pair_modify"_pair_modify.html tail option for adding long-range tail +corrections to energy and pressure. -On some 64-bit machines, compiling with -O3 appears to break the -Coulombic tabling option used by the {buck/coul/long} style. See -the "Additional build tips" section of the Making LAMMPS documentation -pages for workarounds on this issue. +All of the Buckinham pair styles can calculate per-atom energy and +stress, as used by the "compute epair/atom"_compute_epair_atom.html, +"compute stress/atom"_compute_stress_atom.html, and "dump +custom"_dump.html commands. + +All of the Buckinham pair styles write their information to "binary +restart files"_restart.html, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. + +[Restrictions:] + +The {buck/coul/long} style is part of the "kspace" package. It is +only enabled if LAMMPS was built with that package (which it is by +default). See the "Making LAMMPS"_Section_start.html#2_3 section for +more info. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none diff --git a/doc/pair_charmm.txt b/doc/pair_charmm.txt index abc291aca..312ac09de 100644 --- a/doc/pair_charmm.txt +++ b/doc/pair_charmm.txt @@ -1,140 +1,169 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style lj/charmm/coul/charmm command :h3 pair_style lj/charmm/coul/charmm/implicit command :h3 pair_style lj/charmm/coul/long command :h3 pair_style lj/charmm/coul/long/opt command :h3 [Syntax:] pair_style style args :pre style = {lj/charmm/coul/charmm} or {lj/charmm/coul/charmm/implicit} or {lj/charmm/coul/long} or {lj/charmm/coul/long/opt} args = list of arguments for a particular style :ul {lj/charmm/coul/charmm} args = inner outer (inner2) (outer2) inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args) inner2, outer2 = global switching cutoffs for Coulombic (optional) {lj/charmm/coul/charmm/implicit} args = inner outer (inner2) (outer2) inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) inner2, outer2 = global switching cutoffs for Coulombic (optional) {lj/charmm/coul/long} args = inner outer (cutoff) inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) :pre [Examples:] pair_style lj/charmm/coul/charmm 8.0 10.0 pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0 pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0 pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre pair_style lj/charmm/coul/long 8.0 10.0 pair_style lj/charmm/coul/long/opt 8.0 10.0 pair_style lj/charmm/coul/long 8.0 10.0 9.0 pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre [Description:] The {lj/charmm} styles compute LJ and Coulombic interactions with an additional switching function S(r) that ramps the energy and force smoothly to zero between an inner and outer cuoff. It is a widely used potential in the "CHARMM"_http://www.scripps.edu/brooks MD code. See "(MacKerell)"_#MacKerell for a description of the CHARMM force field. :c,image(Eqs/pair_charmm.jpg) Both the LJ and Coulombic terms require an inner and outer cutoff. They can be the same for both formulas or different depending on whether 2 or 4 arguments are used in the pair_style command. In each case, the inner cutoff distance must be less than the outer cutoff. It it typical to make the difference between the 2 cutoffs about 1.0 Angstrom. Style {lj/charmm/coul/charmm/implicit} computes the same formulas as style {lj/charmm/coul/charmm} except that an additional 1/r term is included in the Coulombic formula. The Coulombic energy thus varies as 1/r^2. This is effectively a distance-dependent dielectric term which is a simple model for an implicit solvent with additional screening. It is designed for use in a simulation of an unsolvated biomolecule (no explicit water molecules). Style {lj/charmm/coul/long} computes the same formulas as style {lj/charmm/coul/charmm} except that an additional damping factor is applied to the Coulombic term, as in the discussion for pair style {lj/cut/coul/long}. Only one Coulombic cutoff is specified for {lj/charmm/coul/long}; if only 2 arguments are used in the pair_style command, then the outer LJ cutoff is used as the single Coulombic cutoff. Style {lj/charmm/coul/long/opt} is an optimized version of style {lj/charmm/coul/long} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: epsilon (energy units) sigma (distance units) epsilon_14 (energy units) sigma_14 (distance units) :ul Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) sigma. The latter 2 coefficients are optional. If they are specified, they are used in the LJ formula between 2 atoms of these types which are also first and fourth atoms in any dihedral. No cutoffs are specified because this CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in the pair_style command. -If the pair_coeff command is not used to define coefficients for a -particular I != J type pair, the mixing rule for epsilon and sigma for -all CHARMM potentials is to use the {arithmetic} formulas documented -by the "pair_modify"_pair_modify.html command. The "pair_modify -mix"_pair_modify.html setting is thus ignored for CHARMM potentials. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, +and sigma_14 coefficients for all of the lj/charmm pair styles can be +mixed. They are always mixed with the value {arithmetic}. See the +"pair_modify" command for details. + +None of the lj/charmm pair styles support the +"pair_modify"_pair_modify.html shift option, since the Lennard-Jones +portion of the pair interaction is smoothed to 0.0 at the cutoff. + +The {lj/charmm/coul/long} and {lj/charmm/coul/long/opt} pair styles +support the "pair_modify"_pair_modify.html table option since they can +tabulate the short-range portion of the long-range Coulombic +interaction. + +None of the lj/charmm pair styles support the +"pair_modify"_pair_modify.html tail option for adding long-range tail +corrections to energy and pressure, since the Lennard-Jones portion of +the pair interaction is smoothed to 0.0 at the cutoff. + +All of the lj/charmm pair styles can calculate per-atom energy and +stress, as used by the "compute epair/atom"_compute_epair_atom.html, +"compute stress/atom"_compute_stress_atom.html, and "dump +custom"_dump.html commands. + +All of the lj/charmm pair styles write their information to "binary +restart files"_restart.html, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. + +:line [Restrictions:] The {lj/charmm/coul/charmm} and {lj/charmm/coul/charmm/implicit} styles are part of the "molecule" package. The {lj/charmm/coul/long} style is part of the "kspace" package. The {lj/charmm/coul/long/opt} style is part of the "opt" package and also requires the "kspace" package. They are only enabled if LAMMPS was built with those -package(s). See the "Making LAMMPS"_Section_start.html#2_3 section -for more info. +package(s) (molecule and kspace are by default). See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. On some 64-bit machines, compiling with -O3 appears to break the Coulombic tabling option used by the {lj/charmm/coul/long} style. See the "Additional build tips" section of the Making LAMMPS documentation pages for workarounds on this issue. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(MacKerell) [(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). diff --git a/doc/pair_class2.txt b/doc/pair_class2.txt index 10deb9648..ed29ceaff 100644 --- a/doc/pair_class2.txt +++ b/doc/pair_class2.txt @@ -1,111 +1,140 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style lj/class2 command :h3 pair_style lj/class2/coul/cut command :h3 pair_style lj/class2/coul/long command :h3 [Syntax:] pair_style style args :pre style = {lj/class2} or {lj/class2/coul/cut} or {lj/class2/coul/long} args = list of arguments for a particular style :ul {lj/class2} args = cutoff cutoff = global cutoff for class 2 interactions (distance units) {lj/class2/coul/cut} args = cutoff (cutoff2) cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) {lj/class2/coul/long} args = cutoff (cutoff2) cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre [Examples:] pair_style lj/class2 10.0 pair_coeff * * 100.0 2.5 pair_coeff 1 2* 100.0 2.5 9.0 :pre pair_style lj/class2/coul/cut 10.0 pair_style lj/class2/coul/cut 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_coeff 1 1 100.0 3.5 9.0 9.0 :pre pair_style lj/class2/coul/long 10.0 pair_style lj/class2/coul/long 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 :pre [Description:] The {lj/class2} styles compute a 6/9 Lennard-Jones potential given by :c,image(Eqs/pair_class2.jpg) Rc is the cutoff. The {lj/class2/coul/cut} and {lj/class2/coul/long} styles add a Coulombic term as described for the "lj/cut"_pair_lj.html pair styles. See "(Sun)"_#Sun for a description of the COMPASS class2 force field. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: epsilon (energy units) sigma (distance units) cutoff1 (distance units) cutoff2 (distance units) :ul The latter 2 coefficients are optional. If not specified, the global class 2 and Coulombic cutoffs are used. If only one cutoff is specified, it is used as the cutoff for both class 2 and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the class 2 and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style {lj/class2}, since it has no Coulombic terms. For {lj/class2/coul/long} only the class 2 cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command. +: line + If the pair_coeff command is not used to define coefficients for a particular I != J type pair, the mixing rule for epsilon and sigma for all class2 potentials is to use the {sixthpower} formulas documented by the "pair_modify"_pair_modify.html command. The "pair_modify mix"_pair_modify.html setting is thus ignored for class2 potentials for epsilon and sigma. However it is still followed for mixing the cutoff distance. -[Restrictions:] +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the epsilon and sigma coefficients +and cutoff distance for all of the lj/class2 pair styles can be mixed. +Epsilon and sigma are always mixed with the value {sixthpower}. The +cutoff distance is mixed by whatever option is set by the pair_modify +command (default = geometric). See the "pair_modify" command for +details. + +All of the lj/class2 pair styles support the +"pair_modify"_pair_modify.html shift option for the energy of the +Lennard-Jones portion of the pair interaction. + +The {lj/class2/coul/long} pair style does not support the +"pair_modify"_pair_modify.html table option since a tabulation +capability has not yet been added to this potential. -These styles are part of the "class2" package. They are only enabled -if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +All of the lj/class2 pair styles support the +"pair_modify"_pair_modify.html tail option for adding a long-range +tail correction to the energy and pressure of the Lennard-Jones +portion of the pair interaction. + +All of the lj/class2 pair styles can calculate per-atom energy and +stress, as used by the "compute epair/atom"_compute_epair_atom.html, +"compute stress/atom"_compute_stress_atom.html, and "dump +custom"_dump.html commands. + +All of the lj/class2 pair styles write their information to "binary +restart files"_restart.html, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. + +[Restrictions:] -On some 64-bit machines, compiling with -O3 appears to break the -Coulombic tabling option used by the {lj/class2/coul/long} style. See -the "Additional build tips" section of the Making LAMMPS documentation -pages for workarounds on this issue. +All of these pair styles are part of the "class2" package. They are +only enabled if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Sun) [(Sun)] Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/pair_coeff.txt b/doc/pair_coeff.txt index 040236aa0..acaeafab1 100644 --- a/doc/pair_coeff.txt +++ b/doc/pair_coeff.txt @@ -1,139 +1,132 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_coeff command :h3 [Syntax:] pair_coeff I J args :pre I,J = atom types (see asterik form below) args = coefficients for one or more pairs of atom types :ul [Examples:] pair_coeff 1 2 1.0 1.0 2.5 pair_coeff 2 * 1.0 1.0 pair_coeff 3* 1*2 1.0 1.0 2.5 pair_coeff * * 1.0 1.0 pair_coeff * * nialhjea 1 1 2 pair_coeff * 3 morse.table ENTRY1 pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid) :pre [Description:] Specify the pairwise force field coefficients for one or more pairs of atom types. The number and meaning of the coefficients depends on the pair style. Pair coefficients can also be set in the data file read by the "read_data"_read_data.html command or in a restart file. I and J can be specified in one of two ways. Explicit numeric values can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same values. -A wild-card asterik can be used in place of in conjunction with the +A wild-card asterik can be used in place of or in conjunction with the I,J arguments to set the coefficients for multiple pairs of atom types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of atom types, then an asterik with no numeric values means all types from 1 to N. A leading asterik means all types from 1 to n (inclusive). A trailing asterik means all types from n to N (inclusive). A middle asterik means all types from m to n (inclusive). Note that only type pairs with I <= J are considered; if asteriks imply type pairs where J < I, they are ignored. Note that a pair_coeff command can override a previous setting for the same I,J pair. For example, these commands set the coeffs for all I,J pairs, then overwrite the coeffs for just the I,J = 2,3 pair: pair_coeff * * 1.0 1.0 2.5 pair_coeff 2 3 2.0 1.0 1.12 :pre A line in a data file that specifies pair coefficients uses the exact same format as the arguments of the pair_coeff command in an input script, with the exception of the I,J type arguments. In each line of the "Pair Coeffs" section of a data file, only a single type I is specified, which sets the coefficients for type I interacting with type I. This is because the section has exactly N lines, where N = the number of atom types. For this reason, the wild-card asterik should also not be used as part of the I argument. Thus in a data file, the line corresponding to the 1st example above would be listed as 2 1.0 1.0 2.5 :pre For many potentials, if coefficients for type pairs with I != J are not set explicity by a pair_coeff command, the values are inferred from the I,I and J,J settings by mixing rules; see the -"pair_modify"_pair_modify.html command for a discussion. Exceptions -to the mixing rules are discussed with the individual pair styles. +"pair_modify"_pair_modify.html command for a discussion. Details on +this option as it pertains to individual potentials are described on +the doc page for the potential. :line Here is an alphabetic list of pair styles defined in LAMMPS. Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the associated "pair_coeff"_pair_coeff.html command: -"pair_style none"_pair_none.html - turn off pairwise interactions -"pair_style hybrid"_pair_hybrid.html - define multiple styles of pairwise interactions :ul +"pair_style airebo"_pair_airebo.html - AI-REBO potential "pair_style buck"_pair_buck.html - Buckingham potential "pair_style buck/coul/cut"_pair_buck.html - Buckinhham with cutoff Coulomb "pair_style buck/coul/long"_pair_buck.html - Buckingham with long-range Coulomb "pair_style colloid"_pair_colloid.html - integrated colloidal potential -"pair_style dipole/cut"_pair_dpd.html - point dipole potential "pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD) "pair_style eam"_pair_eam.html - embedded atom method (EAM) -"pair_style eam/opt"_pair_eam.html - optimized embedded atom method (EAM) "pair_style eam/alloy"_pair_eam.html - alloy EAM -"pair_style eam/alloy/opt"_pair_eam.html - optimized alloy EAM "pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM -"pair_style eam/fs/opt"_pair_eam.html - optimized Finnis-Sinclair EAM "pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential "pair_style gran/hertzian"_pair_gran.html - granular potential with Hertizain interactions "pair_style gran/history"_pair_gran.html - granular potential with history effects "pair_style gran/no_history"_pair_gran.html - granular potential without history effects "pair_style lj/charmm/coul/charmm"_pair_charmm.html - CHARMM potential with cutoff Coulomb "pair_style lj/charmm/coul/charmm/implicit"_pair_charmm.html - CHARMM for implicit solvent "pair_style lj/charmm/coul/long"_pair_charmm.html - CHARMM with long-range Coulomb -"pair_style lj/charmm/coul/long/opt"_pair_charmm.html - optimized CHARMM with long-range Coulomb "pair_style lj/class2"_pair_class2.html - COMPASS (class 2) force field with no Coulomb "pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb "pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb "pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb -"pair_style lj/cut/opt"_pair_lj.html - optimized cutoff Lennard-Jones potential with no Coulomb "pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb "pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye damping added to Coulomb "pair_style lj/cut/coul/long"_pair_lj.html - LJ with long-range Coulomb "pair_style lj/cut/coul/long/tip4p"_pair_lj.html - LJ with long-range Coulomb for TIP4P water "pair_style lj/expand"_pair_lj_expand.html - Lennard-Jones for variable size particles "pair_style lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential "pair_style meam"_pair_meam.html - modified embedded atom method (MEAM) "pair_style morse"_pair_morse.html - Morse potential -"pair_style morse/opt"_pair_morse.html - optimized Morse potential "pair_style soft"_pair_soft.html - Soft (cosine) potential "pair_style sw"_pair_sw.html - Stillinger-Weber 3-body potential "pair_style table"_pair_table.html - tabulated pair potential "pair_style tersoff"_pair_tersoff.html - Tersoff 3-body potential "pair_style yukawa"_pair_yukawa.html - Yukawa potential :ul :line [Restrictions:] This command must come after the simulation box is defined by a "read_data"_read_data.html, "read_restart"_read_restart.html, or "create_box"_create_box.html command. [Related commands:] "pair_style"_pair_style.html, "pair_modify"_pair_modify.html, "read_data"_read_data.html, "read_restart"_read_restart.html, "pair_write"_pair_write.html [Default:] none diff --git a/doc/pair_colloid.txt b/doc/pair_colloid.txt index d7a263069..72832c664 100644 --- a/doc/pair_colloid.txt +++ b/doc/pair_colloid.txt @@ -1,131 +1,157 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style colloid command :h3 [Syntax:] pair_style colloid cutoff :pre cutoff = global cutoff for colloidal interactions (distance units) :ul [Examples:] pair_style colloid 10.0 pair_coeff * * 25 1.0 10.0 10.0 pair_coeff 1 1 144 1.0 0.0 0.0 3.0 pair_coeff 1 2 75.398 1.0 0.0 10.0 9.0 pair_coeff 2 2 39.478 1.0 10.0 10.0 25.0 :pre [Description:] Style {colloid} computes pairwise interactions between large colloidal particles and small solvent particles using 3 formulas. A colloidal particle has a size > sigma; a solvent particle is the usual Lennard-Jones particle of size sigma. The colloid-colloid interaction energy is given by :c,image(Eqs/pair_colloid_cc.jpg) A is the Hamaker constant, a1 and a2 are the radii of the two colloidal particles, and Rc is the cutoff. This equation results from describing each colloidal particle as an integrated collection of Lennard-Jones particles of size sigma and is derived in "(Everaers)"_#Everaers. The colloid-solvent interaction energy is given by :c,image(Eqs/pair_colloid_cs.jpg) A is the Hamaker constant, a is the radius of the colloidal particle, and Rc is the cutoff. This formula is derived from the colloid-colloid interaction, letting one of the particle sizes go to zero. The solvent-solvent interaction energy is given by the usual Lennard-Jones formula :c,image(Eqs/pair_colloid_ss.jpg) which results from letting both particle sizes go to zero. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: A (energy units) sigma (distance units) d1 (distance units) d2 (distance units) cutoff (distance units) :ul A is the energy prefactor and should typically be set as follows: A_cc = colloid/colloid = 4 pi^2 = 39.5 A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4) A_cs = colloid/solvent = sqrt(A_cc*A_ss) :ul Sigma is the size of the solvent particle or the constituent particles integrated over in the colloidal particle and should typically be set as follows: Sigma_cc = colloid/colloid = 1.0 Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma :ul Thus typically Sigma_cs = 1.0, unless the solvent particle's size != 1.0. D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 and d2 > 0, then the pair interacts via the colloid-colloid formula above. If d1 = 0 and d2 = 0, then the pair interacts via the solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones particle of size sigma. If either d1 = 0 or d2 = 0 and the other is larger, then the pair interacts via the colloid-solvent formula. Note that the diameter of a particular particle type may appear in multiple pair_coeff commands, as it interacts with other particle types. You should insure the particle diameter is specified consistently each time it appears. The last coefficient is optional. If not specified, the global cutoff specified in the pair_style command is used. However, you typically want different cutoffs for interactions between different particle sizes. E.g. if colloidal particles of diameter 10 are used with solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5 would correspond to a colloid-colloid cutoff of 25. A good rule-of-thumb is to use a colloid-solvent cutoff that is half the big diamter + 4 times the small diamter. I.e. 9 = 5 + 4 for the colloid-solvent cutoff in this case. -If a pair_coeff command is not specified for I != J, then the -coefficients are mixed according the mixing rules defined by the -"pair_modify"_pair_modify.html command. The prefactor A is mixed like -the Lennard-Jones epsilon; sigma,d1,d2 are all mixed like the -Lennard-Jones sigma. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the A, sigma, d1, and d2 +coefficients and cutoff distance for this pair style can be mixed. A +is an energy value mixed like a LJ epsilon. D1 and d2 are distance +values and are mixed like sigma. The default mix value is +{geometric}. See the "pair_modify" command for details. + +This pair style supports the "pair_modify"_pair_modify.html shift +option for the energy of the pair interaction. + +The "pair_modify"_pair_modify.html table option is not relevant +for this pair style. + +This pair style does not support the "pair_modify"_pair_modify.html +tail option for adding long-range tail corrections to energy and +pressure. + +This pair style can calculate per-atom energy and stress, as used by +the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +:line [Restrictions:] -The {colloid} style is part of the "colloid" package. It is only -enabled if LAMMPS was built with that package. See the "Making +This style is part of the "colloid" package. It is only enabled if +LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Everaers) [(Everaers)] Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003). diff --git a/doc/pair_dipole.txt b/doc/pair_dipole.txt index 5d6662902..cea8a63e8 100755 --- a/doc/pair_dipole.txt +++ b/doc/pair_dipole.txt @@ -1,98 +1,132 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style dipole/cut command :h3 [Syntax:] pair_style dipole/cut cutoff (cutoff2) :pre cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) :ul [Examples:] pair_style dipole/cut 10.0 pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 :pre [Description:] Style {dipole/cut} computes interactions bewteen pairs of particles that each have a charge and/or a point dipole moment. In addition to the usual Lennard-Jones interaction between the particles (Elj) the charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) interactions are computed by these formulas for the energy (E), force (F), and torque (T) between particles I and J. :c,image(Eqs/pair_dipole.jpg) where qi and qj are the charges on the two particles, pi and pj are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = Ri - Rj is the separation vector between the two particles. Note that Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the torques do not act symmetrically. These formulas are discussed in "(Allen)"_#Allen and in "(Toukmaji)"_#Toukmaji. If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic (q,p) terms respectively. Use of this pair style requires the use of the "fix nve/dipole"_fix_nve_dipole.html command to integrate rotation of the dipole moments. Additionally, "atom_style dipole"_atom_style.html should be used since it defines the point dipoles and their rotational state. The magnitude of the dipole moment for each type of particle can be defined by the "dipole"_dipole.html command or in the "Dipoles" section of the data file read in by the "read_data"_read_data.html command. Their initial orientation can be defined by the "set dipole"_set.html command or in the "Atoms" section of the data file. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: epsilon (energy units) sigma (distance units) cutoff1 (distance units) cutoff2 (distance units) :ul The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. -[Restrictions:] +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the epsilon and sigma coefficients +and cutoff distances for this pair style can be mixed. The default +mix value is {geometric}. See the "pair_modify" command for details. + +For atom type pairs I,J and I != J, the A, sigma, d1, and d2 +coefficients and cutoff distance for this pair style can be mixed. A +is an energy value mixed like a LJ epsilon. D1 and d2 are distance +values and are mixed like sigma. The default mix value is +{geometric}. See the "pair_modify" command for details. + +This pair style supports the "pair_modify"_pair_modify.html shift +option for the energy of the Lennard-Jones portion of the pair +interaction. -Can only be used if LAMMPS was built with the "dipole" package. +The "pair_modify"_pair_modify.html table option is not relevant +for this pair style. + +This pair style does not support the "pair_modify"_pair_modify.html +tail option for adding long-range tail corrections to energy and +pressure. + +This pair style can calculate per-atom energy and stress, as used by +the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +[Restrictions:] -The use of this potential requires additional fixes as described -above. +This style is part of the "dipole" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "pair_coeff"_pair_coeff.html, "fix nve/dipole"_fix_nve_dipole.html, "compute temp/dipole"_compute_temp_dipole.html [Default:] none :line :link(Allen) [(Allen)] Allen and Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford, 1987. :link(Toukmaji) [(Toukmaji)] Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, 10913 (2000). diff --git a/doc/pair_dpd.txt b/doc/pair_dpd.txt index cfd8c5f56..95dc12146 100644 --- a/doc/pair_dpd.txt +++ b/doc/pair_dpd.txt @@ -1,83 +1,116 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style dpd command :h3 [Syntax:] pair_style dpd T cutoff seed :pre T = temperature (temperature units) cutoff = global cutoff for DPD interactions (distance units) seed = random # seed (integer > 0 and < 900000000) :ul [Examples:] pair_style dpd 1.0 2.5 34387 pair_coeff * * 3.0 1.0 pair_coeff 1 1 3.0 1.0 1.0 :pre [Description:] Style {dpd} computes a force field for dissipative particle dynamics (DPD) following the exposition in "(Groot)"_#Groot. The force on atom I due to atom J is given as a sum of 3 terms :c,image(Eqs/pair_dpd.jpg) where FC is a conservative force, FD is a dissipative force, and FR is a random force. Rij is a unit vector in the direction Ri - Rj, Vij is the vector difference in velocities of the two atoms = Vi - Vj, alpha is a Gaussian random number with zero mean and unit variance, dt is the timestep size, and w(r) is a weighting factor that varies between 0 and 1. Rc is the cutoff. Sigma is set equal to sqrt(2 T gamma), where T is a parameter in the pair_style command. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: A (force units) gamma (force/velocity units) cutoff (distance units) :ul The last coefficient is optional. If not specified, the global DPD cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), where T is the temperature set by the "pair_style"_pair_style.html command so it does not need to be specified. -[Restrictions:] none +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +Thsi pair style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. + +This pair style does not support the "pair_modify"_pair_modify.html +shift option for the energy of the pair interaction. + +The "pair_modify"_pair_modify.html table option is not relevant +for this pair style. + +This pair style does not support the "pair_modify"_pair_modify.html +tail option for adding long-range tail corrections to energy and +pressure. + +This pair style can calculate per-atom energy and stress, as used by +the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. However, only the first term with the A coefficienct +(conservative force) is used for these computations. The drag force +and random force terms are not. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. Note +that the user-specifice random number seed is stored in the restart +file, so when a simulation is restarted, each processor will +re-initialize its random number generator the same way it did +intially. This means the random forces will be random, but will not +be the same as they would have been if the original simulation had +continued past the restart time. + +:line -This style is part of the "dpd" package. It is only enabled if LAMMPS -was built with those package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +[Restrictions:] -The {dpd} potential does not support the -"pair_modify"_pair_modify.hmtl {mix} option. Coefficients for all i,j -pairs must be specified explicitly. +This style is part of the "dpd" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. The default frequency for rebuilding neighbor lists is every 10 steps (see the "neigh_modify"_neigh_modify.html command). This may be too infrequent for DPD simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero number of "dangerous" reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more often and see if system energies/trajectories change. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Groot) [(Groot)] Groot and Warren, J Chem Phys, 107, 4423-35 (1997). diff --git a/doc/pair_eam.html b/doc/pair_eam.html index 5b07c4cc6..826d478ba 100644 --- a/doc/pair_eam.html +++ b/doc/pair_eam.html @@ -1,401 +1,393 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style eam command </H3> <H3>pair_style eam/opt command </H3> <H3>pair_style eam/alloy command </H3> <H3>pair_style eam/alloy/opt command </H3> <H3>pair_style eam/fs command </H3> <H3>pair_style eam/fs/opt command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style style </PRE> <UL><LI>style = <I>eam</I> or <I>eam/alloy</I> or <I>eam/fs</I> or <I>eam/opt</I> or <I>eam/alloy/opt</I> or <I>eam/fs/opt</I> </UL> <P><B>Examples:</B> </P> <PRE>pair_style eam pair_style eam/opt pair_coeff * * cuu3 pair_coeff 1*3 1*3 niu3.eam </PRE> <PRE>pair_style eam/alloy pair_style eam/alloy/opt pair_coeff * * ../potentials/nialhjea.eam.alloy Ni Al Ni Ni </PRE> <PRE>pair_style eam/fs pair_style eam/fs/opt pair_coeff * * nialhjea.eam.fs Ni Al Ni Ni </PRE> <P><B>Description:</B> </P> <P>Style <I>eam</I> computes pairwise interactions for metals and metal alloys using embedded-atom method (EAM) potentials <A HREF = "#Daw">(Daw)</A>. The total energy Ei of an atom I is given by </P> <CENTER><IMG SRC = "Eqs/pair_eam.jpg"> </CENTER> <P>where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, and alpha and beta are the element types of atoms I and J. The multi-body nature of the EAM potential is a result of the embedding energy term. Both summations in the formula are over all neighbors J of atom I within the cutoff distance. </P> <P>Style <I>eam/opt</I> is an optimized version of style <I>eam</I> that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). </P> <P>The cutoff distance and the tabulated values of the functionals F, rho, and phi are listed in one or more files which are specified by the <A HREF = "pair_coeff.html">pair_coeff</A> command. These are ASCII text files in a DYNAMO-style format which is described below. DYNAMO is a serial MD code. Several DYNAMO potential files for different metals are included in the "potentials" directory of the LAMMPS distribution. All of these files are parameterized in terms of LAMMPS <A HREF = "units.html">metal units</A>. </P> <P>IMPORTANT NOTE: The <I>eam</I> style reads single-element EAM potentials in the DYNAMO <I>funcfl</I> format. Either single element or alloy systems can be modeled using multiple <I>funcfl</I> files and style <I>eam</I>. For the alloy case LAMMPS mixes the single-element potentials to produce alloy potentials, the same way that DYNAMO does. Alternatively, a single DYNAMO <I>setfl</I> file or Finnis/Sinclair EAM file can be used by LAMMPS to model alloy systems by invoking the <I>eam/alloy</I> or <I>eam/fs</I> styles as described below. These files require no mixing since they specify alloy interactions explicitly. </P> <P>For style <I>eam</I>, potential values are read from a file that is in the DYNAMO single-element <I>funcfl</I> format. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. </P> <P>Note that unlike for other potentials, cutoffs for EAM potentials are not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. </P> <P>For style <I>eam</I> a potential file must be assigned to each I,I pair of atom types by using one or more pair_coeff commands, each with a single argument: </P> <UL><LI>filename </UL> <P>Thus the following command </P> <PRE>pair_coeff *2 1*2 cuu3.eam </PRE> <P>will read the cuu3 potential file and use the tabulated Cu values for F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs 1,2 and 2,1 are ignored). In effect, this makes atom types 1 and 2 in LAMMPS be Cu atoms. Different single-element files can be assigned to different atom types to model an alloy system. The mixing to create alloy potentials for type pairs with I != J is done automatically the same way that the serial DYANMO code originally did it; you do not need to specify coefficients for these type pairs. </P> <P><I>Funcfl</I> files in the <I>potentials</I> directory of the LAMMPS distribution have an ".eam" suffix. A DYNAMO single-element <I>funcfl</I> file is formatted as follows: </P> <UL><LI>line 1: comment (ignored) <LI>line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) <LI>line 3: Nrho, drho, Nr, dr, cutoff </UL> <P>On line 2, all values but the mass are ignored by LAMMPS. The mass is in mass <A HREF = "units.html">units</A> (e.g. mass number or grams/mole for metal units). The cubic lattice constant is in Angstroms. On line 3, Nrho and Nr are the number of tabulated values in the subsequent arrays, drho and dr are the spacing in density and distance space for the values in those arrays, and the specified cutoff becomes the pairwise cutoff used by LAMMPS for the potential. The units of dr are Angstroms; I'm not sure of the units for drho - some measure of electron density. </P> <P>Following the 3 header lines are 3 arrays of tabulated values: </P> <UL><LI>embedding function F(rho) (Nrho values) <LI>effective charge function Z(r) (Nr values) <LI>density function rho(r) (Nr values) </UL> <P>The values for each array can be listed as multiple values per line, so long as each array starts on a new line. For example, the individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr. </P> <P>The units for the embedding function F are eV. The units for the density function rho are the same as for drho (see above, electron density). The units for the effective charge Z are "atomic charge" or sqrt(Hartree * Bohr-radii). For 2 interacting atoms i,j this is used by LAMMPS to compute the pair potential term in the EAM energy expression as r*phi, in units of eV-Angstroms, via the formula </P> <PRE>r*phi = 27.2 * 0.529 * Zi * Zj </PRE> <P>where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. </P> <HR> <P>Style <I>eam/alloy</I> computes pairwise interactions using the same formula as style <I>eam</I>. However the associated <A HREF = "pair_coeff.html">pair_coeff</A> command reads a DYNAMO <I>setfl</I> file instead of a <I>funcfl</I> file. <I>Setfl</I> files can be used to model a single-element or alloy system. In the alloy case, as explained above, <I>setfl</I> files contain explicit tabulated values for alloy interactions. Thus they allow more generality than <I>funcfl</I> files for modeling alloys. </P> <P>Style <I>eam/alloy/opt</I> is an optimized version of style <I>eam/alloy</I> that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). </P> <P>For style <I>eam/alloy</I>, potential values are read from a file that is in the DYNAMO multi-element <I>setfl</I> format, except that element names (Ni, Cu, etc) are added to one of the lines in the file. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. </P> <P>Only a single pair_coeff command is used with the <I>eam/alloy</I> style which specifies a DYNAMO <I>setfl</I> file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: </P> <UL><LI>filename <LI>N element names = mapping of <I>setfl</I> elements to atom types </UL> <P>As an example, the potentials/nialhjea <I>setfl</I> file has tabulated EAM values for 3 elements and their alloy interactions: Ni, Al, and H. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Ni, and the 4th to be Al, you would use the following pair_coeff command: </P> <PRE>pair_coeff * * nialhjea.eam.alloy Ni Ni Ni Al </PRE> <P>The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Ni arguments map LAMMPS atom types 1,2,3 to the Ni element in the <I>setfl</I> file. The final Al argument maps LAMMPS atom type 4 to the Al element in the <I>setfl</I> file. Note that there is no requirement that your simulation use all the elements specified by the <I>setfl</I> file. </P> <P>If a mapping value is specified as NULL, the mapping is not performed. This can be used when an <I>eam/alloy</I> potential is used as part of the <I>hybrid</I> pair style. The NULL values are placeholders for atom types that will be used with other potentials. </P> <P><I>Setfl</I> files in the <I>potentials</I> directory of the LAMMPS distribution have an ".eam.alloy" suffix. A DYNAMO multi-element <I>setfl</I> file is formatted as follows: </P> <UL><LI>lines 1,2,3 = comments (ignored) <LI>line 4: Nelements Element1 Element2 ... ElementN <LI>line 5: Nrho, drho, Nr, dr, cutoff </UL> <P>In a DYNAMO <I>setfl</I> file, line 4 only lists Nelements = the # of elements in the <I>setfl</I> file. For LAMMPS, the element name (Ni, Cu, etc) of each element must be added to the line, in the order the elements appear in the file. </P> <P>The meaning and units of the values in line 5 is the same as for the <I>funcfl</I> file described above. Note that the cutoff (in Angstroms) is a global value, valid for all pairwise interactions for all element pairings. </P> <P>Following the 5 header lines are Nelements sections, one for each element, each with the following format: </P> <UL><LI>line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) <LI>embedding function F(rho) (Nrho values) <LI>density function rho(r) (Nr values) </UL> <P>As with the <I>funcfl</I> files, only the mass (g/cm^3) is used by LAMMPS from the 1st line. The cubic lattice constant is in Angstroms. The F and rho arrays are unique to a single element and have the same format and units as in a <I>funcfl</I> file. </P> <P>Following the Nelements sections, Nr values for each pair potential phi(r) array are listed for all i,j element pairs in the same format as other arrays. Since these interactions are symmetric (i,j = j,i) only phi arrays with i >= j are listed, in the following order: i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, Nelements). Unlike the effective charge array Z(r) in <I>funcfl</I> files, the tabulated values for each phi function are listed in <I>setfl</I> files directly as r*phi (in units of eV-Angstroms), since they are for atom pairs. </P> <HR> <P>Style <I>eam/fs</I> computes pairwise interactions for metals and metal alloys using a generalized form of EAM potentials due to Finnis and Sinclair <A HREF = "#Finnis">(Finnis)</A>. The total energy Ei of an atom I is given by </P> <CENTER><IMG SRC = "Eqs/pair_eam_fs.jpg"> </CENTER> <P>This has the same form as the EAM formula above, except that rho is now a functional specific to the atomic types of both atoms I and J, so that different elements can contribute differently to the total electron density at an atomic site depending on the identity of the element at that atomic site. </P> <P>Style <I>eam/fs/opt</I> is an optimized version of style <I>eam/fs</I> that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). </P> <P>The associated <A HREF = "pair_coeff.html">pair_coeff</A> command for style <I>eam/fs</I> reads a DYNAMO <I>setfl</I> file that has been extended to include additional rho_alpha_beta arrays of tabulated values. A discussion of how FS EAM differs from conventional EAM alloy potentials is given in <A HREF = "#Ackland1">(Ackland1)</A>. An example of such a potential is the same author's Fe-P FS potential <A HREF = "#Ackland2">(Ackland2)</A>. Note that while FS potentials always specify the embedding energy with a square root dependence on the total density, the implementation in LAMMPS does not require that; the user can tabulate any functional form desired in the FS potential files. </P> <P>For style <I>eam/fs</I>, the form of the pair_coeff command is exactly the same as for style <I>eam/alloy</I>, e.g. </P> <PRE>pair_coeff * * nialhjea.eam.fs Ni Ni Ni Al </PRE> <P>where there are N additional arguments after the filename, where N is the number of LAMMPS atom types. The N values determine the mapping of LAMMPS atom types to EAM elements in the file, as described above for style <I>eam/alloy</I>. As with <I>eam/alloy</I>, if a mapping value is NULL, the mapping is not performed. This can be used when an <I>eam/fs</I> potential is used as part of the <I>hybrid</I> pair style. The NULL values are used as placeholders for atom types that will be used with other potentials. </P> <P>FS EAM files include more information than the DYNAMO <I>setfl</I> format files read by <I>eam/alloy</I>, in that i,j density functionals for all pairs of elements are included as needed by the Finnis/Sinclair formulation of the EAM. </P> <P>FS EAM files in the <I>potentials</I> directory of the LAMMPS distribution have an ".eam.fs" suffix. They are formatted as follows: </P> <UL><LI>lines 1,2,3 = comments (ignored) <LI>line 4: Nelements Element1 Element2 ... ElementN <LI>line 5: Nrho, drho, Nr, dr, cutoff </UL> <P>The 5-line header section is identical to an EAM <I>setfl</I> file. </P> <P>Following the header are Nelements sections, one for each element I, each with the following format: </P> <UL><LI>line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) <LI>embedding function F(rho) (Nrho values) <LI>density function rho(r) for element I at element 1 (Nr values) <LI>density function rho(r) for element I at element 2 <LI>... <LI>density function rho(r) for element I at element Nelement </UL> <P>The units of these quantities in line 1 are the same as for <I>setfl</I> files. Note that the rho(r) arrays in Finnis/Sinclair can be asymmetric (i,j != j,i) so there are Nelements^2 of them listed in the file. </P> <P>Following the Nelements sections, Nr values for each pair potential phi(r) array are listed in the same manner (r*phi, units of eV-Angstroms) as in EAM <I>setfl</I> files. Note that in Finnis/Sinclair, the phi(r) arrays are still symmetric, so only phi arrays for i >= j are listed. </P> <HR> <P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and restart info</B>: </P> -<P>For atom type pairs I,J and I != J, mixing is performed by LAMMPS as +<P>For atom type pairs I,J and I != J, where types I and J correspond to +two different element types, mixing is performed by LAMMPS as described above with the individual styles. You never need to specify a pair_coeff command with I != J arguments for the eam styles. </P> <P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A> -shift option for the energy of the pair interaction. -</P> -<P>The <A HREF = "pair_modify.html">pair_modify</A> shift option is not relevant -for this pair style. -</P> -<P>The <A HREF = "pair_modify.html">pair_modify</A> table option is not relevant -for this pair style. -</P> -<P>The <A HREF = "pair_modify.html">pair_modify</A> tail option is not relevant -for this pair style. +shift, table, and tail options. </P> <P>All of the eam pair styles can calculate per-atom energy and stress, as used by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute stress/atom</A>, and <A HREF = "dump.html">dump custom</A> commands. These quantities include the contribution from the embedding term in the EAM formulas. </P> -<P>None of the eam pair styles write their information to <A HREF = "restart.html">binary restart -files</A>, since the info is tabulated in potential files. -Thus, you need to re-specify the pair style and coefficient commands -in an input script that reads a restart file. +<P>The eam pair styles do not write their information to <A HREF = "restart.html">binary restart +files</A>, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. </P> <HR> <P><B>Restrictions:</B> </P> <P>All of these styles except those ending in <I>opt</I> are part of the "manybody" package. They are only enabled if LAMMPS was built with that package (which it is by default). The styles ending in <I>opt</I> are part of the "opt" package and also require the "manybody" package. They are only enabled if LAMMPS was built with those packages. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P>Here are 2 WWW sites that discuss EAM potentials formulated in alternate file formats: </P> <PRE>http://www.ims.uconn.edu/centers/simul/pot http://cst-www.nrl.navy.mil/ccm6/ap </PRE> <P>In principle, these potentials could be converted to the DYNAMO file format described above and used by LAMMPS. </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Ackland1"></A> <P><B>(Ackland1)</B> Ackland, Condensed Matter (2005). </P> <A NAME = "Ackland2"></A> <P><B>(Ackland2)</B> Ackland, Mendelev, Srolovitz, Han and Barashev, Journal of Physics: Condensed Matter, 16, S2629 (2004). </P> <A NAME = "Daw"></A> <P><B>(Daw)</B> Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). Daw, Baskes, Phys Rev B, 29, 6443 (1984). </P> <A NAME = "Finnis"></A> <P><B>(Finnis)</B> Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). </P> </HTML> diff --git a/doc/pair_eam.txt b/doc/pair_eam.txt index 3c2fba83a..a9d9652e5 100644 --- a/doc/pair_eam.txt +++ b/doc/pair_eam.txt @@ -1,352 +1,379 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style eam command :h3 pair_style eam/opt command :h3 pair_style eam/alloy command :h3 pair_style eam/alloy/opt command :h3 pair_style eam/fs command :h3 pair_style eam/fs/opt command :h3 [Syntax:] pair_style style :pre style = {eam} or {eam/alloy} or {eam/fs} or {eam/opt} or {eam/alloy/opt} or {eam/fs/opt} :ul [Examples:] pair_style eam pair_style eam/opt pair_coeff * * cuu3 pair_coeff 1*3 1*3 niu3.eam :pre pair_style eam/alloy pair_style eam/alloy/opt pair_coeff * * ../potentials/nialhjea.eam.alloy Ni Al Ni Ni :pre pair_style eam/fs pair_style eam/fs/opt pair_coeff * * nialhjea.eam.fs Ni Al Ni Ni :pre [Description:] Style {eam} computes pairwise interactions for metals and metal alloys using embedded-atom method (EAM) potentials "(Daw)"_#Daw. The total energy Ei of an atom I is given by :c,image(Eqs/pair_eam.jpg) where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, and alpha and beta are the element types of atoms I and J. The multi-body nature of the EAM potential is a result of the embedding energy term. Both summations in the formula are over all neighbors J of atom I within the cutoff distance. Style {eam/opt} is an optimized version of style {eam} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). The cutoff distance and the tabulated values of the functionals F, rho, and phi are listed in one or more files which are specified by the "pair_coeff"_pair_coeff.html command. These are ASCII text files in a DYNAMO-style format which is described below. DYNAMO is a serial MD code. Several DYNAMO potential files for different metals are included in the "potentials" directory of the LAMMPS distribution. All of these files are parameterized in terms of LAMMPS "metal units"_units.html. IMPORTANT NOTE: The {eam} style reads single-element EAM potentials in the DYNAMO {funcfl} format. Either single element or alloy systems can be modeled using multiple {funcfl} files and style {eam}. For the alloy case LAMMPS mixes the single-element potentials to produce alloy potentials, the same way that DYNAMO does. Alternatively, a single DYNAMO {setfl} file or Finnis/Sinclair EAM file can be used by LAMMPS to model alloy systems by invoking the {eam/alloy} or {eam/fs} styles as described below. These files require no mixing since they specify alloy interactions explicitly. For style {eam}, potential values are read from a file that is in the DYNAMO single-element {funcfl} format. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. Note that unlike for other potentials, cutoffs for EAM potentials are not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. For style {eam} a potential file must be assigned to each I,I pair of atom types by using one or more pair_coeff commands, each with a single argument: filename :ul Thus the following command pair_coeff *2 1*2 cuu3.eam :pre will read the cuu3 potential file and use the tabulated Cu values for F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs 1,2 and 2,1 are ignored). In effect, this makes atom types 1 and 2 in LAMMPS be Cu atoms. Different single-element files can be assigned to different atom types to model an alloy system. The mixing to create alloy potentials for type pairs with I != J is done automatically the same way that the serial DYANMO code originally did it; you do not need to specify coefficients for these type pairs. {Funcfl} files in the {potentials} directory of the LAMMPS distribution have an ".eam" suffix. A DYNAMO single-element {funcfl} file is formatted as follows: line 1: comment (ignored) line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) line 3: Nrho, drho, Nr, dr, cutoff :ul On line 2, all values but the mass are ignored by LAMMPS. The mass is in mass "units"_units.html (e.g. mass number or grams/mole for metal units). The cubic lattice constant is in Angstroms. On line 3, Nrho and Nr are the number of tabulated values in the subsequent arrays, drho and dr are the spacing in density and distance space for the values in those arrays, and the specified cutoff becomes the pairwise cutoff used by LAMMPS for the potential. The units of dr are Angstroms; I'm not sure of the units for drho - some measure of electron density. Following the 3 header lines are 3 arrays of tabulated values: embedding function F(rho) (Nrho values) effective charge function Z(r) (Nr values) density function rho(r) (Nr values) :ul The values for each array can be listed as multiple values per line, so long as each array starts on a new line. For example, the individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr. The units for the embedding function F are eV. The units for the density function rho are the same as for drho (see above, electron density). The units for the effective charge Z are "atomic charge" or sqrt(Hartree * Bohr-radii). For 2 interacting atoms i,j this is used by LAMMPS to compute the pair potential term in the EAM energy expression as r*phi, in units of eV-Angstroms, via the formula r*phi = 27.2 * 0.529 * Zi * Zj :pre where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. :line Style {eam/alloy} computes pairwise interactions using the same formula as style {eam}. However the associated "pair_coeff"_pair_coeff.html command reads a DYNAMO {setfl} file instead of a {funcfl} file. {Setfl} files can be used to model a single-element or alloy system. In the alloy case, as explained above, {setfl} files contain explicit tabulated values for alloy interactions. Thus they allow more generality than {funcfl} files for modeling alloys. Style {eam/alloy/opt} is an optimized version of style {eam/alloy} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). For style {eam/alloy}, potential values are read from a file that is in the DYNAMO multi-element {setfl} format, except that element names (Ni, Cu, etc) are added to one of the lines in the file. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. Only a single pair_coeff command is used with the {eam/alloy} style which specifies a DYNAMO {setfl} file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: filename N element names = mapping of {setfl} elements to atom types :ul As an example, the potentials/nialhjea {setfl} file has tabulated EAM values for 3 elements and their alloy interactions: Ni, Al, and H. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Ni, and the 4th to be Al, you would use the following pair_coeff command: pair_coeff * * nialhjea.eam.alloy Ni Ni Ni Al :pre The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Ni arguments map LAMMPS atom types 1,2,3 to the Ni element in the {setfl} file. The final Al argument maps LAMMPS atom type 4 to the Al element in the {setfl} file. Note that there is no requirement that your simulation use all the elements specified by the {setfl} file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when an {eam/alloy} potential is used as part of the {hybrid} pair style. The NULL values are placeholders for atom types that will be used with other potentials. {Setfl} files in the {potentials} directory of the LAMMPS distribution have an ".eam.alloy" suffix. A DYNAMO multi-element {setfl} file is formatted as follows: lines 1,2,3 = comments (ignored) line 4: Nelements Element1 Element2 ... ElementN line 5: Nrho, drho, Nr, dr, cutoff :ul In a DYNAMO {setfl} file, line 4 only lists Nelements = the # of elements in the {setfl} file. For LAMMPS, the element name (Ni, Cu, etc) of each element must be added to the line, in the order the elements appear in the file. The meaning and units of the values in line 5 is the same as for the {funcfl} file described above. Note that the cutoff (in Angstroms) is a global value, valid for all pairwise interactions for all element pairings. Following the 5 header lines are Nelements sections, one for each element, each with the following format: line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) embedding function F(rho) (Nrho values) density function rho(r) (Nr values) :ul As with the {funcfl} files, only the mass (g/cm^3) is used by LAMMPS from the 1st line. The cubic lattice constant is in Angstroms. The F and rho arrays are unique to a single element and have the same format and units as in a {funcfl} file. Following the Nelements sections, Nr values for each pair potential phi(r) array are listed for all i,j element pairs in the same format as other arrays. Since these interactions are symmetric (i,j = j,i) only phi arrays with i >= j are listed, in the following order: i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, Nelements). Unlike the effective charge array Z(r) in {funcfl} files, the tabulated values for each phi function are listed in {setfl} files directly as r*phi (in units of eV-Angstroms), since they are for atom pairs. :line Style {eam/fs} computes pairwise interactions for metals and metal alloys using a generalized form of EAM potentials due to Finnis and Sinclair "(Finnis)"_#Finnis. The total energy Ei of an atom I is given by :c,image(Eqs/pair_eam_fs.jpg) This has the same form as the EAM formula above, except that rho is now a functional specific to the atomic types of both atoms I and J, so that different elements can contribute differently to the total electron density at an atomic site depending on the identity of the element at that atomic site. Style {eam/fs/opt} is an optimized version of style {eam/fs} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). The associated "pair_coeff"_pair_coeff.html command for style {eam/fs} reads a DYNAMO {setfl} file that has been extended to include additional rho_alpha_beta arrays of tabulated values. A discussion of how FS EAM differs from conventional EAM alloy potentials is given in "(Ackland1)"_#Ackland1. An example of such a potential is the same author's Fe-P FS potential "(Ackland2)"_#Ackland2. Note that while FS potentials always specify the embedding energy with a square root dependence on the total density, the implementation in LAMMPS does not require that; the user can tabulate any functional form desired in the FS potential files. For style {eam/fs}, the form of the pair_coeff command is exactly the same as for style {eam/alloy}, e.g. pair_coeff * * nialhjea.eam.fs Ni Ni Ni Al :pre where there are N additional arguments after the filename, where N is the number of LAMMPS atom types. The N values determine the mapping of LAMMPS atom types to EAM elements in the file, as described above for style {eam/alloy}. As with {eam/alloy}, if a mapping value is NULL, the mapping is not performed. This can be used when an {eam/fs} potential is used as part of the {hybrid} pair style. The NULL values are used as placeholders for atom types that will be used with other potentials. FS EAM files include more information than the DYNAMO {setfl} format files read by {eam/alloy}, in that i,j density functionals for all pairs of elements are included as needed by the Finnis/Sinclair formulation of the EAM. FS EAM files in the {potentials} directory of the LAMMPS distribution have an ".eam.fs" suffix. They are formatted as follows: lines 1,2,3 = comments (ignored) line 4: Nelements Element1 Element2 ... ElementN line 5: Nrho, drho, Nr, dr, cutoff :ul The 5-line header section is identical to an EAM {setfl} file. Following the header are Nelements sections, one for each element I, each with the following format: line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) embedding function F(rho) (Nrho values) density function rho(r) for element I at element 1 (Nr values) density function rho(r) for element I at element 2 ... density function rho(r) for element I at element Nelement :ul The units of these quantities in line 1 are the same as for {setfl} files. Note that the rho(r) arrays in Finnis/Sinclair can be asymmetric (i,j != j,i) so there are Nelements^2 of them listed in the file. Following the Nelements sections, Nr values for each pair potential phi(r) array are listed in the same manner (r*phi, units of eV-Angstroms) as in EAM {setfl} files. Note that in Finnis/Sinclair, the phi(r) arrays are still symmetric, so only phi arrays for i >= j are listed. :line +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, where types I and J correspond to +two different element types, mixing is performed by LAMMPS as +described above with the individual styles. You never need to specify +a pair_coeff command with I != J arguments for the eam styles. + +This pair style does not support the "pair_modify"_pair_modify.html +shift, table, and tail options. + +All of the eam pair styles can calculate per-atom energy and stress, +as used by the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. These quantities include the contribution from the +embedding term in the EAM formulas. + +The eam pair styles do not write their information to "binary restart +files"_restart.html, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. + +:line + [Restrictions:] -The {opt} styles are part of the "opt" package. They are only enabled -if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_3 section for more info. +All of these styles except those ending in {opt} are part of the +"manybody" package. They are only enabled if LAMMPS was built with +that package (which it is by default). The styles ending in {opt} are +part of the "opt" package and also require the "manybody" package. +They are only enabled if LAMMPS was built with those packages. See +the "Making LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "pair_coeff"_pair_coeff.html Here are 2 WWW sites that discuss EAM potentials formulated in alternate file formats: http://www.ims.uconn.edu/centers/simul/pot http://cst-www.nrl.navy.mil/ccm6/ap :pre In principle, these potentials could be converted to the DYNAMO file format described above and used by LAMMPS. [Default:] none :line :link(Ackland1) [(Ackland1)] Ackland, Condensed Matter (2005). :link(Ackland2) [(Ackland2)] Ackland, Mendelev, Srolovitz, Han and Barashev, Journal of Physics: Condensed Matter, 16, S2629 (2004). :link(Daw) [(Daw)] Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). Daw, Baskes, Phys Rev B, 29, 6443 (1984). :link(Finnis) [(Finnis)] Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). diff --git a/doc/pair_gayberne.html b/doc/pair_gayberne.html index bd6a7a0f6..912913129 100644 --- a/doc/pair_gayberne.html +++ b/doc/pair_gayberne.html @@ -1,187 +1,187 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style gayberne command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style gayberne gamma upsilon mu cutoff </PRE> <UL><LI>gamma = shift for potential minimum (typically 1) <LI>upsilon = exponent for eta orientation-dependent energy function <LI>mu = exponent for chi orientation-dependent energy function <LI>cutoff = global cutoff for interactions (distance units) </UL> <P><B>Examples:</B> </P> <PRE>pair_style gayberne 1.0 1.0 1.0 10.0 pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 </PRE> <P><B>Description:</B> </P> <P>Style <I>gayberne</I> computes a Gay-Berne anisotropic LJ interaction <A HREF = "#Beradi">(Beradi)</A> between pairs of ellipsoidal particles or an ellipsoidal and spherical particle via the formulas </P> <CENTER><IMG SRC = "Eqs/pair_gayberne.jpg"> </CENTER> <P>where A1 and A2 are the transformation matrices from the simulation box frame to the body frame and r12 is the center to center vector between the particles. Ur controls the shifted distance dependent interaction based on the distance of closest approach of the two particles (h12) and the user-specified shift parameter gamma. When both particles are spherical, the formula reduces to the usual Lennard-Jones interaction (see details below for when Gay-Berne treats a particle as "spherical"). </P> <P>For large uniform molecules it has been shown that the energy parameters are approximately representable in terms of local contact curvatures <A HREF = "#Everaers">(Everaers)</A>: </P> <CENTER><IMG SRC = "Eqs/pair_gayberne2.jpg"> </CENTER> <P>The variable names utilized as potential parameters are for the most part taken from <A HREF = "#Everaers">(Everaers)</A> in order to be consistent with its RE-squared potential fix. Details on the upsilon and mu parameters are given <A HREF = "Eqs/pair_gayberne_extra.pdf">here</A>. Use of this pair style requires the NVE, NVT, or NPT fixes with the <I>asphere</I> extension (e.g. <A HREF = "fix_nve_asphere.html">fix nve/asphere</A>) in order to integrate particle rotation. Additionally, <A HREF = "atom_style.html">atom_style ellipsoid</A> should be used since it defines the rotational state of the ellipsoidal particles. </P> <P>More details of the Gay-Berne formulation are given in the references listed below and in <A HREF = "Eqs/pair_gayberne_extra.pdf">this document</A>. </P> <P>The following coefficients must be defined for each pair of atoms types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> -commands: +commands, or by mixing as described below: </P> <UL><LI>epsilon = well depth (energy units) <LI>sigma = minimum effective particle radii (distance units) <LI>epsilon_i_a = relative well depth of type I for side-to-side interactions <LI>epsilon_i_b = relative well depth of type I for face-to-face interactions <LI>epsilon_i_c = relative well depth of type I for end-to-end interactions <LI>epsilon_j_a = relative well depth of type J for side-to-side interactions <LI>epsilon_j_b = relative well depth of type J for face-to-face interactions <LI>epsilon_j_c = relative well depth of type J for end-to-end interactions <LI>cutoff (distance units) </UL> <P>The last coefficient is optional. If not specified, the global cutoff specified in the pair_style command is used. </P> <P>The epsilon_i and epsilon_j coefficients are actually defined for atom types, not for pairs of atom types. Thus, in a series of pair_coeff commands, they only need to be specified once for each atom type. </P> <P>Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are non-zero, the three values are assigned to atom type I. If all the epsilon_i values are zero, they are ignored. If any of epsilon_j_a, epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned to atom type J. If all three epsilon_i values are zero, they are ignored. Thus the typical way to define the epsilon_i and epsilon_j coefficients is to list their values in "pair_coeff I J" commands when I = J, but set them to 0.0 when I != J. If you do list them when I != J, you should insure they are consistent with their values in other pair_coeff commands. </P> <P>Note that if this potential is being used as a sub-style of <A HREF = "pair_hybrid.html">pair_style hybrid</A>, and there is no "pair_coeff I I" setting made for Gay-Berne for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the epsilon a,b,c coefficients are assigned to that type in a "pair_coeff I J" command. </P> <P>IMPORTANT NOTE: If the epsilon a,b,c for an atom type are all 1.0, and if the shape of the particle is spherical (see the <A HREF = "shape.html">shape</A> command), meaning the 3 diameters are all the same, then the particle is treated as "spherical" by the Gay-Berne potential. This is significant because if two "spherical" particles interact, then the simple Lennard-Jones formula is used to compute their interaction energy/force using epsilon and sigma, which is much cheaper to compute than the full Gay-Berne formula. Thus you should insure epsilon a,b,c are set to 1.0 for spherical particle types and use epsilon and sigma to specify its interaction with other spherical particles. </P> <HR> <P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and restart info</B>: </P> <P>For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. The default mix value is <I>geometric</I>. See the "pair_modify" command for details. </P> <P>This pair styles supports the <A HREF = "pair_modify.html">pair_modify</A> shift option for the energy of the Lennard-Jones portion of the pair interaction, but only for sphere-sphere interactions. There is no shifting performed for ellipsoidal interactions due to the anisotropic dependence of the interaction. </P> <P>The <A HREF = "pair_modify.html">pair_modify</A> table option is not relevant for this pair style. </P> <P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A> tail option for adding long-range tail corrections to energy and pressure. </P> <P>This pair style does not calculate per-atom energy and stress, as used by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute stress/atom</A>, and <A HREF = "dump.html">dump custom</A> commands. </P> <P>This pair style writes its information to <A HREF = "restart.html">binary restart files</A>, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. </P> <HR> <P><B>Restrictions:</B> </P> <P>This style is part of the "asphere" package. It is only enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. </P> <P>The Gay-Berne potential does not become isotropic as r increases <A HREF = "#Everaers">(Everaers)</A>. The distance-of-closest-approach approximation used by LAMMPS becomes less accurate when high-aspect ratio ellipsoids are used. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A>, <A HREF = "fix_nve_asphere.html">fix nve/asphere</A>, <A HREF = "compute_temp_asphere.html">compute temp/asphere</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Everaers"></A> <P><B>(Everaers)</B> Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). </P> <A NAME = "Berardi"></A> <P><B>(Berardi)</B> Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). </P> <A NAME = "Perram"></A> <P><B>(Perram)</B> Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). </P> <A NAME = "Allen"></A> <P><B>(Allen)</B> Allen and Germano, Mol Phys 104, 3225-3235 (2006). </P> </HTML> diff --git a/doc/pair_gayberne.txt b/doc/pair_gayberne.txt index 11ef63cfc..7c54b974f 100755 --- a/doc/pair_gayberne.txt +++ b/doc/pair_gayberne.txt @@ -1,150 +1,178 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style gayberne command :h3 [Syntax:] pair_style gayberne gamma upsilon mu cutoff :pre gamma = shift for potential minimum (typically 1) upsilon = exponent for eta orientation-dependent energy function mu = exponent for chi orientation-dependent energy function cutoff = global cutoff for interactions (distance units) :ul [Examples:] pair_style gayberne 1.0 1.0 1.0 10.0 pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 :pre [Description:] Style {gayberne} computes a Gay-Berne anisotropic LJ interaction "(Beradi)"_#Beradi between pairs of ellipsoidal particles or an ellipsoidal and spherical particle via the formulas :c,image(Eqs/pair_gayberne.jpg) where A1 and A2 are the transformation matrices from the simulation box frame to the body frame and r12 is the center to center vector between the particles. Ur controls the shifted distance dependent interaction based on the distance of closest approach of the two particles (h12) and the user-specified shift parameter gamma. When both particles are spherical, the formula reduces to the usual Lennard-Jones interaction (see details below for when Gay-Berne treats a particle as "spherical"). For large uniform molecules it has been shown that the energy parameters are approximately representable in terms of local contact curvatures "(Everaers)"_#Everaers: :c,image(Eqs/pair_gayberne2.jpg) The variable names utilized as potential parameters are for the most part taken from "(Everaers)"_#Everaers in order to be consistent with its RE-squared potential fix. Details on the upsilon and mu parameters are given "here"_gbdoc. Use of this pair style requires the NVE, NVT, or NPT fixes with the {asphere} extension (e.g. "fix nve/asphere"_fix_nve_asphere.html) in order to integrate particle rotation. Additionally, "atom_style ellipsoid"_atom_style.html should be used since it defines the rotational state of the ellipsoidal particles. :link(gbdoc,Eqs/pair_gayberne_extra.pdf) More details of the Gay-Berne formulation are given in the references listed below and in "this document"_Eqs/pair_gayberne_extra.pdf. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: epsilon = well depth (energy units) sigma = minimum effective particle radii (distance units) epsilon_i_a = relative well depth of type I for side-to-side interactions epsilon_i_b = relative well depth of type I for face-to-face interactions epsilon_i_c = relative well depth of type I for end-to-end interactions epsilon_j_a = relative well depth of type J for side-to-side interactions epsilon_j_b = relative well depth of type J for face-to-face interactions epsilon_j_c = relative well depth of type J for end-to-end interactions cutoff (distance units) :ul The last coefficient is optional. If not specified, the global cutoff specified in the pair_style command is used. -The epsilon and sigma parameters are mixed for I != J atom pairings -the same as Lennard-Jones parameters; see the "pair_modify -mix"_pair_modify.html documentation for details. - The epsilon_i and epsilon_j coefficients are actually defined for atom types, not for pairs of atom types. Thus, in a series of pair_coeff commands, they only need to be specified once for each atom type. Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are non-zero, the three values are assigned to atom type I. If all the epsilon_i values are zero, they are ignored. If any of epsilon_j_a, epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned to atom type J. If all three epsilon_i values are zero, they are ignored. Thus the typical way to define the epsilon_i and epsilon_j coefficients is to list their values in "pair_coeff I J" commands when I = J, but set them to 0.0 when I != J. If you do list them when I != J, you should insure they are consistent with their values in other pair_coeff commands. Note that if this potential is being used as a sub-style of "pair_style hybrid"_pair_hybrid.html, and there is no "pair_coeff I I" setting made for Gay-Berne for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the epsilon a,b,c coefficients are assigned to that type in a "pair_coeff I J" command. IMPORTANT NOTE: If the epsilon a,b,c for an atom type are all 1.0, and if the shape of the particle is spherical (see the "shape"_shape.html command), meaning the 3 diameters are all the same, then the particle is treated as "spherical" by the Gay-Berne potential. This is significant because if two "spherical" particles interact, then the simple Lennard-Jones formula is used to compute their interaction energy/force using epsilon and sigma, which is much cheaper to compute than the full Gay-Berne formula. Thus you should insure epsilon a,b,c are set to 1.0 for spherical particle types and use epsilon and sigma to specify its interaction with other spherical particles. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the epsilon and sigma coefficients +and cutoff distance for this pair style can be mixed. The default mix +value is {geometric}. See the "pair_modify" command for details. + +This pair styles supports the "pair_modify"_pair_modify.html shift +option for the energy of the Lennard-Jones portion of the pair +interaction, but only for sphere-sphere interactions. There is no +shifting performed for ellipsoidal interactions due to the anisotropic +dependence of the interaction. + +The "pair_modify"_pair_modify.html table option is not relevant +for this pair style. + +This pair style does not support the "pair_modify"_pair_modify.html +tail option for adding long-range tail corrections to energy and +pressure. + +This pair style does not calculate per-atom energy and stress, as used +by the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +:line + [Restrictions:] -Can only be used if LAMMPS was built with the "asphere" package. +This style is part of the "asphere" package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. -The "shift yes" option in "pair_modify"_pair_modify.html only applies -to sphere-sphere interactions for this potential; there is no shifting -performed for ellipsoidal interactions due to the anisotropic -dependence of the interaction. The Gay-Berne potential does not -become isotropic as r increases "(Everaers)"_#Everaers. The -distance-of-closest-approach approximation used by LAMMPS becomes less -accurate when high-aspect ratio ellipsoids are used. +The Gay-Berne potential does not become isotropic as r increases +"(Everaers)"_#Everaers. The distance-of-closest-approach +approximation used by LAMMPS becomes less accurate when high-aspect +ratio ellipsoids are used. [Related commands:] "pair_coeff"_pair_coeff.html, "fix nve/asphere"_fix_nve_asphere.html, "compute temp/asphere"_compute_temp_asphere.html [Default:] none :line :link(Everaers) [(Everaers)] Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). :link(Berardi) [(Berardi)] Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). :link(Perram) [(Perram)] Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). :link(Allen) [(Allen)] Allen and Germano, Mol Phys 104, 3225-3235 (2006). diff --git a/doc/pair_gran.html b/doc/pair_gran.html index cc6559c6e..3610997cb 100644 --- a/doc/pair_gran.html +++ b/doc/pair_gran.html @@ -1,97 +1,113 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style gran/hertizian command </H3> <H3>pair_style gran/history command </H3> <H3>pair_style gran/no_history command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style style Kn gamma_n xmu dampflag </PRE> <UL><LI>style = <I>gran/hertzian</I> or <I>gran/history</I> or <I>gran/no_history</I> <LI>Kn = spring constant for particle repulsion <PRE> (mg/d units where m is mass, g is the gravitational constant, d is diameter of a particle) </PRE> <LI>gamma_n = damping coefficient for normal direction collisions (sqrt(g/d) units) <LI>xmu = static yield criterion <LI>dampflag = flag (0/1) for whether to (no/yes) include tangential damping </UL> <P><B>Examples:</B> </P> <PRE>pair_style gran/history 200000.0 0.5 1.0 1 </PRE> <P><B>Description:</B> </P> <P>The <I>gran</I> styles use the following formula <A HREF = "#Silbert">(Silbert)</A> for frictional force between two granular particles that are a distance r apart when r is less than the contact distance d. </P> <CENTER><IMG SRC = "Eqs/pair_granular.jpg"> </CENTER> <P>The 1st term is a normal force and the 2nd term is a tangential force. The other quantites are as follows: </P> <UL><LI>delta = d - r <LI>f(x) = 1 for Hookean contacts used in pair styles <I>history</I> and <I>no_history</I> <LI>f(x) = sqrt(x) for pair style <I>hertzian</I> <LI>Kn = elastic constant for normal contact <LI>Kt = elastic constant for tangential contact = 2/7 of Kn <LI>gamma_n = viscoelastic constants for normal contact <LI>gamma_t = viscoelastic constants for tangential contact = 1/2 of gamma_n <LI>m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj <LI>Delta St = tangential displacement vector between the 2 spherical particles which is truncated to satisfy a frictional yield criterion <LI>n = a unit vector along the line connecting the centers of the 2 particles <LI>Vn = normal component of the relative velocity of the 2 particles <LI>Vt = tangential component of the relative velocity of the 2 particles </UL> <P>The Kn and gamma_n coefficients are set as parameters to the pair_style command. Xmu is also specified which is the upper limit of the tangential force through the Coulomb criterion Ft = xmu*Fn. The tangential force between 2 particles grows according to a tangential spring and dash-pot model until Ft/Fn = xmu and then is held at Ft = Fn*xmu until the particles lose contact. </P> <P>For granular styles there are no individual atom type coefficients -that can be set. All global settings are made via the pair_style -command. +that can be set via the <A HREF = "pair_coeff.html">pair_coeff</A> command. All +global settings are made via the pair_style command. </P> -<P>See the citation for more discussion of the granular potentials. +<P>See the citation below for more discussion of granular potentials. </P> -<P><B>Restrictions:</B> none +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>The <A HREF = "pair_modify.html">pair_modify</A> mix, shift, table, and tail options +are not relevant for granular pair styles. +</P> +<P>This pair style does not calculate per-atom energy and stress, as used +by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. </P> -<P>All of these styles are part of the "granular" package. It is only -enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making -LAMMPS</A> section for more info. +<P>This pair style writes its information to <A HREF = "restart.html">binary restart +files</A>, so a pair_style commands does not need to be +specified in an input script that reads a restart file. +</P> +<HR> + +<P><B>Restrictions:</B> none </P> -<P>You must use <A HREF = "atom_style.html">atom style</A> <I>granular</I> with these pair -styles. +<P>All the granular pair styles are part of the "granular" package. It +is only enabled if LAMMPS was built with that package. See the +<A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Silbert"></A> <P><B>(Silbert)</B> Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev E, 64, p 051302 (2001). </P> </HTML> diff --git a/doc/pair_gran.txt b/doc/pair_gran.txt index 15d2ca24e..43fee9582 100644 --- a/doc/pair_gran.txt +++ b/doc/pair_gran.txt @@ -1,85 +1,101 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style gran/hertizian command :h3 pair_style gran/history command :h3 pair_style gran/no_history command :h3 [Syntax:] pair_style style Kn gamma_n xmu dampflag :pre style = {gran/hertzian} or {gran/history} or {gran/no_history} :ulb,l Kn = spring constant for particle repulsion :l (mg/d units where m is mass, g is the gravitational constant, d is diameter of a particle) :pre gamma_n = damping coefficient for normal direction collisions (sqrt(g/d) units) :l xmu = static yield criterion :l dampflag = flag (0/1) for whether to (no/yes) include tangential damping :l,ule [Examples:] pair_style gran/history 200000.0 0.5 1.0 1 :pre [Description:] The {gran} styles use the following formula "(Silbert)"_#Silbert for frictional force between two granular particles that are a distance r apart when r is less than the contact distance d. :c,image(Eqs/pair_granular.jpg) The 1st term is a normal force and the 2nd term is a tangential force. The other quantites are as follows: delta = d - r f(x) = 1 for Hookean contacts used in pair styles {history} and {no_history} f(x) = sqrt(x) for pair style {hertzian} Kn = elastic constant for normal contact Kt = elastic constant for tangential contact = 2/7 of Kn gamma_n = viscoelastic constants for normal contact gamma_t = viscoelastic constants for tangential contact = 1/2 of gamma_n m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj Delta St = tangential displacement vector between the 2 spherical particles \ which is truncated to satisfy a frictional yield criterion n = a unit vector along the line connecting the centers of the 2 particles Vn = normal component of the relative velocity of the 2 particles Vt = tangential component of the relative velocity of the 2 particles :ul The Kn and gamma_n coefficients are set as parameters to the pair_style command. Xmu is also specified which is the upper limit of the tangential force through the Coulomb criterion Ft = xmu*Fn. The tangential force between 2 particles grows according to a tangential spring and dash-pot model until Ft/Fn = xmu and then is held at Ft = Fn*xmu until the particles lose contact. For granular styles there are no individual atom type coefficients -that can be set. All global settings are made via the pair_style -command. +that can be set via the "pair_coeff"_pair_coeff.html command. All +global settings are made via the pair_style command. -See the citation for more discussion of the granular potentials. +See the citation below for more discussion of granular potentials. -[Restrictions:] none +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +The "pair_modify"_pair_modify.html mix, shift, table, and tail options +are not relevant for granular pair styles. + +This pair style does not calculate per-atom energy and stress, as used +by the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. -All of these styles are part of the "granular" package. It is only -enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +This pair style writes its information to "binary restart +files"_restart.html, so a pair_style commands does not need to be +specified in an input script that reads a restart file. + +:line + +[Restrictions:] none -You must use "atom style"_atom_style.html {granular} with these pair -styles. +All the granular pair styles are part of the "granular" package. It +is only enabled if LAMMPS was built with that package. See the +"Making LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Silbert) [(Silbert)] Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev E, 64, p 051302 (2001). diff --git a/doc/pair_hybrid.html b/doc/pair_hybrid.html index 05f66c2ed..3a389128f 100644 --- a/doc/pair_hybrid.html +++ b/doc/pair_hybrid.html @@ -1,99 +1,115 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style hybrid command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style hybrid style1 style2 ... </PRE> <UL><LI>style1,style2 = list of one or more pair styles </UL> <P><B>Examples:</B> </P> <PRE>pair_style hybrid lj/charmm/coul/long 10.0 eam pair_coeff 1*2 1*2 eam niu3 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 pair_coeff 1*2 3 lj/cut 0.5 1.2 </PRE> <P><B>Description:</B> </P> <P>The <I>hybrid</I> style enables the use of multiple pair styles in one simulation. A pair style can be assigned to each pair of atom types via the <A HREF = "pair_coeff.html">pair_coeff</A> command. </P> <P>For example, a metal on a LJ surface could be computed where the metal atoms interact with each other via a <I>eam</I> potential, the surface atoms interact with each other via a <I>lj/cut</I> potential, and the metal/surface interaction is also via a <I>lj/cut</I> potential. </P> <P>All pair styles that will be used must be listed in the pair_style hybrid command (in any order). The name of each sub-style is followed by its arguments, as illustrated in the example above. </P> <P>In the pair_coeff command, the first coefficient sets the pair style and the remaining coefficients are those appropriate to that style. For example, consider a simulation with 3 atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with charges. The following commands would set up a hybrid simulation: </P> <PRE>pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0 pair_coeff * * eam/alloy nialhjea 1 1 0 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 pair_coeff 1*2 3 lj/cut 0.8 1.1 </PRE> -<P>Note that as with any pair_style, coeffs must be defined for all I,J -interactions. If the sub-style allows for mixing (see the -<A HREF = "pair_modify.html">pair_modify</A> command), then I,J interactions between -atom types which both are assigned to that sub-style do not need to be -specified. I.e. if atom types 1 and 2 are both computed with <I>lj/cut</I> -and coeffs for 1,1 and 2,2 interactions are specified, then coeffs for -1,2 interactions will be generated automatically via mixing. -</P> <P>If the pair_coeff command for a sub-style requires the use of * * as atom type arguments (e.g. the <I>eam/alloy</I> example above), then it will also include trailing arguments which map atom types to elements in the potential. These mapping arguments should be specified as 0 if the sub-style is not being applied to certain atom types. </P> <P>Note that you may also need to use an <A HREF = "atom_style.html">atom_style</A> hybrid command in your input script, if atoms in the simulation will have attributes from several atom styles, due to using multiple pair potentials. </P> +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>Any pair potential settings made via the +<A HREF = "pair_modify.html">pair_modify</A> command are passed along to all +sub-styles of the hybrid potential. +</P> +<P>For atom type pairs I,J and I != J, if the sub-style assigned to I,I +and J,J is the same, and if the sub-style allows for mixing, then the +coefficients for I,J can be mixed. The default mix value is +<I>geometric</I>. See the "pair_modify" command for details. See the +See the doc page for the sub-style to see if allows for mixing. +</P> +<P>The hybrid pair style supports the <A HREF = "pair_modify.html">pair_modify</A> +shift, table, and tail options for an I,J pair interaction, if the +associated sub-style supports it. +</P> +<P>The hybrid pair style can calculate per-atom energy and stress, as +used by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands, if all its sub-styles can perform per-atom calculations. +</P> +<P>For the hybrid pair style, the list of sub-styles and their respective +settings are written to <A HREF = "restart.html">binary restart files</A>, so a +pair_style command does not need to specified in an input script that +reads a restart file. However, the coefficient information is not +stored in the restart file. Thus, pair_coeff commands do need to be +specified in the restart input script. +</P> <P><B>Restrictions:</B> </P> +<P>A pair style of <I>none</I> can be specified as an argument to pair_style +hybrid and the corresponding pair_coeff commands, if you desire to +turn off pairwise interactions between certain pairs of atom types. +</P> <P>When using a long-range Coulomic solver (via the <A HREF = "kspace_style">kspace_style</A> command) with pair_style hybrid, one or more sub-styles will be of the "long" variety. E.g. <I>lj/cut/coul/long</I> or <I>buck/coul/long</I>. It is OK to have more than one sub-style with a "long" component, but you must insure that the short-range Coulombic cutoff used by each of these pair styles is consistent. Else the long-range Coulombic solve will be inconsistent. </P> -<P>A pair style of <I>none</I> can be specified as an argument to pair_style -hybrid and the corresponding pair_coeff commands, if you desire to -turn off pairwise interactions between certain pairs of atom types. -</P> -<P>The hybrid style cannot include any of the <I>granular</I> styles in its -list of styles to use. -</P> -<P>If you use multiple <I>coul/long</I> pair styles along with a <A HREF = "kspace_style.html">kspace -style</A>, then you should make sure the pairwise -Coulombic cutoff is the same for all the pair styles. -</P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/pair_hybrid.txt b/doc/pair_hybrid.txt index 37ad495cd..ff2725138 100644 --- a/doc/pair_hybrid.txt +++ b/doc/pair_hybrid.txt @@ -1,94 +1,110 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style hybrid command :h3 [Syntax:] pair_style hybrid style1 style2 ... :pre style1,style2 = list of one or more pair styles :ul [Examples:] pair_style hybrid lj/charmm/coul/long 10.0 eam pair_coeff 1*2 1*2 eam niu3 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 pair_coeff 1*2 3 lj/cut 0.5 1.2 :pre [Description:] The {hybrid} style enables the use of multiple pair styles in one simulation. A pair style can be assigned to each pair of atom types via the "pair_coeff"_pair_coeff.html command. For example, a metal on a LJ surface could be computed where the metal atoms interact with each other via a {eam} potential, the surface atoms interact with each other via a {lj/cut} potential, and the metal/surface interaction is also via a {lj/cut} potential. All pair styles that will be used must be listed in the pair_style hybrid command (in any order). The name of each sub-style is followed by its arguments, as illustrated in the example above. In the pair_coeff command, the first coefficient sets the pair style and the remaining coefficients are those appropriate to that style. For example, consider a simulation with 3 atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with charges. The following commands would set up a hybrid simulation: pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0 pair_coeff * * eam/alloy nialhjea 1 1 0 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 pair_coeff 1*2 3 lj/cut 0.8 1.1 :pre -Note that as with any pair_style, coeffs must be defined for all I,J -interactions. If the sub-style allows for mixing (see the -"pair_modify"_pair_modify.html command), then I,J interactions between -atom types which both are assigned to that sub-style do not need to be -specified. I.e. if atom types 1 and 2 are both computed with {lj/cut} -and coeffs for 1,1 and 2,2 interactions are specified, then coeffs for -1,2 interactions will be generated automatically via mixing. - If the pair_coeff command for a sub-style requires the use of * * as atom type arguments (e.g. the {eam/alloy} example above), then it will also include trailing arguments which map atom types to elements in the potential. These mapping arguments should be specified as 0 if the sub-style is not being applied to certain atom types. Note that you may also need to use an "atom_style"_atom_style.html hybrid command in your input script, if atoms in the simulation will have attributes from several atom styles, due to using multiple pair potentials. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +Any pair potential settings made via the +"pair_modify"_pair_modify.html command are passed along to all +sub-styles of the hybrid potential. + +For atom type pairs I,J and I != J, if the sub-style assigned to I,I +and J,J is the same, and if the sub-style allows for mixing, then the +coefficients for I,J can be mixed. The default mix value is +{geometric}. See the "pair_modify" command for details. See the +See the doc page for the sub-style to see if allows for mixing. + +The hybrid pair style supports the "pair_modify"_pair_modify.html +shift, table, and tail options for an I,J pair interaction, if the +associated sub-style supports it. + +The hybrid pair style can calculate per-atom energy and stress, as +used by the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands, if all its sub-styles can perform per-atom calculations. + +For the hybrid pair style, the list of sub-styles and their respective +settings are written to "binary restart files"_restart.html, so a +pair_style command does not need to specified in an input script that +reads a restart file. However, the coefficient information is not +stored in the restart file. Thus, pair_coeff commands do need to be +specified in the restart input script. + [Restrictions:] +A pair style of {none} can be specified as an argument to pair_style +hybrid and the corresponding pair_coeff commands, if you desire to +turn off pairwise interactions between certain pairs of atom types. + When using a long-range Coulomic solver (via the "kspace_style"_kspace_style command) with pair_style hybrid, one or more sub-styles will be of the "long" variety. E.g. {lj/cut/coul/long} or {buck/coul/long}. It is OK to have more than one sub-style with a "long" component, but you must insure that the short-range Coulombic cutoff used by each of these pair styles is consistent. Else the long-range Coulombic solve will be inconsistent. -A pair style of {none} can be specified as an argument to pair_style -hybrid and the corresponding pair_coeff commands, if you desire to -turn off pairwise interactions between certain pairs of atom types. - -The hybrid style cannot include any of the {granular} styles in its -list of styles to use. - -If you use multiple {coul/long} pair styles along with a "kspace -style"_kspace_style.html, then you should make sure the pairwise -Coulombic cutoff is the same for all the pair styles. - [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none diff --git a/doc/pair_lj.txt b/doc/pair_lj.txt index 5730d0a91..154045a72 100644 --- a/doc/pair_lj.txt +++ b/doc/pair_lj.txt @@ -1,181 +1,217 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style lj/cut command :h3 pair_style lj/cut/opt command :h3 pair_style lj/cut/coul/cut command :h3 pair_style lj/cut/coul/debye command :h3 pair_style lj/cut/coul/long command :h3 pair_style lj/cut/coul/long/tip4p command :h3 [Syntax:] pair_style style args :pre style = {lj/cut} or {lj/cut/opt} or {lj/cut/coul/cut} or {lj/cut/coul/debye} \ or {lj/cut/coul/long} or {lj/cut/coul/long/tip4p} args = list of arguments for a particular style :ul {lj/cut} args = cutoff cutoff = global cutoff for Lennard Jones interactions (distance units) {lj/cut/opt} args = cutoff cutoff = global cutoff for Lennard Jones interactions (distance units) {lj/cut/coul/cut} args = cutoff (cutoff2) cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) {lj/cut/coul/debye} args = kappa cutoff (cutoff2) kappa = Debye length (inverse distance units) cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) {lj/cut/coul/long} args = cutoff (cutoff2) cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) {lj/cut/coul/long/tip4p} args = otype htype btype atype qdist cutoff (cutoff2) otype,htype = atom types for TIP4P O and H btype,atype = bond and angle types for TIP4P waters qdist = distance from O atom to massless charge (distance units) cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre [Examples:] pair_style lj/cut 2.5 pair_style lj/cut/opt 2.5 pair_coeff * * 1 1 pair_coeff 1 1 1 1.1 2.8 :pre pair_style lj/cut/coul/cut 10.0 pair_style lj/cut/coul/cut 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_coeff 1 1 100.0 3.5 9.0 9.0 :pre pair_style lj/cut/coul/debye 1.5 3.0 pair_style lj/cut/coul/debye 1.5 2.5 5.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.5 2.5 pair_coeff 1 1 1.0 1.5 2.5 5.0 :pre pair_style lj/cut/coul/long 10.0 pair_style lj/cut/coul/long 10.0 8.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 :pre pair_style lj/cut/coul/long/tip4p 1 2 7 8 0.3 12.0 pair_style lj/cut/coul/long/tip4p 1 2 7 8 0.3 12.0 10.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 :pre [Description:] The {lj/cut} styles compute the standard 6/12 Lennard-Jones potential, given by :c,image(Eqs/pair_lj.jpg) Rc is the cutoff. Style {lj/cut/opt} is an optimized version of style {lj/cut} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). Style {lj/cut/coul/cut} adds a Coulombic pairwise interaction given by :c,image(Eqs/pair_coulomb.jpg) where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, and epsilon is the dielectric constant which can be set by the "dielectric"_dielectric.html command. If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic terms respectively. Style {lj/cut/coul/debye} adds an additional exp() damping factor to the Coulombic term, given by :c,image(Eqs/pair_debye.jpg) where kappa is the Debye length. This potential is another way to mimic the screening effect of a polar solvent. Style {lj/cut/coul/long} computes the same Coulombic interactions as style {lj/cut/coul/cut} except that an additional damping factor is applied to the Coulombic term so it can be used in conjunction with the "kspace_style"_kspace_style.html command and its {ewald} or {pppm} option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in K-space. Style {lj/cut/coul/long/tip4p} implements the TIP4P water model of "(Jorgensen)"_#Jorgensen, which introduces a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as pair_style arguments. IMPORTANT NOTE: For each TIP4P water molecule in your system, the atom IDs for the O and 2 H atoms must be consecutive, with the O atom first. This is to enable LAMMPS to "find" the 2 H atoms associated with each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502. See the "howto section"_Section_howto.html#4_8 for more information on how to use the TIP4P pair style. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: epsilon (energy units) sigma (distance units) cutoff1 (distance units) cutoff2 (distance units) :ul Note that sigma is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at 2^(1/6) sigma. The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style {lj/cut}, since it has no Coulombic terms. For {lj/cut/coul/long} and {lj/cut/coul/long/tip4p} only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the pair_style command. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the epsilon and sigma coefficients +and cutoff distance for all of the lj/cut pair styles can be mixed. +The default mix value is {geometric}. See the "pair_modify" command +for details. + +All of the lj/cut pair styles support the +"pair_modify"_pair_modify.html shift option for the energy of the +Lennard-Jones portion of the pair interaction. + +The {lj/cut/coul/long} and {lj/cut/coul/long/tip4p} pair styles +support the "pair_modify"_pair_modify.html table option since they can +tabulate the short-range portion of the long-range Coulombic +interaction. + +All of the lj/cut pair styles support the +"pair_modify"_pair_modify.html tail option for adding a long-range +tail correction to the energy and pressure of the Lennard-Jones +portion of the pair interaction. + +All of the lj/cut pair styles can calculate per-atom energy and +stress, as used by the "compute epair/atom"_compute_epair_atom.html, +"compute stress/atom"_compute_stress_atom.html, and "dump +custom"_dump.html commands. + +All of the lj/cut pair styles write their information to "binary +restart files"_restart.html, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. + +:line + [Restrictions:] -The {lj/cut/coul/long} style is part of the "kspace" package. It is -only enabled if LAMMPS was built with that package. The {lj/cut/opt} -style is part of the "opt" package. It is only enabled if LAMMPS was -built with that package. See the "Making -LAMMPS"_Section_start.html#2_3 section for more info. +The {lj/cut/coul/long} and {lj/cut/coul/long/tip4p} styles are part of +the "kspace" package. They are only enabled if LAMMPS was built with +that package (which it is by default). The {lj/cut/opt} style is part +of the "opt" package. It is only enabled if LAMMPS was built with +that package. See the "Making LAMMPS"_Section_start.html#2_3 section +for more info. On some 64-bit machines, compiling with -O3 appears to break the Coulombic tabling option used by the {lj/cut/coul/long} style. See the "Additional build tips" section of the Making LAMMPS documentation pages for workarounds on this issue. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Jorgensen) [(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). diff --git a/doc/pair_lj_expand.html b/doc/pair_lj_expand.html index 89604c17d..09082f4ff 100644 --- a/doc/pair_lj_expand.html +++ b/doc/pair_lj_expand.html @@ -1,67 +1,93 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style lj/expand command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style lj/expand cutoff </PRE> <UL><LI>cutoff = global cutoff for lj/expand interactions (distance units) </UL> <P><B>Examples:</B> </P> <PRE>pair_style lj/expand 2.5 pair_coeff * * 1.0 1.0 0.5 pair_coeff 1 1 1.0 1.0 -0.2 2.0 </PRE> <P><B>Description:</B> </P> <P>Style <I>lj/expand</I> computes a LJ interaction with a distance shifted by delta which can be useful when particles are of different sizes, since it is different that using different sigma values in a standard LJ formula: </P> <CENTER><IMG SRC = "Eqs/pair_lj_expand.jpg"> </CENTER> <P>Rc is the cutoff which does not include the delta distance. I.e. the actual force cutoff is the sum of cutoff + delta. </P> <P>The following coefficients must be defined for each pair of atoms types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> -commands: +commands, or by mixing as described below: </P> <UL><LI>epsilon (energy units) <LI>sigma (distance units) <LI>delta (distance units) <LI>cutoff (distance units) </UL> <P>The delta values can be positive or negative. The last coefficient is optional. If not specified, the global LJ cutoff is used. </P> -<P>If the pair_coeff command is not used to define coefficients for a -particular I != J type pair, the mixing rule is set by the -<A HREF = "pair_modify.html">pair_modify</A> command. Additionally, the delta -coefficient is always mixed by the rule +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: </P> -<PRE>delta_ij = (delta_i + delta_j) / 2 -</PRE> +<P>For atom type pairs I,J and I != J, the epsilon, sigma, and shift +coefficients and cutoff distance for this pair style can be mixed. +Shift is always mixed via an <I>arithmetic</I> rule. The other +coefficients are mixed according to the pair_modify mix value. The +default mix value is <I>geometric</I>. See the "pair_modify" command for +details. +</P> +<P>This pair style supports the <A HREF = "pair_modify.html">pair_modify</A> shift +option for the energy of the pair interaction. +</P> +<P>The <A HREF = "pair_modify.html">pair_modify</A> table option is not relevant +for this pair style. +</P> +<P>This pair style supports the <A HREF = "pair_modify.html">pair_modify</A> tail +option for adding a long-range tail correction to the energy and +pressure of the pair interaction. +</P> +<P>This pair style can calculate per-atom energy and stress, as used by +the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. +</P> +<P>This pair style writes its information to <A HREF = "restart.html">binary restart +files</A>, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +</P> +<HR> + <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/pair_lj_expand.txt b/doc/pair_lj_expand.txt index ed8885294..221f8e0ba 100644 --- a/doc/pair_lj_expand.txt +++ b/doc/pair_lj_expand.txt @@ -1,62 +1,88 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style lj/expand command :h3 [Syntax:] pair_style lj/expand cutoff :pre cutoff = global cutoff for lj/expand interactions (distance units) :ul [Examples:] pair_style lj/expand 2.5 pair_coeff * * 1.0 1.0 0.5 pair_coeff 1 1 1.0 1.0 -0.2 2.0 :pre [Description:] Style {lj/expand} computes a LJ interaction with a distance shifted by delta which can be useful when particles are of different sizes, since it is different that using different sigma values in a standard LJ formula: :c,image(Eqs/pair_lj_expand.jpg) Rc is the cutoff which does not include the delta distance. I.e. the actual force cutoff is the sum of cutoff + delta. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: epsilon (energy units) sigma (distance units) delta (distance units) cutoff (distance units) :ul The delta values can be positive or negative. The last coefficient is optional. If not specified, the global LJ cutoff is used. -If the pair_coeff command is not used to define coefficients for a -particular I != J type pair, the mixing rule is set by the -"pair_modify"_pair_modify.html command. Additionally, the delta -coefficient is always mixed by the rule +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the epsilon, sigma, and shift +coefficients and cutoff distance for this pair style can be mixed. +Shift is always mixed via an {arithmetic} rule. The other +coefficients are mixed according to the pair_modify mix value. The +default mix value is {geometric}. See the "pair_modify" command for +details. + +This pair style supports the "pair_modify"_pair_modify.html shift +option for the energy of the pair interaction. + +The "pair_modify"_pair_modify.html table option is not relevant +for this pair style. -delta_ij = (delta_i + delta_j) / 2 :pre +This pair style supports the "pair_modify"_pair_modify.html tail +option for adding a long-range tail correction to the energy and +pressure of the pair interaction. + +This pair style can calculate per-atom energy and stress, as used by +the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +:line [Restrictions:] none [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none diff --git a/doc/pair_lj_smooth.html b/doc/pair_lj_smooth.html index 085ae8fd2..544cc11bd 100644 --- a/doc/pair_lj_smooth.html +++ b/doc/pair_lj_smooth.html @@ -1,69 +1,103 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style lj/smooth command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style lj/smooth Rin cutoff </PRE> <UL><LI>Rin = global inner cutoff beyond which force smoothing will be applied (distance units) <LI>cutoff = global cutoff for lj/smooth interactions (distance units) </UL> <P><B>Examples:</B> </P> <PRE>pair_style lj/smooth 8.0 10.0 pair_coeff * * 10.0 1.5 pair_coeff 1 1 20.0 1.3 7.0 9.0 </PRE> <P><B>Description:</B> </P> <P>Style <I>lj/smooth</I> computes a LJ interaction with a force smoothing applied between the inner and outer cutoff. </P> <CENTER><IMG SRC = "Eqs/pair_lj_smooth.jpg"> </CENTER> <P>The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to cause the force to vary smoothly from Rin to Rc. At Rin the force and its 1st derivative will match the unsmoothed LJ formula. At Rc the force and its 1st derivative will be 0.0. </P> <P>IMPORTANT NOTE: this force smoothing causes the energy to be discontinuous both in its values and 1st derivative. This can lead to poor energy conservation and may require the use of a thermostat. Plot the energy and force resulting from this formula via the <A HREF = "pair_write.html">pair_write</A> command to see the effect. </P> <P>The following coefficients must be defined for each pair of atoms types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> -commands: +commands, or by mixing as described below: </P> <UL><LI>epsilon (energy units) <LI>sigma (distance units) <LI>Rin (distance units) <LI>cutoff (distance units) </UL> <P>The last 2 coefficients are optional. If not specified, the global Rin and cutoff are used. Rin cannot be 0.0. If Rin = cutoff, then no force smoothing is performed for this type pair; the standard LJ formula is used. </P> +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>For atom type pairs I,J and I != J, the epsilon, sigma, Rin +coefficients and the cutoff distance for this pair style can be mixed. +Rin is a cutoff value and is mixed like the cutoff. The other +coefficients are mixed according to the pair_modify mix option. The +default mix value is <I>geometric</I>. See the "pair_modify" command for +details. +</P> +<P>This pair style supports the <A HREF = "pair_modify.html">pair_modify</A> shift +option for the energy of the pair interaction. +</P> +<P>The <A HREF = "pair_modify.html">pair_modify</A> table option is not relevant +for this pair style. +</P> +<P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A> +tail option for adding long-range tail corrections to energy and +pressure, since the energy of the pair interaction is smoothed to 0.0 +at the cutoff. +</P> +<P>This pair style can calculate per-atom energy and stress, as used by +the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. +</P> +<P>This pair style writes its information to <A HREF = "restart.html">binary restart +files</A>, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +</P> +<HR> + <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/pair_lj_smooth.txt b/doc/pair_lj_smooth.txt index 3e678f456..db6fa7cc1 100644 --- a/doc/pair_lj_smooth.txt +++ b/doc/pair_lj_smooth.txt @@ -1,64 +1,99 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style lj/smooth command :h3 [Syntax:] pair_style lj/smooth Rin cutoff :pre Rin = global inner cutoff beyond which force smoothing will be applied (distance units) cutoff = global cutoff for lj/smooth interactions (distance units) :ul [Examples:] pair_style lj/smooth 8.0 10.0 pair_coeff * * 10.0 1.5 pair_coeff 1 1 20.0 1.3 7.0 9.0 :pre [Description:] Style {lj/smooth} computes a LJ interaction with a force smoothing applied between the inner and outer cutoff. :c,image(Eqs/pair_lj_smooth.jpg) The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to cause the force to vary smoothly from Rin to Rc. At Rin the force and its 1st derivative will match the unsmoothed LJ formula. At Rc the force and its 1st derivative will be 0.0. IMPORTANT NOTE: this force smoothing causes the energy to be discontinuous both in its values and 1st derivative. This can lead to poor energy conservation and may require the use of a thermostat. Plot the energy and force resulting from this formula via the "pair_write"_pair_write.html command to see the effect. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: epsilon (energy units) sigma (distance units) Rin (distance units) cutoff (distance units) :ul The last 2 coefficients are optional. If not specified, the global Rin and cutoff are used. Rin cannot be 0.0. If Rin = cutoff, then no force smoothing is performed for this type pair; the standard LJ formula is used. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the epsilon, sigma, Rin +coefficients and the cutoff distance for this pair style can be mixed. +Rin is a cutoff value and is mixed like the cutoff. The other +coefficients are mixed according to the pair_modify mix option. The +default mix value is {geometric}. See the "pair_modify" command for +details. + +This pair style supports the "pair_modify"_pair_modify.html shift +option for the energy of the pair interaction. + +The "pair_modify"_pair_modify.html table option is not relevant +for this pair style. + +This pair style does not support the "pair_modify"_pair_modify.html +tail option for adding long-range tail corrections to energy and +pressure, since the energy of the pair interaction is smoothed to 0.0 +at the cutoff. + +This pair style can calculate per-atom energy and stress, as used by +the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +:line + + [Restrictions:] none [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none diff --git a/doc/pair_meam.html b/doc/pair_meam.html index c04ad14c4..103f20009 100644 --- a/doc/pair_meam.html +++ b/doc/pair_meam.html @@ -1,211 +1,239 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style meam command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style meam </PRE> <P><B>Examples:</B> </P> <PRE>pair_style meam pair_coeff * * ../potentials/library.meam Si ../potentials/si.meam Si pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni </PRE> <P><B>Description:</B> </P> <P>Style <I>meam</I> computes pairwise interactions for a variety of materials using modified embedded-atom method (MEAM) potentials <A HREF = "#Baskes">(Baskes)</A>. Conceptually, it is an extension to the original <A HREF = "pair_eam.html">EAM potentials</A> which adds angular forces. It is thus suitable for modeling metals and alloys with fcc, bcc, hcp and diamond cubic structures, as well as covalently bonded materials like silicon and carbon. </P> <P>In the MEAM formulation, the total energy E of a system of atoms is given by: </P> <CENTER><IMG SRC = "Eqs/pair_meam.jpg"> </CENTER> <P>where F is the embedding energy which is a function of the atomic electron density rho, and phi is a pair potential interaction. The pair interaction is summed over all neighbors J of atom I within the cutoff distance. As with EAM, the multi-body nature of the MEAM potential is a result of the embedding energy term. Details of the computation of the embedding and pair energies, as implemented in LAMMPS, are given in <A HREF = "#Gullet">(Gullet)</A> and references therein. </P> <P>The various parameters in the MEAM formulas are listed in two files which are specified by the <A HREF = "pair_coeff.html">pair_coeff</A> command. These are ASCII text files in a format consistent with other MD codes that implement MEAM potentials, such as the serial DYNAMO code and Warp. Several MEAM potential files with parameters for different materials are included in the "potentials" directory of the LAMMPS distribution with a ".meam" suffix. All of these are parameterized in terms of LAMMPS <A HREF = "units.html">metal units</A>. </P> <P>Note that unlike for other potentials, cutoffs for MEAM potentials are not set in the pair_style or pair_coeff command; they are specified in the MEAM potential files themselves. </P> <P>Only a single pair_coeff command is used with the <I>meam</I> style which specifies two MEAM files and the element(s) to extract information for. The MEAM elements are mapped to LAMMPS atom types by specifying N additional arguments after the 2nd filename in the pair_coeff command, where N is the number of LAMMPS atom types: </P> <UL><LI>MEAM library file <LI>Elem1, Elem2, ... <LI>MEAM parameter file <LI>N element names = mapping of MEAM elements to atom types </UL> <P>As an example, the potentials/library.meam file has generic MEAM settings for a variety of elements. The potentials/sic.meam file has specific parameter settings for a Si and C alloy system. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following pair_coeff command: </P> <PRE>pair_coeff * * library.meam Si C sic.meam Si Si Si C </PRE> <P>The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The two filenames are for the library and parameter file respectively. The Si and C arguments (between the file names) are the two elements for which info will be extracted from the library file. The first three trailing Si arguments map LAMMPS atom types 1,2,3 to the MEAM Si element. The final C argument maps LAMMPS atom type 4 to the MEAM C element. </P> <P>If the 2nd filename is specified as NULL, no parameter file is read, which simply means the generic parameters in the library file are used. Use of the NULL specification for the parameter file is discouraged for systems with more than a single element type (e.g. alloys), since the parameter file is expected to set element interaction terms that are not captured by the information in the library file. </P> <P>If a mapping value is specified as NULL, the mapping is not performed. This can be used when a <I>meam</I> potential is used as part of the <I>hybrid</I> pair style. The NULL values are placeholders for atom types that will be used with other potentials. </P> <P>The MEAM library file provided with LAMMPS has the name potentials/library.meam. It is the "meamf" file used by other MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, it is formatted as a series of entries, each of which has 19 parameters and can span multiple lines: </P> <P>elt, lat, z, ielement, atwt, alpha, b0, b1, b2, b3, alat, esub, asub, t0, t1, t2, t3, rozero, ibar </P> <P>The "elt" and "lat" parameters are text strings, such as elt = Si or Cu and lat = dia or fcc. Because the library file is used by Fortran MD codes, these strings may be enclosed in single quotes, but this is not required. The other numeric parameters match values in the formulas above. The value of the "elt" string is what is used in the pair_coeff command to identify which settings from the library file you wish to read in. There can be multiple entries in the library file with the same "elt" value; LAMMPS reads the 1st matching entry it finds and ignores the rest. </P> <P>If used, the MEAM parameter file contains settings that override or complement the library file settings. Examples of such parameter files are in the potentials directory with a ".meam" suffix. Their format is the same as is read by other Fortran MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, each line has one of the following forms. Each line can also have a trailing comment (starting with #) which is ignored. </P> <PRE>keyword = value keyword(I) = value keyword(I,J) = value keyword(I,J,K) = value </PRE> <P>The recognized keywords are as follows: </P> <P>Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, augt1, gsmooth_factor, re </P> <P>where </P> <PRE>rc = cutoff radius for cutoff function; default = 4.0 delr = length of smoothing distance for cutoff function; default = 0.1 rho0(I) = relative density for element I (overwrites value read from meamf file) Ec(I,J) = cohesive energy of reference structure for I-J mixture delta(I,J) = heat of formation for I-J alloy; if Ec_IJ is input as zero, then LAMMPS sets Ec_IJ = (Ec_II + Ec_JJ)/2 - delta_IJ alpha(I,J) = alpha parameter for pair potential between I and J (can be computed from bulk modulus of reference structure re(I,J) = equilibrium distance between I and J in the reference structure Cmax(I,J,K) = Cmax screening parameter when I-J pair is screened by K (I<=J); default = 2.8 Cmin(I,J,K) = Cmin screening parameter when I-J pair is screened by K (I<=J); default = 2.0 lattce(I,J) = lattice structure of I-J reference structure: dia = diamond (interlaced fcc for alloy) fcc = face centered cubic bcc = body centered cubic dim = dimer B1 = rock salt (NaCl structure) gsmooth_factor = factor determining the length of the G-function smoothing region; only significant for ibar=0 or ibar=4. 99.0 = short smoothing region, sharp step 0.5 = long smoothing region, smooth step default = 99.0 augt1 = integer flag for whether to augment t1 parameter by 3/5*t3 to account for old vs. new meam formulations; 0 = don't augment t1 1 = augment t1 default = 1 </PRE> <P>Rc, delr, re are in distance units (Angstroms in the case of metal units). Ec and delta are in energy units (eV in the case of metal units). </P> <P>Each keyword represents a quantity which is either a scalar, vector, 2d array, or 3d array and must be specified with the correct corresponding array syntax. The indices I,J,K each run from 1 to N where N is the number of MEAM elements being used. </P> <P>Thus these lines </P> <PRE>rho0(2) = 2.25 alpha(1,2) = 4.37 </PRE> <P>set rho0 for the 2nd element to the value 2.25 and set alpha for the alloy interaction between elements 1 and 2 to 4.37. </P> <HR> -<P><B>Restrictions:</B> none +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>For atom type pairs I,J and I != J, where types I and J correspond to +two different element types, mixing is performed by LAMMPS with +user-specifiable parameters as described above. You never need to +specify a pair_coeff command with I != J arguments for this style. +</P> +<P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A> +shift, table, and tail options. +</P> +<P>This pair style does not calculate per-atom energy and stress, as used +by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. +</P> +<P>This pair style does not write its information to <A HREF = "restart.html">binary restart +files</A>, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. +</P> +<HR> + +<P><B>Restrictions:</B> +</P> +<P>This style is part of the "meam" package. It is only enabled if +LAMMPS was built with that package, which also requires the MEAM +library be built and linked with LAMMPS. See the <A HREF = "Section_start.html#2_3">Making +LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A>, <A HREF = "pair_eam.html">pair_style eam</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Baskes"></A> <P><B>(Baskes)</B> Baskes, Phys Rev B, 46, 2727-2742 (1992). </P> <A NAME = "Gullet"></A> <P><B>(Gullet)</B> Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). This report may be accessed on-line via <A HREF = "http://www.prod.sandia.gov/cgi-bin/techlib/access-control.pl/2003/038782.pdf">this link</A>. </P> </HTML> diff --git a/doc/pair_meam.txt b/doc/pair_meam.txt index 49bed99ba..af15b3e86 100644 --- a/doc/pair_meam.txt +++ b/doc/pair_meam.txt @@ -1,204 +1,232 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style meam command :h3 [Syntax:] pair_style meam :pre [Examples:] pair_style meam pair_coeff * * ../potentials/library.meam Si ../potentials/si.meam Si pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni :pre [Description:] Style {meam} computes pairwise interactions for a variety of materials using modified embedded-atom method (MEAM) potentials "(Baskes)"_#Baskes. Conceptually, it is an extension to the original "EAM potentials"_pair_eam.html which adds angular forces. It is thus suitable for modeling metals and alloys with fcc, bcc, hcp and diamond cubic structures, as well as covalently bonded materials like silicon and carbon. In the MEAM formulation, the total energy E of a system of atoms is given by: :c,image(Eqs/pair_meam.jpg) where F is the embedding energy which is a function of the atomic electron density rho, and phi is a pair potential interaction. The pair interaction is summed over all neighbors J of atom I within the cutoff distance. As with EAM, the multi-body nature of the MEAM potential is a result of the embedding energy term. Details of the computation of the embedding and pair energies, as implemented in LAMMPS, are given in "(Gullet)"_#Gullet and references therein. The various parameters in the MEAM formulas are listed in two files which are specified by the "pair_coeff"_pair_coeff.html command. These are ASCII text files in a format consistent with other MD codes that implement MEAM potentials, such as the serial DYNAMO code and Warp. Several MEAM potential files with parameters for different materials are included in the "potentials" directory of the LAMMPS distribution with a ".meam" suffix. All of these are parameterized in terms of LAMMPS "metal units"_units.html. Note that unlike for other potentials, cutoffs for MEAM potentials are not set in the pair_style or pair_coeff command; they are specified in the MEAM potential files themselves. Only a single pair_coeff command is used with the {meam} style which specifies two MEAM files and the element(s) to extract information for. The MEAM elements are mapped to LAMMPS atom types by specifying N additional arguments after the 2nd filename in the pair_coeff command, where N is the number of LAMMPS atom types: MEAM library file Elem1, Elem2, ... MEAM parameter file N element names = mapping of MEAM elements to atom types :ul As an example, the potentials/library.meam file has generic MEAM settings for a variety of elements. The potentials/sic.meam file has specific parameter settings for a Si and C alloy system. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following pair_coeff command: pair_coeff * * library.meam Si C sic.meam Si Si Si C :pre The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The two filenames are for the library and parameter file respectively. The Si and C arguments (between the file names) are the two elements for which info will be extracted from the library file. The first three trailing Si arguments map LAMMPS atom types 1,2,3 to the MEAM Si element. The final C argument maps LAMMPS atom type 4 to the MEAM C element. If the 2nd filename is specified as NULL, no parameter file is read, which simply means the generic parameters in the library file are used. Use of the NULL specification for the parameter file is discouraged for systems with more than a single element type (e.g. alloys), since the parameter file is expected to set element interaction terms that are not captured by the information in the library file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a {meam} potential is used as part of the {hybrid} pair style. The NULL values are placeholders for atom types that will be used with other potentials. The MEAM library file provided with LAMMPS has the name potentials/library.meam. It is the "meamf" file used by other MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, it is formatted as a series of entries, each of which has 19 parameters and can span multiple lines: elt, lat, z, ielement, atwt, alpha, b0, b1, b2, b3, alat, esub, asub, t0, t1, t2, t3, rozero, ibar The "elt" and "lat" parameters are text strings, such as elt = Si or Cu and lat = dia or fcc. Because the library file is used by Fortran MD codes, these strings may be enclosed in single quotes, but this is not required. The other numeric parameters match values in the formulas above. The value of the "elt" string is what is used in the pair_coeff command to identify which settings from the library file you wish to read in. There can be multiple entries in the library file with the same "elt" value; LAMMPS reads the 1st matching entry it finds and ignores the rest. If used, the MEAM parameter file contains settings that override or complement the library file settings. Examples of such parameter files are in the potentials directory with a ".meam" suffix. Their format is the same as is read by other Fortran MD codes. Aside from blank and comment lines (start with #) which can appear anywhere, each line has one of the following forms. Each line can also have a trailing comment (starting with #) which is ignored. keyword = value keyword(I) = value keyword(I,J) = value keyword(I,J,K) = value :pre The recognized keywords are as follows: Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, augt1, gsmooth_factor, re where rc = cutoff radius for cutoff function; default = 4.0 delr = length of smoothing distance for cutoff function; default = 0.1 rho0(I) = relative density for element I (overwrites value read from meamf file) Ec(I,J) = cohesive energy of reference structure for I-J mixture delta(I,J) = heat of formation for I-J alloy; if Ec_IJ is input as zero, then LAMMPS sets Ec_IJ = (Ec_II + Ec_JJ)/2 - delta_IJ alpha(I,J) = alpha parameter for pair potential between I and J (can be computed from bulk modulus of reference structure re(I,J) = equilibrium distance between I and J in the reference structure Cmax(I,J,K) = Cmax screening parameter when I-J pair is screened by K (I<=J); default = 2.8 Cmin(I,J,K) = Cmin screening parameter when I-J pair is screened by K (I<=J); default = 2.0 lattce(I,J) = lattice structure of I-J reference structure: dia = diamond (interlaced fcc for alloy) fcc = face centered cubic bcc = body centered cubic dim = dimer B1 = rock salt (NaCl structure) gsmooth_factor = factor determining the length of the G-function smoothing region; only significant for ibar=0 or ibar=4. 99.0 = short smoothing region, sharp step 0.5 = long smoothing region, smooth step default = 99.0 augt1 = integer flag for whether to augment t1 parameter by 3/5*t3 to account for old vs. new meam formulations; 0 = don't augment t1 1 = augment t1 default = 1 :pre Rc, delr, re are in distance units (Angstroms in the case of metal units). Ec and delta are in energy units (eV in the case of metal units). Each keyword represents a quantity which is either a scalar, vector, 2d array, or 3d array and must be specified with the correct corresponding array syntax. The indices I,J,K each run from 1 to N where N is the number of MEAM elements being used. Thus these lines rho0(2) = 2.25 alpha(1,2) = 4.37 :pre set rho0 for the 2nd element to the value 2.25 and set alpha for the alloy interaction between elements 1 and 2 to 4.37. :line -[Restrictions:] none +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, where types I and J correspond to +two different element types, mixing is performed by LAMMPS with +user-specifiable parameters as described above. You never need to +specify a pair_coeff command with I != J arguments for this style. + +This pair style does not support the "pair_modify"_pair_modify.html +shift, table, and tail options. + +This pair style does not calculate per-atom energy and stress, as used +by the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style does not write its information to "binary restart +files"_restart.html, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. + +:line + +[Restrictions:] + +This style is part of the "meam" package. It is only enabled if +LAMMPS was built with that package, which also requires the MEAM +library be built and linked with LAMMPS. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "pair_coeff"_pair_coeff.html, "pair_style eam"_pair_eam.html [Default:] none :line :link(Baskes) [(Baskes)] Baskes, Phys Rev B, 46, 2727-2742 (1992). :link(Gullet) [(Gullet)] Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). This report may be accessed on-line via "this link"_sandreport. :link(sandreport,http://www.prod.sandia.gov/cgi-bin/techlib/access-control.pl/2003/038782.pdf) diff --git a/doc/pair_modify.txt b/doc/pair_modify.txt index 71ad1a483..ddde445e8 100644 --- a/doc/pair_modify.txt +++ b/doc/pair_modify.txt @@ -1,166 +1,165 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_modify command :h3 [Syntax:] pair_modify keyword value ... :pre one or more keyword/value pairs may be listed :ulb,l keyword = {shift} or {mix} or {table} or {tabinner} or {tail} :l - {shift} value = {yes} or {no} {mix} value = {geometric} or {arithmetic} or {sixthpower} + {shift} value = {yes} or {no} {table} value = N 2^N = # of values in table {tabinner} value = cutoff cutoff = inner cutoff at which to begin table (distance units) {tail} value = {yes} or {no} :pre :ule [Examples:] pair_modify shift yes mix geometric pair_modify tail yes pair_modify table 12 :pre [Description:] Modify the parameters of the currently defined pair style. Not all parameters are relevant to all pair styles. -The {shift} keyword determines whether the Lennard-Jones potential is -shifted at its cutoff to 0.0. If so, this adds an energy term to each -pairwise interaction which will be printed in the thermodynamic -output, but does not affect atom dynamics (forces). Pair styles that -are already 0.0 at their cutoff such as {lj/charmm/coul/charmm} are -not affected by this setting. - -The {mix} keyword affects how Lennard-Jones coefficients for epsilon, -sigma, and the cutoff are generated for interactions between atoms of -type I and J, when I != J. Coefficients for I = J are set explicitly -in the data file or input script. The "pair_coeff"_pair_coeff.html -command can be used in the input script to specify epilon/sigma for a -specific I != J pairing, which overrides the setting of the {mix} -keyword. - -These are the formulas used by the 3 {mix} options. In each case, the -LJ cutoff is mixed the same way as sigma. Note that some of these -options are not available for certain pair styles. See the doc page -for individual pair styles for those restrictions. - -{geometric} +The {mix} keyword affects pair coefficients for interactions between +atoms of type I and J, when I != J and the coefficients are not +explicity set in the input script. Note that coefficients for I = J +must be set explicitly, either in the input script via the +"pair_coeff" command or in the "Pair Coeffs" section of the "data +file"_read_data.html. For some pair styles is is not necessary to +specify coefficients when I != J, since a "mixing" rule will create +them from the I,I and J,J settings. The pair_modify {mix} value +determines what formulas are used to compute the mixed coefficients. +In each case, the cutoff distance is mixed the same way as sigma. + +Note that not all pair styles support mixing. Also, some mix options +are not available for certain pair styles. See the doc page for +individual pair styles for those restrictions. Note also that the +"pair_coeff"_pair_coeff.html command also can be to directly set +coefficients for a specific I != J pairing, in which case no mixing is +performed. + +mix {geometric} epsilon_ij = sqrt(epsilon_i * epsilon_j) sigma_ij = sqrt(sigma_i * sigma_j) :pre -{arithmetic} +mix {arithmetic} epsilon_ij = sqrt(epsilon_i * epsilon_j) sigma_ij = (sigma_i + sigma_j) / 2 :pre -{sixthpower} +mix {sixthpower} epsilon_ij = (2 * sqrt(epsilon_i*epsilon_j) * sigma_i^3 * sigma_j^3) / (sigma_i^6 + sigma_j^6) sigma_ij = ((sigma_i**6 + sigma_j**6) / 2) ^ (1/6) :pre +The {shift} keyword determines whether a Lennard-Jones potential is +shifted at its cutoff to 0.0. If so, this adds an energy term to each +pairwise interaction which will be included in the thermodynamic +output, but does not affect pair forces or atom trajectories. See the +doc page for individual pair styles to see which ones support this +option. + The {table} keyword applies to pair styles with a long-range Coulombic -term (lj/cut/coul/long and lj/charmm/coul/long). If N is non-zero, a -table of length 2^N is pre-computed for forces and energies, which can -shrink their computational cost by up to a factor of 2. The table is -indexed via a bit-mapping technique "(Wolff)"_#Wolff and a linear -interpolation is performed between adjacent table values. In our -experiments with different table styles (lookup, linear, spline), this -method typically gave the best performance in terms of speed and -accuracy. +term; see the doc page for individual styles to see which potentials +support this option. If N is non-zero, a table of length 2^N is +pre-computed for forces and energies, which can shrink their +computational cost by up to a factor of 2. The table is indexed via a +bit-mapping technique "(Wolff)"_#Wolff and a linear interpolation is +performed between adjacent table values. In our experiments with +different table styles (lookup, linear, spline), this method typically +gave the best performance in terms of speed and accuracy. The choice of table length is a tradeoff in accuracy versus speed. A larger N yields more accurate force computations, but requires more memory which can slow down the computation due to cache misses. A reasonable value of N is between 8 and 16. The default value of 12 (table of length 4096) gives approximately the same accuracy as the no-table (N = 0) option. For N = 0, forces and energies are computed directly, using a polynomial fit for the needed erfc() function evaluation, which is what earlier versions of LAMMPS did. Values greater than 16 typically slow down the simulation and will not improve accuracy; values from 1 to 8 give unreliable results. The {tabinner} keyword sets an inner cutoff above which the pairwise computation is done by table lookup (if tables are invoked). The smaller this value is set, the less accurate the table becomes (for a given number of table values), which can require use of larger tables. The default cutoff value is sqrt(2.0) distance units which means nearly all pairwise interactions are computed via table lookup for simulations with "real" units, but some close pairs may be computed directly (non-table) for simulations with "lj" units. -When the {tail} keyword is set to {yes}, long-range VanderWaals tail -"corrections" are added to the energy and pressure. These are -included in the calculation and printing of thermodynamic quantities -(see the "thermo_style"_thermo_style.html command). Their effect will -also be included in constant NPT or NPH simulations where the pressure -influences the simulation box dimensions (see the "fix -npt"_fix_npt.html and "fix nph"_fix_nph.html commands). - -The {tail} keyword is only supported by "pair_style"_pair_style.html -pairwise potentials which include Lennard-Jones interactions which are -cutoff at a non-zero energy. This does not include the LJ CHARMM -potentials or {lj/smooth} since they go to zero at the cutoff. The -formulas used for the long-range corrections come from equation 5 of +When the {tail} keyword is set to {yes}, certain pair styles will add +a long-range VanderWaals tail "correction" to the energy and pressure. +See the doc page for individual styles to see which support this +option. These corrections are included in the calculation and +printing of thermodynamic quantities (see the +"thermo_style"_thermo_style.html command). Their effect will also be +included in constant NPT or NPH simulations where the pressure +influences the simulation box dimensions (e.g. the "fix +npt"_fix_npt.html and "fix nph"_fix_nph.html commands). The formulas +used for the long-range corrections come from equation 5 of "(Sun)"_#Sun. Several assumptions are inherent in using tail corrections, including the following: The simulated system is a 3d bulk homogeneous liquid. This option should not be used for systems that are non-liquid, 2d, have a slab geometry (only 2d periodic), or inhomogeneous. :ulb,l G(r), the radial distribution function (rdf), is unity beyond the cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an LJ fluid), and it is probably a good idea to verify this assumption by checking the rdf. The rdf is not exactly unity beyond the cutoff for each pair of interaction types, so the tail correction is necessarily an approximation. :l Thermophysical properties obtained from calculations with this option enabled will not be thermodynamically consistent with the truncated force-field that was used. In other words, atoms do not feel any LJ pair interactions beyond the cutoff, but the energy and pressure reported by the simulation include an estimated contribution from those interactions. :l,ule [Restrictions:] none -Not all pair styles support mixing. See the doc page for individual -pair styles for details. - You cannot use {shift} yes with {tail} yes, since those are -conflicting options. - -You cannot use {tail} yes with 2d simulations. +conflicting options. You cannot use {tail} yes with 2d simulations. [Related commands:] "pair_style"_pair_style.html, "pair_coeff"_pair_coeff.html, "thermo_style"_thermo_style.html [Default:] -The option defaults are shift = no, mix = arithmetic (for lj/charmm -pair styles), mix = geometric (for other pair styles), table = 12, -and tabinner = sqrt(2.0), tail = no. +The option defaults are mix = geometric, shift = no, table = 12, +tabinner = sqrt(2.0), tail = no. + +Note that some pair styles perform mixing, but only a certain style of +mixing. See the doc pages for individual pair styles for details. :line :link(Wolff) [(Wolff)] Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). :link(Sun) [(Sun)] Sun, J Phys Chem B, 102, 7338-7364 (1998). diff --git a/doc/pair_morse.html b/doc/pair_morse.html index a489fae1e..0bc9956c0 100644 --- a/doc/pair_morse.html +++ b/doc/pair_morse.html @@ -1,72 +1,98 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style morse command </H3> <H3>pair_style morse/opt command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style morse cutoff </PRE> <UL><LI>cutoff = global cutoff for Morse interactions (distance units) </UL> <P><B>Examples:</B> </P> <PRE>pair_style morse 2.5 pair_style morse/opt 2.5 pair_coeff * * 100.0 2.0 1.5 pair_coeff 1 1 100.0 2.0 1.5 3.0 </PRE> <P><B>Description:</B> </P> <P>Style <I>morse</I> computes pairwise interactions with the formula </P> <CENTER><IMG SRC = "Eqs/pair_morse.jpg"> </CENTER> <P>Rc is the cutoff. </P> <P>The following coefficients must be defined for each pair of atoms types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> commands: </P> <UL><LI>D0 (energy units) <LI>alpha (1/distance units) <LI>r0 (distance units) <LI>cutoff (distance units) </UL> <P>The last coefficient is optional. If not specified, the global morse cutoff is used. </P> <P>Style <I>morse/opt</I> is an optimized version of style <I>morse</I> that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). </P> -<P><B>Restrictions:</B> +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>None of the Morse pair styles support mixing. Thus, coefficients for +all I,J pairs must be specified explicitly. +</P> +<P>All of the Morse pair styles support the +<A HREF = "pair_modify.html">pair_modify</A> shift option for the energy of the pair +interaction. +</P> +<P>The <A HREF = "pair_modify.html">pair_modify</A> table options is not relevant for +the Morse pair styles. </P> -<P>The <I>morse</I> potential does not support the -<A HREF = "pair_modify.hmtl">pair_modify</A> <I>mix</I> option. Coefficients for all i,j -pairs must be specified explicitly. +<P>None of the Morse pair styles support the +<A HREF = "pair_modify.html">pair_modify</A> tail option for adding long-range tail +corrections to energy and pressure. +</P> +<P>All of the Morse pair styles can calculate per-atom energy and +stress, as used by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, +<A HREF = "compute_stress_atom.html">compute stress/atom</A>, and <A HREF = "dump.html">dump +custom</A> commands. +</P> +<P>All of the Morse pair styles write their information to <A HREF = "restart.html">binary +restart files</A>, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. +</P> +<HR> + +<P><B>Restrictions:</B> </P> <P>The <I>morse/opt</I> style is part of the "opt" package. It is only enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/pair_morse.txt b/doc/pair_morse.txt index f673db8a9..4849968d8 100644 --- a/doc/pair_morse.txt +++ b/doc/pair_morse.txt @@ -1,66 +1,92 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style morse command :h3 pair_style morse/opt command :h3 [Syntax:] pair_style morse cutoff :pre cutoff = global cutoff for Morse interactions (distance units) :ul [Examples:] pair_style morse 2.5 pair_style morse/opt 2.5 pair_coeff * * 100.0 2.0 1.5 pair_coeff 1 1 100.0 2.0 1.5 3.0 :pre [Description:] Style {morse} computes pairwise interactions with the formula :c,image(Eqs/pair_morse.jpg) Rc is the cutoff. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: D0 (energy units) alpha (1/distance units) r0 (distance units) cutoff (distance units) :ul The last coefficient is optional. If not specified, the global morse cutoff is used. Style {morse/opt} is an optimized version of style {morse} that should give identical answers. Depending on system size and the processor you are running on, it may be 5-25% faster (for the pairwise portion of the run time). -[Restrictions:] +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +None of the Morse pair styles support mixing. Thus, coefficients for +all I,J pairs must be specified explicitly. + +All of the Morse pair styles support the +"pair_modify"_pair_modify.html shift option for the energy of the pair +interaction. + +The "pair_modify"_pair_modify.html table options is not relevant for +the Morse pair styles. -The {morse} potential does not support the -"pair_modify"_pair_modify.hmtl {mix} option. Coefficients for all i,j -pairs must be specified explicitly. +None of the Morse pair styles support the +"pair_modify"_pair_modify.html tail option for adding long-range tail +corrections to energy and pressure. + +All of the Morse pair styles can calculate per-atom energy and +stress, as used by the "compute epair/atom"_compute_epair_atom.html, +"compute stress/atom"_compute_stress_atom.html, and "dump +custom"_dump.html commands. + +All of the Morse pair styles write their information to "binary +restart files"_restart.html, so pair_style and pair_coeff commands do +not need to be specified in an input script that reads a restart file. + +:line + +[Restrictions:] The {morse/opt} style is part of the "opt" package. It is only enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#2_3 section for more info. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none diff --git a/doc/pair_soft.html b/doc/pair_soft.html index 92a970717..098d2de85 100644 --- a/doc/pair_soft.html +++ b/doc/pair_soft.html @@ -1,71 +1,93 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style soft command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style soft cutoff </PRE> <UL><LI>cutoff = global cutoff for soft interactions (distance units) </UL> <P><B>Examples:</B> </P> <PRE>pair_style soft 2.5 pair_coeff * * 0.0 60.0 pair_coeff 1 1 0.0 60.0 3.0 </PRE> <P><B>Description:</B> </P> <P>Style <I>soft</I> computes pairwise interactions with the formula </P> <CENTER><IMG SRC = "Eqs/pair_soft.jpg"> </CENTER> <P>It is useful for pushing apart overlapping atoms, since it does not blow up as r goes to 0. A is a pre-factor that varies in time from the start to the end of the run. The <A HREF = "run.html">run</A> command documents how to make the ramping take place across multiple runs. Rc is the cutoff. </P> <P>The following coefficients must be defined for each pair of atoms types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> -commands: +commands, or by mixing as described below: </P> <UL><LI>Astart (energy units) <LI>Astop (energy units) <LI>cutoff (distance units) </UL> <P>Astart and Astop are the values of the prefactor at the start and end of the next run. At intermediate times the value of A will be ramped between these 2 values. Note that before performing a 2nd run, you will want to adjust the values of Astart and Astop for all type pairs, or switch to a new pair style. </P> <P>The last coefficient is optional. If not specified, the global soft cutoff is used. </P> -<P>If the pair_coeff command is not used to define coefficients for a -particular I != J type pair, the mixing rule for Astart and Astop is -as follows: +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: </P> -<PRE>A_ij = sqrt(A_i * A_j) -</PRE> +<P>For atom type pairs I,J and I != J, the Astart, Astop coefficients and +cutoff distance for this pair style can be mixed. Astart and Atop are +always mixed via a <I>geometric</I> rule. The cutoff is mixed according to +the pair_modify mix value. The default mix value is <I>geometric</I>. See +the "pair_modify" command for details. +</P> +<P>This pair styles does not support the <A HREF = "pair_modify.html">pair_modify</A> +shift option, since the pair interaction is goes to 0.0 at the cutoff. +</P> +<P>The <A HREF = "pair_modify.html">pair_modify</A> table and tail options are not +relevant for this pair style. +</P> +<P>This pair style can calculate per-atom energy and stress, as used by +the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. +</P> +<P>This pair style writes its information to <A HREF = "restart.html">binary restart +files</A>, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +</P> +<HR> + <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/pair_soft.txt b/doc/pair_soft.txt index 5f1f21b89..6894ced29 100644 --- a/doc/pair_soft.txt +++ b/doc/pair_soft.txt @@ -1,66 +1,88 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style soft command :h3 [Syntax:] pair_style soft cutoff :pre cutoff = global cutoff for soft interactions (distance units) :ul [Examples:] pair_style soft 2.5 pair_coeff * * 0.0 60.0 pair_coeff 1 1 0.0 60.0 3.0 :pre [Description:] Style {soft} computes pairwise interactions with the formula :c,image(Eqs/pair_soft.jpg) It is useful for pushing apart overlapping atoms, since it does not blow up as r goes to 0. A is a pre-factor that varies in time from the start to the end of the run. The "run"_run.html command documents how to make the ramping take place across multiple runs. Rc is the cutoff. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: Astart (energy units) Astop (energy units) cutoff (distance units) :ul Astart and Astop are the values of the prefactor at the start and end of the next run. At intermediate times the value of A will be ramped between these 2 values. Note that before performing a 2nd run, you will want to adjust the values of Astart and Astop for all type pairs, or switch to a new pair style. The last coefficient is optional. If not specified, the global soft cutoff is used. -If the pair_coeff command is not used to define coefficients for a -particular I != J type pair, the mixing rule for Astart and Astop is -as follows: +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the Astart, Astop coefficients and +cutoff distance for this pair style can be mixed. Astart and Atop are +always mixed via a {geometric} rule. The cutoff is mixed according to +the pair_modify mix value. The default mix value is {geometric}. See +the "pair_modify" command for details. + +This pair styles does not support the "pair_modify"_pair_modify.html +shift option, since the pair interaction is goes to 0.0 at the cutoff. -A_ij = sqrt(A_i * A_j) :pre +The "pair_modify"_pair_modify.html table and tail options are not +relevant for this pair style. + +This pair style can calculate per-atom energy and stress, as used by +the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +:line [Restrictions:] none [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none diff --git a/doc/pair_style.txt b/doc/pair_style.txt index d54657441..9a6384a8a 100644 --- a/doc/pair_style.txt +++ b/doc/pair_style.txt @@ -1,155 +1,157 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style command :h3 [Syntax:] pair_style style args :pre style = one of the following :ulb,l -{none}, {hybrid}, {buck}, {buck/coul/cut}, {buck/coul/long}, -{colloid}, {dipole/cut}, {dpd}, {eam}, {eam/opt}, {eam/alloy}, -{eam/alloy/opt}, {eam/fs}, {eam/fs/opt}, {gayberne}, -{gran/hertzian}, {gran/history}, {gran/no_history}, -{lj/charmm/coul/charmm}, {lj/charmm/coul/charmm/opt}, -{lj/charmm/coul/charmm/implicit}, {lj/charmm/coul/long}, -{lj/class2}, {lj/class2/coul/cut}, {lj/class2/coul/long}, -{lj/cut}, {lj/cut/opt}, {lj/cut/coul/cut}, -{lj/cut/coul/debye}, {lj/cut/coul/long}, {lj/cut/coul/long/tip4p}, -{lj/expand}, {lj/smooth}, {meam}, {morse}, {morse/opt}, {soft}, {sw}, {table}, -{tersoff}, {yukawa} :ul +{none}, {hybrid}, {airebo}, {buck}, {buck/coul/cut}, {buck/coul/long}, +{dpd}, {eam}, {eam/alloy} or {eam/fs}, {gran/hertzian}, +{gran/history}, {gran/no_history}, {lj/charmm/coul/charmm}, +{lj/charmm/coul/charmm/implicit} or {lj/charmm/coul/long}, +{lj/class2}, {lj/class2/coul/cut} or {lj/class2/coul/long}, {lj/cut}, +{lj/cut/coul/cut} or {lj/cut/coul/debye}, {lj/cut/coul/long}, +{lj/cut/coul/long/tip4p}, {lj/expand}, {lj/smooth}, {meam}, {morse}, +{soft}, {sw}, {table}, {tersoff}, {yukawa} :ul args = arguments used by a particular style :l,ule [Examples:] pair_style lj/cut 2.5 pair_style eam/alloy pair_style hybrid lj/charmm/coul/long 10.0 eam pair_style table linear 1000 pair_style none :pre [Description:] Set the formula(s) LAMMPS uses to compute pairwise interactions. In LAMMPS, pair potentials are defined between pairs of atoms that are within a cutoff distance and the set of active interactions typically changes over time. See the "bond_style"_bond_style.html command to define potentials between pairs of bonded atoms, which typically remain in place for the duration of a simulation. In LAMMPS, pairwise force fields encompass a variety of interactions, some of which include many-body effects, e.g. EAM, Stillinger-Weber, Tersoff, REBO potentials. They are still classified as "pairwise" potentials because the set of interacting atoms changes with time -(unlike a bonded system) and thus a neighbor list is used to find +(unlike molecular bonds) and thus a neighbor list is used to find nearby interacting atoms. Hybrid models where specified pairs of atom types interact via different pair potentials can be setup using the {hybrid} pair style. The coefficients associated with a pair style are typically set for each pair of atom types, and are specified by the "pair_coeff"_pair_coeff.html command or read from a file by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands. Mixing, shifting, and tail corrections for the potentials -is discussed is the documentation for the -"pair_modify"_pair_modify.html command. +commands. + +The "pair_modify"_pair_modify.html command sets options for mixing of +type I-J interaction coefficients and adding energy offsets or tail +corrections to Lennard-Jones potentials. Details on these options as +they pertain to individual potentials are described on the doc page +for the potential. Likewise, info on whether the potential +information is stored in a "restart file"_write_restart.html or +whether the potential supports calculation of per-atom energy and +stress by the "compute epair/atom"_compute_epair_atom.html and +"compute stress/atom"_compute_stress_atom.html commands is given on +the potential doc page. In the formulas listed for each pair style, {E} is the energy of a pairwise interaction between two atoms separated by a distance {r}. The force between the atoms is the negative derivative of this expression. If the pair_style command has a cutoff argument, it sets global cutoffs for all pairs of atom types. The distance(s) can be smaller or larger than the dimensions of the simulation box. Typically, the global cutoff value can be overridden for a specific pair of atom types by the "pair_coeff"_pair_coeff.html command. The pair style settings (including global cutoffs) can be changed by a subsequent pair_style command using the same style. This will reset the cutoffs for all atom type pairs, including those previously set explicitly by a "pair_coeff"_pair_coeff.html command. The exceptions to this are that pair_style {table} and {hybrid} settings cannot be reset. A new pair_style command for these styles will wipe out all previously specified pair_coeff values. :line Here is an alphabetic list of pair styles defined in LAMMPS. Click on the style to display the formula it computes, arguments specified in the pair_style command, and coefficients specified by the associated "pair_coeff"_pair_coeff.html command: "pair_style none"_pair_none.html - turn off pairwise interactions "pair_style hybrid"_pair_hybrid.html - define multiple styles of pairwise interactions :ul +"pair_style airebo"_pair_airebo.html - AI-REBO potential "pair_style buck"_pair_buck.html - Buckingham potential "pair_style buck/coul/cut"_pair_buck.html - Buckinhham with cutoff Coulomb "pair_style buck/coul/long"_pair_buck.html - Buckingham with long-range Coulomb "pair_style colloid"_pair_colloid.html - integrated colloidal potential -"pair_style dipole/cut"_pair_dpd.html - point dipole potential "pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD) "pair_style eam"_pair_eam.html - embedded atom method (EAM) -"pair_style eam/opt"_pair_eam.html - optimized embedded atom method (EAM) "pair_style eam/alloy"_pair_eam.html - alloy EAM -"pair_style eam/alloy/opt"_pair_eam.html - optimized alloy EAM "pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM -"pair_style eam/fs/opt"_pair_eam.html - optimized Finnis-Sinclair EAM "pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential "pair_style gran/hertzian"_pair_gran.html - granular potential with Hertizain interactions "pair_style gran/history"_pair_gran.html - granular potential with history effects "pair_style gran/no_history"_pair_gran.html - granular potential without history effects "pair_style lj/charmm/coul/charmm"_pair_charmm.html - CHARMM potential with cutoff Coulomb "pair_style lj/charmm/coul/charmm/implicit"_pair_charmm.html - CHARMM for implicit solvent "pair_style lj/charmm/coul/long"_pair_charmm.html - CHARMM with long-range Coulomb -"pair_style lj/charmm/coul/long/opt"_pair_charmm.html - optimized CHARMM with long-range Coulomb "pair_style lj/class2"_pair_class2.html - COMPASS (class 2) force field with no Coulomb "pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb "pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb "pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb -"pair_style lj/cut/opt"_pair_lj.html - optimized cutoff Lennard-Jones potential with no Coulomb "pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb "pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye damping added to Coulomb "pair_style lj/cut/coul/long"_pair_lj.html - LJ with long-range Coulomb "pair_style lj/cut/coul/long/tip4p"_pair_lj.html - LJ with long-range Coulomb for TIP4P water "pair_style lj/expand"_pair_lj_expand.html - Lennard-Jones for variable size particles "pair_style lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential "pair_style meam"_pair_meam.html - modified embedded atom method (MEAM) "pair_style morse"_pair_morse.html - Morse potential -"pair_style morse/opt"_pair_morse.html - optimized Morse potential "pair_style soft"_pair_soft.html - Soft (cosine) potential "pair_style sw"_pair_sw.html - Stillinger-Weber 3-body potential "pair_style table"_pair_table.html - tabulated pair potential "pair_style tersoff"_pair_tersoff.html - Tersoff 3-body potential "pair_style yukawa"_pair_yukawa.html - Yukawa potential :ul :line [Restrictions:] This command must be used before any coefficients are set by the "pair_coeff"_pair_coeff.html, "read_data"_read_data.html, or "read_restart"_read_restart.html commands. Some pair styles are part of specific packages. They are only enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#2_2 section for more info. +LAMMPS"_Section_start.html#2_3 section for more info on packages. The +doc pages for individual pair potentials tell if it is part of a +package. [Related commands:] "pair_coeff"_pair_coeff.html, "read_data"_read_data.html, "pair_modify"_pair_modify.html, "kspace_style"_kspace_style.html, "dielectric"_dielectric.html, "pair_write"_pair_write.html [Default:] pair_style none :pre diff --git a/doc/pair_sw.html b/doc/pair_sw.html index 9f3bad4b1..b33623832 100644 --- a/doc/pair_sw.html +++ b/doc/pair_sw.html @@ -1,136 +1,164 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style sw command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style sw </PRE> <P><B>Examples:</B> </P> <PRE>pair_style sw pair_coeff * * si.sw Si pair_coeff * * SiC.sw Si C Si </PRE> <P><B>Description:</B> </P> <P>The <I>sw</I> style computes a 3-body <A HREF = "#Stillinger">Stillinger-Weber</A> potential for the energy E of a system of atoms as </P> <CENTER><IMG SRC = "Eqs/pair_sw.jpg"> </CENTER> <P>where phi2 is a two-body term and phi3 is a three-body term. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = a*sigma. </P> <P>Only a single pair_coeff command is used with the <I>sw</I> style which specifies a Stillinger-Weber potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: </P> <UL><LI>filename <LI>N element names = mapping of SW elements to atom types </UL> <P>As an example, imagine the SiC.sw file has Stillinger-Weber values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following pair_coeff command: </P> <PRE>pair_coeff * * SiC.sw Si Si Si C </PRE> <P>The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the SW file. The final C argument maps LAMMPS atom type 4 to the C element in the SW file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a <I>sw</I> potential is used as part of the <I>hybrid</I> pair style. The NULL values are placeholders for atom types that will be used with other potentials. </P> <P>Stillinger-Weber files in the <I>potentials</I> directory of the LAMMPS distribution have a ".sw" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to the two-body and three-body coefficients in the formula above: </P> <UL><LI>element 1 (the center atom in a 3-body interaction) <LI>element 2 <LI>element 3 <LI>epsilon (energy units) <LI>sigma (distance units) <LI>a <LI>lambda <LI>gamma <LI>costheta0 <LI>A <LI>B <LI>p <LI>q </UL> <P>The A, B, p, and q parameters are used only for two-body interactions. The lambda, gamma, and costheta0 parameters are used only for three-body interactions. The epsilon, sigma and a parameters are used for both two-body and three-body interactions. The non-annotated parameters are unitless. </P> <P>The Stillinger-Weber potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. </P> <P>For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify SW parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 entries would be required, etc. </P> <P>As annotated above, the first element in the entry is the center atom in a three-body interaction. Thus an entry for SiCC means a Si atom with 2 C atoms as neighbors. By symmetry, three-body parameters for SiCSi and SiSiC entries should be the same. The parameters used for the two-body interaction come from the entry where the 2nd element is repeated. Thus the two-body parameters for Si interacting with C, comes from the SiCC entry. Again by symmetry, the two-body parameters in the SiCC and CSiSi entries should thus be the same. The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions (A, B, p, and q) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. </P> +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>For atom type pairs I,J and I != J, where types I and J correspond to +two different element types, mixing is performed by LAMMPS as +described above from values in the potential file. +</P> +<P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A> +shift, table, and tail options. +</P> +<P>This pair style does not calculate per-atom energy and stress, as used +by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. +</P> +<P>This pair style does not write its information to <A HREF = "restart.html">binary restart +files</A>, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. +</P> +<HR> + <P><B>Restrictions:</B> </P> -<P>This pair potential requires the <A HREF = "newton.html">newton</A> setting to be -"on" for pair interactions. +<P>This pair style is part of the "manybody" package. It is only enabled +if LAMMPS was built with that package (which it is by default). See +the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. +</P> +<P>This pair style requires the <A HREF = "newton.html">newton</A> setting to be "on" +for pair interactions. </P> <P>The Stillinger-Weber potential files provided with LAMMPS (see the potentials directory) are parameterized for metal <A HREF = "units.html">units</A>. -You can use the SW potential with any LAMMPS units, but you need to -create your own SW potential file if your simulation doesn't use -"metal" units. +You can use the SW potential with any LAMMPS units, but you would need +to create your own SW potential file with coefficients listed in the +appropriate units if your simulation doesn't use "metal" units. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Stillinger"></A> <P><B>(Stillinger)</B> Stillinger and Weber, Phys Rev B, 31, 5262 (1985). </P> </HTML> diff --git a/doc/pair_sw.txt b/doc/pair_sw.txt index d2f7c4625..379781599 100644 --- a/doc/pair_sw.txt +++ b/doc/pair_sw.txt @@ -1,130 +1,158 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style sw command :h3 [Syntax:] pair_style sw :pre [Examples:] pair_style sw pair_coeff * * si.sw Si pair_coeff * * SiC.sw Si C Si :pre [Description:] The {sw} style computes a 3-body "Stillinger-Weber"_#Stillinger potential for the energy E of a system of atoms as :c,image(Eqs/pair_sw.jpg) where phi2 is a two-body term and phi3 is a three-body term. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = a*sigma. Only a single pair_coeff command is used with the {sw} style which specifies a Stillinger-Weber potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: filename N element names = mapping of SW elements to atom types :ul As an example, imagine the SiC.sw file has Stillinger-Weber values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following pair_coeff command: pair_coeff * * SiC.sw Si Si Si C :pre The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the SW file. The final C argument maps LAMMPS atom type 4 to the C element in the SW file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a {sw} potential is used as part of the {hybrid} pair style. The NULL values are placeholders for atom types that will be used with other potentials. Stillinger-Weber files in the {potentials} directory of the LAMMPS distribution have a ".sw" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to the two-body and three-body coefficients in the formula above: element 1 (the center atom in a 3-body interaction) element 2 element 3 epsilon (energy units) sigma (distance units) a lambda gamma costheta0 A B p q :ul The A, B, p, and q parameters are used only for two-body interactions. The lambda, gamma, and costheta0 parameters are used only for three-body interactions. The epsilon, sigma and a parameters are used for both two-body and three-body interactions. The non-annotated parameters are unitless. The Stillinger-Weber potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify SW parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 entries would be required, etc. As annotated above, the first element in the entry is the center atom in a three-body interaction. Thus an entry for SiCC means a Si atom with 2 C atoms as neighbors. By symmetry, three-body parameters for SiCSi and SiSiC entries should be the same. The parameters used for the two-body interaction come from the entry where the 2nd element is repeated. Thus the two-body parameters for Si interacting with C, comes from the SiCC entry. Again by symmetry, the two-body parameters in the SiCC and CSiSi entries should thus be the same. The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions (A, B, p, and q) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, where types I and J correspond to +two different element types, mixing is performed by LAMMPS as +described above from values in the potential file. + +This pair style does not support the "pair_modify"_pair_modify.html +shift, table, and tail options. + +This pair style does not calculate per-atom energy and stress, as used +by the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style does not write its information to "binary restart +files"_restart.html, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. + +:line + [Restrictions:] -This pair potential requires the "newton"_newton.html setting to be -"on" for pair interactions. +This pair style is part of the "manybody" package. It is only enabled +if LAMMPS was built with that package (which it is by default). See +the "Making LAMMPS"_Section_start.html#2_3 section for more info. + +This pair style requires the "newton"_newton.html setting to be "on" +for pair interactions. The Stillinger-Weber potential files provided with LAMMPS (see the potentials directory) are parameterized for metal "units"_units.html. -You can use the SW potential with any LAMMPS units, but you need to -create your own SW potential file if your simulation doesn't use -"metal" units. +You can use the SW potential with any LAMMPS units, but you would need +to create your own SW potential file with coefficients listed in the +appropriate units if your simulation doesn't use "metal" units. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Stillinger) [(Stillinger)] Stillinger and Weber, Phys Rev B, 31, 5262 (1985). diff --git a/doc/pair_table.html b/doc/pair_table.html index 34c78e993..db24c18de 100644 --- a/doc/pair_table.html +++ b/doc/pair_table.html @@ -1,161 +1,182 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style table command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style table style N </PRE> <UL><LI>style = <I>lookup</I> or <I>linear</I> or <I>spline</I> or <I>bitmap</I> = method of interpolation <LI>N = use N values in <I>lookup</I>, <I>linear</I>, <I>spline</I> tables <LI>N = use 2^N values in <I>bitmap</I> tables </UL> <P><B>Examples:</B> </P> <PRE>pair_style table linear 1000 pair_style table bitmap 12 pair_coeff * 3 morse.table ENTRY1 pair_coeff * 3 morse.table ENTRY1 7.0 </PRE> <P><B>Description:</B> </P> <P>Style <I>table</I> creates interpolation tables of length <I>N</I> from pair potential and force values listed in a file(s) as a function of distance. The files are read by the <A HREF = "pair_coeff.html">pair_coeff</A> command. </P> <P>The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and force values at each of <I>N</I> distances. During a simulation, these tables are used to interpolate energy and force values as needed. The interpolation is done in one of 4 styles: <I>lookup</I>, <I>linear</I>, <I>spline</I>, or <I>bitmap</I>. </P> <P>For the <I>lookup</I> style, the distance between 2 atoms is used to find the nearest table entry, which is the energy or force. </P> <P>For the <I>linear</I> style, the distance is used to find 2 surrounding table values from which an energy or force is computed by linear interpolation. </P> <P>For the <I>spline</I> style, a cubic spline coefficients are computed and stored each of the <I>N</I> values in the table. The pair distance is used to find the appropriate set of coefficients which are used to evaluate a cubic polynomial which computes the energy or force. </P> <P>For the <I>bitmap</I> style, the N means to create interpolation tables that are 2^N in length. The pair distance is used to index into the table via a fast bit-mapping technique <A HREF = "#Wolff">(Wolff)</A> and a linear interpolation is performed between adjacent table values. </P> <P>The following coefficients must be defined for each pair of atoms types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> commands: </P> <UL><LI>filename <LI>keyword <LI>cutoff (distance units) </UL> <P>The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The cutoff is an optional coefficient. If not specified, the outer cutoff in the table itself (see below) will be used to build an interpolation table that extend to the largest tablulated distance. If specified, only file values up to the cutoff are used to create the interpolation table. </P> <P>The format of a tabulated file is as follows (without the parenthesized comments): </P> <PRE># Morse potential for Fe (one or more comment or blank lines) </PRE> <PRE>MORSE_FE (keyword is first text on line) N 500 R 1.0 10.0 (N, R, RSQ, BITMAP, FPRIME parameters) (blank) 1 1.0 25.5 102.34 (index, r, energy, force) 2 1.02 23.4 98.5 ... 500 10.0 0.001 0.003 </PRE> <P>A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. </P> <P>The parameter "N" is required; its value is the number of table entries that follow. All other parameters are optional. If "R" or "RSQ" or "BITMAP" does not appear, then the distances in each line of the table are used as-is to perform spline interpolation. In this case, the table values can be spaced in <I>r</I> uniformly or however you wish to position table values in regions of large gradients. </P> <P>If used, the parameters "R" or "RSQ" are followed by 2 values <I>rlo</I> and <I>rhi</I>. If specified, the distance associated with each energy and force value is computed from these 2 values (at high accuracy), rather than using the (low-accuracy) value listed in each line of the table. For "R", distances uniformly spaced between <I>rlo</I> and <I>rhi</I> are computed; for "RSQ", squared distances uniformly spaced between <I>rlo*rlo</I> and <I>rhi*rhi</I> are computed. </P> <P>If used, the parameter "BITMAP" is also followed by 2 values <I>rlo</I> and <I>rhi</I>. These values, along with the "N" value determine the ordering of the N lines that follow and what distance is associated with each. This ordering is complex, so it is not documented here, since this file is typically produced by the <A HREF = "pair_write.html">pair_write</A> command with its <I>bitmap</I> option. When the table is in BITMAP format, the "N" parameter in the file must be equal to 2^M where M is the value specified in the pair_style command. Also, a cutoff parameter cannot be used as an optional 3rd argument in the pair_coeff command; the entire table extent as specified in the file must be used. </P> <P>If used, the parameter "FPRIME" is followed by 2 values <I>fplo</I> and <I>fphi</I> which are the derivative of the force at the innermost and outermost distances listed in the table. These values are needed by the spline construction routines. If not specified by the "FPRIME" parameter, they are estimated (less accurately) by the first 2 and last 2 force values in the table. This parameter is not used by BITMAP tables. </P> <P>Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is r (in distance units), the 3rd value is the energy (in energy units), and the 4th is the force (in force units). The r values must increase from one line to the next (unless the BITMAP parameter is specified). </P> <P>Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. </P> -<P><B>Restrictions:</B> +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>This pair style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. +</P> +<P>The <A HREF = "pair_modify.html">pair_modify</A> shift, table, and tail options are +not relevant for this pair style. </P> -<P>The <I>table</I> potential does not support the -<A HREF = "pair_modify.hmtl">pair_modify</A> <I>mix</I> option. Coefficients for all i,j -pairs must be specified explicitly. +<P>This pair style can calculate per-atom energy and stress, as used by +the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. +</P> +<P>This pair style writes the settings for the "pair_style table" command +to <A HREF = "restart.html">binary restart files</A>, so a pair_style command does +not need to specified in an input script that reads a restart file. +However, the coefficient information is not stored in the restart +file, since it is tabulated in the potential files. Thus, pair_coeff +commands do need to be specified in the restart input script. +</P> +<HR> + +<P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Wolff"></A> <P><B>(Wolff)</B> Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). </P> </HTML> diff --git a/doc/pair_table.txt b/doc/pair_table.txt index d362690a4..96c7c15cd 100644 --- a/doc/pair_table.txt +++ b/doc/pair_table.txt @@ -1,155 +1,176 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style table command :h3 [Syntax:] pair_style table style N :pre style = {lookup} or {linear} or {spline} or {bitmap} = method of interpolation N = use N values in {lookup}, {linear}, {spline} tables N = use 2^N values in {bitmap} tables :ul [Examples:] pair_style table linear 1000 pair_style table bitmap 12 pair_coeff * 3 morse.table ENTRY1 pair_coeff * 3 morse.table ENTRY1 7.0 :pre [Description:] Style {table} creates interpolation tables of length {N} from pair potential and force values listed in a file(s) as a function of distance. The files are read by the "pair_coeff"_pair_coeff.html command. The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and force values at each of {N} distances. During a simulation, these tables are used to interpolate energy and force values as needed. The interpolation is done in one of 4 styles: {lookup}, {linear}, {spline}, or {bitmap}. For the {lookup} style, the distance between 2 atoms is used to find the nearest table entry, which is the energy or force. For the {linear} style, the distance is used to find 2 surrounding table values from which an energy or force is computed by linear interpolation. For the {spline} style, a cubic spline coefficients are computed and stored each of the {N} values in the table. The pair distance is used to find the appropriate set of coefficients which are used to evaluate a cubic polynomial which computes the energy or force. For the {bitmap} style, the N means to create interpolation tables that are 2^N in length. The pair distance is used to index into the table via a fast bit-mapping technique "(Wolff)"_#Wolff and a linear interpolation is performed between adjacent table values. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: filename keyword cutoff (distance units) :ul The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The cutoff is an optional coefficient. If not specified, the outer cutoff in the table itself (see below) will be used to build an interpolation table that extend to the largest tablulated distance. If specified, only file values up to the cutoff are used to create the interpolation table. The format of a tabulated file is as follows (without the parenthesized comments): # Morse potential for Fe (one or more comment or blank lines) :pre MORSE_FE (keyword is first text on line) N 500 R 1.0 10.0 (N, R, RSQ, BITMAP, FPRIME parameters) (blank) 1 1.0 25.5 102.34 (index, r, energy, force) 2 1.02 23.4 98.5 ... 500 10.0 0.001 0.003 :pre A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. The parameter "N" is required; its value is the number of table entries that follow. All other parameters are optional. If "R" or "RSQ" or "BITMAP" does not appear, then the distances in each line of the table are used as-is to perform spline interpolation. In this case, the table values can be spaced in {r} uniformly or however you wish to position table values in regions of large gradients. If used, the parameters "R" or "RSQ" are followed by 2 values {rlo} and {rhi}. If specified, the distance associated with each energy and force value is computed from these 2 values (at high accuracy), rather than using the (low-accuracy) value listed in each line of the table. For "R", distances uniformly spaced between {rlo} and {rhi} are computed; for "RSQ", squared distances uniformly spaced between {rlo*rlo} and {rhi*rhi} are computed. If used, the parameter "BITMAP" is also followed by 2 values {rlo} and {rhi}. These values, along with the "N" value determine the ordering of the N lines that follow and what distance is associated with each. This ordering is complex, so it is not documented here, since this file is typically produced by the "pair_write"_pair_write.html command with its {bitmap} option. When the table is in BITMAP format, the "N" parameter in the file must be equal to 2^M where M is the value specified in the pair_style command. Also, a cutoff parameter cannot be used as an optional 3rd argument in the pair_coeff command; the entire table extent as specified in the file must be used. If used, the parameter "FPRIME" is followed by 2 values {fplo} and {fphi} which are the derivative of the force at the innermost and outermost distances listed in the table. These values are needed by the spline construction routines. If not specified by the "FPRIME" parameter, they are estimated (less accurately) by the first 2 and last 2 force values in the table. This parameter is not used by BITMAP tables. Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is r (in distance units), the 3rd value is the energy (in energy units), and the 4th is the force (in force units). The r values must increase from one line to the next (unless the BITMAP parameter is specified). Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. -[Restrictions:] +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +This pair style does not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. + +The "pair_modify"_pair_modify.html shift, table, and tail options are +not relevant for this pair style. + +This pair style can calculate per-atom energy and stress, as used by +the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style writes the settings for the "pair_style table" command +to "binary restart files"_restart.html, so a pair_style command does +not need to specified in an input script that reads a restart file. +However, the coefficient information is not stored in the restart +file, since it is tabulated in the potential files. Thus, pair_coeff +commands do need to be specified in the restart input script. + +:line -The {table} potential does not support the -"pair_modify"_pair_modify.hmtl {mix} option. Coefficients for all i,j -pairs must be specified explicitly. +[Restrictions:] none [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Wolff) [(Wolff)] Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). diff --git a/doc/pair_tersoff.html b/doc/pair_tersoff.html index b60f35944..4a8bf839b 100644 --- a/doc/pair_tersoff.html +++ b/doc/pair_tersoff.html @@ -1,139 +1,167 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style tersoff command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style tersoff </PRE> <P><B>Examples:</B> </P> <PRE>pair_style tersoff pair_coeff * * si.tersoff Si pair_coeff * * SiC.tersoff Si C Si </PRE> <P><B>Description:</B> </P> <P>The <I>tersoff</I> style computes a 3-body <A HREF = "#Tersoff">Tersoff</A> potential for the energy E of a system of atoms as </P> <CENTER><IMG SRC = "Eqs/pair_tersoff.jpg"> </CENTER> <P>where f_R is a two-body term and f_A includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. </P> <P>Only a single pair_coeff command is used with the <I>tersoff</I> style which specifies a Tersoff potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: </P> <UL><LI>filename <LI>N element names = mapping of Tersoff elements to atom types </UL> <P>As an example, imagine the SiC.tersoff file has Tersoff values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following pair_coeff command: </P> <PRE>pair_coeff * * SiC.tersoff Si Si Si C </PRE> <P>The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the Tersoff file. The final C argument maps LAMMPS atom type 4 to the C element in the Tersoff file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a <I>tersoff</I> potential is used as part of the <I>hybrid</I> pair style. The NULL values are placeholders for atom types that will be used with other potentials. </P> <P>Tersoff files in the <I>potentials</I> directory of the LAMMPS distribution have a ".tersoff" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients in the formula above: </P> <UL><LI>element 1 (the center atom in a 3-body interaction) <LI>element 2 (the atom bonded to the center atom) <LI>element 3 (the atom influencing the 1-2 bond in a bond-order sense) <LI>lambda3 (1/distance units) <LI>c <LI>d <LI>costheta0 (can be a value < -1 or > 1) <LI>n <LI>beta <LI>lambda2 (1/distance units) <LI>B (energy units) <LI>R (distance units) <LI>D (distance units) <LI>lambda1 (1/distance units) <LI>A (energy units) </UL> <P>The n, beta, lambda2, B, lambda1, and A parameters are only used for two-body interactions. The lambda3, c, d, and costheta0 parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The non-annotated parameters are unitless. </P> <P>The Tersoff potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. </P> <P>For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify Tersoff parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 entries would be required, etc. </P> <P>As annotated above, the first element in the entry is the center atom in a three-body interaction and it is bonded to the 2nd atom and the bond is influenced by the 3rd atom. Thus an entry for SiCC means Si bonded to a C with another C atom influencing the bond. Thus three-body parameters for SiCSi and SiSiC entries will not, in general, be the same. The parameters used for the two-body interaction come from the entry where the 2nd element is repeated. Thus the two-body parameters for Si interacting with C, comes from the SiCC entry. By symmetry, the twobody parameters in the SiCC and CSiSi entries should thus be the same. The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions (n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. </P> +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>For atom type pairs I,J and I != J, where types I and J correspond to +two different element types, mixing is performed by LAMMPS as +described above from values in the potential file. +</P> +<P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A> +shift, table, and tail options. +</P> +<P>This pair style does not calculate per-atom energy and stress, as used +by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. +</P> +<P>This pair style does not write its information to <A HREF = "restart.html">binary restart +files</A>, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. +</P> +<HR> + <P><B>Restrictions:</B> </P> -<P>This pair potential requires the <A HREF = "newton.html">newton</A> setting to be -"on" for pair interactions. +<P>This pair style is part of the "manybody" package. It is only enabled +if LAMMPS was built with that package (which it is by default). See +the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. +</P> +<P>This pair style requires the <A HREF = "newton.html">newton</A> setting to be "on" +for pair interactions. </P> <P>The Tersoff potential files provided with LAMMPS (see the potentials directory) are parameterized for metal <A HREF = "units.html">units</A>. You can -use the Tersoff potential with any LAMMPS units, but you need to -create your own Tersoff potential file if your simulation doesn't use -"metal" units. +use the Tersoff potential with any LAMMPS units, but you would need to +create your own Tersoff potential file with coefficients listed in the +appropriate units if your simulation doesn't use "metal" units. </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> <HR> <A NAME = "Tersoff"></A> <P><B>(Tersoff)</B> Tersoff, Phys Rev B, 37, 6991 (1988). </P> </HTML> diff --git a/doc/pair_tersoff.txt b/doc/pair_tersoff.txt index ad6328498..6542bf30e 100644 --- a/doc/pair_tersoff.txt +++ b/doc/pair_tersoff.txt @@ -1,133 +1,161 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style tersoff command :h3 [Syntax:] pair_style tersoff :pre [Examples:] pair_style tersoff pair_coeff * * si.tersoff Si pair_coeff * * SiC.tersoff Si C Si :pre [Description:] The {tersoff} style computes a 3-body "Tersoff"_#Tersoff potential for the energy E of a system of atoms as :c,image(Eqs/pair_tersoff.jpg) where f_R is a two-body term and f_A includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. Only a single pair_coeff command is used with the {tersoff} style which specifies a Tersoff potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: filename N element names = mapping of Tersoff elements to atom types :ul As an example, imagine the SiC.tersoff file has Tersoff values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following pair_coeff command: pair_coeff * * SiC.tersoff Si Si Si C :pre The 1st 2 arguments must be * * so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si element in the Tersoff file. The final C argument maps LAMMPS atom type 4 to the C element in the Tersoff file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a {tersoff} potential is used as part of the {hybrid} pair style. The NULL values are placeholders for atom types that will be used with other potentials. Tersoff files in the {potentials} directory of the LAMMPS distribution have a ".tersoff" suffix. Lines that are not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients in the formula above: element 1 (the center atom in a 3-body interaction) element 2 (the atom bonded to the center atom) element 3 (the atom influencing the 1-2 bond in a bond-order sense) lambda3 (1/distance units) c d costheta0 (can be a value < -1 or > 1) n beta lambda2 (1/distance units) B (energy units) R (distance units) D (distance units) lambda1 (1/distance units) A (energy units) :ul The n, beta, lambda2, B, lambda1, and A parameters are only used for two-body interactions. The lambda3, c, d, and costheta0 parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The non-annotated parameters are unitless. The Tersoff potential file must contain entries for all the elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that specify Tersoff parameters for all permutations of the two elements interacting in three-body configurations. Thus for 3 elements, 27 entries would be required, etc. As annotated above, the first element in the entry is the center atom in a three-body interaction and it is bonded to the 2nd atom and the bond is influenced by the 3rd atom. Thus an entry for SiCC means Si bonded to a C with another C atom influencing the bond. Thus three-body parameters for SiCSi and SiSiC entries will not, in general, be the same. The parameters used for the two-body interaction come from the entry where the 2nd element is repeated. Thus the two-body parameters for Si interacting with C, comes from the SiCC entry. By symmetry, the twobody parameters in the SiCC and CSiSi entries should thus be the same. The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions (n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, where types I and J correspond to +two different element types, mixing is performed by LAMMPS as +described above from values in the potential file. + +This pair style does not support the "pair_modify"_pair_modify.html +shift, table, and tail options. + +This pair style does not calculate per-atom energy and stress, as used +by the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style does not write its information to "binary restart +files"_restart.html, since it is stored in potential files. Thus, you +need to re-specify the pair_style and pair_coeff commands in an input +script that reads a restart file. + +:line + [Restrictions:] -This pair potential requires the "newton"_newton.html setting to be -"on" for pair interactions. +This pair style is part of the "manybody" package. It is only enabled +if LAMMPS was built with that package (which it is by default). See +the "Making LAMMPS"_Section_start.html#2_3 section for more info. + +This pair style requires the "newton"_newton.html setting to be "on" +for pair interactions. The Tersoff potential files provided with LAMMPS (see the potentials directory) are parameterized for metal "units"_units.html. You can -use the Tersoff potential with any LAMMPS units, but you need to -create your own Tersoff potential file if your simulation doesn't use -"metal" units. +use the Tersoff potential with any LAMMPS units, but you would need to +create your own Tersoff potential file with coefficients listed in the +appropriate units if your simulation doesn't use "metal" units. [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none :line :link(Tersoff) [(Tersoff)] Tersoff, Phys Rev B, 37, 6991 (1988). diff --git a/doc/pair_yukawa.html b/doc/pair_yukawa.html index fec92cab2..9f00f8495 100644 --- a/doc/pair_yukawa.html +++ b/doc/pair_yukawa.html @@ -1,55 +1,86 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>pair_style yukawa command </H3> <P><B>Syntax:</B> </P> <PRE>pair_style yukawa kappa cutoff </PRE> <UL><LI>kappa = screening length (inverse distance units) <LI>cutoff = global cutoff for Yukawa interactions (distance units) </UL> <P><B>Examples:</B> </P> <PRE>pair_style yukawa 2.0 2.5 pair_coeff 1 1 100.0 2.3 pair_coeff * * 100.0 </PRE> <P><B>Description:</B> </P> <P>Style <I>yukawa</I> computes pairwise interactions with the formula </P> <CENTER><IMG SRC = "Eqs/pair_yukawa.jpg"> </CENTER> <P>Rc is the cutoff. </P> <P>The following coefficients must be defined for each pair of atoms types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or in the data file or restart files read by the <A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> -commands: +commands, or by mixing as described below: </P> <UL><LI>A (energy units) <LI>cutoff (distance units) </UL> <P>The last coefficient is optional. If not specified, the global yukawa cutoff is used. </P> +<HR> + +<P><B>Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info</B>: +</P> +<P>For atom type pairs I,J and I != J, the A coefficient and cutoff +distance for this pair style can be mixed. A is an energy value mixed +like a LJ epsilon. The default mix value is <I>geometric</I>. See the +"pair_modify" command for details. +</P> +<P>This pair style supports the <A HREF = "pair_modify.html">pair_modify</A> shift +option for the energy of the pair interaction. +</P> +<P>The <A HREF = "pair_modify.html">pair_modify</A> table option is not relevant +for this pair style. +</P> +<P>This pair style does not support the <A HREF = "pair_modify.html">pair_modify</A> +tail option for adding long-range tail corrections to energy and +pressure. +</P> +<P>This pair style can calculate per-atom energy and stress, as used by +the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute +stress/atom</A>, and <A HREF = "dump.html">dump custom</A> +commands. +</P> +<P>This pair style writes its information to <A HREF = "restart.html">binary restart +files</A>, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. +</P> +<HR> + <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "pair_coeff.html">pair_coeff</A> </P> <P><B>Default:</B> none </P> </HTML> diff --git a/doc/pair_yukawa.txt b/doc/pair_yukawa.txt index 1e692b1cb..7c72ccbb5 100644 --- a/doc/pair_yukawa.txt +++ b/doc/pair_yukawa.txt @@ -1,50 +1,81 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line pair_style yukawa command :h3 [Syntax:] pair_style yukawa kappa cutoff :pre kappa = screening length (inverse distance units) cutoff = global cutoff for Yukawa interactions (distance units) :ul [Examples:] pair_style yukawa 2.0 2.5 pair_coeff 1 1 100.0 2.3 pair_coeff * * 100.0 :pre [Description:] Style {yukawa} computes pairwise interactions with the formula :c,image(Eqs/pair_yukawa.jpg) Rc is the cutoff. The following coefficients must be defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: +commands, or by mixing as described below: A (energy units) cutoff (distance units) :ul The last coefficient is optional. If not specified, the global yukawa cutoff is used. +:line + +[Mixing, shift, table, tail correction, per-atom energy/stress, and +restart info]: + +For atom type pairs I,J and I != J, the A coefficient and cutoff +distance for this pair style can be mixed. A is an energy value mixed +like a LJ epsilon. The default mix value is {geometric}. See the +"pair_modify" command for details. + +This pair style supports the "pair_modify"_pair_modify.html shift +option for the energy of the pair interaction. + +The "pair_modify"_pair_modify.html table option is not relevant +for this pair style. + +This pair style does not support the "pair_modify"_pair_modify.html +tail option for adding long-range tail corrections to energy and +pressure. + +This pair style can calculate per-atom energy and stress, as used by +the "compute epair/atom"_compute_epair_atom.html, "compute +stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html +commands. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +:line + [Restrictions:] none [Related commands:] "pair_coeff"_pair_coeff.html [Default:] none diff --git a/doc/read_restart.txt b/doc/read_restart.txt index 48a94a695..04a4e8d79 100644 --- a/doc/read_restart.txt +++ b/doc/read_restart.txt @@ -1,133 +1,135 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line read_restart command :h3 [Syntax:] read_restart file :pre file = name of binary restart file to read in :ul [Examples:] read_restart save.10000 read_restart restart.* read_restart poly.*.% :pre :pre [Description:] -Read in a previously saved problem from a restart file. This allows -continuation of a previous run. +Read in a previously saved simulation from a restart file. This +allows continuation of a previous run. Information about what is +stored in a restart file is given below. Restart files are saved in binary format to enable exact restarts, meaning that the trajectories of a restarted run will precisely match those produced by the original run had it continued on. Several things can prevent exact restarts due to round-off effects, in which case the trajectories in the 2 runs will slowly diverge. These include running on a different number of processors or changing certain settings such as those set by the "newton"_newton.html or "processors"_processors.html commands. LAMMPS will issue a WARNING in these cases. Certain fixes will also not restart exactly, though they -should provide statistically similar results. These include the shake -and langevin styles. If a restarted run is immediately different than -the run which produced the restart file, it could be a LAMMPS bug, so -consider "reporting it"_Section_errors.html#9_2 if you think the -behavior is wrong. +should provide statistically similar results. These include "fix +shake"_fix_shake.html and "fix langevin"_fix_langevin.html. If a +restarted run is immediately different than the run which produced the +restart file, it could be a LAMMPS bug, so consider "reporting +it"_Section_errors.html#9_2 if you think the behavior is wrong. Because restart files are binary, they may not be portable to other machines. They can be converted to ASCII data files using the "restart2data tool"_Section_tools.html#restart in the tools sub-directory of the LAMMPS distribution. Similar to how restart files are written (see the "write_restart"_write_restart.html and "restart"_restart.html commands), the restart filename can contain two wild-card characters. If a "*" appears in the filename, the directory is searched for all filenames that match the pattern where "*" is replaced with a timestep value. The file with the largest timestep value is read in. Thus, this effectively means, read the latest restart file. It's useful if you want your script to continue a run from where it left off. See the "run"_run.html command and its "upto" option for how to specify the run command so it doesn't need to be changed either. If a "%" character appears in the restart filename, LAMMPS expects a set of multiple files to exist. The "restart"_restart.html and "write_restart"_write_restart.html commands explain how such sets are created. Read_restart will first read a filename where "%" is replaced by "base". This file tells LAMMPS how many processors created the set. Read_restart then reads the additional files. For example, if the restart file was specified as save.% when it was written, then read_restart reads the files save.base, save.0, save.1, ... save.P-1, where P is the number of processors that created the restart file. Note that only a single processor reads all the files, so the input does not use parallel I/O. The number of processors which created the set can be different the number of processors in the current LAMMPS simulation. :line -A restart file stores the units and atom style, simulation box -attibutes (including whether it is an orthogonal box or a -non-orthogonal parallelepiped with triclinic symmetry), individual -atoms and their attributes including molecular topology, force field -styles and coefficients, "special_bonds"_special_bonds.html settings, -and atom group definitions. This means that commands for these -quantities do not need to be specified in your input script that reads -the restart file. The exceptions to this are listed below in the -Restrictions section. - -Information about the "kspace_style"_kspace_style.html settings are -not stored in the restart file. Hence if you wish to invoke an Ewald -or PPPM solver, this command must be re-issued after the restart file -is read. - -The restart file also stores values for any fixes that require state -information to enable restarting where they left off. These include -the {nvt} and {npt} styles that have a global state, as well as the -{msd} and {wall/gran} styles that store information about each atom. - -"Fix"_fix.html commands are not stored in the restart file which means -they must be specified in the input script that reads the restart -file. To re-enable a fix whose state was stored in the restart file, -the fix command in the new input script must use the same fix-ID and -group-ID as the input script that wrote the restart file. LAMMPS will -print a message indicating that the fix is being re-enabled. - -Note that no other information is stored in the restart file. This -means that your new input script should specify settings for -quantities like timestep size, thermodynamic and dump output, etc. +A restart file stores the following information about a simulation: +units and atom style, simulation box size and shape and boundary +settings, group definitions, atom type settings such as mass and +particle shape, individual atoms and their group assignments and +molecular topology attributes, force field styles and coefficients, +and "special_bonds"_special_bonds.html settings. This means that +commands for these quantities do not need to be re-specified in the +input script that reads the restart file, though you can redefine +settings after the restart file is read. + +One exception is that some pair styles do not store their info in +restart files. The doc pages for individual pair styles note if this +is the case. This is also true of bond_style hybrid (and angle_style, +dihedral_style, improper_style hybrid). + +Information about "kspace_style"_kspace_style.html settings are not +stored in the restart file. Hence if you wish to use an Ewald or PPPM +solver, these commands must be re-issued after the restart file is +read. + +The list of "fixes"_fix.html used for a simulation is not stored in +the restart file. This means the new input script should specify all +fixes it will use. Note that some fixes store an internal "state" +which is written to the restart file. This allows the fix to continue +on with its calculations in a restarted simulation. To re-enable such +a fix, the fix command in the new input script must use the same +fix-ID and group-ID as was used in the input script that wrote the +restart file. If a match is found, LAMMPS prints a message indicating +that the fix is being re-enabled. If no match is found before the +first run or minimization is performed by the new script, the "state" +information for the saved fix is discarded. See the doc pages for +individual fixes for info on which ones can be restarted in this +manner. Bond interactions (angle, etc) that have been turned off by the "fix shake"_fix_shake.html or "delete_bonds"_delete_bonds.html command will be written to a restart file as if they are turned on. This means they will need to be turned off again in a new run after the restart file is read. Bonds that are broken (e.g. by a bond-breaking potential) are written to the restart file as broken bonds with a type of 0. Thus these bonds will still be broken when the restart file is read. -[Restrictions:] +IMPORTANT NOTE: No other information is stored in the restart file. +This means that an input script that reads a restart file should +specify settings for quantities like "timestep size"_timestep.html, +"thermodynamic"_thermo_style.html and "dump"_dump.html output, +"geometric regions"_region.html, etc. -The "pair_style"_pair_style.html {eam}, {table}, and {hybrid} styles -do not store coefficient data for individual atom type pairs in the -restart file. Nor does the "bond_style hybrid"_bond_style.html style -(angle, dihedral hybrid, etc). Thus for these styles you must use new -"pair_coeff"_pair_coeff.html and "bond_coeff"_bond_coeff.html (angle, -dihedral, etc) commands to read the appropriate tabulated files or -reset the coefficients after the restart file is read. +[Restrictions:] none [Related commands:] "read_data"_read_data.html, "write_restart"_write_restart.html, "restart"_restart.html [Default:] none diff --git a/doc/run.html b/doc/run.html index 202b0dafd..1d48c2996 100644 --- a/doc/run.html +++ b/doc/run.html @@ -1,164 +1,162 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>run command </H3> <P><B>Syntax:</B> </P> <PRE>run N keyword values ... </PRE> <UL><LI>N = # of timesteps <LI>zero or more keyword/value pairs may be appended <LI>keyword = <I>upto</I> or <I>start</I> or <I>stop</I> or <I>pre</I> or <I>post</I> or <I>every</I> <PRE> <I>upto</I> value = none <I>start</I> value = N1 N1 = timestep at which 1st run started <I>stop</I> value = N2 N2 = timestep at which last run will end <I>pre</I> value = <I>no</I> or <I>yes</I> <I>post</I> value = <I>no</I> or <I>yes</I> <I>every</I> values = M command M = break the run into M-timestep segments and invoke command between them command = a single LAMMPS command (enclosed in double quotes if multiple words) NULL means no command will be invoked </PRE> </UL> <P><B>Examples:</B> </P> <PRE>run 10000 run 1000000 upto run 100 start 0 stop 1000 run 1000 pre no post yes run 100000 start 0 stop 1000000 every 1000 "print Protein Rg = $r" run 100000 every 1000 NULL </PRE> <P><B>Description:</B> </P> <P>Run or continue dynamics for a specified number of timesteps. </P> <P>When the <A HREF = "doc/run_style.html">run style</A> is <I>respa</I>, N refers to outer loop (largest) timesteps. </P> <P>A value of N = 0 is acceptable; only the thermodynamics of the system are computed and printed without taking a timestep. </P> <P>The <I>upto</I> keyword means to perform a run starting at the current timestep up to the specified timestep. E.g. if the current timestep is 10,000 and "run 100000 upto" is used, then an additional 90,000 timesteps will be run. This can be useful for very long runs on a machine that allocates chunks of time and terminate your job when time is exceeded. If you need to restart your script multiple times (reading in the last restart file), you can keep restarting your script with the same run command until the simulation finally completes. </P> <P>The <I>start</I> or <I>stop</I> keywords can be used if multiple runs are being -performed and you want a <A HREF = "fix.html">fix</A> command that ramps some value -(e.g. a temperature) over time to do its ramping across the entire set -of runs and not just a single run. Fixes in this category include -<A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_langevin.html">fix -langevin</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, -<A HREF = "fix_deform.html">fix deform</A>, and <A HREF = "fix_indent.html">fix indent</A>. The -<A HREF = "pair_style.html">pair_style soft</A> potential also ramps its -coefficients in a similar way. +performed and you want a <A HREF = "fix.html">fix</A> command that changes some +value over time (e.g. temperature) to make the change across the +entire set of runs and not just a single run. See the doc page for +individual fixes to see which ones can be used with the <I>start/stop</I> +keywords. The <A HREF = "pair_style.html">pair_style soft</A> potential also +changes its pair potential coefficients in this manner. </P> <P>For example, consider this fix followed by 10 run commands: </P> <PRE>fix 1 all nvt 200.0 300.0 1.0 run 1000 start 0 stop 10000 run 1000 start 0 stop 10000 ... run 1000 start 0 stop 10000 </PRE> <P>The NVT fix ramps the target temperature from 200.0 to 300.0 during a run. If the run commands did not have the start/stop keywords (just "run 1000"), then the temperature would ramp from 200.0 to 300.0 during the 1000 steps of each run. With the start/stop keywords, the ramping takes place over the 10000 steps of all runs together. </P> <P>The <I>pre</I> and <I>post</I> keywords can be used to streamline the setup, clean-up, and associated output to the screen that happens before and after a run. This can be useful if you wish to do many short runs in succession (e.g. LAMMPS is being called as a library which is doing other computations between successive short LAMMPS runs). </P> <P>By default (pre and post = yes), LAMMPS creates neighbor lists, computes forces, and imposes fix constraints before every run. And after every run it gathers and prints timings statistics. If a run is just a continuation of a previous run (i.e. no settings are changed), the initial computation is not necessary; the old neighbor list is still valid as are the forces. So if <I>pre</I> is specified as "no" then the initial setup is skipped, except for printing thermodynamic info. </P> <P>IMPORTANT NOTE: If your input script changes settings between 2 runs (e.g. adds a <A HREF = "fix.html">fix</A> or <A HREF = "dump.html">dump</A> or <A HREF = "compute.html">compute</A> or changes a <A HREF = "neigh_modify.html">neighbor</A> list parameter), then the initial setup must be performed. LAMMPS does not check for this, but it would be an error to use the <I>pre</I> option in this case. </P> <P>If <I>post</I> is specified as "no", the full timing summary is skipped; only a one-line summary timing is printed. Note that if <I>pre</I> is set to "no" for the 1st run LAMMPS performs, then it is overridden, since the initial setup computations must be done. </P> <P>The <I>every</I> option provides a means of interleaving LAMMPS runs with a command. This can be a short-hand abbreviation to avoid listing a long series of runs in your input script. Or it can be useful for invoking a command that wraps some other code (e.g. as a library) to perform a computation periodically during a long LAMMPS run. See <A HREF = "Section_howto.html#4_10">this section</A> of the documentation for ideas about how to couple LAMMPS to other codes. </P> <P>N total steps are simulated, in shorter runs of M steps each. After each M-length run, the command is invoked. If the command is specified as NULL, no command is invoked. Thus these lines: </P> <PRE>variable q equal x[100] run 6000 every 2000 "print Coord = $q" </PRE> <P>are the equivalent of: </P> <PRE>variable q equal x[100] run 2000 print Coord = $q run 2000 print Coord = $q run 2000 print Coord = $q </PRE> <P>which does 3 runs of 2000 steps and prints the x-coordinate of a particular atom between runs. Note that the command can contain <A HREF = "variable.html">variables</A> of style <I>equal</I> which will be evaluated each time the command is invoked. </P> <P>If the <I>pre</I> and <I>post</I> options are set to "no" when <I>every</I> is used, then the 1st run will do the full setup and the last run will print the full timing summary, but these operations will be skipped for intermediate runs. </P> <P><B>Restrictions:</B> none </P> <P><B>Related commands:</B> </P> <P><A HREF = "minimize.html">minimize</A>, <A HREF = "run_style.html">run_style</A>, <A HREF = "temper.html">temper</A> </P> <P><B>Default:</B> </P> <P>The option defaults are start = the current timestep, stop = current timestep + N, pre = yes, and post = yes. </P> </HTML> diff --git a/doc/run.txt b/doc/run.txt index 8568ad401..a53cdc34d 100644 --- a/doc/run.txt +++ b/doc/run.txt @@ -1,155 +1,153 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line run command :h3 [Syntax:] run N keyword values ... :pre N = # of timesteps :ulb,l zero or more keyword/value pairs may be appended :l keyword = {upto} or {start} or {stop} or {pre} or {post} or {every} :l {upto} value = none {start} value = N1 N1 = timestep at which 1st run started {stop} value = N2 N2 = timestep at which last run will end {pre} value = {no} or {yes} {post} value = {no} or {yes} {every} values = M command M = break the run into M-timestep segments and invoke command between them command = a single LAMMPS command (enclosed in double quotes if multiple words) NULL means no command will be invoked :pre :ule [Examples:] run 10000 run 1000000 upto run 100 start 0 stop 1000 run 1000 pre no post yes run 100000 start 0 stop 1000000 every 1000 "print Protein Rg = $r" run 100000 every 1000 NULL :pre [Description:] Run or continue dynamics for a specified number of timesteps. When the "run style"_doc/run_style.html is {respa}, N refers to outer loop (largest) timesteps. A value of N = 0 is acceptable; only the thermodynamics of the system are computed and printed without taking a timestep. The {upto} keyword means to perform a run starting at the current timestep up to the specified timestep. E.g. if the current timestep is 10,000 and "run 100000 upto" is used, then an additional 90,000 timesteps will be run. This can be useful for very long runs on a machine that allocates chunks of time and terminate your job when time is exceeded. If you need to restart your script multiple times (reading in the last restart file), you can keep restarting your script with the same run command until the simulation finally completes. The {start} or {stop} keywords can be used if multiple runs are being -performed and you want a "fix"_fix.html command that ramps some value -(e.g. a temperature) over time to do its ramping across the entire set -of runs and not just a single run. Fixes in this category include -"fix nvt"_fix_nvt.html, "fix npt"_fix_npt.html, "fix -langevin"_fix_langevin.html, "fix temp/rescale"_fix_temp_rescale.html, -"fix deform"_fix_deform.html, and "fix indent"_fix_indent.html. The -"pair_style soft"_pair_style.html potential also ramps its -coefficients in a similar way. +performed and you want a "fix"_fix.html command that changes some +value over time (e.g. temperature) to make the change across the +entire set of runs and not just a single run. See the doc page for +individual fixes to see which ones can be used with the {start/stop} +keywords. The "pair_style soft"_pair_style.html potential also +changes its pair potential coefficients in this manner. For example, consider this fix followed by 10 run commands: fix 1 all nvt 200.0 300.0 1.0 run 1000 start 0 stop 10000 run 1000 start 0 stop 10000 ... run 1000 start 0 stop 10000 :pre The NVT fix ramps the target temperature from 200.0 to 300.0 during a run. If the run commands did not have the start/stop keywords (just "run 1000"), then the temperature would ramp from 200.0 to 300.0 during the 1000 steps of each run. With the start/stop keywords, the ramping takes place over the 10000 steps of all runs together. The {pre} and {post} keywords can be used to streamline the setup, clean-up, and associated output to the screen that happens before and after a run. This can be useful if you wish to do many short runs in succession (e.g. LAMMPS is being called as a library which is doing other computations between successive short LAMMPS runs). By default (pre and post = yes), LAMMPS creates neighbor lists, computes forces, and imposes fix constraints before every run. And after every run it gathers and prints timings statistics. If a run is just a continuation of a previous run (i.e. no settings are changed), the initial computation is not necessary; the old neighbor list is still valid as are the forces. So if {pre} is specified as "no" then the initial setup is skipped, except for printing thermodynamic info. IMPORTANT NOTE: If your input script changes settings between 2 runs (e.g. adds a "fix"_fix.html or "dump"_dump.html or "compute"_compute.html or changes a "neighbor"_neigh_modify.html list parameter), then the initial setup must be performed. LAMMPS does not check for this, but it would be an error to use the {pre} option in this case. If {post} is specified as "no", the full timing summary is skipped; only a one-line summary timing is printed. Note that if {pre} is set to "no" for the 1st run LAMMPS performs, then it is overridden, since the initial setup computations must be done. The {every} option provides a means of interleaving LAMMPS runs with a command. This can be a short-hand abbreviation to avoid listing a long series of runs in your input script. Or it can be useful for invoking a command that wraps some other code (e.g. as a library) to perform a computation periodically during a long LAMMPS run. See "this section"_Section_howto.html#4_10 of the documentation for ideas about how to couple LAMMPS to other codes. N total steps are simulated, in shorter runs of M steps each. After each M-length run, the command is invoked. If the command is specified as NULL, no command is invoked. Thus these lines: variable q equal x\[100\] run 6000 every 2000 "print Coord = $q" :pre are the equivalent of: variable q equal x\[100\] run 2000 print Coord = $q run 2000 print Coord = $q run 2000 print Coord = $q :pre which does 3 runs of 2000 steps and prints the x-coordinate of a particular atom between runs. Note that the command can contain "variables"_variable.html of style {equal} which will be evaluated each time the command is invoked. If the {pre} and {post} options are set to "no" when {every} is used, then the 1st run will do the full setup and the last run will print the full timing summary, but these operations will be skipped for intermediate runs. [Restrictions:] none [Related commands:] "minimize"_minimize.html, "run_style"_run_style.html, "temper"_temper.html [Default:] The option defaults are start = the current timestep, stop = current timestep + N, pre = yes, and post = yes. diff --git a/doc/thermo_modify.txt b/doc/thermo_modify.txt index 67e60be88..432b3a413 100644 --- a/doc/thermo_modify.txt +++ b/doc/thermo_modify.txt @@ -1,139 +1,139 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line thermo_modify command :h3 [Syntax:] thermo_modify keyword value ... :pre one or more keyword/value pairs may be listed :ulb,l keyword = {lost} or {norm} or {flush} or {line} or {format} or {temp} or {press} or {drot} or {grot} :l {lost} value = {error} or {warn} or {ignore} {norm} value = {yes} or {no} {flush} value = {yes} or {no} {line} value = {one} or {multi} {format} values = {int} string or {float} string or M string M = integer from 1 to N, where N = # of quantities being printed string = C-style format string {window} value = N N = number of previous print-outs to average over {temp} value = compute ID that calculates a temperature {press} value = compute ID that calculates a pressure {drot} value = compute ID that calculates rotational energy for dipolar atoms {grot} value = compute ID that calculates rotational energy for granular atoms :pre :ule [Examples:] thermo_modify lost ignore flush yes thermo_modify temp myTemp format 3 %15.8g thermo_modify line multi format float %g :pre [Description:] Set options for how thermodynamic information is computed and printed by LAMMPS. IMPORTANT NOTE: These options apply to the currently defined thermo -style (thermo_style {one} by default). When you specify a -"thermo_style"_thermo_style.html command, all thermodynamic settings -are restored to their default values. Thus a thermo_style command -will wipe out any options previously specified by the -"thermo_modify"_thermo_modify.html command. +style. When you specify a "thermo_style"_thermo_style.html command, +all thermodynamic settings are restored to their default values, +including those previously set by a thermo_modify command. Thus if +your input script specifies a thermo_style command, you should use the +thermo_modify command after it. The {lost} keyword determines whether LAMMPS checks for lost atoms each time it computes thermodynamics and what it does if atoms are lost. If the value is {ignore}, LAMMPS does not check for lost atoms. If the value is {error} or {warn}, LAMMPS checks and either issues an error or warning. The code will exit with an error and continue with a warning. This can be a useful debugging option. The {norm} keyword determines whether the thermodynamic print-out is normalized by the number of atoms or is the total summed across all atoms. Different unit styles have different defaults for this setting. The {flush} keyword invokes a flush operation after thermodynamic info is written to the log file. This insures the output in that file is current (no buffering by the OS), even if LAMMPS halts before the simulation completes. The {line} keyword determines whether thermodynamics will be printed as a series of numeric values on one line or in a multi-line format with 3 quantities with text strings per line and a dashed-line header containing the timestep and CPU time. This modify option overrides the {one} and {multi} thermo_style settings. The {format} keyword sets the numeric format of individual printed quantities. The {int} and {float} keywords set the format for all integer or floating-point quantities printed. The setting with a numeric value (e.g. format 5 %10.4g) sets the format of the Mth value printed in each output line, the 5th column of output in this case. If the format for a specific column has been set, it will take precedent over the {int} or {float} setting. The {window} keyword sets the number of previous thermodynamic screen outputs over which "thermo_style custom"_thermo_style.html {ave} quantities are averaged when printed. The {temp} keyword is used to determine how thermodynamic temperature is calculated, which is used by all thermo quantities that require a temperature ("temp", "press", "ke", "etotal", "enthalpy", "pxx etc", "tave", "pave"). The specified compute ID must have been previously defined by the user via the "compute"_compute.html command and it must be a style of compute that calculates a temperature. As described in the "thermo_style"_thermo_style.html command, thermo output uses a default compute for temperature with ID = {thermo_temp}. This option allows the user to override the default. The {press} keyword is used to determine how thermodynamic pressure is calculated, which is used by all thermo quantities that require a pressure ("press", "enthalpy", "pxx etc", "pave"). The specified compute ID must have been previously defined by the user via the "compute"_compute.html command and it must be a style of compute that calculates a pressure. As described in the "thermo_style"_thermo_style.html command, thermo output uses a default compute for pressure with ID = {thermo_pressure}. This option allows the user to override the default. The {drot} keyword is used to determine how rotational energy is calculated for dipolar atoms, which is used by the thermo_style keyword {drot}. The specified compute ID must have been previously defined by the user via the "compute"_compute.html command. As described in the "thermo_style"_thermo_style.html command, thermo output has a default compute for this calculation with ID = {thermo_rotate_dipole}. This option allows the user to override the default. The {grot} keyword is used to determine how rotational energy is calculated for granular atoms, which is used by the thermo_style keyword {grot}. The specified compute ID must have been previously defined by the user via the "compute"_compute.html command. As described in the "thermo_style"_thermo_style.html command, thermo output has a default compute for this calculation with ID = {thermo_rotate_gran}. This option allows the user to override the default. [Restrictions:] none [Related commands:] "thermo"_thermo.html, "thermo_style"_thermo_style.html [Default:] The option defaults are lost = error, norm = yes for unit style of {lj}, norm = no for unit style of {real} and {metal}, flush = no, window = 10, temp/press/drot/grot = compute IDs defined by thermo_style. The defaults for the line and format options depend on the thermo style. For styles "one", "granular", and "custom" the line and format defaults are "one", "%8d", and "%12.8g". For style "multi", the line and format defaults are "multi", "%8d", and "%14.4f". diff --git a/doc/thermo_style.txt b/doc/thermo_style.txt index b309594c4..8a5c4efc2 100644 --- a/doc/thermo_style.txt +++ b/doc/thermo_style.txt @@ -1,248 +1,254 @@ "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line thermo_style command :h3 [Syntax:] thermo_style style args :pre style = {one} or {multi} or {granular} or {custom} :ulb,l args = list of arguments for a particular style :l {one} args = none {multi} args = none {granular} args = none {custom} args = list of attributes possible attributes = step, atoms, cpu, temp, press, pe, ke, etotal, enthalpy, evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail, vol, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, pxx, pyy, pzz, pxy, pxz, pyz drot, grot, tave, pave, eave, peave, c_ID, c_ID\[n\], f_ID, f_ID\[n\], v_name step = timestep atoms = # of atoms cpu = elapsed CPU time temp = temperature press = pressure pe = total potential energy ke = kinetic energy etotal = total energy (pe + ke) enthalpy = enthalpy (pe + press*vol) evdwl = VanderWaal pairwise energy ecoul = Coulombic pairwise energy epair = pairwise energy (evdwl + ecoul + elong + etail) ebond = bond energy eangle = angle energy edihed = dihedral energy eimp = improper energy emol = molecular energy (ebond + eangle + edihed + eimp) elong = long-range kspace energy etail = VanderWaal energy long-range tail correction vol = volume lx,ly,lz = box lengths in x,y,z xlo,xhi,ylo,yhi,zlo,zhi = box boundaries pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor drot = rotational energy of dipolar atoms grot = rotational energy of granular atoms tave, pave, eave, peave = time-averaged temp, press, etotal, pe c_ID = scalar quantity calculated by a compute identified by its ID c_ID\[N\] = Nth vector quantity calculated by a compute identified by its ID f_ID = scalar quantity calculated by a fix identified by its ID f_ID\[N\] = Nth vector quantity calculated by a fix identified by its ID v_name = current value of a variable identified by the variable name :pre :ule [Examples:] thermo_style multi thermo_style custom step temp pe etotal press vol thermo_style custom step temp etotal c_myTemp v_abc :pre [Description:] Set the style and content for printing thermodynamic data to the screen and log file. Style {one} prints a one-line summary of thermodynamic info that is the equivalent of "thermo_style custom step temp epair emol etotal press". The line contains only numeric values. Style {multi} prints a multiple-line listing of thermodynamic info that is the equivalent of "thermo_style custom etotal ke temp pe ebond eangle edihed eimp evdwl ecoul elong press". The listing contains numeric values and a string ID for each quantity. Style {granular} is used with "atom style"_atom_style.html granular and prints a one-line numeric summary that is the equivalent of "thermo_style custom step atoms ke grot". Style {custom} is the most general setting and allows you to specify which of the keywords listed above you want printed on each thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are references to "computes"_compute.html, "fixes"_fix.html, and "variables"_variable.html" that have been defined elsewhere in the input script or can even be new styles which users have added to LAMMPS (see the "Section_modify"_Section_modify.html section of the documentation). Thus the {custom} style provides a flexible means of outputting essentially any desired quantity as a simulation proceeds. All styles except {custom} have {vol} appended to their list of outputs if the simulation box volume changes during the simulation. Options invoked by the "thermo_modify"_thermo_modify.html command can be used to set the one- or multi-line format of the print-out, the normalization of energy quantities (total or per-atom), and the numeric precision of each printed value. -IMPORTANT NOTE: When you specify a "thermo_style"_thermo_style.html -command, all thermodynamic settings are restored to their default -values. Thus a thermo_style command will wipe out any options -previously specified by the "thermo_modify"_thermo_modify.html -command. +IMPORTANT NOTE: When you specify a "thermo_style" command, all +thermodynamic settings are restored to their default values, including +those previously set by a :thermo_modify"_thermo_modify.html command. +Thus if your input script specifies a thermo_style command, you should +use the thermo_modify command after it. :line Several of the thermodynamic quantities require a temperature to be computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx etc", "tave", "pave". By default this is done by using the "thermo_temp" compute which is created by LAMMPS as if this command had been issued: compute thermo_temp all temp :pre See the "compute temp"_compute_temp.html command for details. Note that the ID of this compute is {thermo_temp} and the group is {all}. You can change the attributes of this temperature (e.g. its degrees-of-freedom) via the "compute_modify"_compute_modify.html command. Alternatively, you can directly assign a new compute (that calculates temperature) which you have defined, to be used for calculating any thermodynamic quantity that requires a temperature. This is done via the "thermo_modify"_thermo_modify.html command. Several of the thermodynamic quantities require a pressure to be computed: "press", "enthalpy", "pxx etc", "pave". By default this is done by using the "thermo_pressure" compute which is created by LAMMPS as if this command had been issued: compute thermo_pressure all pressure thermo_temp :pre See the "compute pressure"_compute_pressure.html command for details. Note that the ID of this compute is {thermo_pressure} and the group is {all}. You can change the attributes of this pressure via the "compute_modify"_compute_modify.html command. Alternatively, you can directly assign a new compute (that calculates pressure) which you have defined, to be used for calculating any thermodynamic quantity that requires a pressure. This is done via the "thermo_modify"_thermo_modify.html command. The {drot} keyword requires a rotational energy to be computed for point dipole particles. To do this, a compute of style "rotate/dipole" is created, as if this command had been issued: compute thermo_rotate_dipole all rotate/dipole :pre See the "compute rotate/dipole"_compute_rotate_dipole.html command for details. Note that the ID of the new compute is {thermo_rotate_dipole} and the group is {all}. You can change the attributes of this computation via the "compute_modify"_compute_modify.html command. Alternatively, you can directly assign a new compute which you have defined, to be used for {drot}. This is done via the "thermo_modify"_thermo_modify.html command. For example, this could be useful if you wish to exclude certain particles from the compuation. The {grot} keyword requires a rotational energy to be computed for granular particles. To do this, a compute of style "rotate/gran" is created, as if this command had been issued: compute thermo_rotate_gran all rotate/gran :pre See the "compute rotate/gran"_compute_rotate_gran.html command for details. Note that the ID of the new compute is {thermo_rotate_gran} and the group is {all}. You can change the attributes of this computation via the "compute_modify"_compute_modify.html command. Alternatively, you can directly assign a new compute which you have defined, to be used for {grot}. This is done via the "thermo_modify"_thermo_modify.html command. For example, this could be useful if you wish to exclude frozen particles from the compuation. :line The potential energy of the system {pe} will include contributions from fixes if the "fix_modify thermo"_fix_modify.html option was set for each fix. For example, the "fix wall/lj93"_fix_wall_lj93 fix will contribute the energy of atoms interacting with the wall. A long-range tail correction {etail} for the VanderWaal pairwise energy will be non-zero only if the "pair_modify tail"_pair_modify.html option is turned on. The {etail} contribution is included in {evdwl}, {pe}, and {etotal}, and the corresponding tail correction to the pressure is included in {press} and {pxx}, {pyy}, etc. The time-averaged keywords {tave, pave, eave, peave} are averaged over the last N thermodynamic outputs to the screen (not the last N timesteps), where N is the value set by the {window} option of the "thermo_modify"_thermo_modify.html command (N = 10 by default). :line The {c_ID} and {c_ID\[N\]} keywords allow scalar or vector quantities calculated by a compute to be output. The ID in the keyword should be replaced by the actual ID of the compute that has been defined elsewhere in the input script. See the "compute"_compute.html command -for details. Note that per-atom quantities calcalated by a compute -cannot be output as part of thermodynamics. Rather, these quantities -are output by the "dump custom"_dump.html command. +for details. Note that only global scalar or vector quantites +calculated by a compute can be output as thermodynamic data; per-atom +quantities calcalated by a compute are output by the "dump +custom"_dump.html command. If {c_ID} is used as a keyword, then the scalar quantity calculated by the compute is printed. If {c_ID\[N\]} is used, then N in the range from 1-M will print the Nth component of the M-length vector -calculated by the compute. +calculated by the compute. See the doc pages for individual compute +styles for info on what these quantities are. The {f_ID} and {f_ID\[N\]} keywords allow scalar or vector quantities calculated by a fix to be output. The ID in the keyword should be replaced by the actual ID of the fix that has been defined elsewhere -in the input script. See the "fix"_fix.html command for details. +in the input script. If {f_ID} is used as a keyword, then the scalar quantity calculated by the fix is printed. If {f_ID\[N\]} is used, then N in the range from 1-M will print the Nth component of the M-length vector calculated by -the fix. +the fix. See the doc pages for individual fix styles for info on what +these quantities are. For fixes that compute a contribution to the +potential energy of the system, the scalar quantity f_ID is typically +that quantity. The {v_name} keyword allow the current value of a variable to be output. The name in the keyword should be replaced by the actual namd of the variable that has been defined elsewhere in the input script. See the "variable"_variable.html command for details. Equal-style variables can calculate complex formulas involving atom and group properties, mathematical operations, other variables, etc. This keyword enables them to be evaluated and their value printed periodically during a simulation. See "this section"_Section_modify.html for information on how to add new compute and fix styles as well as variable options to LAMMPS that -calculate quantities that could then be output with these keywords. +calculate quantities that could then be output with these keywords as +part of thermodyanmic information. :line [Restrictions:] This command must come after the simulation box is defined by a "read_data"_read_data.html, "read_restart"_read_restart.html, or "create_box"_create_box.html command. [Related commands:] "thermo"_thermo.html, "thermo_modify"_thermo_modify.html, "fix_modify"_fix_modify.html, "temperature"_temperature.html [Default:] thermo_style one :pre