From a7ab72af62799a963755622d6424d73b7a249639 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Wed, 20 Jun 2007 12:56:17 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@617 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Eqs/Script.create | 96 +++++++++-------- doc/Section_commands.html | 45 ++++---- doc/Section_commands.txt | 13 ++- doc/Section_modify.html | 2 +- doc/Section_modify.txt | 2 +- doc/Section_start.html | 1 + doc/Section_start.txt | 1 + doc/atom_style.html | 15 +-- doc/atom_style.txt | 18 ++-- doc/boundary.txt | 7 +- doc/compute.html | 35 +++--- doc/compute.txt | 35 +++--- doc/compute_rotate_dipole.html | 2 +- doc/compute_rotate_dipole.txt | 2 +- doc/compute_temp_asphere.html | 3 +- doc/compute_temp_asphere.txt | 3 +- doc/compute_temp_ramp.html | 9 +- doc/compute_temp_ramp.txt | 7 +- doc/create_atoms.html | 122 ++++++++++++++------- doc/create_atoms.txt | 116 +++++++++++++------- doc/create_box.html | 12 +-- doc/create_box.txt | 12 +-- doc/dipole.html | 13 ++- doc/dipole.txt | 13 ++- doc/displace_atoms.html | 38 ++++--- doc/displace_atoms.txt | 38 ++++--- doc/dump_modify.html | 2 +- doc/dump_modify.txt | 2 +- doc/fix.txt | 4 - doc/fix_freeze.html | 3 +- doc/fix_freeze.txt | 3 +- doc/fix_gran_diag.html | 3 +- doc/fix_gran_diag.txt | 3 +- doc/fix_langevin.html | 2 +- doc/fix_langevin.txt | 2 +- doc/fix_nph.html | 6 +- doc/fix_nph.txt | 6 +- doc/fix_npt.html | 6 +- doc/fix_npt.txt | 6 +- doc/fix_nve_asphere.html | 11 +- doc/fix_nve_asphere.txt | 11 +- doc/fix_nve_gran.html | 3 +- doc/fix_nve_gran.txt | 3 +- doc/fix_pour.html | 3 +- doc/fix_pour.txt | 3 +- doc/group.html | 4 +- doc/group.txt | 4 +- doc/if.html | 4 +- doc/if.txt | 4 +- doc/next.html | 23 ++-- doc/next.txt | 23 ++-- doc/pair_coeff.html | 14 +-- doc/pair_coeff.txt | 12 ++- doc/pair_eam.html | 16 +-- doc/pair_eam.txt | 16 +-- doc/pair_gayberne.html | 15 +-- doc/pair_gayberne.txt | 33 +++--- doc/pair_meam.html | 6 +- doc/pair_meam.txt | 6 +- doc/pair_modify.html | 13 +-- doc/pair_modify.txt | 13 +-- doc/pair_style.html | 14 +-- doc/pair_style.txt | 12 ++- doc/read_data.html | 94 ++++++++++++++--- doc/read_data.txt | 89 +++++++++++++--- doc/region.html | 14 ++- doc/region.txt | 14 ++- doc/run.txt | 3 +- doc/set.html | 187 +++++++++++++++++++++----------- doc/set.txt | 188 ++++++++++++++++++++++----------- doc/shape.html | 2 +- doc/shape.txt | 21 ++-- doc/thermo_modify.html | 17 ++- doc/thermo_modify.txt | 17 ++- doc/thermo_style.html | 44 ++++---- doc/thermo_style.txt | 44 ++++---- doc/units.html | 3 + doc/units.txt | 3 + doc/variable.html | 3 + doc/variable.txt | 3 + 80 files changed, 1099 insertions(+), 621 deletions(-) diff --git a/doc/Eqs/Script.create b/doc/Eqs/Script.create index 4e28628378..bbb0c9a62e 100755 --- a/doc/Eqs/Script.create +++ b/doc/Eqs/Script.create @@ -1,48 +1,52 @@ # create dvi files for every LaTex eq -latex angle_charmm.tex -latex angle_class2.tex -latex angle_cosine.tex -latex angle_cosine_squared.tex -latex angle_harmonic.tex -latex bond_class2.tex -latex bond_fene.tex -latex bond_fene_expand.tex -latex bond_harmonic.tex -latex bond_morse.tex -latex bond_nonlinear.tex -latex bond_quartic.tex -latex centro_symmetry.tex -latex dihedral_charmm.tex -latex dihedral_class2.tex -latex dihedral_harmonic.tex -latex dihedral_helix.tex -latex dihedral_multiharmonic.tex -latex dihedral_opls.tex -latex fix_gyration.tex -latex fix_orient_fcc.tex -latex fix_spring_rg.tex -latex fix_wall_lj93.tex -latex improper_class2.tex -latex improper_cvff.tex -latex improper_harmonic.tex -latex pair_buck.tex -latex pair_charmm.tex -latex pair_class2.tex -latex pair_coulomb.tex -latex pair_debye.tex -latex pair_dpd.tex -latex pair_eam.tex -latex pair_eam_fs.tex -latex pair_granular.tex -latex pair_lj.tex -latex pair_lj_expand.tex -latex pair_lj_smooth.tex -latex pair_meam.tex -latex pair_morse.tex -latex pair_soft.tex -latex pair_sw.tex -latex pair_tersoff.tex -latex pair_yukawa.tex -latex pressure.tex -latex stress_tensor.tex +latex angle_charmm +latex angle_class2 +latex angle_cosine +latex angle_cosine_squared +latex angle_harmonic +latex bond_class2 +latex bond_fene +latex bond_fene_expand +latex bond_harmonic +latex bond_morse +latex bond_nonlinear +latex bond_quartic +latex centro_symmetry +latex dihedral_charmm +latex dihedral_class2 +latex dihedral_harmonic +latex dihedral_helix +latex dihedral_multiharmonic +latex dihedral_opls +latex fix_gyration +latex fix_orient_fcc +latex fix_spring_rg +latex fix_wall_lj93 +latex improper_class2 +latex improper_cvff +latex improper_harmonic +latex pair_buck +latex pair_charmm +latex pair_class2 +latex pair_colloid_cc +latex pair_colloid_cs +latex pair_colloid_ss +latex pair_coulomb +latex pair_debye +latex pair_dipole +latex pair_dpd +latex pair_eam +latex pair_eam_fs +latex pair_granular +latex pair_lj +latex pair_lj_expand +latex pair_lj_smooth +latex pair_meam +latex pair_morse +latex pair_soft +latex pair_sw +latex pair_tersoff +latex pair_yukawa +latex pressure +latex stress_tensor diff --git a/doc/Section_commands.html b/doc/Section_commands.html index bf1ac2e0e4..db41b972e0 100644 --- a/doc/Section_commands.html +++ b/doc/Section_commands.html @@ -249,8 +249,8 @@ in the command's documentation. group, mass, min_modify, min_style, neigh_modify, neighbor, reset_timestep, -run_style, set, timestep, -velocity +run_style, set, shape, +timestep, velocity

Fixes:

@@ -305,9 +305,9 @@ in the command's documentation. neighbornewtonnextpair_coeffpair_modifypair_style pair_writeprintprocessorsread_dataread_restartregion replicatereset_timesteprestartrunrun_styleset -shellspecial_bondstemperthermothermo_modifythermo_style -timestepuncomputeundumpunfixunitsvariable -velocitywrite_restart +shapeshellspecial_bondstemperthermothermo_modify +thermo_styletimestepuncomputeundumpunfixunits +variablevelocitywrite_restart
@@ -318,12 +318,12 @@ description:

- - - - - - + + + + +
addforceaveforceave/spatialave/timebox/relaxcomdeformdeposit
dragefieldellipsoidenforce2dfreezegran/diaggravitygyration
heatindentlangevinlineforcemsdmomentumnphnpt
npt/aspherenvenve/aspherenve/grannve/noforcenvtnvt/asphereorient/fcc
planeforcepoemspourprintrdfrecenterrigidsetforce
shakespringspring/rgspring/selftemp/rescaletmduniaxialviscous
volume/rescalewall/granwall/lj93wall/lj126wall/reflectwiggle +
dragefieldenforce2dfreezegran/diaggravitygyrationheat
indentlangevinlineforcemsdmomentumnphnptnpt/asphere
nvenve/aspherenve/dipolenve/grannve/noforcenvtnvt/sllodnvt/asphere
orient/fccplaneforcepoemspourprintrdfrecenterrigid
setforceshakespringspring/rgspring/selftemp/rescaletmduniaxial
viscousvolume/rescalewall/granwall/lj93wall/lj126wall/reflectwiggle

@@ -334,8 +334,8 @@ description:

- - +
centro/atomcoord/atomepair/atometotal/atomke/atompressure
rotate/dipolerotate/granstress/atomtemptemp/aspheretemp/partial
temp/ramptemp/regionvariablevariable/atom +
rotate/dipolerotate/granstress/atomtemptemp/deformtemp/asphere
temp/dipoletemp/partialtemp/ramptemp/regionvariablevariable/atom

@@ -346,15 +346,16 @@ full description:

- - - - - - - - - + + + + + + + + +
nonehybridairebobuck
buck/coul/cutbuck/coul/longdpdeam
eam/opteam/alloyeam/alloy/opteam/fs
eam/fs/optgaybernegran/hertziangran/history
gran/no_historylj/charmm/coul/charmmlj/charmm/coul/charmm/implicitlj/charmm/coul/long
lj/charmm/coul/long/optlj/class2lj/class2/coul/cutlj/class2/coul/long
lj/cutlj/cut/optlj/cut/coul/cutlj/cut/coul/debye
lj/cut/coul/longlj/cut/coul/long/tip4plj/expandlj/smooth
meammorsemorse/optsoft
swtabletersoffyukawa +
buck/coul/cutbuck/coul/longdipole/cutdpd
eameam/opteam/alloyeam/alloy/opt
eam/fseam/fs/optgaybernegran/hertzian
gran/historygran/no_historylj/charmm/coul/charmmlj/charmm/coul/charmm/implicit
lj/charmm/coul/longlj/charmm/coul/long/optlj/class2lj/class2/coul/cut
lj/class2/coul/longlj/cutlj/cut/optlj/cut/coul/cut
lj/cut/coul/debyelj/cut/coul/longlj/cut/coul/long/tip4plj/expand
lj/smoothmeammorsemorse/opt
softswtabletersoff
yukawa

diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt index 845c69c95f..df7ab4a255 100644 --- a/doc/Section_commands.txt +++ b/doc/Section_commands.txt @@ -246,8 +246,8 @@ Settings: "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, "timestep"_timestep.html, -"velocity"_velocity.html +"run_style"_run_style.html, "set"_set.html, "shape"_shape.html, +"timestep"_timestep.html, "velocity"_velocity.html Fixes: @@ -351,6 +351,7 @@ in the command's documentation. "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, @@ -382,7 +383,6 @@ description: "deposit"_fix_deposit.html, "drag"_fix_drag.html, "efield"_fix_efield.html, -"ellipsoid"_fix_ellipsoid.html, "enforce2d"_fix_enforce2d.html, "freeze"_fix_freeze.html, "gran/diag"_fix_gran_diag.html, @@ -399,9 +399,11 @@ description: "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/sllod"_fix_nvt_sllod.html, "nvt/asphere"_fix_nvt_asphere.html, "orient/fcc"_fix_orient_fcc.html, "planeforce"_fix_planeforce.html, @@ -418,9 +420,7 @@ description: "spring/self"_fix_spring_self.html, "temp/rescale"_fix_temp_rescale.html, "tmd"_fix_tmd.html, -"uniaxial"_fix_uniaxial.html, "viscous"_fix_viscous.html, -"volume/rescale"_fix_volume_rescale.html, "wall/gran"_fix_wall_gran.html, "wall/lj93"_fix_wall_lj93.html, "wall/lj126"_fix_wall_lj126.html, @@ -443,7 +443,9 @@ description: "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, @@ -462,6 +464,7 @@ full description: "buck"_pair_buck.html, "buck/coul/cut"_pair_buck.html, "buck/coul/long"_pair_buck.html, +"dipole/cut"_pair_dipole/cut.html, "dpd"_pair_dpd.html, "eam"_pair_eam.html, "eam/opt"_pair_eam.html, diff --git a/doc/Section_modify.html b/doc/Section_modify.html index 7ea5846db9..b4a91db31f 100644 --- a/doc/Section_modify.html +++ b/doc/Section_modify.html @@ -488,7 +488,7 @@ other variables = v_a, v_myvar, ... math functions = div(x,y), mult(x,y), add(x,y), ... group functions = mass(group), xcm(group,x), ... atom values = x123, y3, vx34, ... -compute values = c_mytemp0, c_thermo_press3, ... +compute values = c_mytemp0, c_thermo_pressure3, ...

Adding keywords for the thermo_style custom command (which can then be accessed by variables) was discussed diff --git a/doc/Section_modify.txt b/doc/Section_modify.txt index df8a158a9f..68eac5d0fc 100644 --- a/doc/Section_modify.txt +++ b/doc/Section_modify.txt @@ -465,7 +465,7 @@ other variables = v_a, v_myvar, ... math functions = div(x,y), mult(x,y), add(x,y), ... group functions = mass(group), xcm(group,x), ... atom values = x[123], y[3], vx[34], ... -compute values = c_mytemp[0], c_thermo_press[3], ... +compute values = c_mytemp[0], c_thermo_pressure[3], ... Adding keywords for the "thermo_style custom"_themo_style.html command (which can then be accessed by variables) was discussed diff --git a/doc/Section_start.html b/doc/Section_start.html index 73846c70f9..81428d0dca 100644 --- a/doc/Section_start.html +++ b/doc/Section_start.html @@ -276,6 +276,7 @@ list of packages is as follows:

+ diff --git a/doc/Section_start.txt b/doc/Section_start.txt index 0019a19da2..1c077d0d08 100644 --- a/doc/Section_start.txt +++ b/doc/Section_start.txt @@ -270,6 +270,7 @@ list of packages is as follows: asphere : aspherical particles class2 : class 2 force fields +colloid : colloidal particle force fields dpd : dissipative particle dynamics (DPD) force field granular : force fields and boundary conditions for granular systems kspace : long-range Ewald and particle-mesh (PPPM) solvers diff --git a/doc/atom_style.html b/doc/atom_style.html index 554e27102e..25b6e4e8c8 100644 --- a/doc/atom_style.html +++ b/doc/atom_style.html @@ -15,7 +15,7 @@

atom_style style args 
 
-

Typically, simulations require only a single (non-hybrid) atom style. If some atoms in the simulation do not have all the properties defined @@ -81,9 +82,11 @@ section.

The angle, bond, full, and molecular styles are part of the "molecular" package. The granular style is part of the "granular" -package. The dpd style is part of the "dpd" package. They are only -enabled if LAMMPS was built with that package. See the Making -LAMMPS section for more info. +package. The dpd style is part of the "dpd" package. The dipole +style is part of the "dipole" package. The ellipsoid style is part +of the "ellipsoid" package. They are only enabled if LAMMPS was built +with that package. See the Making LAMMPS +section for more info.

Related commands:

diff --git a/doc/atom_style.txt b/doc/atom_style.txt index 229970c100..0e66524405 100644 --- a/doc/atom_style.txt +++ b/doc/atom_style.txt @@ -12,8 +12,9 @@ atom_style command :h3 atom_style style args :pre -style = {angle} or {atomic} or {bond} or {charge} or {dpd} or {ellipsoid} or \ - {full} or {granular} or {molecular} or {hybrid} :ul +style = {angle} or {atomic} or {bond} or {charge} or {dipole} or \ + {dpd} or {ellipsoid} or {full} or {granular} or {molecular} or \ + {hybrid} :ul args = none for any style except {hybrid} {hybrid} args = list of one or more sub-styles :pre @@ -49,11 +50,12 @@ velocities, atom IDs and types. {atomic} = only the default values {bond} = bonds - e.g. bead-spring polymers {charge} = charge +{dipole} = charge and dipole moment {dpd} = default values, also communicates velocities {ellipsoid} = quaternion for particle orientation, angular velocity/momentum -{molecular} = bonds, angles, dihedrals, impropers - e.g. all-atom polymers {full} = molecular + charge - e.g. biomolecules, charged polymers -{granular} = granular atoms with rotational properties :ul +{granular} = granular atoms with rotational properties +{molecular} = bonds, angles, dihedrals, impropers - e.g. all-atom polymers :ul Typically, simulations require only a single (non-hybrid) atom style. If some atoms in the simulation do not have all the properties defined @@ -78,9 +80,11 @@ This command cannot be used after the simulation box is defined by a The {angle}, {bond}, {full}, and {molecular} styles are part of the "molecular" package. The {granular} style is part of the "granular" -package. The {dpd} style is part of the "dpd" 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. +package. The {dpd} style is part of the "dpd" package. The {dipole} +style is part of the "dipole" package. The {ellipsoid} style is part +of the "ellipsoid" 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:] diff --git a/doc/boundary.txt b/doc/boundary.txt index 05230ff99b..8c238588b0 100644 --- a/doc/boundary.txt +++ b/doc/boundary.txt @@ -38,10 +38,9 @@ commands. The style {p} means the box is periodic, so that particles interact across the boundary, and they can exit one end of the box and re-enter the other end. A periodic dimension can change in size due to -constant pressure boundary conditions or volume rescaling (see the -"fix npt"_fix_npt.html and "fix volume/rescale"_fix_volume_rescale.html -commands). The {p} style must be applied to both faces of a -dimension. +constant pressure boundary conditions or box deformation (see the "fix +npt"_fix_npt.html and "fix deform"_fix_deform.html commands). The {p} +style must be applied to both faces of a dimension. The styles {f}, {s}, and {m} mean the box is non-periodic, so that particles do not interact across the boundary and do not move from one diff --git a/doc/compute.html b/doc/compute.html index a1bbe342a6..f81a116f20 100644 --- a/doc/compute.html +++ b/doc/compute.html @@ -41,24 +41,35 @@ calculate one or more values for each atom in the group can output those values via the dump custom command or the fix ave/spatial command.

-

LAMMPS creates its own computes for thermodynamic output and dumping -atom snapshots. Likewise fixes that compute temperature or pressure -create their own computes. These are discussed in the documentation -for thermo_style, dump custom, and -specific fix commands. +

LAMMPS creates its own computes for thermodynamic output. Two +computes are always created, named "thermo_temp" and +"thermo_pressure", as if these commands had been invoked: +

+
compute thermo_temp all temp
+compute thermo_pressure all pressure thermo_temp 
+
+

Additional computes are created if the thermo style requires it. See +the documentation for the thermo_style command. +

+

The dumping of atom snapshots and fixes that compute temperature or +pressure also create computes as required. These are discussed in the +documentation for the dump custom and specific +fix commands.

In all these cases, the default computes can be replaced by computes defined in the input script, as described by the thermo_modify and fix modify -commands. Code for new computes can also be added to LAMMPS (see -this section of the manaul) and their +commands. +

+

Properties of either a default of user-defined compute can be modified +via the compute_modify command. +

+

Computes can be deleted with the uncompute command. +

+

Code for new computes can be added to LAMMPS (see this +section of the manaul) and the results of their calculations accessed in the various ways described above.

-

Properties of a compute can be modified via the -compute_modify command. -

-

Compute can be deleted with the uncompute command. -

Each compute style has its own doc page which describes its arguments and what it does. Here is an alphabetic list of compute styles defined in LAMMPS: diff --git a/doc/compute.txt b/doc/compute.txt index dd20ec69af..df3347d4ab 100644 --- a/doc/compute.txt +++ b/doc/compute.txt @@ -38,24 +38,35 @@ calculate one or more values for each atom in the group can output those values via the "dump custom"_dump.html command or the "fix ave/spatial"_fix_ave_spatial.html command. -LAMMPS creates its own computes for thermodynamic output and dumping -atom snapshots. Likewise fixes that compute temperature or pressure -create their own computes. These are discussed in the documentation -for "thermo_style"_thermo_style.html, "dump custom"_dump.html, and -specific "fix"_fix.html commands. +LAMMPS creates its own computes for thermodynamic output. Two +computes are always created, named "thermo_temp" and +"thermo_pressure", as if these commands had been invoked: + +compute thermo_temp all temp +compute thermo_pressure all pressure thermo_temp :pre + +Additional computes are created if the thermo style requires it. See +the documentation for the "thermo_style"_thermo_style.html command. + +The dumping of atom snapshots and fixes that compute temperature or +pressure also create computes as required. These are discussed in the +documentation for the "dump custom"_dump.html and specific +"fix"_fix.html commands. In all these cases, the default computes can be replaced by computes defined in the input script, as described by the "thermo_modify"_thermo_modify.html and "fix modify"_fix_modify.html -commands. Code for new computes can also be added to LAMMPS (see -"this section"_Section_modify.html of the manaul) and their +commands. + +Properties of either a default of user-defined compute can be modified +via the "compute_modify"_compute_modify.html command. + +Computes can be deleted with the "uncompute"_uncompute.html command. + +Code for new computes can be added to LAMMPS (see "this +section"_Section_modify.html of the manaul) and the results of their calculations accessed in the various ways described above. -Properties of a compute can be modified via the -"compute_modify"_compute_modify.html command. - -Compute can be deleted with the "uncompute"_uncompute.html command. - Each compute style has its own doc page which describes its arguments and what it does. Here is an alphabetic list of compute styles defined in LAMMPS: diff --git a/doc/compute_rotate_dipole.html b/doc/compute_rotate_dipole.html index 645303ef8a..77790d6b4f 100644 --- a/doc/compute_rotate_dipole.html +++ b/doc/compute_rotate_dipole.html @@ -25,7 +25,7 @@

Description:

Define a computation that calculates the total rotational energy of a -group of dipolar atoms. +group of atoms with point dipole moments.

The rotational energy is calculated as the sum of 1/2 I w^2 over all the atoms in the group, where I is the moment of inertia of a diff --git a/doc/compute_rotate_dipole.txt b/doc/compute_rotate_dipole.txt index ba7d2e32d8..49fb8d9a63 100644 --- a/doc/compute_rotate_dipole.txt +++ b/doc/compute_rotate_dipole.txt @@ -22,7 +22,7 @@ compute 1 all rotate/dipole :pre [Description:] Define a computation that calculates the total rotational energy of a -group of dipolar atoms. +group of atoms with point dipole moments. The rotational energy is calculated as the sum of 1/2 I w^2 over all the atoms in the group, where I is the moment of inertia of a diff --git a/doc/compute_temp_asphere.html b/doc/compute_temp_asphere.html index d5b3cb8780..d9bb8b230e 100644 --- a/doc/compute_temp_asphere.html +++ b/doc/compute_temp_asphere.html @@ -35,8 +35,7 @@ moment of inertia and w is the angular velocity.

Restrictions:

-

Can only be used if LAMMPS was built with the "asphere" package. Can -only be used with atom_style ellipsoid. +

Can only be used if LAMMPS was built with the "asphere" package.

Related commands:

diff --git a/doc/compute_temp_asphere.txt b/doc/compute_temp_asphere.txt index c59f7dfb26..9f71fcf426 100755 --- a/doc/compute_temp_asphere.txt +++ b/doc/compute_temp_asphere.txt @@ -32,8 +32,7 @@ moment of inertia and w is the angular velocity. [Restrictions:] -Can only be used if LAMMPS was built with the "asphere" package. Can -only be used with atom_style ellipsoid. +Can only be used if LAMMPS was built with the "asphere" package. [Related commands:] diff --git a/doc/compute_temp_ramp.html b/doc/compute_temp_ramp.html index 01fdf2de29..c0cdd0590b 100644 --- a/doc/compute_temp_ramp.html +++ b/doc/compute_temp_ramp.html @@ -33,15 +33,15 @@

Description:

Define a computation that calculates the temperature of a group of -atoms, while subtracting out an imposed velocity on the system before +atoms, after subtracting out an imposed velocity on the system before computing the kinetic energy. A compute of this style can be used by any command that computes a temperature, e.g. thermo_modify, fix temp/rescale, fix npt, etc.

The meaning of the arguments for this command is the same as for the -velocity command which was presumably used to impose -the velocity. +velocity ramp command which was presumably used to +impose the velocity.

The units keyword determines the meaning of the distance units used for coordinates (c1,c2) and velocities (vlo,vhi). A box value @@ -72,7 +72,8 @@ needed, the subtracted degrees-of-freedom can be altered using the

Related commands:

compute temp, compute -temp/region, compute +temp/region, compute +temp/deform, compute pressure

Default: diff --git a/doc/compute_temp_ramp.txt b/doc/compute_temp_ramp.txt index a84df80e19..b0345bebc8 100644 --- a/doc/compute_temp_ramp.txt +++ b/doc/compute_temp_ramp.txt @@ -29,15 +29,15 @@ temperature 2nd middle ramp vx 0 8 y 2 12 units lattice :pre [Description:] Define a computation that calculates the temperature of a group of -atoms, while subtracting out an imposed velocity on the system before +atoms, after subtracting out an imposed velocity on the system before computing the kinetic energy. A compute of this style can be used by any command that computes a temperature, e.g. "thermo_modify"_thermo_modify.html, "fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc. The meaning of the arguments for this command is the same as for the -"velocity"_velocity.html command which was presumably used to impose -the velocity. +"velocity ramp"_velocity.html command which was presumably used to +impose the velocity. The {units} keyword determines the meaning of the distance units used for coordinates (c1,c2) and velocities (vlo,vhi). A {box} value @@ -69,6 +69,7 @@ needed, the subtracted degrees-of-freedom can be altered using the "compute temp"_compute_temp.html, "compute temp/region"_compute_temp_region.html, "compute +temp/deform"_compute_temp_deform.html, "compute pressure"_compute_pressure.html [Default:] diff --git a/doc/create_atoms.html b/doc/create_atoms.html index 8bf4df020b..139b6d5b7f 100644 --- a/doc/create_atoms.html +++ b/doc/create_atoms.html @@ -13,67 +13,107 @@

Syntax:

-
create_atoms type keyword values ... 
+
create_atoms type style args keyword values ... 
 
-
  • type = atom type (1-N) of atoms to create on a lattice +
    • type = atom type (1-Ntypes) of atoms to create -
    • zero or more keyword/value pairs may be appended +
    • style = box or region or single -
    • keyword = region or basis - -
        region value = region-ID
      +
        box args = none
      +  region args = region-ID
           region-ID = atoms will only be created if contained in the region
      -  basis values = M itype
      +  single args = x y z
      +    x,y,z = coordinates of a single atom (distance units) 
      +
      +
    • zero or more keyword/value pairs may be appended to the args + +
    • keyword = basis or units + +
        basis values = M itype
           M = which basis atom
      -    itype = atom type (1-N) to assign to the basis atom 
      +    itype = atom type (1-N) to assign to this basis atom
      +  units value = lattice or box
      +    lattice = the geometry is defined in lattice units
      +    box = the geometry is defined in simulation box units 
       

    Examples:

    -
    create_atoms 1
    -create_atoms 3 region regsphere
    -create_atoms 1 basis 2 5 
    +
    create_atoms 1 box
    +create_atoms 3 region regsphere basis 2 3
    +create_atoms 3 single 0 0 5 
     

    Description:

    -

    This command creates atoms on a lattice as an alternative to reading -in their coordinates via a read_data or -read_restart command. A simulation box must -already exist, which is typically created via the -create_box command. +

    This command creates atoms on a lattice or a single atom as an +alternative to reading in their coordinates via a +read_data or read_restart +command. A simulation box must already exist, which is typically +created via the create_box command. Before using +this command, a lattice must also be defined using the +lattice command. The only exception is for the +single style with units = box.

    -

    Before using this command, a lattice must be defined using the -lattice command. If a region is not specified, the -create_atoms command fills the entire simulation box with atoms on the -lattice. If a region is specified (see the region -command), then the geometric volume is filled that is inside the -simulation box and is also consistent with the region volume. Note -that a region can be specified so that its "volume" is either inside -or outside a geometric boundary. +

    For the box style, the create_atoms command fills the entire +simulation box with atoms on the lattice. If your box is periodic, +you should insure its size is a multiple of the lattice spacings, to +avoid unwanted atom overlap at the box boundaries.

    -

    The lattice command specifies one or more basis atoms -in each unit cell. By default, when created, all basis atoms are -assigned the argument type as their atom type. The keyword basis -can be used to override the default for one or more basis atoms and -assign them a different atom type. +

    For the region style, the geometric volume is filled that is inside +the simulation box and is also consistent with the region volume. See +the region command for details. Note that a region can +be specified so that its "volume" is either inside or outside a +geometric boundary.

    -

    By using the create_atoms command multiple times (interleaved with -lattice commands specifying different orientations), -grain boundaries can be created. Using the create_atoms command in -conjunction with the delete_atoms command, -reasonably complex geometries can be created. The create_atoms -command can also be used to add atoms to a system previously read in -from a data or restart file. In all these cases, care should be taken -to insure that new atoms do not overlap existing atoms -inappropriately. +

    For the single style, a single atom is added to the system at the +specified coordinates. This can be useful for debugging purposes or +to create a tiny system with a handful of atoms at specified +positions.

    -

    Created atoms are assigned a velocity of 0.0. +

    The basis keyword specifies an atom type that will be assigned to +specific basis atoms as they are created. See the +lattice command for specifics on how basis atoms are +defined for the unit cell of the lattice. By default, all created +atoms are assigned the argument type as their atom type. +

    +

    The units keyword determines the meaning of the distance units used +to specify the coordinates of the one atom created by the single +style. A box value selects standard distance units as defined by +the units command, e.g. Angstroms for units = real or +metal. A lattice value means the distance units are in lattice +spacings. +

    +

    Note that this command adds atoms to those that already exist. By +using the create_atoms command multiple times, multiple sets of atoms +can be added to the simulation. For example, interleaving +create_atoms with lattice commands specifying different +orientations, grain boundaries can be created. By using the +create_atoms command in conjunction with the +delete_atoms command, reasonably complex +geometries can be created. The create_atoms command can also be used +to add atoms to a system previously read in from a data or restart +file. In all these cases, care should be taken to insure that new +atoms do not overlap existing atoms inappropriately. The +delete_atoms command can be used to handle +overlaps. +

    +

    Aside from their position and atom type, other properties of created +atoms are set to 0.0, e.g velocity, charge, etc. These properties can +be changed via the velocity or set +commands. +

    +

    Atom IDs are assigned to created atoms in the following way. The +collection of created atoms are assigned consecutive IDs that start +immediately following the largest atom ID existing before the +create_atoms command was invoked. When a simulation is performed on +different numbers of processors, there is no guarantee a particular +created atom will be assigned the same ID.

    Restrictions:

    -

    An atom_style and lattice must be -previously defined to use this command. +

    An atom_style must be previously defined to use this +command.

    Related commands:

    diff --git a/doc/create_atoms.txt b/doc/create_atoms.txt index 520529199f..654cde0900 100644 --- a/doc/create_atoms.txt +++ b/doc/create_atoms.txt @@ -10,63 +10,101 @@ create_atoms command :h3 [Syntax:] -create_atoms type keyword values ... :pre +create_atoms type style args keyword values ... :pre -type = atom type (1-N) of atoms to create on a lattice :ulb,l -zero or more keyword/value pairs may be appended :l -keyword = {region} or {basis} :l - {region} value = region-ID +type = atom type (1-Ntypes) of atoms to create :ulb,l +style = {box} or {region} or {single} :l + {box} args = none + {region} args = region-ID region-ID = atoms will only be created if contained in the region + {single} args = x y z + x,y,z = coordinates of a single atom (distance units) :pre +zero or more keyword/value pairs may be appended to the args :l +keyword = {basis} or {units} :l {basis} values = M itype M = which basis atom - itype = atom type (1-N) to assign to the basis atom :pre + itype = atom type (1-N) to assign to this basis atom + {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:] -create_atoms 1 -create_atoms 3 region regsphere -create_atoms 1 basis 2 5 :pre +create_atoms 1 box +create_atoms 3 region regsphere basis 2 3 +create_atoms 3 single 0 0 5 :pre [Description:] -This command creates atoms on a lattice as an alternative to reading -in their coordinates via a "read_data"_read_data.html or -"read_restart"_read_restart.html command. A simulation box must -already exist, which is typically created via the -"create_box"_create_box.html command. +This command creates atoms on a lattice or a single atom as an +alternative to reading in their coordinates via a +"read_data"_read_data.html or "read_restart"_read_restart.html +command. A simulation box must already exist, which is typically +created via the "create_box"_create_box.html command. Before using +this command, a lattice must also be defined using the +"lattice"_lattice.html command. The only exception is for the +{single} style with units = box. -Before using this command, a lattice must be defined using the -"lattice"_lattice.html command. If a region is not specified, the -create_atoms command fills the entire simulation box with atoms on the -lattice. If a region is specified (see the "region"_region.html -command), then the geometric volume is filled that is inside the -simulation box and is also consistent with the region volume. Note -that a region can be specified so that its "volume" is either inside -or outside a geometric boundary. +For the {box} style, the create_atoms command fills the entire +simulation box with atoms on the lattice. If your box is periodic, +you should insure its size is a multiple of the lattice spacings, to +avoid unwanted atom overlap at the box boundaries. -The "lattice"_lattice.html command specifies one or more basis atoms -in each unit cell. By default, when created, all basis atoms are -assigned the argument {type} as their atom type. The keyword {basis} -can be used to override the default for one or more basis atoms and -assign them a different atom type. +For the {region} style, the geometric volume is filled that is inside +the simulation box and is also consistent with the region volume. See +the "region"_region.html command for details. Note that a region can +be specified so that its "volume" is either inside or outside a +geometric boundary. -By using the create_atoms command multiple times (interleaved with -"lattice"_lattice.html commands specifying different orientations), -grain boundaries can be created. Using the create_atoms command in -conjunction with the "delete_atoms"_delete_atoms.html command, -reasonably complex geometries can be created. The create_atoms -command can also be used to add atoms to a system previously read in -from a data or restart file. In all these cases, care should be taken -to insure that new atoms do not overlap existing atoms -inappropriately. +For the {single} style, a single atom is added to the system at the +specified coordinates. This can be useful for debugging purposes or +to create a tiny system with a handful of atoms at specified +positions. -Created atoms are assigned a velocity of 0.0. +The {basis} keyword specifies an atom type that will be assigned to +specific basis atoms as they are created. See the +"lattice"_lattice.html command for specifics on how basis atoms are +defined for the unit cell of the lattice. By default, all created +atoms are assigned the argument {type} as their atom type. + +The {units} keyword determines the meaning of the distance units used +to specify the coordinates of the one atom created by the {single} +style. 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. + +Note that this command adds atoms to those that already exist. By +using the create_atoms command multiple times, multiple sets of atoms +can be added to the simulation. For example, interleaving +create_atoms with "lattice"_lattice.html commands specifying different +orientations, grain boundaries can be created. By using the +create_atoms command in conjunction with the +"delete_atoms"_delete_atoms.html command, reasonably complex +geometries can be created. The create_atoms command can also be used +to add atoms to a system previously read in from a data or restart +file. In all these cases, care should be taken to insure that new +atoms do not overlap existing atoms inappropriately. The +"delete_atoms"_delete_atoms.html command can be used to handle +overlaps. + +Aside from their position and atom type, other properties of created +atoms are set to 0.0, e.g velocity, charge, etc. These properties can +be changed via the "velocity"_velocity.html or "set"_set.html +commands. + +Atom IDs are assigned to created atoms in the following way. The +collection of created atoms are assigned consecutive IDs that start +immediately following the largest atom ID existing before the +create_atoms command was invoked. When a simulation is performed on +different numbers of processors, there is no guarantee a particular +created atom will be assigned the same ID. [Restrictions:] -An "atom_style"_atom_style.html and "lattice"_lattice.html must be -previously defined to use this command. +An "atom_style"_atom_style.html must be previously defined to use this +command. [Related commands:] diff --git a/doc/create_box.html b/doc/create_box.html index af47bc01af..40e8254daf 100644 --- a/doc/create_box.html +++ b/doc/create_box.html @@ -45,12 +45,12 @@ origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c =

    A prism region used with the create_box command must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of the -perpendicular box length. For example, if ylo = 2 and yhi = 12, then -the y box length is 10 and the xy tilt factor must be between -5 and -5. Similarly, both xz and yz must be between -(zhi-zlo)/2 and -+(zhi-zlo)/2. From a mechanics persepctive this is equivalent to -saying the shear strain of the system (sideways displacement divided -by perpendicular box length) must be between -0.5 and 0.5. +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.

    When a prism region is used, the simulation domain must be periodic in any dimensions with a non-zero tilt factor, as defined by the diff --git a/doc/create_box.txt b/doc/create_box.txt index ba6804a182..9a249f1bf3 100644 --- a/doc/create_box.txt +++ b/doc/create_box.txt @@ -42,12 +42,12 @@ origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = A prism region used with the create_box command must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of the -perpendicular box length. For example, if ylo = 2 and yhi = 12, then -the y box length is 10 and the xy tilt factor must be between -5 and -5. Similarly, both xz and yz must be between -(zhi-zlo)/2 and -+(zhi-zlo)/2. From a mechanics persepctive this is equivalent to -saying the shear strain of the system (sideways displacement divided -by perpendicular box length) must be between -0.5 and 0.5. +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. When a prism region is used, the simulation domain must be periodic in any dimensions with a non-zero tilt factor, as defined by the diff --git a/doc/dipole.html b/doc/dipole.html index 76e63a67e8..57b2330bfb 100644 --- a/doc/dipole.html +++ b/doc/dipole.html @@ -16,7 +16,7 @@

    dipole I value 
     
    • I = atom type (see asterisk form below) -
    • value = dipole +
    • value = dipole moment (dipole units)

    Examples:

    @@ -33,6 +33,9 @@ if the atom type has no dipole moment. Dipole values can also be set in the read_data data file. See the units command for a discussion of dipole units.

    +

    Currently, only atom_style dipole requires dipole +moments be set. +

    I can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the dipole moment for multiple atom types. This takes the @@ -42,8 +45,8 @@ leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive).

    -

    A line in a data file that specifies a dipole moment uses the exact -same format as the arguments of the dipole command in an input script, +

    A line in a data file that specifies a dipole moment uses the same +format as the arguments of the dipole command in an input script, except that no wild-card asterisk can be used. For example, under the "Dipoles" section of a data file, the line that corresponds to the 1st example above would be listed as @@ -57,7 +60,9 @@ example above would be listed as create_box command.

    All dipoles moments must be defined before a simulation is run (if the -atom style requires dipoles be set). +atom style requires dipoles be set). They must also all be defined +before a set dipole or set dipole/random command +is used.

    Related commands: none

    diff --git a/doc/dipole.txt b/doc/dipole.txt index b41d5a3745..a9dd7a8893 100644 --- a/doc/dipole.txt +++ b/doc/dipole.txt @@ -13,7 +13,7 @@ dipole command :h3 dipole I value :pre I = atom type (see asterisk form below) -value = dipole :ul +value = dipole moment (dipole units) :ul [Examples:] @@ -30,6 +30,9 @@ if the atom type has no dipole moment. Dipole values can also be set in the "read_data"_read_data.html data file. See the "units"_units.html command for a discussion of dipole units. +Currently, only "atom_style dipole"_atom_style.html requires dipole +moments be set. + I can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be used to set the dipole moment for multiple atom types. This takes the @@ -39,8 +42,8 @@ leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -A line in a data file that specifies a dipole moment uses the exact -same format as the arguments of the dipole command in an input script, +A line in a data file that specifies a dipole moment uses the same +format as the arguments of the dipole command in an input script, except that no wild-card asterisk can be used. For example, under the "Dipoles" section of a data file, the line that corresponds to the 1st example above would be listed as @@ -54,7 +57,9 @@ This command must come after the simulation box is defined by a "create_box"_create_box.html command. All dipoles moments must be defined before a simulation is run (if the -atom style requires dipoles be set). +atom style requires dipoles be set). They must also all be defined +before a "set dipole"_set.html or "set dipole/random"_set.html command +is used. [Related commands:] none diff --git a/doc/displace_atoms.html b/doc/displace_atoms.html index d6da76e79c..985679c2d3 100644 --- a/doc/displace_atoms.html +++ b/doc/displace_atoms.html @@ -17,7 +17,7 @@
    • group-ID = ID of group of atoms to displace -
    • style = move or ramp +
    • style = move or ramp or random
        move args = delx dely delz
           delx,dely,delz = distance to displace in each dimension (distance units)
      @@ -25,7 +25,10 @@
           ddim = x or y or z
           dlo,dhi = displacement distance between dlo and dhi (distance units)
           dim = x or y or z
      -    clo,chi = lower and upper bound of domain to displace (distance units) 
      +    clo,chi = lower and upper bound of domain to displace (distance units)
      +  random args = dx dy dz seed
      +    dx,dy,dz = random displacement magnitude in each dimension (distance units)
      +    seed = random # seed (8 digits or less) 
       
    • zero or more keyword/value pairs may be appended to the args @@ -42,25 +45,34 @@ displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5

      Description:

      Displace a group of atoms. This can be used to move atoms a large -distance before beginning a simulation. For example, in a shear -simulation, an initial strain can be imposed on the system. Or two -groups of atoms can be brought into closer proximity. +distance before beginning a simulation or to randomize atoms initially +on a lattice. For example, in a shear simulation, an initial strain +can be imposed on the system. Or two groups of atoms can be brought +into closer proximity.

      The move style displaces the group of atoms by the specified 3d -distance. The ramp style displaces atoms a variable amount in one -dimension depending on the atom's coordinate in a (possibly) different +distance. +

      +

      The ramp style displaces atoms a variable amount in one dimension +depending on the atom's coordinate in a (possibly) different dimension. For example, the second example command displaces atoms in the x-direction an amount between 0.0 and 5.0 distance units. Each atom's displacement depends on the fractional distance its y coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside those bounds will be moved the minimum (0.0) or maximum (5.0) amount.

      -

      Distance units for the displacement are determined by the setting of -box or lattice for the units keyword. Box means distance -units as defined by the units command - e.g. Angstroms -for real units. Lattice means distance units are in lattice -spacings. The lattice command must have been -previously used to define the lattice spacing. +

      The random style independently moves each atom in the group by a +random displacement, uniformly sampled from a value between -dx and ++dx in the x dimension, and similarly for y and z. Random numbers are +used in such a way that the displacement of a particular atom is the +same, regardless of how many processors are being used. +

      +

      Distance units for displacement are determined by the setting of box +or lattice for the units keyword. Box means distance units as +defined by the units command - e.g. Angstroms for real +units. Lattice means distance units are in lattice spacings. The +lattice command must have been previously used to +define the lattice spacing.

      Care should be taken not to move atoms on top of other atoms. After the move, atoms are remapped into the periodic simulation box if diff --git a/doc/displace_atoms.txt b/doc/displace_atoms.txt index fe9eb326fe..1e197d505b 100644 --- a/doc/displace_atoms.txt +++ b/doc/displace_atoms.txt @@ -13,14 +13,17 @@ displace_atoms command :h3 displace_atoms group-ID style args keyword value ... :pre group-ID = ID of group of atoms to displace :ulb,l -style = {move} or {ramp} :l +style = {move} or {ramp} or {random} :l {move} args = delx dely delz delx,dely,delz = distance to displace in each dimension (distance units) {ramp} args = ddim dlo dhi dim clo chi ddim = {x} or {y} or {z} dlo,dhi = displacement distance between dlo and dhi (distance units) dim = {x} or {y} or {z} - clo,chi = lower and upper bound of domain to displace (distance units) :pre + clo,chi = lower and upper bound of domain to displace (distance units) + {random} args = dx dy dz seed + dx,dy,dz = random displacement magnitude in each dimension (distance units) + seed = random # seed (8 digits or less) :pre zero or more keyword/value pairs may be appended to the args :l keyword = {units} value = {box} or {lattice} :pre @@ -34,25 +37,34 @@ displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 :pre [Description:] Displace a group of atoms. This can be used to move atoms a large -distance before beginning a simulation. For example, in a shear -simulation, an initial strain can be imposed on the system. Or two -groups of atoms can be brought into closer proximity. +distance before beginning a simulation or to randomize atoms initially +on a lattice. For example, in a shear simulation, an initial strain +can be imposed on the system. Or two groups of atoms can be brought +into closer proximity. The {move} style displaces the group of atoms by the specified 3d -distance. The {ramp} style displaces atoms a variable amount in one -dimension depending on the atom's coordinate in a (possibly) different +distance. + +The {ramp} style displaces atoms a variable amount in one dimension +depending on the atom's coordinate in a (possibly) different dimension. For example, the second example command displaces atoms in the x-direction an amount between 0.0 and 5.0 distance units. Each atom's displacement depends on the fractional distance its y coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside those bounds will be moved the minimum (0.0) or maximum (5.0) amount. -Distance units for the displacement are determined by the setting of -{box} or {lattice} for the {units} keyword. {Box} means distance -units as defined by the "units"_units.html command - e.g. Angstroms -for {real} units. {Lattice} means distance units are in lattice -spacings. The "lattice"_lattice.html command must have been -previously used to define the lattice spacing. +The {random} style independently moves each atom in the group by a +random displacement, uniformly sampled from a value between -dx and ++dx in the x dimension, and similarly for y and z. Random numbers are +used in such a way that the displacement of a particular atom is the +same, regardless of how many processors are being used. + +Distance units for displacement are determined by the setting of {box} +or {lattice} for the {units} keyword. {Box} means distance units as +defined by the "units"_units.html command - e.g. Angstroms for {real} +units. {Lattice} means distance units are in lattice spacings. The +"lattice"_lattice.html command must have been previously used to +define the lattice spacing. Care should be taken not to move atoms on top of other atoms. After the move, atoms are remapped into the periodic simulation box if diff --git a/doc/dump_modify.html b/doc/dump_modify.html index 4db35eed0e..9f01f47d98 100644 --- a/doc/dump_modify.html +++ b/doc/dump_modify.html @@ -30,7 +30,7 @@ region arg = region-ID or "none" thresh args = attribute operation value attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style - operation = < or <= or > or >= or = or <> + operation = "<" or "<=" or ">" or ">=" or "==" or "!=" value = numeric value to compare to these 3 args can be replaced by the word "none" to turn off threshholding diff --git a/doc/dump_modify.txt b/doc/dump_modify.txt index ea14aba420..5b2dc91772 100644 --- a/doc/dump_modify.txt +++ b/doc/dump_modify.txt @@ -24,7 +24,7 @@ keyword = {format} or {scale} or {image} or {header} or {flush} or {region} or { {region} arg = region-ID or "none" {thresh} args = attribute operation value attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style - operation = < or <= or > or >= or = or <> + operation = "<" or "<=" or ">" or ">=" or "==" or "!=" value = numeric value to compare to these 3 args can be replaced by the word "none" to turn off threshholding :pre diff --git a/doc/fix.txt b/doc/fix.txt index 33ac885603..5c3c0c5952 100644 --- a/doc/fix.txt +++ b/doc/fix.txt @@ -108,11 +108,7 @@ Here is an alphabetic list of fix styles defined in LAMMPS: "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 uniaxial"_fix_uniaxial.html - uniaxial straining of system while \ - preserving total volume "fix viscous"_fix_viscous.html - viscous damping for granular simulations -"fix volume/rescale"_fix_volume_rescale.html - density control by \ - volume rescaling "fix wall/gran"_fix_wall_gran.html - frictional wall(s) for \ granular simulations "fix wall/lj93"_fix_wall_lj93.html - Lennard-Jones 9-3 wall diff --git a/doc/fix_freeze.html b/doc/fix_freeze.html index 84c9bc9f5b..c8e43efd9d 100644 --- a/doc/fix_freeze.html +++ b/doc/fix_freeze.html @@ -29,8 +29,7 @@ for preventing certain particles from moving in a simulation.

      Restrictions:

      -

      Can only be used if LAMMPS was built with the "granular" package. Can -only be used with atom_style granular. +

      Can only be used if LAMMPS was built with the "granular" package.

      There can only be a single freeze fix defined. This is because other parts of the code (pair potentials, thermodynamics, etc) treat frozen diff --git a/doc/fix_freeze.txt b/doc/fix_freeze.txt index 287858dcc2..c332647a06 100644 --- a/doc/fix_freeze.txt +++ b/doc/fix_freeze.txt @@ -26,8 +26,7 @@ for preventing certain particles from moving in a simulation. [Restrictions:] -Can only be used if LAMMPS was built with the "granular" package. Can -only be used with atom_style granular. +Can only be used if LAMMPS was built with the "granular" package. There can only be a single freeze fix defined. This is because other parts of the code (pair potentials, thermodynamics, etc) treat frozen diff --git a/doc/fix_gran_diag.html b/doc/fix_gran_diag.html index 3ce856bdd1..ec1f9f804f 100644 --- a/doc/fix_gran_diag.html +++ b/doc/fix_gran_diag.html @@ -36,8 +36,7 @@ written to the file are averaged over all atoms in the bin.

      Restrictions:

      -

      Can only be used if LAMMPS was built with the "granular" package. Can -only be used with atom_style granular. +

      Can only be used if LAMMPS was built with the "granular" package.

      Related commands:

      diff --git a/doc/fix_gran_diag.txt b/doc/fix_gran_diag.txt index 31d2769bee..6818538098 100644 --- a/doc/fix_gran_diag.txt +++ b/doc/fix_gran_diag.txt @@ -33,8 +33,7 @@ written to the file are averaged over all atoms in the bin. [Restrictions:] -Can only be used if LAMMPS was built with the "granular" package. Can -only be used with atom_style granular. +Can only be used if LAMMPS was built with the "granular" package. [Related commands:] diff --git a/doc/fix_langevin.html b/doc/fix_langevin.html index 2d6e2a9bca..944d69b6ad 100644 --- a/doc/fix_langevin.html +++ b/doc/fix_langevin.html @@ -23,7 +23,7 @@
    • damp = damping parameter (time units) -
    • seed = random # seed to use for white noise (integer > 0 and < 900000000) +
    • seed = random # seed to use for white noise (8 digits or less)
    • zero or more keyword/value pairs may be appended to the args diff --git a/doc/fix_langevin.txt b/doc/fix_langevin.txt index aa8644e2f1..8d9bd8c683 100644 --- a/doc/fix_langevin.txt +++ b/doc/fix_langevin.txt @@ -16,7 +16,7 @@ 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 (integer > 0 and < 900000000) :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 diff --git a/doc/fix_nph.html b/doc/fix_nph.html index 8c53fd8326..a2b625fa04 100644 --- a/doc/fix_nph.html +++ b/doc/fix_nph.html @@ -136,13 +136,13 @@ fix group.

      Note that these are NOT the computes used by thermodynamic output (see the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the +and thermo_pressure. This means you can change the attributes of +this fix's temperature or pressure via the compute_modify command or print this temperature or pressure during thermodyanmic output via the thermo_style custom 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 +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 command. If you do this, note that the diff --git a/doc/fix_nph.txt b/doc/fix_nph.txt index af4b3c6633..be0939bec9 100644 --- a/doc/fix_nph.txt +++ b/doc/fix_nph.txt @@ -126,13 +126,13 @@ 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 +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_press} will have no effect on this fix. Alternatively, you +{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 diff --git a/doc/fix_npt.html b/doc/fix_npt.html index 03f9f86c83..f4b7f55836 100644 --- a/doc/fix_npt.html +++ b/doc/fix_npt.html @@ -140,13 +140,13 @@ fix group.

      Note that these are NOT the computes used by thermodynamic output (see the thermo_style command) with ID = thermo_temp -and thermo_press. This means you can change the attributes of this -fix's temperature or pressure via the +and thermo_pressure. This means you can change the attributes of +this fix's temperature or pressure via the compute_modify command or print this temperature or pressure during thermodyanmic output via the thermo_style custom 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 +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 command. If you do this, note that the diff --git a/doc/fix_npt.txt b/doc/fix_npt.txt index 1b7ece3ba8..793b190a93 100644 --- a/doc/fix_npt.txt +++ b/doc/fix_npt.txt @@ -129,13 +129,13 @@ 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 +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_press} will have no effect on this fix. Alternatively, you +{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 diff --git a/doc/fix_nve_asphere.html b/doc/fix_nve_asphere.html index 78e1ebc6fb..054b2c63c2 100644 --- a/doc/fix_nve_asphere.html +++ b/doc/fix_nve_asphere.html @@ -24,15 +24,14 @@

Description:

-

Perform constant NVE updates of position, velocity, 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. +

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.

Restrictions:

-

Can only be used if LAMMPS was built with the "asphere" package. Can -only be used with atom_style ellipsoid. +

Can only be used if LAMMPS was built with the "asphere" package.

Related commands:

diff --git a/doc/fix_nve_asphere.txt b/doc/fix_nve_asphere.txt index bd85d44bec..90f4ace9fc 100755 --- a/doc/fix_nve_asphere.txt +++ b/doc/fix_nve_asphere.txt @@ -21,15 +21,14 @@ fix 1 all nve/asphere :pre [Description:] -Perform constant NVE updates of position, velocity, 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. +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. [Restrictions:] -Can only be used if LAMMPS was built with the "asphere" package. Can -only be used with atom_style ellipsoid. +Can only be used if LAMMPS was built with the "asphere" package. [Related commands:] diff --git a/doc/fix_nve_gran.html b/doc/fix_nve_gran.html index 7b9c41d547..21d9c1ec24 100644 --- a/doc/fix_nve_gran.html +++ b/doc/fix_nve_gran.html @@ -32,8 +32,7 @@ to forces and torques.

Restrictions: none

-

Can only be used if LAMMPS was built with the "granular" package. Can -only be used with atom_style granular. +

Can only be used if LAMMPS was built with the "granular" package.

Related commands:

diff --git a/doc/fix_nve_gran.txt b/doc/fix_nve_gran.txt index 1e69d7cf1e..22caaf49ea 100644 --- a/doc/fix_nve_gran.txt +++ b/doc/fix_nve_gran.txt @@ -29,8 +29,7 @@ to forces and torques. [Restrictions:] none -Can only be used if LAMMPS was built with the "granular" package. Can -only be used with atom_style granular. +Can only be used if LAMMPS was built with the "granular" package. [Related commands:] diff --git a/doc/fix_pour.html b/doc/fix_pour.html index cfa597d384..422a340b08 100644 --- a/doc/fix_pour.html +++ b/doc/fix_pour.html @@ -103,8 +103,7 @@ successively higher height over time.

Restrictions:

-

Can only be used if LAMMPS was built with the "granular" package. Can -only be used with atom_style granular. +

Can only be used if LAMMPS was built with the "granular" package.

For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity diff --git a/doc/fix_pour.txt b/doc/fix_pour.txt index f802fdbcdb..499ba8aa4c 100644 --- a/doc/fix_pour.txt +++ b/doc/fix_pour.txt @@ -92,8 +92,7 @@ successively higher height over time. [Restrictions:] -Can only be used if LAMMPS was built with the "granular" package. Can -only be used with atom_style granular. +Can only be used if LAMMPS was built with the "granular" package. For 3d simulations, a gravity fix in the -z direction must be defined for use in conjunction with this fix. For 2d simulations, gravity diff --git a/doc/group.html b/doc/group.html index 24df6b7785..08f0b407db 100644 --- a/doc/group.html +++ b/doc/group.html @@ -23,7 +23,7 @@ type or id or molecule args = one or more atom types, atom IDs, or molecule IDs args = logical value - logical = "<" or "<=" or ">" or ">=" + logical = "<" or "<=" or ">" or ">=" or "==" or "!=" value = an atom type or atom ID or molecule ID (depending on style) args = logical value1 value2 logical = "<>" @@ -65,7 +65,7 @@ specified atom types, atom IDs, or molecule IDs into the group. These The 1st format is a list of values (types or IDs). For example, the 2nd command in the examples above puts all atoms of type 3 or 4 into the group named water. The 2nd format is a logical followed by -one or two values (type or ID). The 5 valid logicals are listed +one or two values (type or ID). The 7 valid logicals are listed above. All the logicals except <> take a single argument. The 3rd example above adds all atoms with IDs from 1 to 150 to the group named sub. The logical <> means "between" and takes 2 arguments. The 4th diff --git a/doc/group.txt b/doc/group.txt index bfeda6b022..e6dec4ff23 100644 --- a/doc/group.txt +++ b/doc/group.txt @@ -19,7 +19,7 @@ style = {region} or {type} or {id} or {molecule} or {subtract} or \ {type} or {id} or {molecule} args = one or more atom types, atom IDs, or molecule IDs args = logical value - logical = "<" or "<=" or ">" or ">=" + logical = "<" or "<=" or ">" or ">=" or "==" or "!=" value = an atom type or atom ID or molecule ID (depending on {style}) args = logical value1 value2 logical = "<>" @@ -60,7 +60,7 @@ specified atom types, atom IDs, or molecule IDs into the group. These The 1st format is a list of values (types or IDs). For example, the 2nd command in the examples above puts all atoms of type 3 or 4 into the group named {water}. The 2nd format is a {logical} followed by -one or two values (type or ID). The 5 valid logicals are listed +one or two values (type or ID). The 7 valid logicals are listed above. All the logicals except <> take a single argument. The 3rd example above adds all atoms with IDs from 1 to 150 to the group named {sub}. The logical <> means "between" and takes 2 arguments. The 4th diff --git a/doc/if.html b/doc/if.html index ff051e55f9..424473a05a 100644 --- a/doc/if.html +++ b/doc/if.html @@ -16,11 +16,11 @@

if value1 operator value2 then command1 else command2 
 

Examples: diff --git a/doc/if.txt b/doc/if.txt index 565e46169e..d71ae0d87a 100644 --- a/doc/if.txt +++ b/doc/if.txt @@ -13,11 +13,11 @@ if command :h3 if value1 operator value2 then command1 else command2 :pre value1 = 1st value -operator = "==" or "!=" or "<" or "<=" or ">" or ">=" +operator = "<" or "<=" or ">" or ">=" or "==" or "!=" value2 = 2nd value then = required word command1 = command to execute if condition is met -else = required word (optional argument) +else = optional word command2 = command to execute if condition is not met (optional argument) :ul [Examples:] diff --git a/doc/next.html b/doc/next.html index 0f66dc0240..620d73b265 100644 --- a/doc/next.html +++ b/doc/next.html @@ -26,15 +26,24 @@ next a t x myTemp

This command is used with variables defined by the variable command. It assigns the next value to the -variable from the variable's list, so that when a variable is +variable from the list of values defined for that variable by the +variable command. Thus when that variable is subsequently substituted for in an input script command, the new value -is used. If a variable name is a single lower-case character from "a" -to "z", it can be used in an input script command as $a or $z. If it -is multiple letters, it can be used as $myTemp. +is used.

-

All variables in a single next command must be the same style: -index, loop, universe, or uloop. Equal- or world-style -variables cannot be incremented by a next command. +

See the variable command for info on how to define and +use different kinds of variables in LAMMPS input scripts. If a +variable name is a single lower-case character from "a" to "z", it can +be used in an input script command as $a or $z. If it is multiple +letters, it can be used as ${myTemp}. +

+

If multiple variables are used as arguments to the next command, +then all must be of the same variable style: index, loop, +universe, or uloop. An exception is that universe- and +uloop-style variables can be mixed in the same next command. +Atom- or equal- or world-style variables cannot be incremented +by a next command. All the variables specified are incremented by one +value from their respective lists.

When any of the variables in the next command has no more values, a flag is set that causes the input script to skip the next diff --git a/doc/next.txt b/doc/next.txt index 07e888c00d..2c7b66acfa 100644 --- a/doc/next.txt +++ b/doc/next.txt @@ -23,15 +23,24 @@ next a t x myTemp :pre This command is used with variables defined by the "variable"_variable.html command. It assigns the next value to the -variable from the variable's list, so that when a variable is +variable from the list of values defined for that variable by the +"variable"_variable.html command. Thus when that variable is subsequently substituted for in an input script command, the new value -is used. If a variable name is a single lower-case character from "a" -to "z", it can be used in an input script command as $a or $z. If it -is multiple letters, it can be used as ${myTemp}. +is used. -All variables in a single next command must be the same style: -{index}, {loop}, {universe}, or {uloop}. {Equal}- or {world}-style -variables cannot be incremented by a next command. +See the "variable"_variable.html command for info on how to define and +use different kinds of variables in LAMMPS input scripts. If a +variable name is a single lower-case character from "a" to "z", it can +be used in an input script command as $a or $z. If it is multiple +letters, it can be used as $\{myTemp\}. + +If multiple variables are used as arguments to the {next} command, +then all must be of the same variable style: {index}, {loop}, +{universe}, or {uloop}. An exception is that {universe}- and +{uloop}-style variables can be mixed in the same {next} command. +{Atom}- or {equal}- or {world}-style variables cannot be incremented +by a next command. All the variables specified are incremented by one +value from their respective lists. When any of the variables in the next command has no more values, a flag is set that causes the input script to skip the next diff --git a/doc/pair_coeff.html b/doc/pair_coeff.html index 2f7931a59c..0e7a248c90 100644 --- a/doc/pair_coeff.html +++ b/doc/pair_coeff.html @@ -70,11 +70,11 @@ as

2 1.0 1.0 2.5 
 
-

If coefficients for type pairs with I not equal J are not set -explicity by a pair_coeff command, they are inferred from the I,I and -J,J settings by mixing rules; see the pair_modify -command for a discussion. Exceptions to the mixing rules of the -pair_modify command are discussed with the individual pair styles. +

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 command for a discussion. Exceptions +to the mixing rules are discussed with the individual pair styles.


@@ -86,9 +86,11 @@ the pair_style command, and coefficients specified by the associated - + - +
asphere aspherical particles
class2 class 2 force fields
colloid colloidal particle force fields
dpd dissipative particle dynamics (DPD) force field
granular force fields and boundary conditions for granular systems
kspace long-range Ewald and particle-mesh (PPPM) solvers
atomic atom-ID atom-type x y z
bond atom-ID molecule-ID atom-type x y z
charge atom-ID atom-type q x y z
dipole atom-ID atom-type q x y z mux muy muz
dpd atom-ID atom-type x y z
ellipsoid atom-ID atom-type x y z quatw quati quatj quatk
full atom-ID molecule-ID atom-type q x y z
granular atom-ID atom-type diameter density x y z
molecular atom-ID molecule-ID atom-type x y z +
molecular atom-ID molecule-ID atom-type x y z
hybrid atom-ID atom-type x y z sub-style1 sub-style2 ...

where the keywords have these meanings: @@ -268,13 +273,14 @@ line formats for each atom style in LAMMPS:

  • diameter = diameter of atom
  • density = density of atom
  • x,y,z = coordinates of atom +
  • mux,muy,muz = direction of dipole moment of atom
  • quatw,quati,quatj,quatk = quaternion components for orientation of atom

    The units for these quantities depend on the unit style; see the units command for details.

    -

    For 2d simulations specify z as 0.0, or a value is within the zlo -zhi setting in the data file header. +

    For 2d simulations specify z as 0.0, or a value within the zlo zhi +setting in the data file header.

    The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for @@ -291,6 +297,36 @@ is a number from 1 to N, identifying which molecule the atom belongs to. It can be 0 if it is an unbonded atom or if you don't care to keep track of molecule assignments.

    +

    The values quatw, quati, quatj, and quatk set the orientation +of the atom as a quaternion (4-vector). Note that the +shape command or "Shapes" section of the data file +specifies the aspect ratios of an ellipsoidal particle, which is +oriented by default with its x-axis along the simulation box's x-axis, +and similarly for y and z. If this body is rotated (via the +right-hand rule) by an angle theta around a unit vector (a,b,c), then +the quaternion that represents its new orientation is given by +(cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). These +4 components are quatw, quati, quatj, and quatk as specfied above. +LAMMPS normalizes each atom's quaternion in case (a,b,c) was not a +unit vector. +

    +

    For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), +specific values for each sub-style must be listed. The order of the +sub-styles is the same as they were listed in the +atom_style command. The sub-style specific values +are those that are not the 5 standard ones (ID,type,x,y,z). For +example, for the "charge" sub-style, a "q" value would appear. For +the "full" sub-style, a "molecule-ID" and "q" would appear. These are +listed in the same order they appear as listed above. +

    +

    Thus if +

    +
    atom_style hybrid charge granular 
    +
    +

    were used in the input script, each atom line would have these fields: +

    +
    atom-ID atom-type x y z q diameter density 
    +

    Atom lines (all lines or none of them) can optionally list 3 final integer values: nx,ny,nz. For periodic dimensions, they specify which image of the box the atom is considered to be in. An image of 0 means @@ -301,9 +337,10 @@ during the simulation. The flags can be output with atom snapshots via the dump command. If nx,ny,nz values are not set in the data file, LAMMPS initializes them to 0.

    -

    Atom velocities are set to 0.0 when the Atoms section is read. They -may later be set by a Velocities section in the data file or by a -velocity command in the input script. +

    Atom velocities and other atom quantities not defined above are set to +0.0 when the Atoms section is read. They may later be set by a +Velocities section in the data file or by a velocity +or set command in the input script.


    @@ -571,6 +608,30 @@ script.


    +

    Shapes section: +

    + +

    This defines the shape of each atom type. This can also be set via +the shape command in the input script. This section +should only be used for atom styles that define a shape, e.g. atom +style dipole or ellipsoid. +

    +
    +

    Velocities section:

    +
    all styles except those listed atom-ID vx vy vz
    dipole atom-ID vx vy vz wx wy wz
    ellipsoid atom-ID vx vy vz lx ly lz
    granular atom-ID vx vy vz wx wy wz
    diff --git a/doc/read_data.txt b/doc/read_data.txt index 8917f55eef..fceee10b28 100644 --- a/doc/read_data.txt +++ b/doc/read_data.txt @@ -89,16 +89,19 @@ parallelepiped with triclinic symmetry. See the "region prism"_region.html command for a description of how the extent of the parallelepiped is defined. The parallelepiped has its "origin" at (xlo,ylo,zlo) and 3 edge vectors starting from the origin given by a = -(xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = (xz,yz,zhi-zlo). +(xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = (xz,yz,zhi-zlo). Note that if +your simulation will tilt the box, e.g. via the "fix +deform"_fix_deform.html command, the simulation box must be triclinic, +even if the tilt factors are initially 0.0. -The tilt factors (xy,xz,yz) must not skew the box more than half the -distance of the perpendicular box length. For example, if ylo = 2 and -yhi = 12, then the y box length is 10 and the xy tilt factor must be +The tilt factors (xy,xz,yz) can not skew the box more than 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 --(zhi-zlo)/2 and +(zhi-zlo)/2. From a mechanics persepctive this is -equivalent to saying the shear strain of the system (sideways -displacement divided by perpendicular box length) must be between -0.5 -and 0.5. +-(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. When a triclinic system is used, the simulation domain must be periodic in any dimensions with a non-zero tilt factor, as defined by @@ -130,7 +133,7 @@ back inside the box. These are the section keywords for the body of the file. -{Atoms, Velocities, Masses, Dipoles} = atom-property sections +{Atoms, Velocities, Masses, Shapes, Dipoles} = atom-property sections {Bonds, Angles, Dihedrals, Impropers} = molecular topolgy sections {Pair Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, \ Improper Coeffs} = force field sections @@ -138,7 +141,7 @@ These are the section keywords for the body of the file. EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, \ BondBond13 Coeffs, AngleAngle Coeffs} = class 2 force field sections :ul -Each section is now listed in alphabetic order. The format of each +Each section is listed below in alphabetic order. The format of each section is described including the number of lines it must contain and rules (if any) for where it can appear in the data file. @@ -230,11 +233,13 @@ angle: atom-ID molecule-ID atom-type x y z atomic: atom-ID atom-type x y z bond: atom-ID molecule-ID atom-type x y z charge: atom-ID atom-type q x y z +dipole: atom-ID atom-type q x y z mux muy muz dpd: atom-ID atom-type x y z ellipsoid: atom-ID atom-type x y z quatw quati quatj quatk full: atom-ID molecule-ID atom-type q x y z granular: atom-ID atom-type diameter density x y z -molecular: atom-ID molecule-ID atom-type x y z :tb(s=:) +molecular: atom-ID molecule-ID atom-type x y z +hybrid: atom-ID atom-type x y z sub-style1 sub-style2 ... :tb(s=:) where the keywords have these meanings: @@ -245,13 +250,14 @@ q = charge on atom diameter = diameter of atom density = density of atom x,y,z = coordinates of atom +mux,muy,muz = direction of dipole moment of atom quatw,quati,quatj,quatk = quaternion components for orientation of atom :ul The units for these quantities depend on the unit style; see the "units"_units.html command for details. -For 2d simulations specify z as 0.0, or a value is within the {zlo -zhi} setting in the data file header. +For 2d simulations specify z as 0.0, or a value within the {zlo zhi} +setting in the data file header. The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for @@ -268,6 +274,36 @@ is a number from 1 to N, identifying which molecule the atom belongs to. It can be 0 if it is an unbonded atom or if you don't care to keep track of molecule assignments. +The values {quatw}, {quati}, {quatj}, and {quatk} set the orientation +of the atom as a quaternion (4-vector). Note that the +"shape"_shape.html command or "Shapes" section of the data file +specifies the aspect ratios of an ellipsoidal particle, which is +oriented by default with its x-axis along the simulation box's x-axis, +and similarly for y and z. If this body is rotated (via the +right-hand rule) by an angle theta around a unit vector (a,b,c), then +the quaternion that represents its new orientation is given by +(cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). These +4 components are quatw, quati, quatj, and quatk as specfied above. +LAMMPS normalizes each atom's quaternion in case (a,b,c) was not a +unit vector. + +For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), +specific values for each sub-style must be listed. The order of the +sub-styles is the same as they were listed in the +"atom_style"_atom_style.html command. The sub-style specific values +are those that are not the 5 standard ones (ID,type,x,y,z). For +example, for the "charge" sub-style, a "q" value would appear. For +the "full" sub-style, a "molecule-ID" and "q" would appear. These are +listed in the same order they appear as listed above. + +Thus if + +atom_style hybrid charge granular :pre + +were used in the input script, each atom line would have these fields: + +atom-ID atom-type x y z q diameter density :pre + Atom lines (all lines or none of them) can optionally list 3 final integer values: nx,ny,nz. For periodic dimensions, they specify which image of the box the atom is considered to be in. An image of 0 means @@ -278,9 +314,10 @@ during the simulation. The flags can be output with atom snapshots via the "dump"_dump.html command. If nx,ny,nz values are not set in the data file, LAMMPS initializes them to 0. -Atom velocities are set to 0.0 when the {Atoms} section is read. They -may later be set by a {Velocities} section in the data file or by a -"velocity"_velocity.html command in the input script. +Atom velocities and other atom quantities not defined above are set to +0.0 when the {Atoms} section is read. They may later be set by a +{Velocities} section in the data file or by a "velocity"_velocity.html +or "set"_set.html command in the input script. :line @@ -488,12 +525,32 @@ script. :line +{Shapes} section: + +one line per atom type :ulb,l +line syntax: ID x y z :l + ID = atom type (1-N) + x = x diameter + y = y diameter + z = z diameter :pre +example: :l + 3 2.0 1.0 1.0 :pre +:ule + +This defines the shape of each atom type. This can also be set via +the "shape"_mass.html command in the input script. This section +should only be used for atom styles that define a shape, e.g. atom +style dipole or ellipsoid. + +:line + {Velocities} section: one line per atom line syntax: depends on atom style :ul all styles except those listed: atom-ID vx vy vz +dipole: atom-ID vx vy vz wx wy wz ellipsoid: atom-ID vx vy vz lx ly lz granular: atom-ID vx vy vz wx wy wz :tb(s=:) diff --git a/doc/region.html b/doc/region.html index 112e6dc1dc..3bf6b17890 100644 --- a/doc/region.html +++ b/doc/region.html @@ -86,9 +86,7 @@ y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and extending in the y-direction from -5.0 to the upper box boundary.

    For style prism, a parallelepiped is defined (it's too hard to spell -parallelepiped in an input script!). A prism region is used by the -create_box command to define a triclinic -(non-orthogonal) simulation domain. Think of the parallelepided as +parallelepiped in an input script!). Think of the parallelepided as initially an axis-aligned orthogonal box with the same xyz lo/hi parameters as region style block would define. Then, while holding the (xlo,ylo,zlo) corner point fixed, the box is "skewed" or "tilted" @@ -101,6 +99,16 @@ results in a parallelepiped whose "origin" is at (xlo,ylo,zlo) with 3 edge vectors starting from its origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = (xz,yz,zhi-zlo).

    +

    A prism region used with the create_box command must +have tilt factors (xy,xz,yz) that do not skew the box more than 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. +

    The union style creates a region consisting of the volume of all the listed regions combined. The intesect style creates a region consisting of the volume that is common to all the listed regions. diff --git a/doc/region.txt b/doc/region.txt index 845f3a011a..48feb323df 100644 --- a/doc/region.txt +++ b/doc/region.txt @@ -77,9 +77,7 @@ y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and extending in the y-direction from -5.0 to the upper box boundary. For style {prism}, a parallelepiped is defined (it's too hard to spell -parallelepiped in an input script!). A prism region is used by the -"create_box"_create_box.html command to define a triclinic -(non-orthogonal) simulation domain. Think of the parallelepided as +parallelepiped in an input script!). Think of the parallelepided as initially an axis-aligned orthogonal box with the same xyz lo/hi parameters as region style {block} would define. Then, while holding the (xlo,ylo,zlo) corner point fixed, the box is "skewed" or "tilted" @@ -92,6 +90,16 @@ results in a parallelepiped whose "origin" is at (xlo,ylo,zlo) with 3 edge vectors starting from its origin given by a = (xhi-xlo,0,0); b = (xy,yhi-ylo,0); c = (xz,yz,zhi-zlo). +A prism region used with the "create_box"_create_box.html command must +have tilt factors (xy,xz,yz) that do not skew the box more than 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. + The {union} style creates a region consisting of the volume of all the listed regions combined. The {intesect} style creates a region consisting of the volume that is common to all the listed regions. diff --git a/doc/run.txt b/doc/run.txt index b186b36c69..8568ad401d 100644 --- a/doc/run.txt +++ b/doc/run.txt @@ -63,8 +63,7 @@ performed and you want a "fix"_fix.html command that ramps some value 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 volume/rescale"_fix_volume_rescale.html, "fix -deform"_fix_deform.html, and "fix indent"_fix_indent.html. The +"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. diff --git a/doc/set.html b/doc/set.html index 40a7570c0f..41ea98624f 100644 --- a/doc/set.html +++ b/doc/set.html @@ -13,86 +13,153 @@

    Syntax:

    -
    set ID style value 
    +
    set style ID keyword value ... 
     
    -
    • ID = ID of group or atom -
    • style = atom or bond or angle or dihedral or improper or charge or dipole or type or mol or x or y or z or vx or vy or vz or q -
    • value = value to set selected atom(s) to +
      • style = atom or group or region + +
      • ID = atom ID or group ID or region ID + +
      • one or more keyword/value pairs may be appended to the args + +
      • keyword = type or type/fraction or mol or x or y or z or vx or vy or vz or charge or dipole or dipole/random or quat or quat/random or bond or angle or dihedral or improper + +
          type value = atom type
        +  type/fraction values = type fraction seed
        +    type = new atom type
        +    fraction = fraction of selected atoms to set to new atom type
        +    seed = random # seed (8 digits or less)
        +  mol value = molecule ID
        +  x,y,z value = atom coordinate (distance units)
        +  vx,vy,vz value = velocity component (velocity units)
        +  charge value = atomic charge (charge units)
        +  dipole values = x y z
        +    x,y,z = orientation of dipole moment vector
        +  dipole/random value = seed
        +    seed = random # seed (8 digits or less) for dipole moment orientations
        +  quat values = w i j k
        +    w,i,j,k = quaternion components (see below)
        +  quat/random value = seed
        +    seed = random # seed (8 digits or less) for quaternion orientations
        +  bond value = bond type for all bonds between selected atoms
        +  angle value = angle type for all angles bewteen selected atoms
        +  dihedral value = dihedral type for all dihedrals between selected atoms
        +  improper value = improper type for all impropers between selected atoms 
        +
        +

      Examples:

      -
      set solvent atom 2
      -set edge bond 4
      -set half charge 0.5
      -set 100 x 0.5
      -set 1492 type 3 
      +
      set group solvent type 2
      +set group solvent type/fraction 2 0.5 12393
      +set group edge bond 4
      +set region half charge 0.5
      +set atom 100 x 0.5 vx 1.0
      +set atom 1492 type 3 
       

      Description:

      -

      Set an attribute for a single atom or each atom in a group. The -context depends on the specified style. -

      -

      Styles atom, bond, angle, dihedral, improper, charge, and -dipole set attributes for all atoms in a group, so the specified ID -is a group-ID string. -

      -

      Styles type, mol, x, y, z, vx, vy, vz, and q set the -attribute of a single atom, so the specified ID is an atom-ID number -(1-N). -

      -

      Since atom attributes are assigned by the read_data, +

      Set one or more properties of one or more atoms. Since atom +properties are initially assigned by the read_data, read_restart or create_atoms commands, this command changes those assignments. This can be useful -for altering pairwise and molecular force interactions, since -force-field coefficients are defined in terms of types. It can also -be used to change the labeling of atoms when they are output in -dump files. It can also be useful for debugging purposes; -i.e. positioning an atom at a precise location to compute subsequent -forces or energy. +for overriding the default values assigned by the +create_atoms command (e.g. charge = 0.0). It can +be useful for altering pairwise and molecular force interactions, +since force-field coefficients are defined in terms of types. It can +be used to change the labeling of atoms by atom type when they are +output in dump files. It can be useful for debugging +purposes; i.e. positioning an atom at a precise location to compute +subsequent forces or energy.

      -

      For style atom, the atom type of all atoms in the group is changed -to the specified value from 1 to ntypes. Note that ntypes must be -within the range the simulation was initialized for. The maximum -number of types is set by the create_box command or -the atom types field in the header of the data file read by the -read_data command. +

      The style atom selects a single atom. The style group selects the +entire group of atoms. The style region selects all atoms in the +geometric region. The associated ID for each of these styles is +either the unique atom ID (typically a number from 1 to N = the number +of atoms in the simulation), the group ID, or the region ID. See the +group and region commands for details of +how to specify a group or region.

      -

      For style bond, angle, dihedral, or improper, the bond type -(angle type, etc) of all bonds (angles, etc) of atoms in the group is -changed to the specified value from 1 to nbondtypes (angletypes, etc). -All atoms in the bond (angle, etc) must be in the group in order for -the change to be made. The maximum number of types is set by the -bond types (angle types, etc) field in the header of the data -file. +


      + +

      Keyword type sets the atom type for all selected atoms. The +specified value must be from 1 to ntypes, where ntypes was set by the +create_box command or the atom types field in the +header of the data file read by the read_data +command.

      -

      For style charge, the charge of each atom in the group is set to -the specified value. +

      Keyword type/fraction sets the atom type for a fraction of the +selected atoms. The actual number of atoms changed is not guaranteed +to be exactly the requested fraction, but should be statisticaly +close. Random numbers are used in such a way that a particular atom +is changed or not changed, regardless of how many processors are being +used.

      -

      For style dipole, the specified value is used as a random number -seed. The dipole moment of each atom in the group is set to a random -orientation with a magnitude determined by the dipole -command setting for that atom type. +

      Keyword mol sets the molecule ID for all selected atoms. The atom +style being used must support the use of molecule +IDs.

      -

      For styles type, mol, x, y, z, vx, vy, vz, or q, the -corresponding attribute of a single atom with the specified atom-ID is -set to the specified value. E.g. the last example above, sets the -atom-type of atom 1492 to 3. If "type" were replaced by "q", the -charge on atom 1492 would be set to 3; if it were replaced by "mol", -then then the molecule-ID would be set to 3. The values for x,y,z are -in distance units, the values for vx,vy,vz are in velocity units, and -the value for charge is in charge units, as explained by the -units command. +

      Keywords x, y, z, vx, vy, vz, and charge set the +coordinates, velocity, or charge of all selected atoms. For charge, +the atom style being used must support the use of +atomic charge. +

      +

      Keyword dipole uses the specified x,y,z values as components of a +vector to set as the orientation of the dipole moment vectors of the +selected atoms. The magnitude of the dipole moment for each atom is +set by the dipole command. +

      +

      Keyword dipole/random randomizes the orientation of the dipole +moment vectors of the selected atoms. The magnitude of the dipole +moment for each atom is set by the dipole command. +Random numbers are used in such a way that the orientation of a +particular atom is the same, regardless of how many processors are +being used. +

      +

      Keyword quat uses the specified values as components of a quaternion +(4-vector) to set the orientation of the selected atoms. Note that +the shape command is used to specify the aspect ratios of +an ellipsoidal particle, which is oriented by default with its x-axis +along the simulation box's x-axis, and similarly for y and z. If this +body is rotated (via the right-hand rule) by an angle theta around a +unit vector (a,b,c), then the quaternion that represents its new +orientation is given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), +c*sin(theta/2)). These 4 components are the arguments w,i,j,k to the +quat keyword. LAMMPS normalizes the quaternion in case (a,b,c) was +not a unit vector. +

      +

      Keyword quat/random randomizes the orientation of the quaternion of +the selected atoms. Random numbers are used in such a way that the +orientation of a particular atom is the same, regardless of how many +processors are being used. +

      +

      For the dipole and quat keywords, the atom style +being used must support the use of dipoles or quaternions. +

      +

      Keywords bond, angle, dihedral, and improper, set the bond +type (angle type, etc) of all bonds (angles, etc) of selected atoms to +the specified value from 1 to nbondtypes (nangletypes, etc). All +atoms in a particular bond (angle, etc) must be selected atoms in +order for the change to be made. The value of nbondtype (nangletypes, +etc) was set by the bond types (angle types, etc) field in the +header of the data file read by the read_data +command.

      Restrictions:

      +

      You cannot set an atom attribute (e.g. mol or q) if the +atom_style does not have that attribute. +

      This command requires inter-processor communication to coordinate the setting of bond types (angle types, etc). This means that your system -must be ready to perform a simulation before using this command (force -fields setup, atom masses set, etc). This is not necessary to simply -reset atom types. +must be ready to perform a simulation before using one of these +keywords (force fields set, atom mass set, etc). This is not +necessary for other keywords.

      -

      You cannot set the mol or q for an atom if the -atom_style does not have those attributes. +

      Using the region style with the bond (angle, etc) keywords can give +unpredictable results if there are bonds (angles, etc) that straddle +periodic boundaries. This is because the region may only extend up to +the boundary and partner atoms in the bond (angle, etc) may have +coordinates outside the simulation box if they are ghost atoms.

      Related commands:

      diff --git a/doc/set.txt b/doc/set.txt index 31e4be80c7..6ee2c68f84 100644 --- a/doc/set.txt +++ b/doc/set.txt @@ -10,88 +10,152 @@ set command :h3 [Syntax:] -set ID style value :pre +set style ID keyword value ... :pre -ID = ID of group or atom -style = {atom} or {bond} or {angle} or {dihedral} or {improper} or \ - {charge} or {dipole} or {type} or {mol} or {x} or {y} or {z} or \ - {vx} or {vy} or {vz} or {q} -value = value to set selected atom(s) to :ul +style = {atom} or {group} or {region} :ulb,l +ID = atom ID or group ID or region ID :l +one or more keyword/value pairs may be appended to the args :l +keyword = {type} or {type/fraction} or {mol} or \ + {x} or {y} or {z} or {vx} or {vy} or {vz} or \ + {charge} or {dipole} or {dipole/random} or \ + {quat} or {quat/random} or \ + {bond} or {angle} or {dihedral} or {improper} :l + {type} value = atom type + {type/fraction} values = type fraction seed + type = new atom type + fraction = fraction of selected atoms to set to new atom type + seed = random # seed (8 digits or less) + {mol} value = molecule ID + {x},{y},{z} value = atom coordinate (distance units) + {vx},{vy},{vz} value = velocity component (velocity units) + {charge} value = atomic charge (charge units) + {dipole} values = x y z + x,y,z = orientation of dipole moment vector + {dipole/random} value = seed + seed = random # seed (8 digits or less) for dipole moment orientations + {quat} values = w i j k + w,i,j,k = quaternion components (see below) + {quat/random} value = seed + seed = random # seed (8 digits or less) for quaternion orientations + {bond} value = bond type for all bonds between selected atoms + {angle} value = angle type for all angles bewteen selected atoms + {dihedral} value = dihedral type for all dihedrals between selected atoms + {improper} value = improper type for all impropers between selected atoms :pre +:ule [Examples:] -set solvent atom 2 -set edge bond 4 -set half charge 0.5 -set 100 x 0.5 -set 1492 type 3 :pre +set group solvent type 2 +set group solvent type/fraction 2 0.5 12393 +set group edge bond 4 +set region half charge 0.5 +set atom 100 x 0.5 vx 1.0 +set atom 1492 type 3 :pre [Description:] -Set an attribute for a single atom or each atom in a group. The -context depends on the specified {style}. - -Styles {atom}, {bond}, {angle}, {dihedral}, {improper}, {charge}, and -{dipole} set attributes for all atoms in a group, so the specified ID -is a group-ID string. - -Styles {type}, {mol}, {x}, {y}, {z}, {vx}, {vy}, {vz}, and {q} set the -attribute of a single atom, so the specified ID is an atom-ID number -(1-N). - -Since atom attributes are assigned by the "read_data"_read_data.html, +Set one or more properties of one or more atoms. Since atom +properties are initially assigned by the "read_data"_read_data.html, "read_restart"_read_restart.html or "create_atoms"_create_atoms.html commands, this command changes those assignments. This can be useful -for altering pairwise and molecular force interactions, since -force-field coefficients are defined in terms of types. It can also -be used to change the labeling of atoms when they are output in -"dump"_dump.html files. It can also be useful for debugging purposes; -i.e. positioning an atom at a precise location to compute subsequent -forces or energy. +for overriding the default values assigned by the +"create_atoms"_create_atoms.html command (e.g. charge = 0.0). It can +be useful for altering pairwise and molecular force interactions, +since force-field coefficients are defined in terms of types. It can +be used to change the labeling of atoms by atom type when they are +output in "dump"_dump.html files. It can be useful for debugging +purposes; i.e. positioning an atom at a precise location to compute +subsequent forces or energy. -For style {atom}, the atom type of all atoms in the group is changed -to the specified value from 1 to ntypes. Note that ntypes must be -within the range the simulation was initialized for. The maximum -number of types is set by the "create_box"_create_box.html command or -the {atom types} field in the header of the data file read by the -"read_data"_read_data.html command. +The style {atom} selects a single atom. The style {group} selects the +entire group of atoms. The style {region} selects all atoms in the +geometric region. The associated ID for each of these styles is +either the unique atom ID (typically a number from 1 to N = the number +of atoms in the simulation), the group ID, or the region ID. See the +"group"_group.html and "region"_region.html commands for details of +how to specify a group or region. -For style {bond}, {angle}, {dihedral}, or {improper}, the bond type -(angle type, etc) of all bonds (angles, etc) of atoms in the group is -changed to the specified value from 1 to nbondtypes (angletypes, etc). -All atoms in the bond (angle, etc) must be in the group in order for -the change to be made. The maximum number of types is set by the -{bond types} ({angle types}, etc) field in the header of the data -file. +:line -For style {charge}, the charge of each atom in the group is set to -the specified value. +Keyword {type} sets the atom type for all selected atoms. The +specified value must be from 1 to ntypes, where ntypes was set by the +"create_box"_create_box.html command or the {atom types} field in the +header of the data file read by the "read_data"_read_data.html +command. -For style {dipole}, the specified value is used as a random number -seed. The dipole moment of each atom in the group is set to a random -orientation with a magnitude determined by the "dipole"_dipole.html -command setting for that atom type. +Keyword {type/fraction} sets the atom type for a fraction of the +selected atoms. The actual number of atoms changed is not guaranteed +to be exactly the requested fraction, but should be statisticaly +close. Random numbers are used in such a way that a particular atom +is changed or not changed, regardless of how many processors are being +used. -For styles {type}, {mol}, {x}, {y}, {z}, {vx}, {vy}, {vz}, or {q}, the -corresponding attribute of a single atom with the specified atom-ID is -set to the specified value. E.g. the last example above, sets the -atom-type of atom 1492 to 3. If "type" were replaced by "q", the -charge on atom 1492 would be set to 3; if it were replaced by "mol", -then then the molecule-ID would be set to 3. The values for x,y,z are -in distance units, the values for vx,vy,vz are in velocity units, and -the value for charge is in charge units, as explained by the -"units"_units.html command. +Keyword {mol} sets the molecule ID for all selected atoms. The "atom +style"_atom_style.html being used must support the use of molecule +IDs. + +Keywords {x}, {y}, {z}, {vx}, {vy}, {vz}, and {charge} set the +coordinates, velocity, or charge of all selected atoms. For {charge}, +the "atom style"_atom_style.html being used must support the use of +atomic charge. + +Keyword {dipole} uses the specified x,y,z values as components of a +vector to set as the orientation of the dipole moment vectors of the +selected atoms. The magnitude of the dipole moment for each atom is +set by the "dipole"_dipole.html command. + +Keyword {dipole/random} randomizes the orientation of the dipole +moment vectors of the selected atoms. The magnitude of the dipole +moment for each atom is set by the "dipole"_dipole.html command. +Random numbers are used in such a way that the orientation of a +particular atom is the same, regardless of how many processors are +being used. + +Keyword {quat} uses the specified values as components of a quaternion +(4-vector) to set the orientation of the selected atoms. Note that +the "shape"_shape.html command is used to specify the aspect ratios of +an ellipsoidal particle, which is oriented by default with its x-axis +along the simulation box's x-axis, and similarly for y and z. If this +body is rotated (via the right-hand rule) by an angle theta around a +unit vector (a,b,c), then the quaternion that represents its new +orientation is given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), +c*sin(theta/2)). These 4 components are the arguments w,i,j,k to the +{quat} keyword. LAMMPS normalizes the quaternion in case (a,b,c) was +not a unit vector. + +Keyword {quat/random} randomizes the orientation of the quaternion of +the selected atoms. Random numbers are used in such a way that the +orientation of a particular atom is the same, regardless of how many +processors are being used. + +For the {dipole} and {quat} keywords, the "atom style"_atom_style.html +being used must support the use of dipoles or quaternions. + +Keywords {bond}, {angle}, {dihedral}, and {improper}, set the bond +type (angle type, etc) of all bonds (angles, etc) of selected atoms to +the specified value from 1 to nbondtypes (nangletypes, etc). All +atoms in a particular bond (angle, etc) must be selected atoms in +order for the change to be made. The value of nbondtype (nangletypes, +etc) was set by the {bond types} ({angle types}, etc) field in the +header of the data file read by the "read_data"_read_data.html +command. [Restrictions:] +You cannot set an atom attribute (e.g. {mol} or {q}) if the +"atom_style"_atom_style.html does not have that attribute. + This command requires inter-processor communication to coordinate the setting of bond types (angle types, etc). This means that your system -must be ready to perform a simulation before using this command (force -fields setup, atom masses set, etc). This is not necessary to simply -reset atom types. +must be ready to perform a simulation before using one of these +keywords (force fields set, atom mass set, etc). This is not +necessary for other keywords. -You cannot set the {mol} or {q} for an atom if the -"atom_style"_atom_style.html does not have those attributes. +Using the {region} style with the bond (angle, etc) keywords can give +unpredictable results if there are bonds (angles, etc) that straddle +periodic boundaries. This is because the region may only extend up to +the boundary and partner atoms in the bond (angle, etc) may have +coordinates outside the simulation box if they are ghost atoms. [Related commands:] diff --git a/doc/shape.html b/doc/shape.html index cfc3964f89..b3f34f1a5a 100644 --- a/doc/shape.html +++ b/doc/shape.html @@ -32,7 +32,7 @@ shape 2* 3.0 1.0 1.0 can also be set in the read_data data file. See the units command for what distance units to use.

      -

      Currently, only >atom_style dipole and atom_style +

      Currently, only atom_style dipole and atom_style ellipsoid require that shapes be set.

      Dipoles use the atom shape to compute a moment of inertia for diff --git a/doc/shape.txt b/doc/shape.txt index e17925561d..26437fbe7d 100644 --- a/doc/shape.txt +++ b/doc/shape.txt @@ -29,7 +29,7 @@ Set the shape for all atoms of one or more atom types. Shape values can also be set in the "read_data"_read_data.html data file. See the "units"_units.html command for what distance units to use. -Currently, only "atom_style dipole"_atom_style.html and atom_style +Currently, only "atom_style dipole"_atom_style.html and "atom_style ellipsoid"_atom_style.html require that shapes be set. Dipoles use the atom shape to compute a moment of inertia for @@ -45,14 +45,15 @@ longer in x than in y or z and with a circular cross-section in yz. Ellipsoids that are spherical can be defined by setting all 3 shape components the same. -I can be specified in one of two ways. An explicit numeric value can -be used, as in the 1st example above. Or a wild-card asterik can be -used to set the mass for multiple 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). +The I index can be specified in one of two ways. An explicit numeric +value can be used, as in the 1st example above. Or a wild-card +asterik can be used to set the mass for multiple 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). A line in a data file that specifies shape uses the same format as the arguments of the shape command in an input script, except that no @@ -60,7 +61,7 @@ wild-card asterik can be used. For example, under the "Shapes" section of a data file, the line that corresponds to the 1st example above would be listed as -1 1.0 :pre +1 1.0 1.0 1.0 :pre [Restrictions:] diff --git a/doc/thermo_modify.html b/doc/thermo_modify.html index 9c55f7d4ee..3107dda6c1 100644 --- a/doc/thermo_modify.html +++ b/doc/thermo_modify.html @@ -37,7 +37,7 @@

    Examples:

    -
    thermo_modify lost no flush yes
    +
    thermo_modify lost ignore flush yes
     thermo_modify temp myTemp format 3 %15.8g
     thermo_modify line multi format float %g 
     
    @@ -46,6 +46,13 @@ thermo_modify line multi format float %g

    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 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 command. +

    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. @@ -87,7 +94,7 @@ 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 command and it must be a style of compute that calculates a temperature. As described in -the thermo_style command, thermo output has a +the thermo_style command, thermo output uses a default compute for temperature with ID = thermo_temp. This option allows the user to override the default.

    @@ -97,9 +104,9 @@ pressure ("press", "enthalpy", "pxx etc", "pave"). The specified compute ID must have been previously defined by the user via the compute command and it must be a style of compute that calculates a pressure. As described in the -thermo_style command, thermo output has a default -compute for pressure with ID = thermo_press. This option allows the -user to override the default. +thermo_style 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 diff --git a/doc/thermo_modify.txt b/doc/thermo_modify.txt index 70ef788b90..67e60be88e 100644 --- a/doc/thermo_modify.txt +++ b/doc/thermo_modify.txt @@ -31,7 +31,7 @@ keyword = {lost} or {norm} or {flush} or {line} or {format} or {temp} or {press} [Examples:] -thermo_modify lost no flush yes +thermo_modify lost ignore flush yes thermo_modify temp myTemp format 3 %15.8g thermo_modify line multi format float %g :pre @@ -40,6 +40,13 @@ thermo_modify line multi format float %g :pre 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. + 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. @@ -81,7 +88,7 @@ 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 has a +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. @@ -91,9 +98,9 @@ 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 has a default -compute for pressure with ID = {thermo_press}. This option allows the -user to override the default. +"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 diff --git a/doc/thermo_style.html b/doc/thermo_style.html index 5da445898c..b18cfe9909 100644 --- a/doc/thermo_style.html +++ b/doc/thermo_style.html @@ -108,43 +108,49 @@ 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 +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 +command. +


    Several of the thermodynamic quantities require a temperature to be computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx etc", -"tave", "pave". To do this, a compute of style "temp" is created, as -if this command had been issued: +"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 
     

    See the compute temp command for details. Note -that the ID of the new compute is thermo_temp and the group is -all. You can change the attributes of this temperature (e.g. its +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 command. Alternatively, you can directly assign a new compute (that -calculates temperature) which you have defined, to be used for any -thermodynamic quantity that requires a temperature. This is done via -the thermo_modify command. +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 command.

    Several of the thermodynamic quantities require a pressure to be -computed: "press", "enthalpy", "pxx etc", "pave". To do this, a -compute of style "pressure" is created, as if this command had been -issued: +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_press all pressure thermo_temp 
    +
    compute thermo_pressure all pressure thermo_temp 
     

    See the compute pressure command for details. -Note that the ID of the new compute is thermo_press and the group is +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 command. Alternatively, you can directly assign a new compute (that calculates pressure) which you -have defined, to be used for any thermodynamic quantity that requires -a pressure. This is done via the thermo_modify -command. +have defined, to be used for calculating any thermodynamic quantity +that requires a pressure. This is done via the +thermo_modify command.

    -

    The drot keyword requires a rotational energy to be compute for -dipolar particles. To do this, a compute of style "rotate/dipole" is -created, as if this command had been issued: +

    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 
     
    @@ -158,7 +164,7 @@ directly assign a new compute which you have defined, to be used for 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 compute for +

    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:

    diff --git a/doc/thermo_style.txt b/doc/thermo_style.txt index 7c1fdeecd7..b309594c4f 100644 --- a/doc/thermo_style.txt +++ b/doc/thermo_style.txt @@ -102,43 +102,49 @@ 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. + :line Several of the thermodynamic quantities require a temperature to be computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx etc", -"tave", "pave". To do this, a compute of style "temp" is created, as -if this command had been issued: +"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 the new compute is {thermo_temp} and the group is -{all}. You can change the attributes of this temperature (e.g. its +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 any -thermodynamic quantity that requires a temperature. This is done via -the "thermo_modify"_thermo_modify.html command. +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". To do this, a -compute of style "pressure" is created, as if this command had been -issued: +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_press all pressure thermo_temp :pre +compute thermo_pressure all pressure thermo_temp :pre See the "compute pressure"_compute_pressure.html command for details. -Note that the ID of the new compute is {thermo_press} and the group is +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 any thermodynamic quantity that requires -a pressure. This is done via the "thermo_modify"_thermo_modify.html -command. +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 compute for -dipolar particles. To do this, a compute of style "rotate/dipole" is -created, as if this command had been issued: +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 @@ -152,7 +158,7 @@ directly assign a new compute which you have defined, to be used for 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 compute for +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: diff --git a/doc/units.html b/doc/units.html index 390d177525..70a1e0c508 100644 --- a/doc/units.html +++ b/doc/units.html @@ -45,6 +45,7 @@ uses the thermochemical calorie = 4.184 J.
  • temperature = reduced LJ temperature
  • pressure = reduced LJ pressure
  • charge = reduced LJ charge +
  • dipole = reduced LJ dipole moment
  • electric field = force/charge

    For style real, these are the units: @@ -58,6 +59,7 @@ uses the thermochemical calorie = 4.184 J.

  • temperature = degrees K
  • pressure = atmospheres
  • charge = multiple of electron charge (+1.0 is a proton) +
  • dipole = charge*Angstroms
  • electric field = volts/Angstrom

    For style metal, these are the units: @@ -71,6 +73,7 @@ uses the thermochemical calorie = 4.184 J.

  • temperature = degrees K
  • pressure = bars
  • charge = multiple of electron charge (+1.0 is a proton) +
  • dipole = charge*Angstroms
  • electric field = volts/Angstrom

    This command also sets the timestep size and neighbor skin distance to diff --git a/doc/units.txt b/doc/units.txt index 61bf66e5b9..589e1c88d0 100644 --- a/doc/units.txt +++ b/doc/units.txt @@ -42,6 +42,7 @@ force = epsilon/sigma temperature = reduced LJ temperature pressure = reduced LJ pressure charge = reduced LJ charge +dipole = reduced LJ dipole moment electric field = force/charge :ul For style {real}, these are the units: @@ -55,6 +56,7 @@ force = Kcal/mole-Angstrom temperature = degrees K pressure = atmospheres charge = multiple of electron charge (+1.0 is a proton) +dipole = charge*Angstroms electric field = volts/Angstrom :ul For style {metal}, these are the units: @@ -68,6 +70,7 @@ force = eV/Angstrom temperature = degrees K pressure = bars charge = multiple of electron charge (+1.0 is a proton) +dipole = charge*Angstroms electric field = volts/Angstrom :ul This command also sets the timestep size and neighbor skin distance to diff --git a/doc/variable.html b/doc/variable.html index 59c9a77f1d..6e3234e5cc 100644 --- a/doc/variable.html +++ b/doc/variable.html @@ -290,6 +290,9 @@ style to use a global mapping in order to look up the vector indices. Only atom styles with molecular information create global maps unless the atom_modify map command is used.

    +

    All universe- and uloop-style variables must have the same number +of values. +

    Related commands:

    next, jump, include, diff --git a/doc/variable.txt b/doc/variable.txt index 3459395940..eeb9eab7fd 100644 --- a/doc/variable.txt +++ b/doc/variable.txt @@ -288,6 +288,9 @@ style to use a global mapping in order to look up the vector indices. Only atom styles with molecular information create global maps unless the "atom_modify map"_atom_modify.html command is used. +All {universe}- and {uloop}-style variables must have the same number +of values. + [Related commands:] "next"_next.html, "jump"_jump.html, "include"_include.html,