Compare commits
27 Commits
patch_5Oct
...
patch_6Oct
| Author | SHA1 | Date | |
|---|---|---|---|
| e9fed80928 | |||
| 54fc194e5b | |||
| b3d2fb91bb | |||
| 19984c9bd1 | |||
| f92618a33b | |||
| 0b5d71537a | |||
| c213457550 | |||
| 0f45cd61a5 | |||
| 493873fb93 | |||
| 60a031ebac | |||
| 27e76a70b9 | |||
| e1e9a5c126 | |||
| d31121b18c | |||
| 0853cdbe6f | |||
| 83bcdb6a50 | |||
| 22ce671804 | |||
| 4921dc18a0 | |||
| d133167bf6 | |||
| 8ea063378e | |||
| fd16118cbb | |||
| f9f955d5b5 | |||
| d7d321a512 | |||
| 8809a603fb | |||
| 969d3cf4b0 | |||
| 326fdf2cf1 | |||
| f32819dd10 | |||
| c07a01c661 |
BIN
doc/src/JPG/gran_funnel.png
Normal file
BIN
doc/src/JPG/gran_funnel.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 117 KiB |
BIN
doc/src/JPG/gran_funnel_small.jpg
Normal file
BIN
doc/src/JPG/gran_funnel_small.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
BIN
doc/src/JPG/gran_mixer.png
Normal file
BIN
doc/src/JPG/gran_mixer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 224 KiB |
BIN
doc/src/JPG/gran_mixer_small.jpg
Normal file
BIN
doc/src/JPG/gran_mixer_small.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
@ -1,7 +1,7 @@
|
|||||||
<!-- HTML_ONLY -->
|
<!-- HTML_ONLY -->
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<TITLE>LAMMPS Users Manual</TITLE>
|
<TITLE>LAMMPS Users Manual</TITLE>
|
||||||
<META NAME="docnumber" CONTENT="5 Oct 2016 version">
|
<META NAME="docnumber" CONTENT="6 Oct 2016 version">
|
||||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||||
</HEAD>
|
</HEAD>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
<H1></H1>
|
<H1></H1>
|
||||||
|
|
||||||
LAMMPS Documentation :c,h3
|
LAMMPS Documentation :c,h3
|
||||||
5 Oct 2016 version :c,h4
|
6 Oct 2016 version :c,h4
|
||||||
|
|
||||||
Version info: :h4
|
Version info: :h4
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ it gives quick access to documentation for all LAMMPS commands.
|
|||||||
:caption: User Documentation
|
:caption: User Documentation
|
||||||
:name: userdoc
|
:name: userdoc
|
||||||
:includehidden:
|
:includehidden:
|
||||||
|
|
||||||
Section_intro
|
Section_intro
|
||||||
Section_start
|
Section_start
|
||||||
Section_commands
|
Section_commands
|
||||||
@ -144,7 +144,7 @@ Indices and tables
|
|||||||
|
|
||||||
* :ref:`genindex`
|
* :ref:`genindex`
|
||||||
* :ref:`search`
|
* :ref:`search`
|
||||||
|
|
||||||
END_RST -->
|
END_RST -->
|
||||||
|
|
||||||
<!-- HTML_ONLY -->
|
<!-- HTML_ONLY -->
|
||||||
|
|||||||
@ -117,7 +117,7 @@ PPPM. However, 2-FFT PPPM also requires a slightly larger mesh size to
|
|||||||
achieve the same accuracy as 4-FFT PPPM. For problems where the FFT
|
achieve the same accuracy as 4-FFT PPPM. For problems where the FFT
|
||||||
cost is the performance bottleneck (typically large problems running
|
cost is the performance bottleneck (typically large problems running
|
||||||
on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM.
|
on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM.
|
||||||
|
|
||||||
Staggered PPPM performs calculations using two different meshes, one
|
Staggered PPPM performs calculations using two different meshes, one
|
||||||
shifted slightly with respect to the other. This can reduce force
|
shifted slightly with respect to the other. This can reduce force
|
||||||
aliasing errors and increase the accuracy of the method, but also
|
aliasing errors and increase the accuracy of the method, but also
|
||||||
|
|||||||
@ -37,14 +37,14 @@ simulation with all the settings. Rather, the input script is read
|
|||||||
one line at a time and each command takes effect when it is read.
|
one line at a time and each command takes effect when it is read.
|
||||||
Thus this sequence of commands:
|
Thus this sequence of commands:
|
||||||
|
|
||||||
timestep 0.5
|
timestep 0.5
|
||||||
run 100
|
run 100
|
||||||
run 100 :pre
|
run 100 :pre
|
||||||
|
|
||||||
does something different than this sequence:
|
does something different than this sequence:
|
||||||
|
|
||||||
run 100
|
run 100
|
||||||
timestep 0.5
|
timestep 0.5
|
||||||
run 100 :pre
|
run 100 :pre
|
||||||
|
|
||||||
In the first case, the specified timestep (0.5 fmsec) is used for two
|
In the first case, the specified timestep (0.5 fmsec) is used for two
|
||||||
@ -97,7 +97,7 @@ single leading "#" will comment out the entire command.
|
|||||||
|
|
||||||
(3) The line is searched repeatedly for $ characters, which indicate
|
(3) The line is searched repeatedly for $ characters, which indicate
|
||||||
variables that are replaced with a text string. See an exception in
|
variables that are replaced with a text string. See an exception in
|
||||||
(6).
|
(6).
|
||||||
|
|
||||||
If the $ is followed by curly brackets, then the variable name is the
|
If the $ is followed by curly brackets, then the variable name is the
|
||||||
text inside the curly brackets. If no curly brackets follow the $,
|
text inside the curly brackets. If no curly brackets follow the $,
|
||||||
@ -123,7 +123,7 @@ variable X equal (xlo+xhi)/2+sqrt(v_area)
|
|||||||
region 1 block $X 2 INF INF EDGE EDGE
|
region 1 block $X 2 INF INF EDGE EDGE
|
||||||
variable X delete :pre
|
variable X delete :pre
|
||||||
|
|
||||||
can be replaced by
|
can be replaced by
|
||||||
|
|
||||||
region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE :pre
|
region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE :pre
|
||||||
|
|
||||||
@ -599,6 +599,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
|||||||
"viscous"_fix_viscous.html,
|
"viscous"_fix_viscous.html,
|
||||||
"wall/colloid"_fix_wall.html,
|
"wall/colloid"_fix_wall.html,
|
||||||
"wall/gran"_fix_wall_gran.html,
|
"wall/gran"_fix_wall_gran.html,
|
||||||
|
"wall/gran/region"_fix_wall_gran_region.html,
|
||||||
"wall/harmonic"_fix_wall.html,
|
"wall/harmonic"_fix_wall.html,
|
||||||
"wall/lj1043"_fix_wall.html,
|
"wall/lj1043"_fix_wall.html,
|
||||||
"wall/lj126"_fix_wall.html,
|
"wall/lj126"_fix_wall.html,
|
||||||
|
|||||||
@ -159,7 +159,7 @@ As a last resort, you can send an email directly to the
|
|||||||
These are two alphabetic lists of the "ERROR"_#error and
|
These are two alphabetic lists of the "ERROR"_#error and
|
||||||
"WARNING"_#warn messages LAMMPS prints out and the reason why. If the
|
"WARNING"_#warn messages LAMMPS prints out and the reason why. If the
|
||||||
explanation here is not sufficient, the documentation for the
|
explanation here is not sufficient, the documentation for the
|
||||||
offending command may help.
|
offending command may help.
|
||||||
Error and warning messages also list the source file and line number
|
Error and warning messages also list the source file and line number
|
||||||
where the error was generated. For example, this message
|
where the error was generated. For example, this message
|
||||||
|
|
||||||
|
|||||||
@ -54,30 +54,30 @@ accelerate: run with various acceleration options (OpenMP, GPU, Phi)
|
|||||||
balance: dynamic load balancing, 2d system
|
balance: dynamic load balancing, 2d system
|
||||||
body: body particles, 2d system
|
body: body particles, 2d system
|
||||||
colloid: big colloid particles in a small particle solvent, 2d system
|
colloid: big colloid particles in a small particle solvent, 2d system
|
||||||
comb: models using the COMB potential
|
comb: models using the COMB potential
|
||||||
coreshell: core/shell model using CORESHELL package
|
coreshell: core/shell model using CORESHELL package
|
||||||
crack: crack propagation in a 2d solid
|
crack: crack propagation in a 2d solid
|
||||||
deposit: deposit atoms and molecules on a surface
|
deposit: deposit atoms and molecules on a surface
|
||||||
dipole: point dipolar particles, 2d system
|
dipole: point dipolar particles, 2d system
|
||||||
dreiding: methanol via Dreiding FF
|
dreiding: methanol via Dreiding FF
|
||||||
eim: NaCl using the EIM potential
|
eim: NaCl using the EIM potential
|
||||||
ellipse: ellipsoidal particles in spherical solvent, 2d system
|
ellipse: ellipsoidal particles in spherical solvent, 2d system
|
||||||
flow: Couette and Poiseuille flow in a 2d channel
|
flow: Couette and Poiseuille flow in a 2d channel
|
||||||
friction: frictional contact of spherical asperities between 2d surfaces
|
friction: frictional contact of spherical asperities between 2d surfaces
|
||||||
hugoniostat: Hugoniostat shock dynamics
|
hugoniostat: Hugoniostat shock dynamics
|
||||||
indent: spherical indenter into a 2d solid
|
indent: spherical indenter into a 2d solid
|
||||||
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
|
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
|
||||||
meam: MEAM test for SiC and shear (same as shear examples)
|
meam: MEAM test for SiC and shear (same as shear examples)
|
||||||
melt: rapid melt of 3d LJ system
|
melt: rapid melt of 3d LJ system
|
||||||
micelle: self-assembly of small lipid-like molecules into 2d bilayers
|
micelle: self-assembly of small lipid-like molecules into 2d bilayers
|
||||||
min: energy minimization of 2d LJ melt
|
min: energy minimization of 2d LJ melt
|
||||||
msst: MSST shock dynamics
|
msst: MSST shock dynamics
|
||||||
nb3b: use of nonbonded 3-body harmonic pair style
|
nb3b: use of nonbonded 3-body harmonic pair style
|
||||||
neb: nudged elastic band (NEB) calculation for barrier finding
|
neb: nudged elastic band (NEB) calculation for barrier finding
|
||||||
nemd: non-equilibrium MD of 2d sheared system
|
nemd: non-equilibrium MD of 2d sheared system
|
||||||
obstacle: flow around two voids in a 2d channel
|
obstacle: flow around two voids in a 2d channel
|
||||||
peptide: dynamics of a small solvated peptide chain (5-mer)
|
peptide: dynamics of a small solvated peptide chain (5-mer)
|
||||||
peri: Peridynamic model of cylinder impacted by indenter
|
peri: Peridynamic model of cylinder impacted by indenter
|
||||||
pour: pouring of granular particles into a 3d box, then chute flow
|
pour: pouring of granular particles into a 3d box, then chute flow
|
||||||
prd: parallel replica dynamics of vacancy diffusion in bulk Si
|
prd: parallel replica dynamics of vacancy diffusion in bulk Si
|
||||||
python: using embedded Python in a LAMMPS input script
|
python: using embedded Python in a LAMMPS input script
|
||||||
@ -120,7 +120,7 @@ browser.
|
|||||||
Uppercase directories :h4
|
Uppercase directories :h4
|
||||||
|
|
||||||
ASPHERE: various aspherical particle models, using ellipsoids, rigid bodies, line/triangle particles, etc
|
ASPHERE: various aspherical particle models, using ellipsoids, rigid bodies, line/triangle particles, etc
|
||||||
COUPLE: examples of how to use LAMMPS as a library
|
COUPLE: examples of how to use LAMMPS as a library
|
||||||
DIFFUSE: compute diffusion coefficients via several methods
|
DIFFUSE: compute diffusion coefficients via several methods
|
||||||
ELASTIC: compute elastic constants at zero temperature
|
ELASTIC: compute elastic constants at zero temperature
|
||||||
ELASTIC_T: compute elastic constants at finite temperature
|
ELASTIC_T: compute elastic constants at finite temperature
|
||||||
|
|||||||
@ -37,7 +37,7 @@ pitfalls or alternatives.
|
|||||||
|
|
||||||
Please see some of the closed issues for examples of how to
|
Please see some of the closed issues for examples of how to
|
||||||
suggest code enhancements, submit proposed changes, or report
|
suggest code enhancements, submit proposed changes, or report
|
||||||
elated issues and how they are resoved.
|
possible bugs and how they are resoved.
|
||||||
|
|
||||||
As an alternative to using GitHub, you may e-mail the
|
As an alternative to using GitHub, you may e-mail the
|
||||||
"core developers"_http://lammps.sandia.gov/authors.html or send
|
"core developers"_http://lammps.sandia.gov/authors.html or send
|
||||||
@ -71,7 +71,7 @@ a parallel framework similar to LAMMPS. Most notably, these have
|
|||||||
included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF -
|
included many-body potentials - Stillinger-Weber, Tersoff, ReaxFF -
|
||||||
and the associated charge-equilibration routines needed for ReaxFF.
|
and the associated charge-equilibration routines needed for ReaxFF.
|
||||||
|
|
||||||
The "History link"_http://lammps.sandia.gov/history.html on the
|
The "History link"_http://lammps.sandia.gov/history.html on the
|
||||||
LAMMPS WWW page gives a timeline of features added to the
|
LAMMPS WWW page gives a timeline of features added to the
|
||||||
C++ open-source version of LAMMPS over the last several years.
|
C++ open-source version of LAMMPS over the last several years.
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ site"_lws, except for Warp & GranFlow which were primarily used
|
|||||||
internally. A brief listing of their features is given here.
|
internally. A brief listing of their features is given here.
|
||||||
|
|
||||||
LAMMPS 2001
|
LAMMPS 2001
|
||||||
|
|
||||||
F90 + MPI
|
F90 + MPI
|
||||||
dynamic memory
|
dynamic memory
|
||||||
spatial-decomposition parallelism
|
spatial-decomposition parallelism
|
||||||
@ -96,7 +96,7 @@ LAMMPS 2001
|
|||||||
user-defined diagnostics :ul
|
user-defined diagnostics :ul
|
||||||
|
|
||||||
LAMMPS 99
|
LAMMPS 99
|
||||||
|
|
||||||
F77 + MPI
|
F77 + MPI
|
||||||
static memory allocation
|
static memory allocation
|
||||||
spatial-decomposition parallelism
|
spatial-decomposition parallelism
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
:link(ld,Manual.html)
|
:link(ld,Manual.html)
|
||||||
:link(lc,Section_commands.html#comm)
|
:link(lc,Section_commands.html#comm)
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
6. How-to discussions :h3
|
6. How-to discussions :h3
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ Look at the {in.chain} input script provided in the {bench} directory
|
|||||||
of the LAMMPS distribution to see the original script that these 2
|
of the LAMMPS distribution to see the original script that these 2
|
||||||
scripts are based on. If that script had the line
|
scripts are based on. If that script had the line
|
||||||
|
|
||||||
restart 50 tmp.restart :pre
|
restart 50 tmp.restart :pre
|
||||||
|
|
||||||
added to it, it would produce 2 binary restart files (tmp.restart.50
|
added to it, it would produce 2 binary restart files (tmp.restart.50
|
||||||
and tmp.restart.100) as it ran.
|
and tmp.restart.100) as it ran.
|
||||||
@ -76,17 +76,17 @@ and tmp.restart.100) as it ran.
|
|||||||
This script could be used to read the 1st restart file and re-run the
|
This script could be used to read the 1st restart file and re-run the
|
||||||
last 50 timesteps:
|
last 50 timesteps:
|
||||||
|
|
||||||
read_restart tmp.restart.50 :pre
|
read_restart tmp.restart.50 :pre
|
||||||
|
|
||||||
neighbor 0.4 bin
|
neighbor 0.4 bin
|
||||||
neigh_modify every 1 delay 1 :pre
|
neigh_modify every 1 delay 1 :pre
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
fix 2 all langevin 1.0 1.0 10.0 904297 :pre
|
fix 2 all langevin 1.0 1.0 10.0 904297 :pre
|
||||||
|
|
||||||
timestep 0.012 :pre
|
timestep 0.012 :pre
|
||||||
|
|
||||||
run 50 :pre
|
run 50 :pre
|
||||||
|
|
||||||
Note that the following commands do not need to be repeated because
|
Note that the following commands do not need to be repeated because
|
||||||
their settings are included in the restart file: {units, atom_style,
|
their settings are included in the restart file: {units, atom_style,
|
||||||
@ -107,25 +107,25 @@ lmp_g++ -r tmp.restart.50 tmp.restart.data :pre
|
|||||||
|
|
||||||
Then, this script could be used to re-run the last 50 steps:
|
Then, this script could be used to re-run the last 50 steps:
|
||||||
|
|
||||||
units lj
|
units lj
|
||||||
atom_style bond
|
atom_style bond
|
||||||
pair_style lj/cut 1.12
|
pair_style lj/cut 1.12
|
||||||
pair_modify shift yes
|
pair_modify shift yes
|
||||||
bond_style fene
|
bond_style fene
|
||||||
special_bonds 0.0 1.0 1.0 :pre
|
special_bonds 0.0 1.0 1.0 :pre
|
||||||
|
|
||||||
read_data tmp.restart.data :pre
|
read_data tmp.restart.data :pre
|
||||||
|
|
||||||
neighbor 0.4 bin
|
neighbor 0.4 bin
|
||||||
neigh_modify every 1 delay 1 :pre
|
neigh_modify every 1 delay 1 :pre
|
||||||
|
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
fix 2 all langevin 1.0 1.0 10.0 904297 :pre
|
fix 2 all langevin 1.0 1.0 10.0 904297 :pre
|
||||||
|
|
||||||
timestep 0.012 :pre
|
timestep 0.012 :pre
|
||||||
|
|
||||||
reset_timestep 50
|
reset_timestep 50
|
||||||
run 50 :pre
|
run 50 :pre
|
||||||
|
|
||||||
Note that nearly all the settings specified in the original {in.chain}
|
Note that nearly all the settings specified in the original {in.chain}
|
||||||
script must be repeated, except the {pair_coeff} and {bond_coeff}
|
script must be repeated, except the {pair_coeff} and {bond_coeff}
|
||||||
@ -522,7 +522,7 @@ H mass = 1.008
|
|||||||
O charge = -1.040
|
O charge = -1.040
|
||||||
H charge = 0.520
|
H charge = 0.520
|
||||||
r0 of OH bond = 0.9572
|
r0 of OH bond = 0.9572
|
||||||
theta of HOH angle = 104.52
|
theta of HOH angle = 104.52
|
||||||
OM distance = 0.15
|
OM distance = 0.15
|
||||||
LJ epsilon of O-O = 0.1550
|
LJ epsilon of O-O = 0.1550
|
||||||
LJ sigma of O-O = 3.1536
|
LJ sigma of O-O = 3.1536
|
||||||
@ -629,7 +629,7 @@ the SPC and SPC/E models.
|
|||||||
Wikipedia also has a nice article on "water
|
Wikipedia also has a nice article on "water
|
||||||
models"_http://en.wikipedia.org/wiki/Water_model.
|
models"_http://en.wikipedia.org/wiki/Water_model.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
6.10 Coupling LAMMPS to other codes :link(howto_10),h4
|
6.10 Coupling LAMMPS to other codes :link(howto_10),h4
|
||||||
|
|
||||||
@ -729,7 +729,7 @@ LAMMPS and half to the other code and run both codes simultaneously
|
|||||||
before syncing them up periodically. Or it might instantiate multiple
|
before syncing them up periodically. Or it might instantiate multiple
|
||||||
instances of LAMMPS to perform different calculations.
|
instances of LAMMPS to perform different calculations.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
6.11 Visualizing LAMMPS snapshots :link(howto_11),h4
|
6.11 Visualizing LAMMPS snapshots :link(howto_11),h4
|
||||||
|
|
||||||
@ -832,7 +832,7 @@ rotation of [A], [B], and [C] and can be computed as follows:
|
|||||||
|
|
||||||
where A = | [A] | indicates the scalar length of [A]. The hat symbol (^)
|
where A = | [A] | indicates the scalar length of [A]. The hat symbol (^)
|
||||||
indicates the corresponding unit vector. {beta} and {gamma} are angles
|
indicates the corresponding unit vector. {beta} and {gamma} are angles
|
||||||
between the vectors described below. Note that by construction,
|
between the vectors described below. Note that by construction,
|
||||||
[a], [b], and [c] have strictly positive x, y, and z components, respectively.
|
[a], [b], and [c] have strictly positive x, y, and z components, respectively.
|
||||||
If it should happen that
|
If it should happen that
|
||||||
[A], [B], and [C] form a left-handed basis, then the above equations
|
[A], [B], and [C] form a left-handed basis, then the above equations
|
||||||
@ -841,17 +841,17 @@ to first apply an inversion. This can be achieved
|
|||||||
by interchanging two basis vectors or by changing the sign of one of them.
|
by interchanging two basis vectors or by changing the sign of one of them.
|
||||||
|
|
||||||
For consistency, the same rotation/inversion applied to the basis vectors
|
For consistency, the same rotation/inversion applied to the basis vectors
|
||||||
must also be applied to atom positions, velocities,
|
must also be applied to atom positions, velocities,
|
||||||
and any other vector quantities.
|
and any other vector quantities.
|
||||||
This can be conveniently achieved by first converting to
|
This can be conveniently achieved by first converting to
|
||||||
fractional coordinates in the
|
fractional coordinates in the
|
||||||
old basis and then converting to distance coordinates in the new basis.
|
old basis and then converting to distance coordinates in the new basis.
|
||||||
The transformation is given by the following equation:
|
The transformation is given by the following equation:
|
||||||
|
|
||||||
:c,image(Eqs/rotate.jpg)
|
:c,image(Eqs/rotate.jpg)
|
||||||
|
|
||||||
where {V} is the volume of the box, [X] is the original vector quantity and
|
where {V} is the volume of the box, [X] is the original vector quantity and
|
||||||
[x] is the vector in the LAMMPS basis.
|
[x] is the vector in the LAMMPS basis.
|
||||||
|
|
||||||
There is no requirement that a triclinic box be periodic in any
|
There is no requirement that a triclinic box be periodic in any
|
||||||
dimension, though it typically should be in at least the 2nd dimension
|
dimension, though it typically should be in at least the 2nd dimension
|
||||||
@ -938,17 +938,17 @@ defined above. The relationship between these 6 quantities
|
|||||||
(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) =
|
(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) =
|
||||||
(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:
|
(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:
|
||||||
|
|
||||||
:c,image(Eqs/box.jpg)
|
:c,image(Eqs/box.jpg)
|
||||||
|
|
||||||
The inverse relationship can be written as follows:
|
The inverse relationship can be written as follows:
|
||||||
|
|
||||||
:c,image(Eqs/box_inverse.jpg)
|
:c,image(Eqs/box_inverse.jpg)
|
||||||
|
|
||||||
The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed
|
The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed
|
||||||
out or accessed by computes using the
|
out or accessed by computes using the
|
||||||
"thermo_style custom"_thermo_style.html keywords
|
"thermo_style custom"_thermo_style.html keywords
|
||||||
{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma},
|
{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma},
|
||||||
respectively.
|
respectively.
|
||||||
|
|
||||||
As discussed on the "dump"_dump.html command doc page, when the BOX
|
As discussed on the "dump"_dump.html command doc page, when the BOX
|
||||||
BOUNDS for a snapshot is written to a dump file for a triclinic box,
|
BOUNDS for a snapshot is written to a dump file for a triclinic box,
|
||||||
@ -2092,11 +2092,11 @@ lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
|
|||||||
region box block 0 4 0 4 0 4
|
region box block 0 4 0 4 0 4
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass 1 39.948
|
mass 1 39.948
|
||||||
pair_style lj/cut 13.0
|
pair_style lj/cut 13.0
|
||||||
pair_coeff * * 0.2381 3.405
|
pair_coeff * * 0.2381 3.405
|
||||||
timestep $\{dt\}
|
timestep $\{dt\}
|
||||||
thermo $d :pre
|
thermo $d :pre
|
||||||
|
|
||||||
# equilibration and thermalization :pre
|
# equilibration and thermalization :pre
|
||||||
|
|
||||||
@ -2130,7 +2130,7 @@ but uses the Einstein formulation, analogous to the Einstein
|
|||||||
mean-square-displacement formulation for self-diffusivity. The
|
mean-square-displacement formulation for self-diffusivity. The
|
||||||
time-integrated momentum fluxes play the role of Cartesian
|
time-integrated momentum fluxes play the role of Cartesian
|
||||||
coordinates, whose mean-square displacement increases linearly
|
coordinates, whose mean-square displacement increases linearly
|
||||||
with time at sufficiently long times.
|
with time at sufficiently long times.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
@ -2510,8 +2510,8 @@ the electrostatic environment inducing polarizability.
|
|||||||
Technically, shells are attached to the cores by a spring force f =
|
Technically, shells are attached to the cores by a spring force f =
|
||||||
k*r where k is a parametrized spring constant and r is the distance
|
k*r where k is a parametrized spring constant and r is the distance
|
||||||
between the core and the shell. The charges of the core and the shell
|
between the core and the shell. The charges of the core and the shell
|
||||||
add up to the ion charge, thus q(ion) = q(core) + q(shell). This
|
add up to the ion charge, thus q(ion) = q(core) + q(shell). This
|
||||||
setup introduces the ion polarizability (alpha) given by
|
setup introduces the ion polarizability (alpha) given by
|
||||||
alpha = q(shell)^2 / k. In a
|
alpha = q(shell)^2 / k. In a
|
||||||
similar fashion the mass of the ion is distributed on the core and the
|
similar fashion the mass of the ion is distributed on the core and the
|
||||||
shell with the core having the larger mass.
|
shell with the core having the larger mass.
|
||||||
@ -2526,7 +2526,7 @@ for NaCl, as found in examples/coreshell, has this format:
|
|||||||
432 atoms # core and shell atoms
|
432 atoms # core and shell atoms
|
||||||
216 bonds # number of core/shell springs :pre
|
216 bonds # number of core/shell springs :pre
|
||||||
|
|
||||||
4 atom types # 2 cores and 2 shells for Na and Cl
|
4 atom types # 2 cores and 2 shells for Na and Cl
|
||||||
2 bond types :pre
|
2 bond types :pre
|
||||||
|
|
||||||
0.0 24.09597 xlo xhi
|
0.0 24.09597 xlo xhi
|
||||||
@ -2545,19 +2545,19 @@ Atoms :pre
|
|||||||
1 1 2 1.5005 0.00000000 0.00000000 0.00000000 # core of core/shell pair 1
|
1 1 2 1.5005 0.00000000 0.00000000 0.00000000 # core of core/shell pair 1
|
||||||
2 1 4 -2.5005 0.00000000 0.00000000 0.00000000 # shell of core/shell pair 1
|
2 1 4 -2.5005 0.00000000 0.00000000 0.00000000 # shell of core/shell pair 1
|
||||||
3 2 1 1.5056 4.01599500 4.01599500 4.01599500 # core of core/shell pair 2
|
3 2 1 1.5056 4.01599500 4.01599500 4.01599500 # core of core/shell pair 2
|
||||||
4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2
|
4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2
|
||||||
(...) :pre
|
(...) :pre
|
||||||
|
|
||||||
Bonds # Bond topology for spring forces :pre
|
Bonds # Bond topology for spring forces :pre
|
||||||
|
|
||||||
1 2 1 2 # spring for core/shell pair 1
|
1 2 1 2 # spring for core/shell pair 1
|
||||||
2 2 3 4 # spring for core/shell pair 2
|
2 2 3 4 # spring for core/shell pair 2
|
||||||
(...) :pre
|
(...) :pre
|
||||||
|
|
||||||
Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only
|
Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only
|
||||||
defined between the shells. Coulombic interactions are defined
|
defined between the shells. Coulombic interactions are defined
|
||||||
between all cores and shells. If desired, additional bonds can be
|
between all cores and shells. If desired, additional bonds can be
|
||||||
specified between cores.
|
specified between cores.
|
||||||
|
|
||||||
The "special_bonds"_special_bonds.html command should be used to
|
The "special_bonds"_special_bonds.html command should be used to
|
||||||
turn-off the Coulombic interaction within core/shell pairs, since that
|
turn-off the Coulombic interaction within core/shell pairs, since that
|
||||||
@ -2620,7 +2620,7 @@ Note that to perform thermostatting using this definition of
|
|||||||
temperature, the "fix modify temp"_fix_modify.html command should be
|
temperature, the "fix modify temp"_fix_modify.html command should be
|
||||||
used to assign the compute to the thermostat fix. Likewise the
|
used to assign the compute to the thermostat fix. Likewise the
|
||||||
"thermo_modify temp"_thermo_modify.html command can be used to make
|
"thermo_modify temp"_thermo_modify.html command can be used to make
|
||||||
this temperature be output for the overall system.
|
this temperature be output for the overall system.
|
||||||
|
|
||||||
For the NaCl example, this can be done as follows:
|
For the NaCl example, this can be done as follows:
|
||||||
|
|
||||||
@ -2632,13 +2632,13 @@ fix thermostatequ all nve # integrator as needed f
|
|||||||
fix_modify thermoberendsen temp CSequ
|
fix_modify thermoberendsen temp CSequ
|
||||||
thermo_modify temp CSequ # output of center-of-mass derived temperature :pre
|
thermo_modify temp CSequ # output of center-of-mass derived temperature :pre
|
||||||
|
|
||||||
If "compute temp/cs"_compute_temp_cs.html is used, the decoupled
|
If "compute temp/cs"_compute_temp_cs.html is used, the decoupled
|
||||||
relative motion of the core and the shell should in theory be
|
relative motion of the core and the shell should in theory be
|
||||||
stable. However numerical fluctuation can introduce a small
|
stable. However numerical fluctuation can introduce a small
|
||||||
momentum to the system, which is noticable over long trajectories.
|
momentum to the system, which is noticable over long trajectories.
|
||||||
Therefore it is recomendable to use the "fix
|
Therefore it is recomendable to use the "fix
|
||||||
momentum"_fix_momentum.html command in combination with "compute
|
momentum"_fix_momentum.html command in combination with "compute
|
||||||
temp/cs"_compute_temp_cs.html when equilibrating the system to
|
temp/cs"_compute_temp_cs.html when equilibrating the system to
|
||||||
prevent any drift.
|
prevent any drift.
|
||||||
|
|
||||||
When intializing the velocities of a system with core/shell pairs, it
|
When intializing the velocities of a system with core/shell pairs, it
|
||||||
@ -2661,17 +2661,17 @@ to the electrostatic environment. This fast movement also limits the
|
|||||||
timestep size that can be used.
|
timestep size that can be used.
|
||||||
|
|
||||||
The primary literature of the adiabatic core/shell model suggests that
|
The primary literature of the adiabatic core/shell model suggests that
|
||||||
the fast relative motion of the core/shell pairs only allows negligible
|
the fast relative motion of the core/shell pairs only allows negligible
|
||||||
energy transfer to the environment. Therefore it is not intended to
|
energy transfer to the environment. Therefore it is not intended to
|
||||||
decouple the core/shell degree of freedom from the physical system
|
decouple the core/shell degree of freedom from the physical system
|
||||||
during production runs. In other words, the "compute
|
during production runs. In other words, the "compute
|
||||||
temp/cs"_compute_temp_cs.html command should not be used during
|
temp/cs"_compute_temp_cs.html command should not be used during
|
||||||
production runs and is only required during equilibration. This way one
|
production runs and is only required during equilibration. This way one
|
||||||
is consistent with literature (based on the code packages DL_POLY or
|
is consistent with literature (based on the code packages DL_POLY or
|
||||||
GULP for instance).
|
GULP for instance).
|
||||||
|
|
||||||
The mentioned energy transfer will typically lead to a a small drift
|
The mentioned energy transfer will typically lead to a a small drift
|
||||||
in total energy over time. This internal energy can be monitored
|
in total energy over time. This internal energy can be monitored
|
||||||
using the "compute chunk/atom"_compute_chunk_atom.html and "compute
|
using the "compute chunk/atom"_compute_chunk_atom.html and "compute
|
||||||
temp/chunk"_compute_temp_chunk.html commands. The internal kinetic
|
temp/chunk"_compute_temp_chunk.html commands. The internal kinetic
|
||||||
energies of each core/shell pair can then be summed using the sum()
|
energies of each core/shell pair can then be summed using the sum()
|
||||||
@ -2702,14 +2702,14 @@ The additional section in the date file would be formatted like this:
|
|||||||
|
|
||||||
CS-Info # header of additional section :pre
|
CS-Info # header of additional section :pre
|
||||||
|
|
||||||
1 1 # column 1 = atom ID, column 2 = core/shell ID
|
1 1 # column 1 = atom ID, column 2 = core/shell ID
|
||||||
2 1
|
2 1
|
||||||
3 2
|
3 2
|
||||||
4 2
|
4 2
|
||||||
5 3
|
5 3
|
||||||
6 3
|
6 3
|
||||||
7 4
|
7 4
|
||||||
8 4
|
8 4
|
||||||
(...) :pre
|
(...) :pre
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|||||||
@ -181,7 +181,7 @@ Atom creation :h5
|
|||||||
displace atoms :ul
|
displace atoms :ul
|
||||||
|
|
||||||
Ensembles, constraints, and boundary conditions :h5
|
Ensembles, constraints, and boundary conditions :h5
|
||||||
("fix"_fix.html command)
|
("fix"_fix.html command)
|
||||||
|
|
||||||
2d or 3d systems
|
2d or 3d systems
|
||||||
orthogonal or non-orthogonal (triclinic symmetry) simulation domains
|
orthogonal or non-orthogonal (triclinic symmetry) simulation domains
|
||||||
@ -199,7 +199,7 @@ Ensembles, constraints, and boundary conditions :h5
|
|||||||
variety of additional boundary conditions and constraints :ul
|
variety of additional boundary conditions and constraints :ul
|
||||||
|
|
||||||
Integrators :h5
|
Integrators :h5
|
||||||
("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands)
|
("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands)
|
||||||
|
|
||||||
velocity-Verlet integrator
|
velocity-Verlet integrator
|
||||||
Brownian dynamics
|
Brownian dynamics
|
||||||
@ -213,7 +213,7 @@ Diagnostics :h5
|
|||||||
see the various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul
|
see the various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul
|
||||||
|
|
||||||
Output :h5
|
Output :h5
|
||||||
("dump"_dump.html, "restart"_restart.html commands)
|
("dump"_dump.html, "restart"_restart.html commands)
|
||||||
|
|
||||||
log file of thermodynamic info
|
log file of thermodynamic info
|
||||||
text dump files of atom coords, velocities, other per-atom quantities
|
text dump files of atom coords, velocities, other per-atom quantities
|
||||||
|
|||||||
@ -182,7 +182,7 @@ Supporting info: "atom_style body"_atom_style.html, "body"_body.html,
|
|||||||
"pair_style body"_pair_body.html, examples/body
|
"pair_style body"_pair_body.html, examples/body
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
CLASS2 package :link(CLASS2),h5
|
CLASS2 package :link(CLASS2),h5
|
||||||
|
|
||||||
Contents: Bond, angle, dihedral, improper, and pair styles for the
|
Contents: Bond, angle, dihedral, improper, and pair styles for the
|
||||||
@ -206,9 +206,9 @@ Supporting info: "bond_style class2"_bond_class2.html, "angle_style
|
|||||||
class2"_angle_class2.html, "dihedral_style
|
class2"_angle_class2.html, "dihedral_style
|
||||||
class2"_dihedral_class2.html, "improper_style
|
class2"_dihedral_class2.html, "improper_style
|
||||||
class2"_improper_class2.html, "pair_style lj/class2"_pair_class2.html
|
class2"_improper_class2.html, "pair_style lj/class2"_pair_class2.html
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
COLLOID package :link(COLLOID),h5
|
COLLOID package :link(COLLOID),h5
|
||||||
|
|
||||||
Contents: Support for coarse-grained colloidal particles. Wall fix
|
Contents: Support for coarse-grained colloidal particles. Wall fix
|
||||||
@ -239,9 +239,9 @@ lubricate"_pair_lubricate.html, "pair_style
|
|||||||
lubricateU"_pair_lubricateU.html, examples/colloid, examples/srd
|
lubricateU"_pair_lubricateU.html, examples/colloid, examples/srd
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
COMPRESS package :link(COMPRESS),h5
|
COMPRESS package :link(COMPRESS),h5
|
||||||
|
|
||||||
Contents: Support for compressed output of dump files via the zlib
|
Contents: Support for compressed output of dump files via the zlib
|
||||||
compression library, using dump styles with a "gz" in their style
|
compression library, using dump styles with a "gz" in their style
|
||||||
name.
|
name.
|
||||||
@ -271,7 +271,7 @@ atom/gz"_dump.html, "dump cfg/gz"_dump.html, "dump
|
|||||||
custom/gz"_dump.html, "dump xyz/gz"_dump.html
|
custom/gz"_dump.html, "dump xyz/gz"_dump.html
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
CORESHELL package :link(CORESHELL),h5
|
CORESHELL package :link(CORESHELL),h5
|
||||||
|
|
||||||
Contents: Compute and pair styles that implement the adiabatic
|
Contents: Compute and pair styles that implement the adiabatic
|
||||||
@ -302,7 +302,7 @@ buck/coul/long/cs"_pair_cs.html, pair_style
|
|||||||
lj/cut/coul/long/cs"_pair_lj.html, examples/coreshell
|
lj/cut/coul/long/cs"_pair_lj.html, examples/coreshell
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
DIPOLE package :link(DIPOLE),h5
|
DIPOLE package :link(DIPOLE),h5
|
||||||
|
|
||||||
Contents: An atom style and several pair styles to support point
|
Contents: An atom style and several pair styles to support point
|
||||||
@ -326,9 +326,9 @@ Supporting info: "atom_style dipole"_atom_style.html, "pair_style
|
|||||||
lj/cut/dipole/cut"_pair_dipole.html, "pair_style
|
lj/cut/dipole/cut"_pair_dipole.html, "pair_style
|
||||||
lj/cut/dipole/long"_pair_dipole.html, "pair_style
|
lj/cut/dipole/long"_pair_dipole.html, "pair_style
|
||||||
lj/long/dipole/long"_pair_dipole.html, examples/dipole
|
lj/long/dipole/long"_pair_dipole.html, examples/dipole
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
GPU package :link(GPU),h5
|
GPU package :link(GPU),h5
|
||||||
|
|
||||||
Contents: Dozens of pair styles and a version of the PPPM long-range
|
Contents: Dozens of pair styles and a version of the PPPM long-range
|
||||||
@ -385,9 +385,9 @@ Pair Styles section of "Section 3.5"_Section_commands.html#cmd_5
|
|||||||
for any pair style listed with a (g),
|
for any pair style listed with a (g),
|
||||||
"kspace_style"_kspace_style.html, "package gpu"_package.html,
|
"kspace_style"_kspace_style.html, "package gpu"_package.html,
|
||||||
examples/accelerate, bench/FERMI, bench/KEPLER
|
examples/accelerate, bench/FERMI, bench/KEPLER
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
GRANULAR package :link(GRANULAR),h5
|
GRANULAR package :link(GRANULAR),h5
|
||||||
|
|
||||||
Contents: Fixes and pair styles that support models of finite-size
|
Contents: Fixes and pair styles that support models of finite-size
|
||||||
@ -412,9 +412,9 @@ Supporting info: "Section 6.6"_Section_howto.html#howto_6, "fix
|
|||||||
pour"_fix_pour.html, "fix wall/gran"_fix_wall_gran.html, "pair_style
|
pour"_fix_pour.html, "fix wall/gran"_fix_wall_gran.html, "pair_style
|
||||||
gran/hooke"_pair_gran.html, "pair_style
|
gran/hooke"_pair_gran.html, "pair_style
|
||||||
gran/hertz/history"_pair_gran.html, examples/pour, bench/in.chute
|
gran/hertz/history"_pair_gran.html, examples/pour, bench/in.chute
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
KIM package :link(KIM),h5
|
KIM package :link(KIM),h5
|
||||||
|
|
||||||
Contents: A pair style that interfaces to the Knowledge Base for
|
Contents: A pair style that interfaces to the Knowledge Base for
|
||||||
@ -443,9 +443,9 @@ Make.py -p ^kim -a machine :pre
|
|||||||
|
|
||||||
Supporting info: src/KIM/README, lib/kim/README, "pair_style
|
Supporting info: src/KIM/README, lib/kim/README, "pair_style
|
||||||
kim"_pair_kim.html, examples/kim
|
kim"_pair_kim.html, examples/kim
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
KOKKOS package :link(KOKKOS),h5
|
KOKKOS package :link(KOKKOS),h5
|
||||||
|
|
||||||
Contents: Dozens of atom, pair, bond, angle, dihedral, improper styles
|
Contents: Dozens of atom, pair, bond, angle, dihedral, improper styles
|
||||||
@ -501,7 +501,7 @@ for any pair style listed with a (k), "package kokkos"_package.html,
|
|||||||
examples/accelerate, bench/FERMI, bench/KEPLER
|
examples/accelerate, bench/FERMI, bench/KEPLER
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
KSPACE package :link(KSPACE),h5
|
KSPACE package :link(KSPACE),h5
|
||||||
|
|
||||||
Contents: A variety of long-range Coulombic solvers, and pair styles
|
Contents: A variety of long-range Coulombic solvers, and pair styles
|
||||||
@ -543,7 +543,7 @@ which have "long" or "msm" in their style name,
|
|||||||
examples/peptide, bench/in.rhodo
|
examples/peptide, bench/in.rhodo
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
MANYBODY package :link(MANYBODY),h5
|
MANYBODY package :link(MANYBODY),h5
|
||||||
|
|
||||||
Contents: A variety of many-body and bond-order potentials. These
|
Contents: A variety of many-body and bond-order potentials. These
|
||||||
@ -565,14 +565,14 @@ make machine :pre
|
|||||||
|
|
||||||
Make.py -p ^manybody -a machine :pre
|
Make.py -p ^manybody -a machine :pre
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
Examples: Pair Styles section of "Section
|
Examples: Pair Styles section of "Section
|
||||||
3.5"_Section_commands.html#cmd_5, examples/comb, examples/eim,
|
3.5"_Section_commands.html#cmd_5, examples/comb, examples/eim,
|
||||||
examples/nb3d, examples/vashishta
|
examples/nb3d, examples/vashishta
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
MC package :link(MC),h5
|
MC package :link(MC),h5
|
||||||
|
|
||||||
Contents: Several fixes and a pair style that have Monte Carlo (MC) or
|
Contents: Several fixes and a pair style that have Monte Carlo (MC) or
|
||||||
@ -598,9 +598,9 @@ Supporting info: "fix atom/swap"_fix_atom_swap.html, "fix
|
|||||||
bond/break"_fix_bond_break.html, "fix
|
bond/break"_fix_bond_break.html, "fix
|
||||||
bond/create"_fix_bond_create.html, "fix bond/swap"_fix_bond_swap.html,
|
bond/create"_fix_bond_create.html, "fix bond/swap"_fix_bond_swap.html,
|
||||||
"fix gcmc"_fix_gcmc.html, "pair_style dsmc"_pair_dsmc.html
|
"fix gcmc"_fix_gcmc.html, "pair_style dsmc"_pair_dsmc.html
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
MEAM package :link(MEAM),h5
|
MEAM package :link(MEAM),h5
|
||||||
|
|
||||||
Contents: A pair style for the modified embedded atom (MEAM)
|
Contents: A pair style for the modified embedded atom (MEAM)
|
||||||
@ -644,9 +644,9 @@ Make.py -p ^meam -a machine :pre
|
|||||||
|
|
||||||
Supporting info: lib/meam/README, "pair_style meam"_pair_meam.html,
|
Supporting info: lib/meam/README, "pair_style meam"_pair_meam.html,
|
||||||
examples/meam
|
examples/meam
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
MISC package :link(MISC),h5
|
MISC package :link(MISC),h5
|
||||||
|
|
||||||
Contents: A variety of computes, fixes, and pair styles that are not
|
Contents: A variety of computes, fixes, and pair styles that are not
|
||||||
@ -670,9 +670,9 @@ Make.py -p ^misc -a machine :pre
|
|||||||
Supporting info: "compute ti"_compute_ti.html, "fix
|
Supporting info: "compute ti"_compute_ti.html, "fix
|
||||||
evaporate"_fix_evaporate.html, "fix tmm"_fix_ttm.html, "fix
|
evaporate"_fix_evaporate.html, "fix tmm"_fix_ttm.html, "fix
|
||||||
viscosity"_fix_viscosity.html, examples/misc
|
viscosity"_fix_viscosity.html, examples/misc
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
MOLECULE package :link(MOLECULE),h5
|
MOLECULE package :link(MOLECULE),h5
|
||||||
|
|
||||||
Contents: A large number of atom, pair, bond, angle, dihedral,
|
Contents: A large number of atom, pair, bond, angle, dihedral,
|
||||||
@ -704,7 +704,7 @@ lj/charmm/coul/charmm"_pair_charmm.html,
|
|||||||
examples/micelle, examples/peptide, bench/in.chain, bench/in.rhodo
|
examples/micelle, examples/peptide, bench/in.chain, bench/in.rhodo
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
MPIIO package :link(MPIIO),h5
|
MPIIO package :link(MPIIO),h5
|
||||||
|
|
||||||
Contents: Support for parallel output/input of dump and restart files
|
Contents: Support for parallel output/input of dump and restart files
|
||||||
@ -729,9 +729,9 @@ Make.py -p ^mpiio -a machine :pre
|
|||||||
|
|
||||||
Supporting info: "dump"_dump.html, "restart"_restart.html,
|
Supporting info: "dump"_dump.html, "restart"_restart.html,
|
||||||
"write_restart"_write_restart.html, "read_restart"_read_restart.html
|
"write_restart"_write_restart.html, "read_restart"_read_restart.html
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
OPT package :link(OPT),h5
|
OPT package :link(OPT),h5
|
||||||
|
|
||||||
Contents: A handful of pair styles with an "opt" in their style name
|
Contents: A handful of pair styles with an "opt" in their style name
|
||||||
@ -768,7 +768,7 @@ Supporting info: "Section 5.3"_Section_accelerate.html#acc_3,
|
|||||||
listed with an (t), examples/accelerate, bench/KEPLER
|
listed with an (t), examples/accelerate, bench/KEPLER
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
PERI package :link(PERI),h5
|
PERI package :link(PERI),h5
|
||||||
|
|
||||||
Contents: Support for the Peridynamics method, a particle-based
|
Contents: Support for the Peridynamics method, a particle-based
|
||||||
@ -796,9 +796,9 @@ Supporting info:
|
|||||||
"doc/PDF/PDLammps_VES.pdf"_PDF/PDLammps_VES.pdf, "atom_style
|
"doc/PDF/PDLammps_VES.pdf"_PDF/PDLammps_VES.pdf, "atom_style
|
||||||
peri"_atom_style.html, "compute damage/atom"_compute_damage_atom.html,
|
peri"_atom_style.html, "compute damage/atom"_compute_damage_atom.html,
|
||||||
"pair_style peri/pmb"_pair_peri.html, examples/peri
|
"pair_style peri/pmb"_pair_peri.html, examples/peri
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
POEMS package :link(POEMS),h5
|
POEMS package :link(POEMS),h5
|
||||||
|
|
||||||
Contents: A fix that wraps the Parallelizable Open source Efficient
|
Contents: A fix that wraps the Parallelizable Open source Efficient
|
||||||
@ -839,7 +839,7 @@ Supporting info: src/POEMS/README, lib/poems/README,
|
|||||||
"fix poems"_fix_poems.html, examples/rigid
|
"fix poems"_fix_poems.html, examples/rigid
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
PYTHON package :link(PYTHON),h5
|
PYTHON package :link(PYTHON),h5
|
||||||
|
|
||||||
Contents: A "python"_python.html command which allow you to execute
|
Contents: A "python"_python.html command which allow you to execute
|
||||||
@ -873,9 +873,9 @@ make machine :pre
|
|||||||
Make.py -p ^python -a machine :pre
|
Make.py -p ^python -a machine :pre
|
||||||
|
|
||||||
Supporting info: examples/python
|
Supporting info: examples/python
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
QEQ package :link(QEQ),h5
|
QEQ package :link(QEQ),h5
|
||||||
|
|
||||||
Contents: Several fixes for performing charge equilibration (QEq) via
|
Contents: Several fixes for performing charge equilibration (QEq) via
|
||||||
@ -897,9 +897,9 @@ make machine :pre
|
|||||||
Make.py -p ^qeq -a machine :pre
|
Make.py -p ^qeq -a machine :pre
|
||||||
|
|
||||||
Supporting info: "fix qeq/*"_fix_qeq.html, examples/qeq
|
Supporting info: "fix qeq/*"_fix_qeq.html, examples/qeq
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
REAX package :link(REAX),h5
|
REAX package :link(REAX),h5
|
||||||
|
|
||||||
Contents: A pair style for the ReaxFF potential, a universal reactive
|
Contents: A pair style for the ReaxFF potential, a universal reactive
|
||||||
@ -941,9 +941,9 @@ Make.py -p ^reax -a machine :pre
|
|||||||
|
|
||||||
Supporting info: lib/reax/README, "pair_style reax"_pair_reax.html,
|
Supporting info: lib/reax/README, "pair_style reax"_pair_reax.html,
|
||||||
"fix reax/bonds"_fix_reax_bonds.html, examples/reax
|
"fix reax/bonds"_fix_reax_bonds.html, examples/reax
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
REPLICA package :link(REPLICA),h5
|
REPLICA package :link(REPLICA),h5
|
||||||
|
|
||||||
Contents: A collection of multi-replica methods that are used by
|
Contents: A collection of multi-replica methods that are used by
|
||||||
@ -978,7 +978,7 @@ Supporting info: "Section 6.5"_Section_howto.html#howto_5,
|
|||||||
examples/tad
|
examples/tad
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
RIGID package :link(RIGID),h5
|
RIGID package :link(RIGID),h5
|
||||||
|
|
||||||
Contents: A collection of computes and fixes which enforce rigid
|
Contents: A collection of computes and fixes which enforce rigid
|
||||||
@ -1005,7 +1005,7 @@ Supporting info: "compute erotate/rigid"_compute_erotate_rigid.html,
|
|||||||
rigid/*"_fix_rigid.html, examples/ASPHERE, examples/rigid
|
rigid/*"_fix_rigid.html, examples/ASPHERE, examples/rigid
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
SHOCK package :link(SHOCK),h5
|
SHOCK package :link(SHOCK),h5
|
||||||
|
|
||||||
Contents: A small number of fixes useful for running impact
|
Contents: A small number of fixes useful for running impact
|
||||||
@ -1028,15 +1028,15 @@ Make.py -p ^shock -a machine :pre
|
|||||||
Supporting info: "fix append/atoms"_fix_append_atoms.html, "fix
|
Supporting info: "fix append/atoms"_fix_append_atoms.html, "fix
|
||||||
msst"_fix_msst.html, "fix nphug"_fix_nphug.html, "fix
|
msst"_fix_msst.html, "fix nphug"_fix_nphug.html, "fix
|
||||||
wall/piston"_fix_wall_piston.html, examples/hugoniostat, examples/msst
|
wall/piston"_fix_wall_piston.html, examples/hugoniostat, examples/msst
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
SNAP package :link(SNAP),h5
|
SNAP package :link(SNAP),h5
|
||||||
|
|
||||||
Contents: A pair style for the spectral neighbor analysis potential
|
Contents: A pair style for the spectral neighbor analysis potential
|
||||||
(SNAP), which is an empirical potential which can be quantum accurate
|
(SNAP), which is an empirical potential which can be quantum accurate
|
||||||
when fit to an archive of DFT data. Computes useful for analyzing
|
when fit to an archive of DFT data. Computes useful for analyzing
|
||||||
properties of the potential are also included.
|
properties of the potential are also included.
|
||||||
|
|
||||||
To install via make or Make.py:
|
To install via make or Make.py:
|
||||||
|
|
||||||
@ -1055,9 +1055,9 @@ Make.py -p ^snap -a machine :pre
|
|||||||
Supporting info: "pair snap"_pair_snap.html, "compute
|
Supporting info: "pair snap"_pair_snap.html, "compute
|
||||||
sna/atom"_compute_sna_atom.html, "compute snad/atom"_compute_sna_atom.html,
|
sna/atom"_compute_sna_atom.html, "compute snad/atom"_compute_sna_atom.html,
|
||||||
"compute snav/atom"_compute_sna_atom.html, examples/snap
|
"compute snav/atom"_compute_sna_atom.html, examples/snap
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
SRD package :link(SRD),h5
|
SRD package :link(SRD),h5
|
||||||
|
|
||||||
Contents: Two fixes which implement the Stochastic Rotation Dynamics
|
Contents: Two fixes which implement the Stochastic Rotation Dynamics
|
||||||
@ -1080,9 +1080,9 @@ Make.py -p ^srd -a machine :pre
|
|||||||
|
|
||||||
Supporting info: "fix srd"_fix_srd.html, "fix
|
Supporting info: "fix srd"_fix_srd.html, "fix
|
||||||
wall/srd"_fix_wall_srd.html, examples/srd, examples/ASPHERE
|
wall/srd"_fix_wall_srd.html, examples/srd, examples/ASPHERE
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
VORONOI package :link(VORONOI),h5
|
VORONOI package :link(VORONOI),h5
|
||||||
|
|
||||||
Contents: A "compute voronoi/atom"_compute_voronoi_atom.html command
|
Contents: A "compute voronoi/atom"_compute_voronoi_atom.html command
|
||||||
@ -1129,9 +1129,9 @@ Make.py -p ^voronoi -a machine :pre
|
|||||||
|
|
||||||
Supporting info: src/VORONOI/README, lib/voronoi/README, "compute
|
Supporting info: src/VORONOI/README, lib/voronoi/README, "compute
|
||||||
voronoi/atom"_compute_voronoi_atom.html, examples/voronoi
|
voronoi/atom"_compute_voronoi_atom.html, examples/voronoi
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
4.2 User packages :h4,link(pkg_2)
|
4.2 User packages :h4,link(pkg_2)
|
||||||
|
|
||||||
The current list of user-contributed packages is as follows:
|
The current list of user-contributed packages is as follows:
|
||||||
@ -1302,7 +1302,7 @@ fix. The COLVARS library itself is written and maintained by Giacomo
|
|||||||
Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and Jerome
|
Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and Jerome
|
||||||
Henin (LISM, CNRS, Marseille, France). Contact them directly if you
|
Henin (LISM, CNRS, Marseille, France). Contact them directly if you
|
||||||
have questions.
|
have questions.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
USER-DIFFRACTION package :link(USER-DIFFRACTION),h5
|
USER-DIFFRACTION package :link(USER-DIFFRACTION),h5
|
||||||
@ -1380,7 +1380,7 @@ in 2007. See src/USER-EFF/README for more details. There are
|
|||||||
auxiliary tools for using this package in tools/eff; see its README
|
auxiliary tools for using this package in tools/eff; see its README
|
||||||
file.
|
file.
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
Author: Andres Jaramillo-Botero at CalTech (ajaramil at
|
Author: Andres Jaramillo-Botero at CalTech (ajaramil at
|
||||||
wag.caltech.edu). Contact him directly if you have questions.
|
wag.caltech.edu). Contact him directly if you have questions.
|
||||||
@ -1456,21 +1456,21 @@ LINKFLAGS: add -fopenmp :ul
|
|||||||
|
|
||||||
For Phi mode add the following in addition to the CPU mode flags:
|
For Phi mode add the following in addition to the CPU mode flags:
|
||||||
|
|
||||||
CCFLAGS: add -DLMP_INTEL_OFFLOAD and
|
CCFLAGS: add -DLMP_INTEL_OFFLOAD and
|
||||||
LINKFLAGS: add -offload :ul
|
LINKFLAGS: add -offload :ul
|
||||||
|
|
||||||
And also add this to CCFLAGS:
|
And also add this to CCFLAGS:
|
||||||
|
|
||||||
-offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs=\"gather_scatter_loop_unroll=4\"" :pre
|
-offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs=\"gather_scatter_loop_unroll=4\"" :pre
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
USER-LB package :link(USER-LB),h5
|
USER-LB package :link(USER-LB),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package contains a LAMMPS implementation of a background
|
This package contains a LAMMPS implementation of a background
|
||||||
Lattice-Boltzmann fluid, which can be used to model MD particles
|
Lattice-Boltzmann fluid, which can be used to model MD particles
|
||||||
influenced by hydrodynamic forces.
|
influenced by hydrodynamic forces.
|
||||||
@ -1489,8 +1489,8 @@ Examples: examples/USER/lb
|
|||||||
|
|
||||||
USER-MGPT package :link(USER-MGPT),h5
|
USER-MGPT package :link(USER-MGPT),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package contains a fast implementation for LAMMPS of
|
This package contains a fast implementation for LAMMPS of
|
||||||
quantum-based MGPT multi-ion potentials. The MGPT or model GPT method
|
quantum-based MGPT multi-ion potentials. The MGPT or model GPT method
|
||||||
derives from first-principles DFT-based generalized pseudopotential
|
derives from first-principles DFT-based generalized pseudopotential
|
||||||
@ -1521,8 +1521,8 @@ Examples: examples/USER/mgpt
|
|||||||
|
|
||||||
USER-MISC package :link(USER-MISC),h5
|
USER-MISC package :link(USER-MISC),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
The files in this package are a potpourri of (mostly) unrelated
|
The files in this package are a potpourri of (mostly) unrelated
|
||||||
features contributed to LAMMPS by users. Each feature is a single
|
features contributed to LAMMPS by users. Each feature is a single
|
||||||
pair of files (*.cpp and *.h).
|
pair of files (*.cpp and *.h).
|
||||||
@ -1548,8 +1548,8 @@ Examples: examples/USER/misc
|
|||||||
|
|
||||||
USER-MANIFOLD package :link(USER-MANIFOLD),h5
|
USER-MANIFOLD package :link(USER-MANIFOLD),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package contains a dump molfile command which uses molfile
|
This package contains a dump molfile command which uses molfile
|
||||||
plugins that are bundled with the
|
plugins that are bundled with the
|
||||||
"VMD"_http://www.ks.uiuc.edu/Research/vmd molecular visualization and
|
"VMD"_http://www.ks.uiuc.edu/Research/vmd molecular visualization and
|
||||||
@ -1574,8 +1574,8 @@ Contact him directly if you have questions.
|
|||||||
|
|
||||||
USER-MOLFILE package :link(USER-MOLFILE),h5
|
USER-MOLFILE package :link(USER-MOLFILE),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package contains a dump molfile command which uses molfile
|
This package contains a dump molfile command which uses molfile
|
||||||
plugins that are bundled with the
|
plugins that are bundled with the
|
||||||
"VMD"_http://www.ks.uiuc.edu/Research/vmd molecular visualization and
|
"VMD"_http://www.ks.uiuc.edu/Research/vmd molecular visualization and
|
||||||
@ -1600,12 +1600,12 @@ The person who created this package is Axel Kohlmeyer at Temple U
|
|||||||
|
|
||||||
USER-OMP package :link(USER-OMP),h5
|
USER-OMP package :link(USER-OMP),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package provides OpenMP multi-threading support and
|
This package provides OpenMP multi-threading support and
|
||||||
other optimizations of various LAMMPS pair styles, dihedral
|
other optimizations of various LAMMPS pair styles, dihedral
|
||||||
styles, and fix styles.
|
styles, and fix styles.
|
||||||
|
|
||||||
See this section of the manual to get started:
|
See this section of the manual to get started:
|
||||||
|
|
||||||
"Section 5.3"_Section_accelerate.html#acc_3
|
"Section 5.3"_Section_accelerate.html#acc_3
|
||||||
@ -1643,8 +1643,8 @@ Examples: examples/USER/phonon
|
|||||||
|
|
||||||
USER-QMMM package :link(USER-QMMM),h5
|
USER-QMMM package :link(USER-QMMM),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package provides a fix qmmm command which allows LAMMPS to be
|
This package provides a fix qmmm command which allows LAMMPS to be
|
||||||
used in a QM/MM simulation, currently only in combination with pw.x
|
used in a QM/MM simulation, currently only in combination with pw.x
|
||||||
code from the "Quantum ESPRESSO"_espresso package.
|
code from the "Quantum ESPRESSO"_espresso package.
|
||||||
@ -1667,11 +1667,11 @@ The person who created this package is Axel Kohlmeyer at Temple U
|
|||||||
(akohlmey at gmail.com). Contact him directly if you have questions.
|
(akohlmey at gmail.com). Contact him directly if you have questions.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
USER-QTB package :link(USER-QTB),h5
|
USER-QTB package :link(USER-QTB),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package provides a self-consistent quantum treatment of the
|
This package provides a self-consistent quantum treatment of the
|
||||||
vibrational modes in a classical molecular dynamics simulation. By
|
vibrational modes in a classical molecular dynamics simulation. By
|
||||||
coupling the MD simulation to a colored thermostat, it introduces zero
|
coupling the MD simulation to a colored thermostat, it introduces zero
|
||||||
@ -1701,16 +1701,16 @@ Examples: examples/USER/qtb
|
|||||||
|
|
||||||
USER-QUIP package :link(USER-QUIP),h5
|
USER-QUIP package :link(USER-QUIP),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
Examples: examples/USER/quip
|
Examples: examples/USER/quip
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
USER-REAXC package :link(USER-REAXC),h5
|
USER-REAXC package :link(USER-REAXC),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package contains a implementation for LAMMPS of the ReaxFF force
|
This package contains a implementation for LAMMPS of the ReaxFF force
|
||||||
field. ReaxFF uses distance-dependent bond-order functions to
|
field. ReaxFF uses distance-dependent bond-order functions to
|
||||||
represent the contributions of chemical bonding to the potential
|
represent the contributions of chemical bonding to the potential
|
||||||
@ -1748,24 +1748,24 @@ Examples: examples/reax
|
|||||||
|
|
||||||
USER-SMD package :link(USER-SMD),h5
|
USER-SMD package :link(USER-SMD),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package implements smoothed Mach dynamics (SMD) in
|
This package implements smoothed Mach dynamics (SMD) in
|
||||||
LAMMPS. Currently, the package has the following features:
|
LAMMPS. Currently, the package has the following features:
|
||||||
|
|
||||||
* Does liquids via traditional Smooth Particle Hydrodynamics (SPH)
|
* Does liquids via traditional Smooth Particle Hydrodynamics (SPH)
|
||||||
|
|
||||||
* Also solves solids mechanics problems via a state of the art
|
* Also solves solids mechanics problems via a state of the art
|
||||||
stabilized meshless method with hourglass control.
|
stabilized meshless method with hourglass control.
|
||||||
|
|
||||||
* Can specify hydrostatic interactions independently from material
|
* Can specify hydrostatic interactions independently from material
|
||||||
strength models, i.e. pressure and deviatoric stresses are separated.
|
strength models, i.e. pressure and deviatoric stresses are separated.
|
||||||
|
|
||||||
* Many material models available (Johnson-Cook, plasticity with
|
* Many material models available (Johnson-Cook, plasticity with
|
||||||
hardening, Mie-Grueneisen, Polynomial EOS). Easy to add new
|
hardening, Mie-Grueneisen, Polynomial EOS). Easy to add new
|
||||||
material models.
|
material models.
|
||||||
|
|
||||||
* Rigid boundary conditions (walls) can be loaded as surface geometries
|
* Rigid boundary conditions (walls) can be loaded as surface geometries
|
||||||
from *.STL files.
|
from *.STL files.
|
||||||
|
|
||||||
See the file doc/PDF/SMD_LAMMPS_userguide.pdf to get started.
|
See the file doc/PDF/SMD_LAMMPS_userguide.pdf to get started.
|
||||||
@ -1783,8 +1783,8 @@ Examples: examples/USER/smd
|
|||||||
|
|
||||||
USER-SMTBQ package :link(USER-SMTBQ),h5
|
USER-SMTBQ package :link(USER-SMTBQ),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package implements the Second Moment Tight Binding - QEq (SMTB-Q)
|
This package implements the Second Moment Tight Binding - QEq (SMTB-Q)
|
||||||
potential for the description of ionocovalent bonds in oxides.
|
potential for the description of ionocovalent bonds in oxides.
|
||||||
|
|
||||||
@ -1806,22 +1806,22 @@ Examples: examples/USER/smtbq
|
|||||||
|
|
||||||
USER-SPH package :link(USER-SPH),h5
|
USER-SPH package :link(USER-SPH),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
This package implements smoothed particle hydrodynamics (SPH) in
|
This package implements smoothed particle hydrodynamics (SPH) in
|
||||||
LAMMPS. Currently, the package has the following features:
|
LAMMPS. Currently, the package has the following features:
|
||||||
|
|
||||||
* Tait, ideal gas, Lennard-Jones equation of states, full support for
|
* Tait, ideal gas, Lennard-Jones equation of states, full support for
|
||||||
complete (i.e. internal-energy dependent) equations of state
|
complete (i.e. internal-energy dependent) equations of state
|
||||||
|
|
||||||
* Plain or Monaghans XSPH integration of the equations of motion
|
* Plain or Monaghans XSPH integration of the equations of motion
|
||||||
|
|
||||||
* Density continuity or density summation to propagate the density field
|
* Density continuity or density summation to propagate the density field
|
||||||
|
|
||||||
* Commands to set internal energy and density of particles from the
|
* Commands to set internal energy and density of particles from the
|
||||||
input script
|
input script
|
||||||
|
|
||||||
* Output commands to access internal energy and density for dumping and
|
* Output commands to access internal energy and density for dumping and
|
||||||
thermo output
|
thermo output
|
||||||
|
|
||||||
See the file doc/PDF/SPH_LAMMPS_userguide.pdf to get started.
|
See the file doc/PDF/SPH_LAMMPS_userguide.pdf to get started.
|
||||||
@ -1839,7 +1839,7 @@ Examples: examples/USER/sph
|
|||||||
|
|
||||||
USER-TALLY package :link(USER-TALLY),h5
|
USER-TALLY package :link(USER-TALLY),h5
|
||||||
|
|
||||||
Supporting info:
|
Supporting info:
|
||||||
|
|
||||||
Examples: examples/USER/tally
|
Examples: examples/USER/tally
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ In Python lingo, this is "embedding" Python in LAMMPS.
|
|||||||
This section describes how to do both.
|
This section describes how to do both.
|
||||||
|
|
||||||
11.1 "Overview of running LAMMPS from Python"_#py_1
|
11.1 "Overview of running LAMMPS from Python"_#py_1
|
||||||
11.2 "Overview of using Python from a LAMMPS script"_#py_2
|
11.2 "Overview of using Python from a LAMMPS script"_#py_2
|
||||||
11.3 "Building LAMMPS as a shared library"_#py_3
|
11.3 "Building LAMMPS as a shared library"_#py_3
|
||||||
11.4 "Installing the Python wrapper into Python"_#py_4
|
11.4 "Installing the Python wrapper into Python"_#py_4
|
||||||
11.5 "Extending Python with MPI to run in parallel"_#py_5
|
11.5 "Extending Python with MPI to run in parallel"_#py_5
|
||||||
@ -503,7 +503,7 @@ one of several ways:
|
|||||||
The last command requires that the first line of the script be
|
The last command requires that the first line of the script be
|
||||||
something like this:
|
something like this:
|
||||||
|
|
||||||
#!/usr/local/bin/python
|
#!/usr/local/bin/python
|
||||||
#!/usr/local/bin/python -i :pre
|
#!/usr/local/bin/python -i :pre
|
||||||
|
|
||||||
where the path points to where you have Python installed, and that you
|
where the path points to where you have Python installed, and that you
|
||||||
@ -552,32 +552,32 @@ lmp.command(cmd) # invoke a single LAMMPS command, cmd = "run 100" :pre
|
|||||||
|
|
||||||
xlo = lmp.extract_global(name,type) # extract a global quantity
|
xlo = lmp.extract_global(name,type) # extract a global quantity
|
||||||
# name = "boxxlo", "nlocal", etc
|
# name = "boxxlo", "nlocal", etc
|
||||||
# type = 0 = int
|
# type = 0 = int
|
||||||
# 1 = double :pre
|
# 1 = double :pre
|
||||||
|
|
||||||
coords = lmp.extract_atom(name,type) # extract a per-atom quantity
|
coords = lmp.extract_atom(name,type) # extract a per-atom quantity
|
||||||
# name = "x", "type", etc
|
# name = "x", "type", etc
|
||||||
# type = 0 = vector of ints
|
# type = 0 = vector of ints
|
||||||
# 1 = array of ints
|
# 1 = array of ints
|
||||||
# 2 = vector of doubles
|
# 2 = vector of doubles
|
||||||
# 3 = array of doubles :pre
|
# 3 = array of doubles :pre
|
||||||
|
|
||||||
eng = lmp.extract_compute(id,style,type) # extract value(s) from a compute
|
eng = lmp.extract_compute(id,style,type) # extract value(s) from a compute
|
||||||
v3 = lmp.extract_fix(id,style,type,i,j) # extract value(s) from a fix
|
v3 = lmp.extract_fix(id,style,type,i,j) # extract value(s) from a fix
|
||||||
# id = ID of compute or fix
|
# id = ID of compute or fix
|
||||||
# style = 0 = global data
|
# style = 0 = global data
|
||||||
# 1 = per-atom data
|
# 1 = per-atom data
|
||||||
# 2 = local data
|
# 2 = local data
|
||||||
# type = 0 = scalar
|
# type = 0 = scalar
|
||||||
# 1 = vector
|
# 1 = vector
|
||||||
# 2 = array
|
# 2 = array
|
||||||
# i,j = indices of value in global vector or array :pre
|
# i,j = indices of value in global vector or array :pre
|
||||||
|
|
||||||
var = lmp.extract_variable(name,group,flag) # extract value(s) from a variable
|
var = lmp.extract_variable(name,group,flag) # extract value(s) from a variable
|
||||||
# name = name of variable
|
# name = name of variable
|
||||||
# group = group ID (ignored for equal-style variables)
|
# group = group ID (ignored for equal-style variables)
|
||||||
# flag = 0 = equal-style variable
|
# flag = 0 = equal-style variable
|
||||||
# 1 = atom-style variable :pre
|
# 1 = atom-style variable :pre
|
||||||
|
|
||||||
flag = lmp.set_variable(name,value) # set existing named string-style variable to value, flag = 0 if successful
|
flag = lmp.set_variable(name,value) # set existing named string-style variable to value, flag = 0 if successful
|
||||||
natoms = lmp.get_natoms() # total # of atoms as int
|
natoms = lmp.get_natoms() # total # of atoms as int
|
||||||
@ -724,7 +724,7 @@ lmp.scatter_coords("x",1,3,x) :pre
|
|||||||
Alternatively, you can just change values in the vector returned by
|
Alternatively, you can just change values in the vector returned by
|
||||||
gather_atoms("x",1,3), since it is a ctypes vector of doubles.
|
gather_atoms("x",1,3), since it is a ctypes vector of doubles.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
As noted above, these Python class methods correspond one-to-one with
|
As noted above, these Python class methods correspond one-to-one with
|
||||||
the functions in the LAMMPS library interface in src/library.cpp and
|
the functions in the LAMMPS library interface in src/library.cpp and
|
||||||
@ -767,7 +767,7 @@ vizplotgui_tool.py, combination of viz_tool.py and plot.py and gui.py :tb(c=2)
|
|||||||
|
|
||||||
For the viz_tool.py and vizplotgui_tool.py commands, replace "tool"
|
For the viz_tool.py and vizplotgui_tool.py commands, replace "tool"
|
||||||
with "gl" or "atomeye" or "pymol" or "vmd", depending on what
|
with "gl" or "atomeye" or "pymol" or "vmd", depending on what
|
||||||
visualization package you have installed.
|
visualization package you have installed.
|
||||||
|
|
||||||
Note that for GL, you need to be able to run the Pizza.py GL tool,
|
Note that for GL, you need to be able to run the Pizza.py GL tool,
|
||||||
which is included in the pizza sub-directory. See the "Pizza.py doc
|
which is included in the pizza sub-directory. See the "Pizza.py doc
|
||||||
|
|||||||
@ -33,7 +33,7 @@ tar -xzvf lammps*.tar.gz :pre
|
|||||||
|
|
||||||
This will create a LAMMPS directory containing two files and several
|
This will create a LAMMPS directory containing two files and several
|
||||||
sub-directories:
|
sub-directories:
|
||||||
|
|
||||||
README: text file
|
README: text file
|
||||||
LICENSE: the GNU General Public License (GPL)
|
LICENSE: the GNU General Public License (GPL)
|
||||||
bench: benchmark problems
|
bench: benchmark problems
|
||||||
@ -600,10 +600,10 @@ LAMMPS will generate a run-time error. As far as we know, the
|
|||||||
settings defined in src/lmptype.h are portable and work on every
|
settings defined in src/lmptype.h are portable and work on every
|
||||||
current system.
|
current system.
|
||||||
|
|
||||||
In all cases, the size of problem that can be run on a per-processor
|
In all cases, the size of problem that can be run on a per-processor
|
||||||
basis is limited by 4-byte integer storage to 2^31 atoms per processor
|
basis is limited by 4-byte integer storage to 2^31 atoms per processor
|
||||||
(about 2 billion). This should not normally be a limitation since such
|
(about 2 billion). This should not normally be a limitation since such
|
||||||
a problem would have a huge per-processor memory footprint due to
|
a problem would have a huge per-processor memory footprint due to
|
||||||
neighbor lists and would run very slowly in terms of CPU secs/timestep.
|
neighbor lists and would run very slowly in terms of CPU secs/timestep.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
@ -841,7 +841,7 @@ libpackage.a
|
|||||||
Makefile.lammps :pre
|
Makefile.lammps :pre
|
||||||
|
|
||||||
The Makefile.lammps file will typically be a copy of one of the
|
The Makefile.lammps file will typically be a copy of one of the
|
||||||
Makefile.lammps.* files in the library directory.
|
Makefile.lammps.* files in the library directory.
|
||||||
|
|
||||||
Note that you must insure that the settings in Makefile.lammps are
|
Note that you must insure that the settings in Makefile.lammps are
|
||||||
appropriate for your system. If they are not, the LAMMPS build may
|
appropriate for your system. If they are not, the LAMMPS build may
|
||||||
@ -883,7 +883,7 @@ A few packages require specific settings in Makefile.machine, to
|
|||||||
either build or use the package effectively. These are the
|
either build or use the package effectively. These are the
|
||||||
USER-INTEL, KOKKOS, USER-OMP, and OPT packages, used for accelerating
|
USER-INTEL, KOKKOS, USER-OMP, and OPT packages, used for accelerating
|
||||||
code performance on CPUs or other hardware, as discussed in "Section
|
code performance on CPUs or other hardware, as discussed in "Section
|
||||||
5.3"_Section_accelerate.html#acc_3.
|
5.3"_Section_accelerate.html#acc_3.
|
||||||
|
|
||||||
A summary of what Makefile.machine changes are needed for each of
|
A summary of what Makefile.machine changes are needed for each of
|
||||||
these packages is given in "Section 4"_Section_packages.html.
|
these packages is given in "Section 4"_Section_packages.html.
|
||||||
@ -1199,7 +1199,7 @@ installer package from "here"_http://rpm.lammps.org/windows.html
|
|||||||
|
|
||||||
For running the non-MPI executable, follow these steps:
|
For running the non-MPI executable, follow these steps:
|
||||||
|
|
||||||
Get a command prompt by going to Start->Run... ,
|
Get a command prompt by going to Start->Run... ,
|
||||||
then typing "cmd". :ulb,l
|
then typing "cmd". :ulb,l
|
||||||
|
|
||||||
Move to the directory where you have your input, e.g. a copy of
|
Move to the directory where you have your input, e.g. a copy of
|
||||||
@ -1209,7 +1209,7 @@ At the command prompt, type "lmp_serial -in in.lj", replacing [in.lj]
|
|||||||
with the name of your LAMMPS input script. :l
|
with the name of your LAMMPS input script. :l
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
For the MPI version, which allows you to run LAMMPS under Windows on
|
For the MPI version, which allows you to run LAMMPS under Windows on
|
||||||
multiple processors, follow these steps:
|
multiple processors, follow these steps:
|
||||||
|
|
||||||
Download and install
|
Download and install
|
||||||
@ -1224,7 +1224,7 @@ For this you need to start a Command Prompt in {Administrator Mode}
|
|||||||
installation directory, then into the subdirectory [bin] and execute
|
installation directory, then into the subdirectory [bin] and execute
|
||||||
[smpd.exe -install]. Exit the command window.
|
[smpd.exe -install]. Exit the command window.
|
||||||
|
|
||||||
Get a new, regular command prompt by going to Start->Run... ,
|
Get a new, regular command prompt by going to Start->Run... ,
|
||||||
then typing "cmd". :l
|
then typing "cmd". :l
|
||||||
|
|
||||||
Move to the directory where you have your input file
|
Move to the directory where you have your input file
|
||||||
@ -1488,7 +1488,7 @@ of the manual. World- and universe-style "variables"_variable.html
|
|||||||
are useful in this context.
|
are useful in this context.
|
||||||
|
|
||||||
-plog file :pre
|
-plog file :pre
|
||||||
|
|
||||||
Specify the base name for the partition log files, so partition N
|
Specify the base name for the partition log files, so partition N
|
||||||
writes log information to file.N. If file is none, then no partition
|
writes log information to file.N. If file is none, then no partition
|
||||||
log files are created. This overrides the filename specified in the
|
log files are created. This overrides the filename specified in the
|
||||||
@ -1499,7 +1499,7 @@ replica_files/log.lammps) If this option is not used the log file for
|
|||||||
partition N is log.lammps.N or whatever is specified by the -log
|
partition N is log.lammps.N or whatever is specified by the -log
|
||||||
command-line option.
|
command-line option.
|
||||||
|
|
||||||
-pscreen file :pre
|
-pscreen file :pre
|
||||||
|
|
||||||
Specify the base name for the partition screen file, so partition N
|
Specify the base name for the partition screen file, so partition N
|
||||||
writes screen information to file.N. If file is none, then no
|
writes screen information to file.N. If file is none, then no
|
||||||
@ -1511,7 +1511,7 @@ sub-directory (-pscreen replica_files/screen). If this option is not
|
|||||||
used the screen file for partition N is screen.N or whatever is
|
used the screen file for partition N is screen.N or whatever is
|
||||||
specified by the -screen command-line option.
|
specified by the -screen command-line option.
|
||||||
|
|
||||||
-restart restartfile {remap} datafile keyword value ... :pre
|
-restart restartfile {remap} datafile keyword value ... :pre
|
||||||
|
|
||||||
Convert the restart file into a data file and immediately exit. This
|
Convert the restart file into a data file and immediately exit. This
|
||||||
is the same operation as if the following 2-line input script were
|
is the same operation as if the following 2-line input script were
|
||||||
@ -1572,7 +1572,7 @@ to
|
|||||||
|
|
||||||
so that the processors in each partition will be
|
so that the processors in each partition will be
|
||||||
|
|
||||||
0 1 2 4 5 6 8 9 10
|
0 1 2 4 5 6 8 9 10
|
||||||
3 7 11 :pre
|
3 7 11 :pre
|
||||||
|
|
||||||
See the "processors" command for how to insure processors from each
|
See the "processors" command for how to insure processors from each
|
||||||
@ -1663,12 +1663,12 @@ invokes the default USER-INTEL settings, as if the command "package
|
|||||||
intel 1" were used at the top of your input script. These settings
|
intel 1" were used at the top of your input script. These settings
|
||||||
can be changed by using the "-package intel" command-line switch or
|
can be changed by using the "-package intel" command-line switch or
|
||||||
the "package intel"_package.html command in your script. If the
|
the "package intel"_package.html command in your script. If the
|
||||||
USER-OMP package is also installed, the hybrid style with "intel omp"
|
USER-OMP package is also installed, the hybrid style with "intel omp"
|
||||||
arguments can be used to make the omp suffix a second choice, if a
|
arguments can be used to make the omp suffix a second choice, if a
|
||||||
requested style is not available in the USER-INTEL package. It will
|
requested style is not available in the USER-INTEL package. It will
|
||||||
also invoke the default USER-OMP settings, as if the command "package
|
also invoke the default USER-OMP settings, as if the command "package
|
||||||
omp 0" were used at the top of your input script. These settings can
|
omp 0" were used at the top of your input script. These settings can
|
||||||
be changed by using the "-package omp" command-line switch or the
|
be changed by using the "-package omp" command-line switch or the
|
||||||
"package omp"_package.html command in your script.
|
"package omp"_package.html command in your script.
|
||||||
|
|
||||||
For the KOKKOS package, using this command-line switch also invokes
|
For the KOKKOS package, using this command-line switch also invokes
|
||||||
@ -1833,7 +1833,7 @@ e.g.
|
|||||||
|
|
||||||
Minimization stats:
|
Minimization stats:
|
||||||
Stopping criterion = linesearch alpha is zero
|
Stopping criterion = linesearch alpha is zero
|
||||||
Energy initial, next-to-last, final =
|
Energy initial, next-to-last, final =
|
||||||
-6372.3765206 -8328.46998942 -8328.46998942
|
-6372.3765206 -8328.46998942 -8328.46998942
|
||||||
Force two-norm initial, final = 1059.36 5.36874
|
Force two-norm initial, final = 1059.36 5.36874
|
||||||
Force max component initial, final = 58.6026 1.46872
|
Force max component initial, final = 58.6026 1.46872
|
||||||
|
|||||||
@ -104,7 +104,7 @@ since binary files are not compatible across all platforms.
|
|||||||
ch2lmp tool :h4,link(charmm)
|
ch2lmp tool :h4,link(charmm)
|
||||||
|
|
||||||
The ch2lmp sub-directory contains tools for converting files
|
The ch2lmp sub-directory contains tools for converting files
|
||||||
back-and-forth between the CHARMM MD code and LAMMPS.
|
back-and-forth between the CHARMM MD code and LAMMPS.
|
||||||
|
|
||||||
They are intended to make it easy to use CHARMM as a builder and as a
|
They are intended to make it easy to use CHARMM as a builder and as a
|
||||||
post-processor for LAMMPS. Using charmm2lammps.pl, you can convert a
|
post-processor for LAMMPS. Using charmm2lammps.pl, you can convert a
|
||||||
|
|||||||
@ -29,80 +29,80 @@ Bond Styles: fene, harmonic :l
|
|||||||
Dihedral Styles: charmm, harmonic, opls :l
|
Dihedral Styles: charmm, harmonic, opls :l
|
||||||
Fixes: nve, npt, nvt, nvt/sllod :l
|
Fixes: nve, npt, nvt, nvt/sllod :l
|
||||||
Improper Styles: cvff, harmonic :l
|
Improper Styles: cvff, harmonic :l
|
||||||
Pair Styles: buck/coul/cut, buck/coul/long, buck, gayberne,
|
Pair Styles: buck/coul/cut, buck/coul/long, buck, gayberne,
|
||||||
charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l
|
charmm/coul/long, lj/cut, lj/cut/coul/long, sw, tersoff :l
|
||||||
K-Space Styles: pppm :l
|
K-Space Styles: pppm :l
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
[Speed-ups to expect:]
|
[Speed-ups to expect:]
|
||||||
|
|
||||||
The speedups will depend on your simulation, the hardware, which
|
The speedups will depend on your simulation, the hardware, which
|
||||||
styles are used, the number of atoms, and the floating-point
|
styles are used, the number of atoms, and the floating-point
|
||||||
precision mode. Performance improvements are shown compared to
|
precision mode. Performance improvements are shown compared to
|
||||||
LAMMPS {without using other acceleration packages} as these are
|
LAMMPS {without using other acceleration packages} as these are
|
||||||
under active development (and subject to performance changes). The
|
under active development (and subject to performance changes). The
|
||||||
measurements were performed using the input files available in
|
measurements were performed using the input files available in
|
||||||
the src/USER-INTEL/TEST directory. These are scalable in size; the
|
the src/USER-INTEL/TEST directory. These are scalable in size; the
|
||||||
results given are with 512K particles (524K for Liquid Crystal).
|
results given are with 512K particles (524K for Liquid Crystal).
|
||||||
Most of the simulations are standard LAMMPS benchmarks (indicated
|
Most of the simulations are standard LAMMPS benchmarks (indicated
|
||||||
by the filename extension in parenthesis) with modifications to the
|
by the filename extension in parenthesis) with modifications to the
|
||||||
run length and to add a warmup run (for use with offload
|
run length and to add a warmup run (for use with offload
|
||||||
benchmarks).
|
benchmarks).
|
||||||
|
|
||||||
:c,image(JPG/user_intel.png)
|
:c,image(JPG/user_intel.png)
|
||||||
|
|
||||||
Results are speedups obtained on Intel Xeon E5-2697v4 processors
|
Results are speedups obtained on Intel Xeon E5-2697v4 processors
|
||||||
(code-named Broadwell) and Intel Xeon Phi 7250 processors
|
(code-named Broadwell) and Intel Xeon Phi 7250 processors
|
||||||
(code-named Knights Landing) with "18 Jun 2016" LAMMPS built with
|
(code-named Knights Landing) with "18 Jun 2016" LAMMPS built with
|
||||||
Intel Parallel Studio 2016 update 3. Results are with 1 MPI task
|
Intel Parallel Studio 2016 update 3. Results are with 1 MPI task
|
||||||
per physical core. See {src/USER-INTEL/TEST/README} for the raw
|
per physical core. See {src/USER-INTEL/TEST/README} for the raw
|
||||||
simulation rates and instructions to reproduce.
|
simulation rates and instructions to reproduce.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
[Quick Start for Experienced Users:]
|
[Quick Start for Experienced Users:]
|
||||||
|
|
||||||
LAMMPS should be built with the USER-INTEL package installed.
|
LAMMPS should be built with the USER-INTEL package installed.
|
||||||
Simulations should be run with 1 MPI task per physical {core},
|
Simulations should be run with 1 MPI task per physical {core},
|
||||||
not {hardware thread}.
|
not {hardware thread}.
|
||||||
|
|
||||||
For Intel Xeon CPUs:
|
For Intel Xeon CPUs:
|
||||||
|
|
||||||
Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary. :ulb,l
|
Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary. :ulb,l
|
||||||
If using {kspace_style pppm} in the input script, add "neigh_modify binsize 3" and "kspace_modify diff ad" to the input script for better
|
If using {kspace_style pppm} in the input script, add "neigh_modify binsize 3" and "kspace_modify diff ad" to the input script for better
|
||||||
performance. :l
|
performance. :l
|
||||||
"-pk intel 0 omp 2 -sf intel" added to LAMMPS command-line :l
|
"-pk intel 0 omp 2 -sf intel" added to LAMMPS command-line :l
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
For Intel Xeon Phi CPUs for simulations without {kspace_style
|
For Intel Xeon Phi CPUs for simulations without {kspace_style
|
||||||
pppm} in the input script :
|
pppm} in the input script :
|
||||||
|
|
||||||
Edit src/MAKE/OPTIONS/Makefile.knl as necessary. :ulb,l
|
Edit src/MAKE/OPTIONS/Makefile.knl as necessary. :ulb,l
|
||||||
Runs should be performed using MCDRAM. :l
|
Runs should be performed using MCDRAM. :l
|
||||||
"-pk intel 0 omp 2 -sf intel" {or} "-pk intel 0 omp 4 -sf intel"
|
"-pk intel 0 omp 2 -sf intel" {or} "-pk intel 0 omp 4 -sf intel"
|
||||||
should be added to the LAMMPS command-line. Choice for best
|
should be added to the LAMMPS command-line. Choice for best
|
||||||
performance will depend on the simulation. :l
|
performance will depend on the simulation. :l
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
For Intel Xeon Phi CPUs for simulations with {kspace_style
|
For Intel Xeon Phi CPUs for simulations with {kspace_style
|
||||||
pppm} in the input script:
|
pppm} in the input script:
|
||||||
|
|
||||||
Edit src/MAKE/OPTIONS/Makefile.knl as necessary. :ulb,l
|
Edit src/MAKE/OPTIONS/Makefile.knl as necessary. :ulb,l
|
||||||
Runs should be performed using MCDRAM. :l
|
Runs should be performed using MCDRAM. :l
|
||||||
Add "neigh_modify binsize 3" to the input script for better
|
Add "neigh_modify binsize 3" to the input script for better
|
||||||
performance. :l
|
performance. :l
|
||||||
Add "kspace_modify diff ad" to the input script for better
|
Add "kspace_modify diff ad" to the input script for better
|
||||||
performance. :l
|
performance. :l
|
||||||
export KMP_AFFINITY=none :l
|
export KMP_AFFINITY=none :l
|
||||||
"-pk intel 0 omp 3 lrt yes -sf intel" or "-pk intel 0 omp 1 lrt yes
|
"-pk intel 0 omp 3 lrt yes -sf intel" or "-pk intel 0 omp 1 lrt yes
|
||||||
-sf intel" added to LAMMPS command-line. Choice for best performance
|
-sf intel" added to LAMMPS command-line. Choice for best performance
|
||||||
will depend on the simulation. :l
|
will depend on the simulation. :l
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
For Intel Xeon Phi coprocessors (Offload):
|
For Intel Xeon Phi coprocessors (Offload):
|
||||||
|
|
||||||
Edit src/MAKE/OPTIONS/Makefile.intel_coprocessor as necessary :ulb,l
|
Edit src/MAKE/OPTIONS/Makefile.intel_coprocessor as necessary :ulb,l
|
||||||
"-pk intel N omp 1" added to command-line where N is the number of
|
"-pk intel N omp 1" added to command-line where N is the number of
|
||||||
coprocessors per node. :l
|
coprocessors per node. :l
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
@ -111,7 +111,7 @@ coprocessors per node. :l
|
|||||||
[Required hardware/software:]
|
[Required hardware/software:]
|
||||||
|
|
||||||
In order to use offload to coprocessors, an Intel Xeon Phi
|
In order to use offload to coprocessors, an Intel Xeon Phi
|
||||||
coprocessor and an Intel compiler are required. For this, the
|
coprocessor and an Intel compiler are required. For this, the
|
||||||
recommended version of the Intel compiler is 14.0.1.106 or
|
recommended version of the Intel compiler is 14.0.1.106 or
|
||||||
versions 15.0.2.044 and higher.
|
versions 15.0.2.044 and higher.
|
||||||
|
|
||||||
@ -133,7 +133,7 @@ slightly lower.
|
|||||||
|
|
||||||
[Notes about Simultaneous Multithreading:]
|
[Notes about Simultaneous Multithreading:]
|
||||||
|
|
||||||
Modern CPUs often support Simultaneous Multithreading (SMT). On
|
Modern CPUs often support Simultaneous Multithreading (SMT). On
|
||||||
Intel processors, this is called Hyper-Threading (HT) technology.
|
Intel processors, this is called Hyper-Threading (HT) technology.
|
||||||
SMT is hardware support for running multiple threads efficiently on
|
SMT is hardware support for running multiple threads efficiently on
|
||||||
a single core. {Hardware threads} or {logical cores} are often used
|
a single core. {Hardware threads} or {logical cores} are often used
|
||||||
@ -141,8 +141,8 @@ to refer to the number of threads that are supported in hardware.
|
|||||||
For example, the Intel Xeon E5-2697v4 processor is described
|
For example, the Intel Xeon E5-2697v4 processor is described
|
||||||
as having 36 cores and 72 threads. This means that 36 MPI processes
|
as having 36 cores and 72 threads. This means that 36 MPI processes
|
||||||
or OpenMP threads can run simultaneously on separate cores, but that
|
or OpenMP threads can run simultaneously on separate cores, but that
|
||||||
up to 72 MPI processes or OpenMP threads can be running on the CPU
|
up to 72 MPI processes or OpenMP threads can be running on the CPU
|
||||||
without costly operating system context switches.
|
without costly operating system context switches.
|
||||||
|
|
||||||
Molecular dynamics simulations will often run faster when making use
|
Molecular dynamics simulations will often run faster when making use
|
||||||
of SMT. If a thread becomes stalled, for example because it is
|
of SMT. If a thread becomes stalled, for example because it is
|
||||||
@ -150,7 +150,7 @@ waiting on data that has not yet arrived from memory, another thread
|
|||||||
can start running so that the CPU pipeline is still being used
|
can start running so that the CPU pipeline is still being used
|
||||||
efficiently. Although benefits can be seen by launching a MPI task
|
efficiently. Although benefits can be seen by launching a MPI task
|
||||||
for every hardware thread, for multinode simulations, we recommend
|
for every hardware thread, for multinode simulations, we recommend
|
||||||
that OpenMP threads are used for SMT instead, either with the
|
that OpenMP threads are used for SMT instead, either with the
|
||||||
USER-INTEL package, "USER-OMP package"_accelerate_omp.html", or
|
USER-INTEL package, "USER-OMP package"_accelerate_omp.html", or
|
||||||
"KOKKOS package"_accelerate_kokkos.html. In the example above, up
|
"KOKKOS package"_accelerate_kokkos.html. In the example above, up
|
||||||
to 36X speedups can be observed by using all 36 physical cores with
|
to 36X speedups can be observed by using all 36 physical cores with
|
||||||
@ -158,10 +158,10 @@ LAMMPS. By using all 72 hardware threads, an additional 10-30%
|
|||||||
performance gain can be achieved.
|
performance gain can be achieved.
|
||||||
|
|
||||||
The BIOS on many platforms allows SMT to be disabled, however, we do
|
The BIOS on many platforms allows SMT to be disabled, however, we do
|
||||||
not recommend this on modern processors as there is little to no
|
not recommend this on modern processors as there is little to no
|
||||||
benefit for any software package in most cases. The operating system
|
benefit for any software package in most cases. The operating system
|
||||||
will report every hardware thread as a separate core allowing one to
|
will report every hardware thread as a separate core allowing one to
|
||||||
determine the number of hardware threads available. On Linux systems,
|
determine the number of hardware threads available. On Linux systems,
|
||||||
this information can normally be obtained with:
|
this information can normally be obtained with:
|
||||||
|
|
||||||
cat /proc/cpuinfo :pre
|
cat /proc/cpuinfo :pre
|
||||||
@ -182,21 +182,21 @@ Makefile.intel_cpu_openpmi # Intel Compiler, OpenMPI, No Offload
|
|||||||
Makefile.intel_coprocessor # Intel Compiler, Intel MPI, Offload :pre
|
Makefile.intel_coprocessor # Intel Compiler, Intel MPI, Offload :pre
|
||||||
|
|
||||||
Makefile.knl is identical to Makefile.intel_cpu_intelmpi except that
|
Makefile.knl is identical to Makefile.intel_cpu_intelmpi except that
|
||||||
it explicitly specifies that vectorization should be for Intel
|
it explicitly specifies that vectorization should be for Intel
|
||||||
Xeon Phi x200 processors making it easier to cross-compile. For
|
Xeon Phi x200 processors making it easier to cross-compile. For
|
||||||
users with recent installations of Intel Parallel Studio, the
|
users with recent installations of Intel Parallel Studio, the
|
||||||
process can be as simple as:
|
process can be as simple as:
|
||||||
|
|
||||||
make yes-user-intel
|
make yes-user-intel
|
||||||
source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh
|
source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh
|
||||||
# or psxevars.csh for C-shell
|
# or psxevars.csh for C-shell
|
||||||
make intel_cpu_intelmpi :pre
|
make intel_cpu_intelmpi :pre
|
||||||
|
|
||||||
Alternatively, the build can be accomplished with the src/Make.py
|
Alternatively, the build can be accomplished with the src/Make.py
|
||||||
script, described in "Section 2.4"_Section_start.html#start_4 of the
|
script, described in "Section 2.4"_Section_start.html#start_4 of the
|
||||||
manual. Type "Make.py -h" for help. For an example:
|
manual. Type "Make.py -h" for help. For an example:
|
||||||
|
|
||||||
Make.py -v -p intel omp -intel cpu -a file intel_cpu_intelmpi :pre
|
Make.py -v -p intel omp -intel cpu -a file intel_cpu_intelmpi :pre
|
||||||
|
|
||||||
Note that if you build with support for a Phi coprocessor, the same
|
Note that if you build with support for a Phi coprocessor, the same
|
||||||
binary can be used on nodes with or without coprocessors installed.
|
binary can be used on nodes with or without coprocessors installed.
|
||||||
@ -205,26 +205,26 @@ without offload support will produce a smaller binary.
|
|||||||
|
|
||||||
The general requirements for Makefiles with the USER-INTEL package
|
The general requirements for Makefiles with the USER-INTEL package
|
||||||
are as follows. "-DLAMMPS_MEMALIGN=64" is required for CCFLAGS. When
|
are as follows. "-DLAMMPS_MEMALIGN=64" is required for CCFLAGS. When
|
||||||
using Intel compilers, "-restrict" is required and "-qopenmp" is
|
using Intel compilers, "-restrict" is required and "-qopenmp" is
|
||||||
highly recommended for CCFLAGS and LINKFLAGS. LIB should include
|
highly recommended for CCFLAGS and LINKFLAGS. LIB should include
|
||||||
"-ltbbmalloc". For builds supporting offload, "-DLMP_INTEL_OFFLOAD"
|
"-ltbbmalloc". For builds supporting offload, "-DLMP_INTEL_OFFLOAD"
|
||||||
is required for CCFLAGS and "-qoffload" is required for LINKFLAGS.
|
is required for CCFLAGS and "-qoffload" is required for LINKFLAGS.
|
||||||
Other recommended CCFLAG options for best performance are
|
Other recommended CCFLAG options for best performance are
|
||||||
"-O2 -fno-alias -ansi-alias -qoverride-limits fp-model fast=2
|
"-O2 -fno-alias -ansi-alias -qoverride-limits fp-model fast=2
|
||||||
-no-prec-div". The Make.py command will add all of these
|
-no-prec-div". The Make.py command will add all of these
|
||||||
automatically.
|
automatically.
|
||||||
|
|
||||||
NOTE: The vectorization and math capabilities can differ depending on
|
NOTE: The vectorization and math capabilities can differ depending on
|
||||||
the CPU. For Intel compilers, the "-x" flag specifies the type of
|
the CPU. For Intel compilers, the "-x" flag specifies the type of
|
||||||
processor for which to optimize. "-xHost" specifies that the compiler
|
processor for which to optimize. "-xHost" specifies that the compiler
|
||||||
should build for the processor used for compiling. For Intel Xeon Phi
|
should build for the processor used for compiling. For Intel Xeon Phi
|
||||||
x200 series processors, this option is "-xMIC-AVX512". For fourth
|
x200 series processors, this option is "-xMIC-AVX512". For fourth
|
||||||
generation Intel Xeon (v4/Broadwell) processors, "-xCORE-AVX2" should
|
generation Intel Xeon (v4/Broadwell) processors, "-xCORE-AVX2" should
|
||||||
be used. For older Intel Xeon processors, "-xAVX" will perform best
|
be used. For older Intel Xeon processors, "-xAVX" will perform best
|
||||||
in general for the different simulations in LAMMPS. The default
|
in general for the different simulations in LAMMPS. The default
|
||||||
in most of the example Makefiles is to use "-xHost", however this
|
in most of the example Makefiles is to use "-xHost", however this
|
||||||
should not be used when cross-compiling.
|
should not be used when cross-compiling.
|
||||||
|
|
||||||
[Running LAMMPS with the USER-INTEL package:]
|
[Running LAMMPS with the USER-INTEL package:]
|
||||||
|
|
||||||
Running LAMMPS with the USER-INTEL package is similar to normal use
|
Running LAMMPS with the USER-INTEL package is similar to normal use
|
||||||
@ -232,7 +232,7 @@ with the exceptions that one should 1) specify that LAMMPS should use
|
|||||||
the USER-INTEL package, 2) specify the number of OpenMP threads, and
|
the USER-INTEL package, 2) specify the number of OpenMP threads, and
|
||||||
3) optionally specify the specific LAMMPS styles that should use the
|
3) optionally specify the specific LAMMPS styles that should use the
|
||||||
USER-INTEL package. 1) and 2) can be performed from the command-line
|
USER-INTEL package. 1) and 2) can be performed from the command-line
|
||||||
or by editing the input script. 3) requires editing the input script.
|
or by editing the input script. 3) requires editing the input script.
|
||||||
Advanced performance tuning options are also described below to get
|
Advanced performance tuning options are also described below to get
|
||||||
the best performance.
|
the best performance.
|
||||||
|
|
||||||
@ -241,14 +241,14 @@ coprocessor), best performance is normally obtained by using 1 MPI
|
|||||||
task per physical core and additional OpenMP threads with SMT. For
|
task per physical core and additional OpenMP threads with SMT. For
|
||||||
Intel Xeon processors, 2 OpenMP threads should be used for SMT.
|
Intel Xeon processors, 2 OpenMP threads should be used for SMT.
|
||||||
For Intel Xeon Phi CPUs, 2 or 4 OpenMP threads should be used
|
For Intel Xeon Phi CPUs, 2 or 4 OpenMP threads should be used
|
||||||
(best choice depends on the simulation). In cases where the user
|
(best choice depends on the simulation). In cases where the user
|
||||||
specifies that LRT mode is used (described below), 1 or 3 OpenMP
|
specifies that LRT mode is used (described below), 1 or 3 OpenMP
|
||||||
threads should be used. For multi-node runs, using 1 MPI task per
|
threads should be used. For multi-node runs, using 1 MPI task per
|
||||||
physical core will often perform best, however, depending on the
|
physical core will often perform best, however, depending on the
|
||||||
machine and scale, users might get better performance by decreasing
|
machine and scale, users might get better performance by decreasing
|
||||||
the number of MPI tasks and using more OpenMP threads. For
|
the number of MPI tasks and using more OpenMP threads. For
|
||||||
performance, the product of the number of MPI tasks and OpenMP
|
performance, the product of the number of MPI tasks and OpenMP
|
||||||
threads should not exceed the number of available hardware threads in
|
threads should not exceed the number of available hardware threads in
|
||||||
almost all cases.
|
almost all cases.
|
||||||
|
|
||||||
NOTE: Setting core affinity is often used to pin MPI tasks and OpenMP
|
NOTE: Setting core affinity is often used to pin MPI tasks and OpenMP
|
||||||
@ -257,21 +257,21 @@ uniform. Unless disabled at build time, affinity for MPI tasks and
|
|||||||
OpenMP threads on the host (CPU) will be set by default on the host
|
OpenMP threads on the host (CPU) will be set by default on the host
|
||||||
{when using offload to a coprocessor}. In this case, it is unnecessary
|
{when using offload to a coprocessor}. In this case, it is unnecessary
|
||||||
to use other methods to control affinity (e.g. taskset, numactl,
|
to use other methods to control affinity (e.g. taskset, numactl,
|
||||||
I_MPI_PIN_DOMAIN, etc.). This can be disabled with the {no_affinity}
|
I_MPI_PIN_DOMAIN, etc.). This can be disabled with the {no_affinity}
|
||||||
option to the "package intel"_package.html command or by disabling the
|
option to the "package intel"_package.html command or by disabling the
|
||||||
option at build time (by adding -DINTEL_OFFLOAD_NOAFFINITY to the
|
option at build time (by adding -DINTEL_OFFLOAD_NOAFFINITY to the
|
||||||
CCFLAGS line of your Makefile). Disabling this option is not
|
CCFLAGS line of your Makefile). Disabling this option is not
|
||||||
recommended, especially when running on a machine with Intel
|
recommended, especially when running on a machine with Intel
|
||||||
Hyper-Threading technology disabled.
|
Hyper-Threading technology disabled.
|
||||||
|
|
||||||
[Run with the USER-INTEL package from the command line:]
|
[Run with the USER-INTEL package from the command line:]
|
||||||
|
|
||||||
To enable USER-INTEL optimizations for all available styles used in
|
To enable USER-INTEL optimizations for all available styles used in
|
||||||
the input script, the "-sf intel"
|
the input script, the "-sf intel"
|
||||||
"command-line switch"_Section_start.html#start_7 can be used without
|
"command-line switch"_Section_start.html#start_7 can be used without
|
||||||
any requirement for editing the input script. This switch will
|
any requirement for editing the input script. This switch will
|
||||||
automatically append "intel" to styles that support it. It also
|
automatically append "intel" to styles that support it. It also
|
||||||
invokes a default command: "package intel 1"_package.html. This
|
invokes a default command: "package intel 1"_package.html. This
|
||||||
package command is used to set options for the USER-INTEL package.
|
package command is used to set options for the USER-INTEL package.
|
||||||
The default package command will specify that USER-INTEL calculations
|
The default package command will specify that USER-INTEL calculations
|
||||||
are performed in mixed precision, that the number of OpenMP threads
|
are performed in mixed precision, that the number of OpenMP threads
|
||||||
@ -281,16 +281,16 @@ support, that 1 coprocessor per node will be used with automatic
|
|||||||
balancing of work between the CPU and the coprocessor.
|
balancing of work between the CPU and the coprocessor.
|
||||||
|
|
||||||
You can specify different options for the USER-INTEL package by using
|
You can specify different options for the USER-INTEL package by using
|
||||||
the "-pk intel Nphi" "command-line switch"_Section_start.html#start_7
|
the "-pk intel Nphi" "command-line switch"_Section_start.html#start_7
|
||||||
with keyword/value pairs as specified in the documentation. Here,
|
with keyword/value pairs as specified in the documentation. Here,
|
||||||
Nphi = # of Xeon Phi coprocessors/node (ignored without offload
|
Nphi = # of Xeon Phi coprocessors/node (ignored without offload
|
||||||
support). Common options to the USER-INTEL package include {omp} to
|
support). Common options to the USER-INTEL package include {omp} to
|
||||||
override any OMP_NUM_THREADS setting and specify the number of OpenMP
|
override any OMP_NUM_THREADS setting and specify the number of OpenMP
|
||||||
threads, {mode} to set the floating-point precision mode, and
|
threads, {mode} to set the floating-point precision mode, and
|
||||||
{lrt} to enable Long-Range Thread mode as described below. See the
|
{lrt} to enable Long-Range Thread mode as described below. See the
|
||||||
"package intel"_package.html command for details, including the
|
"package intel"_package.html command for details, including the
|
||||||
default values used for all its options if not specified, and how to
|
default values used for all its options if not specified, and how to
|
||||||
set the number of OpenMP threads via the OMP_NUM_THREADS environment
|
set the number of OpenMP threads via the OMP_NUM_THREADS environment
|
||||||
variable if desired.
|
variable if desired.
|
||||||
|
|
||||||
Examples (see documentation for your MPI/Machine for differences in
|
Examples (see documentation for your MPI/Machine for differences in
|
||||||
@ -303,7 +303,7 @@ mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script -pk intel 0 omp 2 mode
|
|||||||
|
|
||||||
As an alternative to adding command-line arguments, the input script
|
As an alternative to adding command-line arguments, the input script
|
||||||
can be edited to enable the USER-INTEL package. This requires adding
|
can be edited to enable the USER-INTEL package. This requires adding
|
||||||
the "package intel"_package.html command to the top of the input
|
the "package intel"_package.html command to the top of the input
|
||||||
script. For the second example above, this would be:
|
script. For the second example above, this would be:
|
||||||
|
|
||||||
package intel 0 omp 2 mode double :pre
|
package intel 0 omp 2 mode double :pre
|
||||||
@ -314,46 +314,46 @@ add an "intel" suffix to the individual style, e.g.:
|
|||||||
pair_style lj/cut/intel 2.5 :pre
|
pair_style lj/cut/intel 2.5 :pre
|
||||||
|
|
||||||
Alternatively, the "suffix intel"_suffix.html command can be added to
|
Alternatively, the "suffix intel"_suffix.html command can be added to
|
||||||
the input script to enable USER-INTEL styles for the commands that
|
the input script to enable USER-INTEL styles for the commands that
|
||||||
follow in the input script.
|
follow in the input script.
|
||||||
|
|
||||||
[Tuning for Performance:]
|
[Tuning for Performance:]
|
||||||
|
|
||||||
NOTE: The USER-INTEL package will perform better with modifications
|
NOTE: The USER-INTEL package will perform better with modifications
|
||||||
to the input script when "PPPM"_kspace_style.html is used:
|
to the input script when "PPPM"_kspace_style.html is used:
|
||||||
"kspace_modify diff ad"_kspace_modify.html and "neigh_modify binsize
|
"kspace_modify diff ad"_kspace_modify.html and "neigh_modify binsize
|
||||||
3"_neigh_modify.html should be added to the input script.
|
3"_neigh_modify.html should be added to the input script.
|
||||||
|
|
||||||
Long-Range Thread (LRT) mode is an option to the "package
|
Long-Range Thread (LRT) mode is an option to the "package
|
||||||
intel"_package.html command that can improve performance when using
|
intel"_package.html command that can improve performance when using
|
||||||
"PPPM"_kspace_style.html for long-range electrostatics on processors
|
"PPPM"_kspace_style.html for long-range electrostatics on processors
|
||||||
with SMT. It generates an extra pthread for each MPI task. The thread
|
with SMT. It generates an extra pthread for each MPI task. The thread
|
||||||
is dedicated to performing some of the PPPM calculations and MPI
|
is dedicated to performing some of the PPPM calculations and MPI
|
||||||
communications. On Intel Xeon Phi x200 series CPUs, this will likely
|
communications. On Intel Xeon Phi x200 series CPUs, this will likely
|
||||||
always improve performance, even on a single node. On Intel Xeon
|
always improve performance, even on a single node. On Intel Xeon
|
||||||
processors, using this mode might result in better performance when
|
processors, using this mode might result in better performance when
|
||||||
using multiple nodes, depending on the machine. To use this mode,
|
using multiple nodes, depending on the machine. To use this mode,
|
||||||
specify that the number of OpenMP threads is one less than would
|
specify that the number of OpenMP threads is one less than would
|
||||||
normally be used for the run and add the "lrt yes" option to the "-pk"
|
normally be used for the run and add the "lrt yes" option to the "-pk"
|
||||||
command-line suffix or "package intel" command. For example, if a run
|
command-line suffix or "package intel" command. For example, if a run
|
||||||
would normally perform best with "-pk intel 0 omp 4", instead use
|
would normally perform best with "-pk intel 0 omp 4", instead use
|
||||||
"-pk intel 0 omp 3 lrt yes". When using LRT, you should set the
|
"-pk intel 0 omp 3 lrt yes". When using LRT, you should set the
|
||||||
environment variable "KMP_AFFINITY=none". LRT mode is not supported
|
environment variable "KMP_AFFINITY=none". LRT mode is not supported
|
||||||
when using offload.
|
when using offload.
|
||||||
|
|
||||||
Not all styles are supported in the USER-INTEL package. You can mix
|
Not all styles are supported in the USER-INTEL package. You can mix
|
||||||
the USER-INTEL package with styles from the "OPT"_accelerate_opt.html
|
the USER-INTEL package with styles from the "OPT"_accelerate_opt.html
|
||||||
package or the "USER-OMP package"_accelerate_omp.html". Of course,
|
package or the "USER-OMP package"_accelerate_omp.html". Of course,
|
||||||
this requires that these packages were installed at build time. This
|
this requires that these packages were installed at build time. This
|
||||||
can performed automatically by using "-sf hybrid intel opt" or
|
can performed automatically by using "-sf hybrid intel opt" or
|
||||||
"-sf hybrid intel omp" command-line options. Alternatively, the "opt"
|
"-sf hybrid intel omp" command-line options. Alternatively, the "opt"
|
||||||
and "omp" suffixes can be appended manually in the input script. For
|
and "omp" suffixes can be appended manually in the input script. For
|
||||||
the latter, the "package omp"_package.html command must be in the
|
the latter, the "package omp"_package.html command must be in the
|
||||||
input script or the "-pk omp Nt" "command-line
|
input script or the "-pk omp Nt" "command-line
|
||||||
switch"_Section_start.html#start_7 must be used where Nt is the
|
switch"_Section_start.html#start_7 must be used where Nt is the
|
||||||
number of OpenMP threads. The number of OpenMP threads should not be
|
number of OpenMP threads. The number of OpenMP threads should not be
|
||||||
set differently for the different packages. Note that the "suffix
|
set differently for the different packages. Note that the "suffix
|
||||||
hybrid intel omp"_suffix.html command can also be used within the
|
hybrid intel omp"_suffix.html command can also be used within the
|
||||||
input script to automatically append the "omp" suffix to styles when
|
input script to automatically append the "omp" suffix to styles when
|
||||||
USER-INTEL styles are not available.
|
USER-INTEL styles are not available.
|
||||||
|
|
||||||
@ -374,33 +374,33 @@ that MPI runs are performed in MCDRAM.
|
|||||||
|
|
||||||
[Tuning for Offload Performance:]
|
[Tuning for Offload Performance:]
|
||||||
|
|
||||||
The default settings for offload should give good performance.
|
The default settings for offload should give good performance.
|
||||||
|
|
||||||
When using LAMMPS with offload to Intel coprocessors, best performance
|
When using LAMMPS with offload to Intel coprocessors, best performance
|
||||||
will typically be achieved with concurrent calculations performed on
|
will typically be achieved with concurrent calculations performed on
|
||||||
both the CPU and the coprocessor. This is achieved by offloading only
|
both the CPU and the coprocessor. This is achieved by offloading only
|
||||||
a fraction of the neighbor and pair computations to the coprocessor or
|
a fraction of the neighbor and pair computations to the coprocessor or
|
||||||
using "hybrid"_pair_hybrid.html pair styles where only one style uses
|
using "hybrid"_pair_hybrid.html pair styles where only one style uses
|
||||||
the "intel" suffix. For simulations with long-range electrostatics or
|
the "intel" suffix. For simulations with long-range electrostatics or
|
||||||
bond, angle, dihedral, improper calculations, computation and data
|
bond, angle, dihedral, improper calculations, computation and data
|
||||||
transfer to the coprocessor will run concurrently with computations
|
transfer to the coprocessor will run concurrently with computations
|
||||||
and MPI communications for these calculations on the host CPU. This
|
and MPI communications for these calculations on the host CPU. This
|
||||||
is illustrated in the figure below for the rhodopsin protein benchmark
|
is illustrated in the figure below for the rhodopsin protein benchmark
|
||||||
running on E5-2697v2 processors with a Intel Xeon Phi 7120p
|
running on E5-2697v2 processors with a Intel Xeon Phi 7120p
|
||||||
coprocessor. In this plot, the vertical access is time and routines
|
coprocessor. In this plot, the vertical access is time and routines
|
||||||
running at the same time are running concurrently on both the host and
|
running at the same time are running concurrently on both the host and
|
||||||
the coprocessor.
|
the coprocessor.
|
||||||
|
|
||||||
:c,image(JPG/offload_knc.png)
|
:c,image(JPG/offload_knc.png)
|
||||||
|
|
||||||
The fraction of the offloaded work is controlled by the {balance}
|
The fraction of the offloaded work is controlled by the {balance}
|
||||||
keyword in the "package intel"_package.html command. A balance of 0
|
keyword in the "package intel"_package.html command. A balance of 0
|
||||||
runs all calculations on the CPU. A balance of 1 runs all
|
runs all calculations on the CPU. A balance of 1 runs all
|
||||||
supported calculations on the coprocessor. A balance of 0.5 runs half
|
supported calculations on the coprocessor. A balance of 0.5 runs half
|
||||||
of the calculations on the coprocessor. Setting the balance to -1
|
of the calculations on the coprocessor. Setting the balance to -1
|
||||||
(the default) will enable dynamic load balancing that continously
|
(the default) will enable dynamic load balancing that continously
|
||||||
adjusts the fraction of offloaded work throughout the simulation.
|
adjusts the fraction of offloaded work throughout the simulation.
|
||||||
Because data transfer cannot be timed, this option typically produces
|
Because data transfer cannot be timed, this option typically produces
|
||||||
results within 5 to 10 percent of the optimal fixed balance.
|
results within 5 to 10 percent of the optimal fixed balance.
|
||||||
|
|
||||||
If running short benchmark runs with dynamic load balancing, adding a
|
If running short benchmark runs with dynamic load balancing, adding a
|
||||||
@ -418,15 +418,15 @@ with 60 cores available for offload and 4 hardware threads per core
|
|||||||
each MPI task to use a subset of 10 threads on the coprocessor. Fine
|
each MPI task to use a subset of 10 threads on the coprocessor. Fine
|
||||||
tuning of the number of threads to use per MPI task or the number of
|
tuning of the number of threads to use per MPI task or the number of
|
||||||
threads to use per core can be accomplished with keyword settings of
|
threads to use per core can be accomplished with keyword settings of
|
||||||
the "package intel"_package.html command.
|
the "package intel"_package.html command.
|
||||||
|
|
||||||
The USER-INTEL package has two modes for deciding which atoms will be
|
The USER-INTEL package has two modes for deciding which atoms will be
|
||||||
handled by the coprocessor. This choice is controlled with the {ghost}
|
handled by the coprocessor. This choice is controlled with the {ghost}
|
||||||
keyword of the "package intel"_package.html command. When set to 0,
|
keyword of the "package intel"_package.html command. When set to 0,
|
||||||
ghost atoms (atoms at the borders between MPI tasks) are not offloaded
|
ghost atoms (atoms at the borders between MPI tasks) are not offloaded
|
||||||
to the card. This allows for overlap of MPI communication of forces
|
to the card. This allows for overlap of MPI communication of forces
|
||||||
with computation on the coprocessor when the "newton"_newton.html
|
with computation on the coprocessor when the "newton"_newton.html
|
||||||
setting is "on". The default is dependent on the style being used,
|
setting is "on". The default is dependent on the style being used,
|
||||||
however, better performance may be achieved by setting this option
|
however, better performance may be achieved by setting this option
|
||||||
explictly.
|
explictly.
|
||||||
|
|
||||||
@ -442,10 +442,10 @@ mode is being used and indicating the number of coprocessor threads
|
|||||||
per MPI task. Additionally, an offload timing summary is printed at
|
per MPI task. Additionally, an offload timing summary is printed at
|
||||||
the end of each run. When offloading, the frequency for "atom
|
the end of each run. When offloading, the frequency for "atom
|
||||||
sorting"_atom_modify.html is changed to 1 so that the per-atom data is
|
sorting"_atom_modify.html is changed to 1 so that the per-atom data is
|
||||||
effectively sorted at every rebuild of the neighbor lists. All the
|
effectively sorted at every rebuild of the neighbor lists. All the
|
||||||
available coprocessor threads on each Phi will be divided among MPI
|
available coprocessor threads on each Phi will be divided among MPI
|
||||||
tasks, unless the {tptask} option of the "-pk intel" "command-line
|
tasks, unless the {tptask} option of the "-pk intel" "command-line
|
||||||
switch"_Section_start.html#start_7 is used to limit the coprocessor
|
switch"_Section_start.html#start_7 is used to limit the coprocessor
|
||||||
threads per MPI task.
|
threads per MPI task.
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|||||||
@ -65,7 +65,7 @@ Make.py -v -p kokkos -kokkos omp -o mpi -a file mpi # or one-line build via Ma
|
|||||||
|
|
||||||
mpirun -np 16 lmp_mpi -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no threads
|
mpirun -np 16 lmp_mpi -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no threads
|
||||||
mpirun -np 2 -ppn 1 lmp_mpi -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task
|
mpirun -np 2 -ppn 1 lmp_mpi -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task
|
||||||
mpirun -np 2 lmp_mpi -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task
|
mpirun -np 2 lmp_mpi -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task
|
||||||
mpirun -np 32 -ppn 4 lmp_mpi -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre
|
mpirun -np 32 -ppn 4 lmp_mpi -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre
|
||||||
|
|
||||||
specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support
|
specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support
|
||||||
@ -178,7 +178,7 @@ make kokkos_cuda_mpich :pre
|
|||||||
|
|
||||||
These examples set the KOKKOS-specific OMP, MIC, CUDA variables on the
|
These examples set the KOKKOS-specific OMP, MIC, CUDA variables on the
|
||||||
make command line which requires a GNU-compatible make command. Try
|
make command line which requires a GNU-compatible make command. Try
|
||||||
"gmake" if your system's standard make complains.
|
"gmake" if your system's standard make complains.
|
||||||
|
|
||||||
NOTE: If you build using make line variables and re-build LAMMPS twice
|
NOTE: If you build using make line variables and re-build LAMMPS twice
|
||||||
with different KOKKOS options and the *same* target, e.g. g++ in the
|
with different KOKKOS options and the *same* target, e.g. g++ in the
|
||||||
@ -394,7 +394,7 @@ additional parallelism (beyond MPI) will be invoked on the host
|
|||||||
CPU(s).
|
CPU(s).
|
||||||
|
|
||||||
You can compare the performance running in different modes:
|
You can compare the performance running in different modes:
|
||||||
|
|
||||||
run with 1 MPI task/node and N threads/task
|
run with 1 MPI task/node and N threads/task
|
||||||
run with N MPI tasks/node and 1 thread/task
|
run with N MPI tasks/node and 1 thread/task
|
||||||
run with settings in between these extremes :ul
|
run with settings in between these extremes :ul
|
||||||
@ -427,7 +427,7 @@ e.g. src/MAKE/Makefile.cuda, is correct for your GPU hardware/software
|
|||||||
details).
|
details).
|
||||||
|
|
||||||
The -np setting of the mpirun command should set the number of MPI
|
The -np setting of the mpirun command should set the number of MPI
|
||||||
tasks/node to be equal to the # of physical GPUs on the node.
|
tasks/node to be equal to the # of physical GPUs on the node.
|
||||||
|
|
||||||
Use the "-k" "command-line switch"_Section_commands.html#start_7 to
|
Use the "-k" "command-line switch"_Section_commands.html#start_7 to
|
||||||
specify the number of GPUs per node, and the number of threads per MPI
|
specify the number of GPUs per node, and the number of threads per MPI
|
||||||
|
|||||||
@ -96,7 +96,7 @@ variable.
|
|||||||
|
|
||||||
Depending on which styles are accelerated, you should look for a
|
Depending on which styles are accelerated, you should look for a
|
||||||
reduction in the "Pair time", "Bond time", "KSpace time", and "Loop
|
reduction in the "Pair time", "Bond time", "KSpace time", and "Loop
|
||||||
time" values printed at the end of a run.
|
time" values printed at the end of a run.
|
||||||
|
|
||||||
You may see a small performance advantage (5 to 20%) when running a
|
You may see a small performance advantage (5 to 20%) when running a
|
||||||
USER-OMP style (in serial or parallel) with a single thread per MPI
|
USER-OMP style (in serial or parallel) with a single thread per MPI
|
||||||
|
|||||||
@ -21,11 +21,11 @@ angle_coeff 6 2.1 180.0 :pre
|
|||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
The {dipole} angle style is used to control the orientation of a dipolar
|
The {dipole} angle style is used to control the orientation of a dipolar
|
||||||
atom within a molecule "(Orsi)"_#Orsi. Specifically, the {dipole} angle
|
atom within a molecule "(Orsi)"_#Orsi. Specifically, the {dipole} angle
|
||||||
style restrains the orientation of a point dipole mu_j (embedded in atom
|
style restrains the orientation of a point dipole mu_j (embedded in atom
|
||||||
'j') with respect to a reference (bond) vector r_ij = r_i - r_j, where 'i'
|
'j') with respect to a reference (bond) vector r_ij = r_i - r_j, where 'i'
|
||||||
is another atom of the same molecule (typically, 'i' and 'j' are also
|
is another atom of the same molecule (typically, 'i' and 'j' are also
|
||||||
covalently bonded).
|
covalently bonded).
|
||||||
|
|
||||||
It is convenient to define an angle gamma between the 'free' vector mu_j
|
It is convenient to define an angle gamma between the 'free' vector mu_j
|
||||||
and the reference (bond) vector r_ij:
|
and the reference (bond) vector r_ij:
|
||||||
@ -37,21 +37,21 @@ The {dipole} angle style uses the potential:
|
|||||||
:c,image(Eqs/angle_dipole_potential.jpg)
|
:c,image(Eqs/angle_dipole_potential.jpg)
|
||||||
|
|
||||||
where K is a rigidity constant and gamma0 is an equilibrium (reference)
|
where K is a rigidity constant and gamma0 is an equilibrium (reference)
|
||||||
angle.
|
angle.
|
||||||
|
|
||||||
The torque on the dipole can be obtained by differentiating the
|
The torque on the dipole can be obtained by differentiating the
|
||||||
potential using the 'chain rule' as in appendix C.3 of
|
potential using the 'chain rule' as in appendix C.3 of
|
||||||
"(Allen)"_#Allen:
|
"(Allen)"_#Allen:
|
||||||
|
|
||||||
:c,image(Eqs/angle_dipole_torque.jpg)
|
:c,image(Eqs/angle_dipole_torque.jpg)
|
||||||
|
|
||||||
Example: if gamma0 is set to 0 degrees, the torque generated by
|
Example: if gamma0 is set to 0 degrees, the torque generated by
|
||||||
the potential will tend to align the dipole along the reference
|
the potential will tend to align the dipole along the reference
|
||||||
direction defined by the (bond) vector r_ij (in other words, mu_j is
|
direction defined by the (bond) vector r_ij (in other words, mu_j is
|
||||||
restrained to point towards atom 'i').
|
restrained to point towards atom 'i').
|
||||||
|
|
||||||
The dipolar torque T_j must be counterbalanced in order to conserve
|
The dipolar torque T_j must be counterbalanced in order to conserve
|
||||||
the local angular momentum. This is achieved via an additional force
|
the local angular momentum. This is achieved via an additional force
|
||||||
couple generating a torque equivalent to the opposite of T_j:
|
couple generating a torque equivalent to the opposite of T_j:
|
||||||
|
|
||||||
:c,image(Eqs/angle_dipole_couple.jpg)
|
:c,image(Eqs/angle_dipole_couple.jpg)
|
||||||
@ -118,7 +118,7 @@ This angle style should not be used with SHAKE.
|
|||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Orsi)
|
:link(Orsi)
|
||||||
[(Orsi)] Orsi & Essex, The ELBA force field for coarse-grain modeling of
|
[(Orsi)] Orsi & Essex, The ELBA force field for coarse-grain modeling of
|
||||||
lipid membranes, PloS ONE 6(12): e28637, 2011.
|
lipid membranes, PloS ONE 6(12): e28637, 2011.
|
||||||
|
|
||||||
:link(Allen)
|
:link(Allen)
|
||||||
|
|||||||
@ -62,7 +62,7 @@ more instructions on how to use the accelerated styles effectively.
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||||
section for more info on packages.
|
section for more info on packages.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
@ -61,7 +61,7 @@ more instructions on how to use the accelerated styles effectively.
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||||
section for more info on packages.
|
section for more info on packages.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
@ -68,7 +68,7 @@ more instructions on how to use the accelerated styles effectively.
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||||
section for more info on packages.
|
section for more info on packages.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
@ -43,7 +43,7 @@ internally; hence the units of K are in energy/radian^2.
|
|||||||
The also required {lj/sdk} parameters will be extracted automatically
|
The also required {lj/sdk} parameters will be extracted automatically
|
||||||
from the pair_style.
|
from the pair_style.
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER-CG-CMM package. See the "Making
|
USER-CG-CMM package. See the "Making
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS
|
||||||
Commands"_lc :c
|
Commands"_lc :c
|
||||||
|
|
||||||
:link(lws,http://lammps.sandia.gov)
|
:link(lws,http://lammps.sandia.gov)
|
||||||
@ -156,12 +156,12 @@ used with a group-ID that is not "all".
|
|||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
By default, {id} is yes. By default, atomic systems (no bond topology
|
By default, {id} is yes. By default, atomic systems (no bond topology
|
||||||
info) do not use a map. For molecular systems (with bond topology
|
info) do not use a map. For molecular systems (with bond topology
|
||||||
info), a map is used. The default map style is array if no atom ID is
|
info), a map is used. The default map style is array if no atom ID is
|
||||||
larger than 1 million, otherwise the default is hash. By default, a
|
larger than 1 million, otherwise the default is hash. By default, a
|
||||||
"first" group is not defined. By default, sorting is enabled with a
|
"first" group is not defined. By default, sorting is enabled with a
|
||||||
frequency of 1000 and a binsize of 0.0, which means the neighbor
|
frequency of 1000 and a binsize of 0.0, which means the neighbor
|
||||||
cutoff will be used to set the bin size.
|
cutoff will be used to set the bin size.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|||||||
@ -14,7 +14,7 @@ atom_style style args :pre
|
|||||||
|
|
||||||
style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \
|
style = {angle} or {atomic} or {body} or {bond} or {charge} or {dipole} or \
|
||||||
{dpd} or {electron} or {ellipsoid} or {full} or {line} or {meso} or \
|
{dpd} or {electron} or {ellipsoid} or {full} or {line} or {meso} or \
|
||||||
{molecular} or {peri} or {smd} or {sphere} or {tri} or \
|
{molecular} or {peri} or {smd} or {sphere} or {tri} or \
|
||||||
{template} or {hybrid} :ulb,l
|
{template} or {hybrid} :ulb,l
|
||||||
args = none for any style except the following
|
args = none for any style except the following
|
||||||
{body} args = bstyle bstyle-args
|
{body} args = bstyle bstyle-args
|
||||||
@ -193,7 +193,7 @@ For the {body} style, the particles are arbitrary bodies with internal
|
|||||||
attributes defined by the "style" of the bodies, which is specified by
|
attributes defined by the "style" of the bodies, which is specified by
|
||||||
the {bstyle} argument. Body particles can represent complex entities,
|
the {bstyle} argument. Body particles can represent complex entities,
|
||||||
such as surface meshes of discrete points, collections of
|
such as surface meshes of discrete points, collections of
|
||||||
sub-particles, deformable objects, etc.
|
sub-particles, deformable objects, etc.
|
||||||
|
|
||||||
The "body"_body.html doc page descibes the body styles LAMMPS
|
The "body"_body.html doc page descibes the body styles LAMMPS
|
||||||
currently supports, and provides more details as to the kind of body
|
currently supports, and provides more details as to the kind of body
|
||||||
@ -269,7 +269,7 @@ The {line} and {tri} styles are part of the ASPHERE package.
|
|||||||
|
|
||||||
The {body} style is part of the BODY package.
|
The {body} style is part of the BODY package.
|
||||||
|
|
||||||
The {dipole} style is part of the DIPOLE package.
|
The {dipole} style is part of the DIPOLE package.
|
||||||
|
|
||||||
The {peri} style is part of the PERI package for Peridynamics.
|
The {peri} style is part of the PERI package for Peridynamics.
|
||||||
|
|
||||||
|
|||||||
@ -490,7 +490,7 @@ per processor. Note that the 4 sub-domains share vertices, so there
|
|||||||
will be duplicate nodes in the list.
|
will be duplicate nodes in the list.
|
||||||
|
|
||||||
The "SQUARES" section lists the node IDs of the 4 vertices in a
|
The "SQUARES" section lists the node IDs of the 4 vertices in a
|
||||||
rectangle for each processor (1 to 4).
|
rectangle for each processor (1 to 4).
|
||||||
|
|
||||||
For a 3d problem, the syntax is similar with 8 vertices listed for
|
For a 3d problem, the syntax is similar with 8 vertices listed for
|
||||||
each processor, instead of 4, and "SQUARES" replaced by "CUBES".
|
each processor, instead of 4, and "SQUARES" replaced by "CUBES".
|
||||||
|
|||||||
@ -125,7 +125,7 @@ in the {Bodies} section of the data file:
|
|||||||
|
|
||||||
atom-ID 1 M
|
atom-ID 1 M
|
||||||
N
|
N
|
||||||
ixx iyy izz ixy ixz iyz
|
ixx iyy izz ixy ixz iyz
|
||||||
x1 y1 z1
|
x1 y1 z1
|
||||||
...
|
...
|
||||||
xN yN zN :pre
|
xN yN zN :pre
|
||||||
@ -198,11 +198,11 @@ in the {Bodies} section of the data file:
|
|||||||
|
|
||||||
atom-ID 1 M
|
atom-ID 1 M
|
||||||
N
|
N
|
||||||
ixx iyy izz ixy ixz iyz
|
ixx iyy izz ixy ixz iyz
|
||||||
x1 y1 z1
|
x1 y1 z1
|
||||||
...
|
...
|
||||||
xN yN zN
|
xN yN zN
|
||||||
i j j k k ...
|
i j j k k ...
|
||||||
radius :pre
|
radius :pre
|
||||||
|
|
||||||
N is the number of vertices in the body particle. M = 6 + 3*N + 2*N +
|
N is the number of vertices in the body particle. M = 6 + 3*N + 2*N +
|
||||||
@ -230,11 +230,11 @@ particles whose edge length is sqrt(2):
|
|||||||
|
|
||||||
3 1 27
|
3 1 27
|
||||||
4
|
4
|
||||||
1 1 4 0 0 0
|
1 1 4 0 0 0
|
||||||
-0.7071 -0.7071 0
|
-0.7071 -0.7071 0
|
||||||
-0.7071 0.7071 0
|
-0.7071 0.7071 0
|
||||||
0.7071 0.7071 0
|
0.7071 0.7071 0
|
||||||
0.7071 -0.7071 0
|
0.7071 -0.7071 0
|
||||||
0 1 1 2 2 3 3 0
|
0 1 1 2 2 3 3 0
|
||||||
1.0 :pre
|
1.0 :pre
|
||||||
|
|
||||||
|
|||||||
@ -173,7 +173,7 @@ change_box all x scale 1.1 y volume z volume :pre
|
|||||||
|
|
||||||
The {volume} style changes the associated dimension so that the
|
The {volume} style changes the associated dimension so that the
|
||||||
overall box volume is unchanged relative to its value before the
|
overall box volume is unchanged relative to its value before the
|
||||||
preceding keyword was invoked.
|
preceding keyword was invoked.
|
||||||
|
|
||||||
If the following command is used, then the z box length will shrink by
|
If the following command is used, then the z box length will shrink by
|
||||||
the same 1.1 factor the x box length was increased by:
|
the same 1.1 factor the x box length was increased by:
|
||||||
|
|||||||
@ -135,7 +135,7 @@ and angular momentum of a particle. If the {vel} option is set to
|
|||||||
{yes}, then ghost atoms store these quantities; if {no} then they do
|
{yes}, then ghost atoms store these quantities; if {no} then they do
|
||||||
not. The {yes} setting is needed by some pair styles which require
|
not. The {yes} setting is needed by some pair styles which require
|
||||||
the velocity state of both the I and J particles to compute a pairwise
|
the velocity state of both the I and J particles to compute a pairwise
|
||||||
I,J interaction.
|
I,J interaction, as well as by some compute and fix commands.
|
||||||
|
|
||||||
Note that if the "fix deform"_fix_deform.html command is being used
|
Note that if the "fix deform"_fix_deform.html command is being used
|
||||||
with its "remap v" option enabled, then the velocities for ghost atoms
|
with its "remap v" option enabled, then the velocities for ghost atoms
|
||||||
|
|||||||
@ -13,7 +13,7 @@ compute cna/atom command :h3
|
|||||||
compute ID group-ID cna/atom cutoff :pre
|
compute ID group-ID cna/atom cutoff :pre
|
||||||
|
|
||||||
ID, group-ID are documented in "compute"_compute.html command
|
ID, group-ID are documented in "compute"_compute.html command
|
||||||
cna/atom = style name of this compute command
|
cna/atom = style name of this compute command
|
||||||
cutoff = cutoff distance for nearest neighbors (distance units) :ul
|
cutoff = cutoff distance for nearest neighbors (distance units) :ul
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|||||||
@ -63,4 +63,4 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
|||||||
"compute damage/atom"_compute_damage_atom.html,
|
"compute damage/atom"_compute_damage_atom.html,
|
||||||
"compute plasticity/atom"_compute_plasticity_atom.html
|
"compute plasticity/atom"_compute_plasticity_atom.html
|
||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|||||||
@ -19,7 +19,7 @@ charge-correction = {mass} or {geometry}, use COM or geometric center for charge
|
|||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute 1 fluid dipole/chunk molchunk
|
compute 1 fluid dipole/chunk molchunk
|
||||||
compute dw water dipole/chunk 1 geometry :pre
|
compute dw water dipole/chunk 1 geometry :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|||||||
@ -46,7 +46,7 @@ output options.
|
|||||||
|
|
||||||
The vector values will be in energy and temperature "units"_units.html.
|
The vector values will be in energy and temperature "units"_units.html.
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This command is part of the USER-DPD package. It is only enabled if
|
This command is part of the USER-DPD package. It is only enabled if
|
||||||
LAMMPS was built with that package. See the "Making
|
LAMMPS was built with that package. See the "Making
|
||||||
@ -64,7 +64,7 @@ command.
|
|||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Larentzos)
|
:link(Larentzos)
|
||||||
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
|
[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and
|
||||||
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
|
W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative
|
||||||
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
|
Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research
|
||||||
|
|||||||
@ -22,7 +22,7 @@ compute 1 all dpd/atom
|
|||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that accesses the per-particle internal
|
Define a computation that accesses the per-particle internal
|
||||||
conductive energy (u_cond), internal mechanical energy (u_mech),
|
conductive energy (u_cond), internal mechanical energy (u_mech),
|
||||||
internal chemical energy (u_chem) and
|
internal chemical energy (u_chem) and
|
||||||
internal temperatures (dpdTheta) for each particle in a group. See
|
internal temperatures (dpdTheta) for each particle in a group. See
|
||||||
the "compute dpd"_compute_dpd.html command if you want the total
|
the "compute dpd"_compute_dpd.html command if you want the total
|
||||||
@ -39,10 +39,10 @@ that uses per-particle values from a compute as input. See
|
|||||||
"Section 6.15"_Section_howto.html#howto_15 for an overview of
|
"Section 6.15"_Section_howto.html#howto_15 for an overview of
|
||||||
LAMMPS output options.
|
LAMMPS output options.
|
||||||
|
|
||||||
The per-particle array values will be in energy (u_cond, u_mech, u_chem)
|
The per-particle array values will be in energy (u_cond, u_mech, u_chem)
|
||||||
and temperature (dpdTheta) "units"_units.html.
|
and temperature (dpdTheta) "units"_units.html.
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This command is part of the USER-DPD package. It is only enabled if
|
This command is part of the USER-DPD package. It is only enabled if
|
||||||
LAMMPS was built with that package. See the "Making
|
LAMMPS was built with that package. See the "Making
|
||||||
|
|||||||
@ -26,7 +26,7 @@ Define a computation that flags an "event" if any particle in the
|
|||||||
group has moved a distance greater than the specified threshold
|
group has moved a distance greater than the specified threshold
|
||||||
distance when compared to a previously stored reference state
|
distance when compared to a previously stored reference state
|
||||||
(i.e. the previous event). This compute is typically used in
|
(i.e. the previous event). This compute is typically used in
|
||||||
conjunction with the "prd"_prd.html and "tad"_tad.html commands,
|
conjunction with the "prd"_prd.html and "tad"_tad.html commands,
|
||||||
to detect if a transition
|
to detect if a transition
|
||||||
to a new minimum energy basin has occurred.
|
to a new minimum energy basin has occurred.
|
||||||
|
|
||||||
@ -34,8 +34,8 @@ This value calculated by the compute is equal to 0 if no particle has
|
|||||||
moved far enough, and equal to 1 if one or more particles have moved
|
moved far enough, and equal to 1 if one or more particles have moved
|
||||||
further than the threshold distance.
|
further than the threshold distance.
|
||||||
|
|
||||||
NOTE: If the system is undergoing significant center-of-mass motion,
|
NOTE: If the system is undergoing significant center-of-mass motion,
|
||||||
due to thermal motion, an external force, or an initial net momentum,
|
due to thermal motion, an external force, or an initial net momentum,
|
||||||
then this compute will not be able to distinguish that motion from
|
then this compute will not be able to distinguish that motion from
|
||||||
local atom displacements and may generate "false postives."
|
local atom displacements and may generate "false postives."
|
||||||
|
|
||||||
|
|||||||
@ -64,7 +64,7 @@ these atoms:
|
|||||||
A coupling parameter \(\lambda\) varying from 0 to 1 connects the
|
A coupling parameter \(\lambda\) varying from 0 to 1 connects the
|
||||||
reference and perturbed systems:
|
reference and perturbed systems:
|
||||||
|
|
||||||
:c,image(Eqs/compute_fep_lambda.jpg)
|
:c,image(Eqs/compute_fep_lambda.jpg)
|
||||||
|
|
||||||
It is possible but not necessary that the coupling parameter (or a
|
It is possible but not necessary that the coupling parameter (or a
|
||||||
function thereof) appears as a multiplication factor of the potential
|
function thereof) appears as a multiplication factor of the potential
|
||||||
|
|||||||
@ -28,7 +28,7 @@ compute 2 molecule gyration/chunk molchunk tensor :pre
|
|||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates the radius of gyration Rg for
|
Define a computation that calculates the radius of gyration Rg for
|
||||||
multiple chunks of atoms.
|
multiple chunks of atoms.
|
||||||
|
|
||||||
In LAMMPS, chunks are collections of atoms defined by a "compute
|
In LAMMPS, chunks are collections of atoms defined by a "compute
|
||||||
chunk/atom"_compute_chunk_atom.html command, which assigns each atom
|
chunk/atom"_compute_chunk_atom.html command, which assigns each atom
|
||||||
|
|||||||
@ -20,7 +20,7 @@ stress-ID = ID of a compute that calculates per-atom stress :ul
|
|||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute myFlux all heat/flux myKE myPE myStress :pre
|
compute myFlux all heat/flux myKE myPE myStress :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ subtracted to a group of atoms.
|
|||||||
The compute takes three arguments which are IDs of other
|
The compute takes three arguments which are IDs of other
|
||||||
"computes"_compute.html. One calculates per-atom kinetic energy
|
"computes"_compute.html. One calculates per-atom kinetic energy
|
||||||
({ke-ID}), one calculates per-atom potential energy ({pe-ID)}, and the
|
({ke-ID}), one calculates per-atom potential energy ({pe-ID)}, and the
|
||||||
third calcualtes per-atom stress ({stress-ID}).
|
third calcualtes per-atom stress ({stress-ID}).
|
||||||
|
|
||||||
NOTE: These other computes should provide values for all the atoms in
|
NOTE: These other computes should provide values for all the atoms in
|
||||||
the group this compute specifies. That means the other computes could
|
the group this compute specifies. That means the other computes could
|
||||||
@ -152,11 +152,11 @@ lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
|
|||||||
region box block 0 4 0 4 0 4
|
region box block 0 4 0 4 0 4
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
mass 1 39.948
|
mass 1 39.948
|
||||||
pair_style lj/cut 13.0
|
pair_style lj/cut 13.0
|
||||||
pair_coeff * * 0.2381 3.405
|
pair_coeff * * 0.2381 3.405
|
||||||
timestep $\{dt\}
|
timestep $\{dt\}
|
||||||
thermo $d :pre
|
thermo $d :pre
|
||||||
|
|
||||||
# equilibration and thermalization :pre
|
# equilibration and thermalization :pre
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ compute ID group-ID hexorder/atom keyword values ... :pre
|
|||||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||||
hexorder/atom = style name of this compute command :l
|
hexorder/atom = style name of this compute command :l
|
||||||
one or more keyword/value pairs may be appended :l
|
one or more keyword/value pairs may be appended :l
|
||||||
keyword = {degree} or {nnn} or {cutoff}
|
keyword = {degree} or {nnn} or {cutoff}
|
||||||
{cutoff} value = distance cutoff
|
{cutoff} value = distance cutoff
|
||||||
{nnn} value = number of nearest neighbors
|
{nnn} value = number of nearest neighbors
|
||||||
{degree} value = degree {n} of order parameter :pre
|
{degree} value = degree {n} of order parameter :pre
|
||||||
@ -24,27 +24,27 @@ keyword = {degree} or {nnn} or {cutoff}
|
|||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute 1 all hexorder/atom
|
compute 1 all hexorder/atom
|
||||||
compute 1 all hexorder/atom degree 4 nnn 4 cutoff 1.2 :pre
|
compute 1 all hexorder/atom degree 4 nnn 4 cutoff 1.2 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates {qn} the bond-orientational
|
Define a computation that calculates {qn} the bond-orientational
|
||||||
order parameter for each atom in a group. The hexatic ({n} = 6) order
|
order parameter for each atom in a group. The hexatic ({n} = 6) order
|
||||||
parameter was introduced by "Nelson and Halperin"_#Nelson as a way to detect
|
parameter was introduced by "Nelson and Halperin"_#Nelson as a way to detect
|
||||||
hexagonal symmetry in two-dimensional systems. For each atom, {qn}
|
hexagonal symmetry in two-dimensional systems. For each atom, {qn}
|
||||||
is a complex number (stored as two real numbers) defined as follows:
|
is a complex number (stored as two real numbers) defined as follows:
|
||||||
|
|
||||||
:c,image(Eqs/hexorder.jpg)
|
:c,image(Eqs/hexorder.jpg)
|
||||||
|
|
||||||
where the sum is over the {nnn} nearest neighbors
|
where the sum is over the {nnn} nearest neighbors
|
||||||
of the central atom. The angle theta
|
of the central atom. The angle theta
|
||||||
is formed by the bond vector rij and the {x} axis. theta is calculated
|
is formed by the bond vector rij and the {x} axis. theta is calculated
|
||||||
only using the {x} and {y} components, whereas the distance from the
|
only using the {x} and {y} components, whereas the distance from the
|
||||||
central atom is calculated using all three
|
central atom is calculated using all three
|
||||||
{x}, {y}, and {z} components of the bond vector.
|
{x}, {y}, and {z} components of the bond vector.
|
||||||
Neighbor atoms not in the group
|
Neighbor atoms not in the group
|
||||||
are included in the order parameter of atoms in the group.
|
are included in the order parameter of atoms in the group.
|
||||||
|
|
||||||
The optional keyword {cutoff} defines the distance cutoff
|
The optional keyword {cutoff} defines the distance cutoff
|
||||||
used when searching for neighbors. The default value, also
|
used when searching for neighbors. The default value, also
|
||||||
@ -53,22 +53,22 @@ by the pair style.
|
|||||||
|
|
||||||
The optional keyword {nnn} defines the number of nearest
|
The optional keyword {nnn} defines the number of nearest
|
||||||
neighbors used to calculate {qn}. The default value is 6.
|
neighbors used to calculate {qn}. The default value is 6.
|
||||||
If the value is NULL, then all neighbors up to the
|
If the value is NULL, then all neighbors up to the
|
||||||
distance cutoff are used.
|
distance cutoff are used.
|
||||||
|
|
||||||
The optional keyword {degree} sets the degree {n} of the order parameter.
|
The optional keyword {degree} sets the degree {n} of the order parameter.
|
||||||
The default value is 6. For a perfect hexagonal lattice with
|
The default value is 6. For a perfect hexagonal lattice with
|
||||||
{nnn} = 6,
|
{nnn} = 6,
|
||||||
{q}6 = exp(6 i phi) for all atoms, where the constant 0 < phi < pi/3
|
{q}6 = exp(6 i phi) for all atoms, where the constant 0 < phi < pi/3
|
||||||
depends only on the orientation of the lattice relative to the {x} axis.
|
depends only on the orientation of the lattice relative to the {x} axis.
|
||||||
In an isotropic liquid, local neighborhoods may still exhibit
|
In an isotropic liquid, local neighborhoods may still exhibit
|
||||||
weak hexagonal symmetry, but because the orientational correlation
|
weak hexagonal symmetry, but because the orientational correlation
|
||||||
decays quickly with distance, the value of phi will be different for
|
decays quickly with distance, the value of phi will be different for
|
||||||
different atoms, and so when {q}6 is averaged over all the atoms
|
different atoms, and so when {q}6 is averaged over all the atoms
|
||||||
in the system, \|<{q}6>\| << 1.
|
in the system, \|<{q}6>\| << 1.
|
||||||
|
|
||||||
The value of {qn} is set to zero for atoms not in the
|
The value of {qn} is set to zero for atoms not in the
|
||||||
specified compute group, as well as for atoms that have less than
|
specified compute group, as well as for atoms that have less than
|
||||||
{nnn} neighbors within the distance cutoff.
|
{nnn} neighbors within the distance cutoff.
|
||||||
|
|
||||||
The neighbor list needed to compute this quantity is constructed each
|
The neighbor list needed to compute this quantity is constructed each
|
||||||
@ -92,7 +92,7 @@ the neighbor list.
|
|||||||
[Output info:]
|
[Output info:]
|
||||||
|
|
||||||
This compute calculates a per-atom array with 2 columns, giving the
|
This compute calculates a per-atom array with 2 columns, giving the
|
||||||
real and imaginary parts {qn}, a complex number restricted to the
|
real and imaginary parts {qn}, a complex number restricted to the
|
||||||
unit disk of the complex plane i.e. Re({qn})^2 + Im({qn})^2 <= 1 .
|
unit disk of the complex plane i.e. Re({qn})^2 + Im({qn})^2 <= 1 .
|
||||||
|
|
||||||
These values can be accessed by any command that uses
|
These values can be accessed by any command that uses
|
||||||
@ -106,7 +106,7 @@ options.
|
|||||||
|
|
||||||
"compute orientorder/atom"_compute_orientorder_atom.html, "compute coord/atom"_compute_coord_atom.html, "compute centro/atom"_compute_centro_atom.html
|
"compute orientorder/atom"_compute_orientorder_atom.html, "compute coord/atom"_compute_coord_atom.html, "compute centro/atom"_compute_centro_atom.html
|
||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The option defaults are {cutoff} = pair style cutoff, {nnn} = 6, {degree} = 6
|
The option defaults are {cutoff} = pair style cutoff, {nnn} = 6, {degree} = 6
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@ compute 1 fluid inertia/chunk molchunk :pre
|
|||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates the inertia tensor for multiple
|
Define a computation that calculates the inertia tensor for multiple
|
||||||
chunks of atoms.
|
chunks of atoms.
|
||||||
|
|
||||||
In LAMMPS, chunks are collections of atoms defined by a "compute
|
In LAMMPS, chunks are collections of atoms defined by a "compute
|
||||||
chunk/atom"_compute_chunk_atom.html command, which assigns each atom
|
chunk/atom"_compute_chunk_atom.html command, which assigns each atom
|
||||||
|
|||||||
@ -48,9 +48,9 @@ thermodynamic output by using the "thermo_modify"_thermo_modify.html
|
|||||||
command, as shown in the following example:
|
command, as shown in the following example:
|
||||||
|
|
||||||
compute effTemp all temp/eff
|
compute effTemp all temp/eff
|
||||||
thermo_style custom step etotal pe ke temp press
|
thermo_style custom step etotal pe ke temp press
|
||||||
thermo_modify temp effTemp :pre
|
thermo_modify temp effTemp :pre
|
||||||
|
|
||||||
The value of the kinetic energy will be 0.0 for atoms (nuclei or
|
The value of the kinetic energy will be 0.0 for atoms (nuclei or
|
||||||
electrons) not in the specified compute group.
|
electrons) not in the specified compute group.
|
||||||
|
|
||||||
|
|||||||
@ -52,9 +52,9 @@ printed with thermodynamic output by using the
|
|||||||
example:
|
example:
|
||||||
|
|
||||||
compute effTemp all temp/eff
|
compute effTemp all temp/eff
|
||||||
thermo_style custom step etotal pe ke temp press
|
thermo_style custom step etotal pe ke temp press
|
||||||
thermo_modify temp effTemp :pre
|
thermo_modify temp effTemp :pre
|
||||||
|
|
||||||
See "compute temp/eff"_compute_temp_eff.html.
|
See "compute temp/eff"_compute_temp_eff.html.
|
||||||
|
|
||||||
[Output info:]
|
[Output info:]
|
||||||
|
|||||||
@ -61,4 +61,4 @@ the temperature is correctly normalized.
|
|||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The option defaults are extra = 2 or 3 for 2d or 3d systems and
|
The option defaults are extra = 2 or 3 for 2d or 3d systems and
|
||||||
dynamic = no.
|
dynamic = no.
|
||||||
|
|||||||
@ -44,7 +44,7 @@ proportional to the diffusion coefficient of the diffusing atoms.
|
|||||||
|
|
||||||
The displacement of an atom is from its reference position. This is
|
The displacement of an atom is from its reference position. This is
|
||||||
normally the original position at the time
|
normally the original position at the time
|
||||||
the compute command was issued, unless the {average} keyword is set to {yes}.
|
the compute command was issued, unless the {average} keyword is set to {yes}.
|
||||||
The value of the displacement will be
|
The value of the displacement will be
|
||||||
0.0 for atoms not in the specified compute group.
|
0.0 for atoms not in the specified compute group.
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ compute ID group-ID orientorder/atom keyword values ... :pre
|
|||||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||||
orientorder/atom = style name of this compute command :l
|
orientorder/atom = style name of this compute command :l
|
||||||
one or more keyword/value pairs may be appended :l
|
one or more keyword/value pairs may be appended :l
|
||||||
keyword = {cutoff} or {nnn} or {ql}
|
keyword = {cutoff} or {nnn} or {ql}
|
||||||
{cutoff} value = distance cutoff
|
{cutoff} value = distance cutoff
|
||||||
{nnn} value = number of nearest neighbors
|
{nnn} value = number of nearest neighbors
|
||||||
{degrees} values = nlvalues, l1, l2,... :pre
|
{degrees} values = nlvalues, l1, l2,... :pre
|
||||||
@ -24,30 +24,30 @@ keyword = {cutoff} or {nnn} or {ql}
|
|||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute 1 all orientorder/atom
|
compute 1 all orientorder/atom
|
||||||
compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5 :pre
|
compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates a set of bond-orientational
|
Define a computation that calculates a set of bond-orientational
|
||||||
order parameters {Ql} for each atom in a group. These order parameters
|
order parameters {Ql} for each atom in a group. These order parameters
|
||||||
were introduced by "Steinhardt et al."_#Steinhardt as a way to
|
were introduced by "Steinhardt et al."_#Steinhardt as a way to
|
||||||
characterize the local orientational order in atomic structures.
|
characterize the local orientational order in atomic structures.
|
||||||
For each atom, {Ql} is a real number defined as follows:
|
For each atom, {Ql} is a real number defined as follows:
|
||||||
|
|
||||||
:c,image(Eqs/orientorder.jpg)
|
:c,image(Eqs/orientorder.jpg)
|
||||||
|
|
||||||
The first equation defines the spherical harmonic order parameters.
|
The first equation defines the spherical harmonic order parameters.
|
||||||
These are complex number components of the 3D analog of the 2D order
|
These are complex number components of the 3D analog of the 2D order
|
||||||
parameter {qn}, which is implemented as LAMMPS compute
|
parameter {qn}, which is implemented as LAMMPS compute
|
||||||
"hexorder/atom"_compute_hexorder_atom.html.
|
"hexorder/atom"_compute_hexorder_atom.html.
|
||||||
The summation is over the {nnn} nearest
|
The summation is over the {nnn} nearest
|
||||||
neighbors of the central atom.
|
neighbors of the central atom.
|
||||||
The angles theta and phi are the standard spherical polar angles
|
The angles theta and phi are the standard spherical polar angles
|
||||||
defining the direction of the bond vector {rij}.
|
defining the direction of the bond vector {rij}.
|
||||||
The second equation defines {Ql}, which is a
|
The second equation defines {Ql}, which is a
|
||||||
rotationally invariant scalar quantity obtained by summing
|
rotationally invariant scalar quantity obtained by summing
|
||||||
over all the components of degree {l}.
|
over all the components of degree {l}.
|
||||||
|
|
||||||
The optional keyword {cutoff} defines the distance cutoff
|
The optional keyword {cutoff} defines the distance cutoff
|
||||||
used when searching for neighbors. The default value, also
|
used when searching for neighbors. The default value, also
|
||||||
@ -56,23 +56,23 @@ by the pair style.
|
|||||||
|
|
||||||
The optional keyword {nnn} defines the number of nearest
|
The optional keyword {nnn} defines the number of nearest
|
||||||
neighbors used to calculate {Ql}. The default value is 12.
|
neighbors used to calculate {Ql}. The default value is 12.
|
||||||
If the value is NULL, then all neighbors up to the
|
If the value is NULL, then all neighbors up to the
|
||||||
specified distance cutoff are used.
|
specified distance cutoff are used.
|
||||||
|
|
||||||
The optional keyword {degrees} defines the list of order parameters to
|
The optional keyword {degrees} defines the list of order parameters to
|
||||||
be computed. The first argument {nlvalues} is the number of order
|
be computed. The first argument {nlvalues} is the number of order
|
||||||
parameters. This is followed by that number of integers giving the
|
parameters. This is followed by that number of integers giving the
|
||||||
degree of each order parameter. Because {Q}2 and all odd-degree
|
degree of each order parameter. Because {Q}2 and all odd-degree
|
||||||
order parameters are zero for atoms in cubic crystals
|
order parameters are zero for atoms in cubic crystals
|
||||||
(see "Steinhardt"_#Steinhardt), the default order parameters
|
(see "Steinhardt"_#Steinhardt), the default order parameters
|
||||||
are {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12. For the
|
are {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12. For the
|
||||||
FCC crystal with {nnn}=12, {Q}4 = sqrt(7/3)/8 = 0.19094....
|
FCC crystal with {nnn}=12, {Q}4 = sqrt(7/3)/8 = 0.19094....
|
||||||
The numerical values of all order parameters up to {Q}12
|
The numerical values of all order parameters up to {Q}12
|
||||||
for a range of commonly encountered high-symmetry structures are given
|
for a range of commonly encountered high-symmetry structures are given
|
||||||
in Table I of "Mickel et al."_#Mickel.
|
in Table I of "Mickel et al."_#Mickel.
|
||||||
|
|
||||||
The value of {Ql} is set to zero for atoms not in the
|
The value of {Ql} is set to zero for atoms not in the
|
||||||
specified compute group, as well as for atoms that have less than
|
specified compute group, as well as for atoms that have less than
|
||||||
{nnn} neighbors within the distance cutoff.
|
{nnn} neighbors within the distance cutoff.
|
||||||
|
|
||||||
The neighbor list needed to compute this quantity is constructed each
|
The neighbor list needed to compute this quantity is constructed each
|
||||||
@ -109,9 +109,9 @@ options.
|
|||||||
|
|
||||||
"compute coord/atom"_compute_coord_atom.html, "compute centro/atom"_compute_centro_atom.html, "compute hexorder/atom"_compute_hexorder_atom.html
|
"compute coord/atom"_compute_coord_atom.html, "compute centro/atom"_compute_centro_atom.html, "compute hexorder/atom"_compute_hexorder_atom.html
|
||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The option defaults are {cutoff} = pair style cutoff, {nnn} = 12, {degrees} = 5 4 6 8 9 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12.
|
The option defaults are {cutoff} = pair style cutoff, {nnn} = 12, {degrees} = 5 4 6 8 9 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
@ -52,7 +52,7 @@ The KSpace contribution is calculated using the method in
|
|||||||
"(Heyes)"_#Heyes for the Ewald method and a related method for PPPM,
|
"(Heyes)"_#Heyes for the Ewald method and a related method for PPPM,
|
||||||
as specified by the "kspace_style pppm"_kspace_style.html command.
|
as specified by the "kspace_style pppm"_kspace_style.html command.
|
||||||
For PPPM, the calcluation requires 1 extra FFT each timestep that
|
For PPPM, the calcluation requires 1 extra FFT each timestep that
|
||||||
per-atom energy is calculated. Thie "document"_PDF/kspace.pdf
|
per-atom energy is calculated. This "document"_PDF/kspace.pdf
|
||||||
describes how the long-range per-atom energy calculation is performed.
|
describes how the long-range per-atom energy calculation is performed.
|
||||||
|
|
||||||
Various fixes can contribute to the per-atom potential energy of the
|
Various fixes can contribute to the per-atom potential energy of the
|
||||||
@ -68,9 +68,9 @@ As an example of per-atom potential energy compared to total potential
|
|||||||
energy, these lines in an input script should yield the same result
|
energy, these lines in an input script should yield the same result
|
||||||
in the last 2 columns of thermo output:
|
in the last 2 columns of thermo output:
|
||||||
|
|
||||||
compute peratom all pe/atom
|
compute peratom all pe/atom
|
||||||
compute pe all reduce sum c_peratom
|
compute pe all reduce sum c_peratom
|
||||||
thermo_style custom step temp etotal press pe c_pe :pre
|
thermo_style custom step temp etotal press pe c_pe :pre
|
||||||
|
|
||||||
NOTE: The per-atom energy does not any Lennard-Jones tail corrections
|
NOTE: The per-atom energy does not any Lennard-Jones tail corrections
|
||||||
invoked by the "pair_modify tail yes"_pair_modify.html command, since
|
invoked by the "pair_modify tail yes"_pair_modify.html command, since
|
||||||
|
|||||||
@ -30,7 +30,7 @@ The plasticity for a Peridynamic particle is the so-called consistency
|
|||||||
parameter (lambda). For elastic deformation lambda = 0, otherwise
|
parameter (lambda). For elastic deformation lambda = 0, otherwise
|
||||||
lambda > 0 for plastic deformation. For details, see
|
lambda > 0 for plastic deformation. For details, see
|
||||||
"(Mitchell)"_#Mitchell and the PDF doc included in the LAMMPS
|
"(Mitchell)"_#Mitchell and the PDF doc included in the LAMMPS
|
||||||
distro in "doc/PDF/PDLammps_EPS.pdf"_PDF/PDLammps_EPS.pdf.
|
distro in "doc/PDF/PDLammps_EPS.pdf"_PDF/PDLammps_EPS.pdf.
|
||||||
|
|
||||||
This command can be invoked for one of the Peridynamic "pair
|
This command can be invoked for one of the Peridynamic "pair
|
||||||
styles"_pair_peri.html: peri/eps.
|
styles"_pair_peri.html: peri/eps.
|
||||||
@ -57,7 +57,7 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
|||||||
"compute damage/atom"_compute_damage_atom.html,
|
"compute damage/atom"_compute_damage_atom.html,
|
||||||
"compute dilatation/atom"_compute_dilatation_atom.html
|
"compute dilatation/atom"_compute_dilatation_atom.html
|
||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
@ -50,7 +50,7 @@ ordered xx, yy, zz, xy, xz, yz. The equation for the I,J components
|
|||||||
(where I and J = x,y,z) is similar to the above formula, except that
|
(where I and J = x,y,z) is similar to the above formula, except that
|
||||||
the first term uses components of the kinetic energy tensor and the
|
the first term uses components of the kinetic energy tensor and the
|
||||||
second term uses components of the virial tensor:
|
second term uses components of the virial tensor:
|
||||||
|
|
||||||
:c,image(Eqs/pressure_tensor.jpg)
|
:c,image(Eqs/pressure_tensor.jpg)
|
||||||
|
|
||||||
If no extra keywords are listed, the entire equations above are
|
If no extra keywords are listed, the entire equations above are
|
||||||
|
|||||||
@ -16,20 +16,20 @@ ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
|||||||
property/atom = style name of this compute command :l
|
property/atom = style name of this compute command :l
|
||||||
input = one or more atom attributes :l
|
input = one or more atom attributes :l
|
||||||
possible attributes = id, mol, proc, type, mass,
|
possible attributes = id, mol, proc, type, mass,
|
||||||
x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
|
x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz,
|
||||||
vx, vy, vz, fx, fy, fz,
|
vx, vy, vz, fx, fy, fz,
|
||||||
q, mux, muy, muz, mu,
|
q, mux, muy, muz, mu,
|
||||||
radius, diameter, omegax, omegay, omegaz,
|
radius, diameter, omegax, omegay, omegaz,
|
||||||
angmomx, angmomy, angmomz,
|
angmomx, angmomy, angmomz,
|
||||||
shapex,shapey, shapez,
|
shapex,shapey, shapez,
|
||||||
quatw, quati, quatj, quatk, tqx, tqy, tqz,
|
quatw, quati, quatj, quatk, tqx, tqy, tqz,
|
||||||
end1x, end1y, end1z, end2x, end2y, end2z,
|
end1x, end1y, end1z, end2x, end2y, end2z,
|
||||||
corner1x, corner1y, corner1z,
|
corner1x, corner1y, corner1z,
|
||||||
corner2x, corner2y, corner2z,
|
corner2x, corner2y, corner2z,
|
||||||
corner3x, corner3y, corner3z,
|
corner3x, corner3y, corner3z,
|
||||||
nbonds,
|
nbonds,
|
||||||
vfrac, s0,
|
vfrac, s0,
|
||||||
spin, eradius, ervel, erforce,
|
spin, eradius, ervel, erforce,
|
||||||
rho, drho, e, de, cv,
|
rho, drho, e, de, cv,
|
||||||
i_name, d_name :pre
|
i_name, d_name :pre
|
||||||
id = atom ID
|
id = atom ID
|
||||||
@ -80,7 +80,7 @@ input = one or more atom attributes :l
|
|||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute 1 all property/atom xs vx fx mux
|
compute 1 all property/atom xs vx fx mux
|
||||||
compute 2 all property/atom type
|
compute 2 all property/atom type
|
||||||
compute 1 all property/atom ix iy iz :pre
|
compute 1 all property/atom ix iy iz :pre
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
|||||||
property/chunk = style name of this compute command :l
|
property/chunk = style name of this compute command :l
|
||||||
input = one or more attributes :l
|
input = one or more attributes :l
|
||||||
attributes = count, id, coord1, coord2, coord3
|
attributes = count, id, coord1, coord2, coord3
|
||||||
count = # of atoms in chunk
|
count = # of atoms in chunk
|
||||||
id = original chunk IDs before compression by "compute chunk/atom"_compute_chunk_atom.html
|
id = original chunk IDs before compression by "compute chunk/atom"_compute_chunk_atom.html
|
||||||
coord123 = coordinates for spatial bins calculated by "compute chunk/atom"_compute_chunk_atom.html :pre
|
coord123 = coordinates for spatial bins calculated by "compute chunk/atom"_compute_chunk_atom.html :pre
|
||||||
:ule
|
:ule
|
||||||
|
|||||||
@ -15,12 +15,12 @@ compute ID group-ID property/local attribute1 attribute2 ... keyword args ... :p
|
|||||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||||
property/local = style name of this compute command :l
|
property/local = style name of this compute command :l
|
||||||
one or more attributes may be appended :l
|
one or more attributes may be appended :l
|
||||||
possible attributes = natom1 natom2 ntype1 ntype2
|
possible attributes = natom1 natom2 ntype1 ntype2
|
||||||
patom1 patom2 ptype1 ptype2
|
patom1 patom2 ptype1 ptype2
|
||||||
batom1 batom2 btype
|
batom1 batom2 btype
|
||||||
aatom1 aatom2 aatom3 atype
|
aatom1 aatom2 aatom3 atype
|
||||||
datom1 datom2 datom3 dtype
|
datom1 datom2 datom3 dtype
|
||||||
iatom1 iatom2 iatom3 itype :pre
|
iatom1 iatom2 iatom3 itype :pre
|
||||||
|
|
||||||
natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff)
|
natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff)
|
||||||
ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff)
|
ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff)
|
||||||
@ -129,8 +129,6 @@ The attributes that start with "a", "d", "i", refer to similar values
|
|||||||
for "angles"_angle_style.html, "dihedrals"_dihedral_style.html, and
|
for "angles"_angle_style.html, "dihedrals"_dihedral_style.html, and
|
||||||
"impropers"_improper_style.html.
|
"impropers"_improper_style.html.
|
||||||
|
|
||||||
The optional {cutoff} keyword
|
|
||||||
|
|
||||||
[Output info:]
|
[Output info:]
|
||||||
|
|
||||||
This compute calculates a local vector or local array depending on the
|
This compute calculates a local vector or local array depending on the
|
||||||
|
|||||||
@ -155,8 +155,8 @@ Thus, for example, if you wish to use this compute to find the bond
|
|||||||
with maximum stretch, you can do it as follows:
|
with maximum stretch, you can do it as follows:
|
||||||
|
|
||||||
compute 1 all property/local batom1 batom2
|
compute 1 all property/local batom1 batom2
|
||||||
compute 2 all bond/local dist
|
compute 2 all bond/local dist
|
||||||
compute 3 all reduce max c_1\[1\] c_1\[2\] c_2 replace 1 3 replace 2 3
|
compute 3 all reduce max c_1\[1\] c_1\[2\] c_2 replace 1 3 replace 2 3
|
||||||
thermo_style custom step temp c_3\[1\] c_3\[2\] c_3\[3\] :pre
|
thermo_style custom step temp c_3\[1\] c_3\[2\] c_3\[3\] :pre
|
||||||
|
|
||||||
The first two input values in the compute reduce command are vectors
|
The first two input values in the compute reduce command are vectors
|
||||||
|
|||||||
@ -17,11 +17,11 @@ rigid/local = style name of this compute command :l
|
|||||||
rigidID = ID of fix rigid/small command or one of its variants :l
|
rigidID = ID of fix rigid/small command or one of its variants :l
|
||||||
input = one or more rigid body attributes :l
|
input = one or more rigid body attributes :l
|
||||||
possible attributes = id, mol, mass,
|
possible attributes = id, mol, mass,
|
||||||
x, y, z, xu, yu, zu, ix, iy, iz
|
x, y, z, xu, yu, zu, ix, iy, iz
|
||||||
vx, vy, vz, fx, fy, fz,
|
vx, vy, vz, fx, fy, fz,
|
||||||
omegax, omegay, omegaz,
|
omegax, omegay, omegaz,
|
||||||
angmomx, angmomy, angmomz,
|
angmomx, angmomy, angmomz,
|
||||||
quatw, quati, quatj, quatk,
|
quatw, quati, quatj, quatk,
|
||||||
tqx, tqy, tqz,
|
tqx, tqy, tqz,
|
||||||
inertiax, inertiay, inertiaz
|
inertiax, inertiay, inertiaz
|
||||||
id = atom ID of atom within body which owns body properties
|
id = atom ID of atom within body which owns body properties
|
||||||
@ -29,7 +29,7 @@ input = one or more rigid body attributes :l
|
|||||||
mass = total mass of body
|
mass = total mass of body
|
||||||
x,y,z = center of mass coords of body
|
x,y,z = center of mass coords of body
|
||||||
xu,yu,zu = unwrapped center of mass coords of body
|
xu,yu,zu = unwrapped center of mass coords of body
|
||||||
ix,iy,iz = box image that the center of mass is in
|
ix,iy,iz = box image that the center of mass is in
|
||||||
vx,vy,vz = center of mass velocities
|
vx,vy,vz = center of mass velocities
|
||||||
fx,fy,fz = force of center of mass
|
fx,fy,fz = force of center of mass
|
||||||
omegax,omegay,omegaz = angular velocity of body
|
omegax,omegay,omegaz = angular velocity of body
|
||||||
@ -71,7 +71,7 @@ it is skipped (only one atom per body is so assigned). If it is the
|
|||||||
assigned atom, then the info for that body is output. This means that
|
assigned atom, then the info for that body is output. This means that
|
||||||
information for N bodies is generated. N may be less than the # of
|
information for N bodies is generated. N may be less than the # of
|
||||||
bodies defined by the fix rigid command, if the atoms in some bodies
|
bodies defined by the fix rigid command, if the atoms in some bodies
|
||||||
are not in the {group-ID}.
|
are not in the {group-ID}.
|
||||||
|
|
||||||
NOTE: Which atom in a body owns the body info is determined internal
|
NOTE: Which atom in a body owns the body info is determined internal
|
||||||
to LAMMPS; it's the one nearest the geometric center of the body.
|
to LAMMPS; it's the one nearest the geometric center of the body.
|
||||||
@ -109,7 +109,7 @@ sigma, etc). Use {xu}, {yu}, {zu} if you want the COM "unwrapped" by
|
|||||||
the image flags for each atobody. Unwrapped means that if the body
|
the image flags for each atobody. Unwrapped means that if the body
|
||||||
COM has passed thru a periodic boundary one or more times, the value
|
COM has passed thru a periodic boundary one or more times, the value
|
||||||
is generated what the COM coordinate would be if it had not been
|
is generated what the COM coordinate would be if it had not been
|
||||||
wrapped back into the periodic box.
|
wrapped back into the periodic box.
|
||||||
|
|
||||||
The image flags for the body can be generated directly using the {ix},
|
The image flags for the body can be generated directly using the {ix},
|
||||||
{iy}, {iz} attributes. For periodic dimensions, they specify which
|
{iy}, {iz} attributes. For periodic dimensions, they specify which
|
||||||
|
|||||||
@ -19,18 +19,18 @@ type1 type2 ... typeN = chemical symbol of each atom type (see valid options bel
|
|||||||
|
|
||||||
zero or more keyword/value pairs may be appended :l
|
zero or more keyword/value pairs may be appended :l
|
||||||
keyword = {Kmax} or {Zone} or {dR_Ewald} or {c} or {manual} or {echo} :l
|
keyword = {Kmax} or {Zone} or {dR_Ewald} or {c} or {manual} or {echo} :l
|
||||||
{Kmax} value = Maximum distance explored from reciprocal space origin
|
{Kmax} value = Maximum distance explored from reciprocal space origin
|
||||||
(inverse length units)
|
(inverse length units)
|
||||||
{Zone} values = z1 z2 z3
|
{Zone} values = z1 z2 z3
|
||||||
z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
|
z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all
|
||||||
reciprocal space will be meshed up to {Kmax}
|
reciprocal space will be meshed up to {Kmax}
|
||||||
{dR_Ewald} value = Thickness of Ewald sphere slice intercepting
|
{dR_Ewald} value = Thickness of Ewald sphere slice intercepting
|
||||||
reciprocal space (inverse length units)
|
reciprocal space (inverse length units)
|
||||||
{c} values = c1 c2 c3
|
{c} values = c1 c2 c3
|
||||||
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
||||||
lattice nodes in the h, k, and l directions respectively
|
lattice nodes in the h, k, and l directions respectively
|
||||||
{manual} = flag to use manual spacing of reciprocal lattice points
|
{manual} = flag to use manual spacing of reciprocal lattice points
|
||||||
based on the values of the {c} parameters
|
based on the values of the {c} parameters
|
||||||
{echo} = flag to provide extra output for debugging purposes :pre
|
{echo} = flag to provide extra output for debugging purposes :pre
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
@ -44,22 +44,22 @@ fix saed/vtk 1 1 1 c_2 file Ni_000.saed :pre
|
|||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates electron diffraction intensity as
|
Define a computation that calculates electron diffraction intensity as
|
||||||
described in "(Coleman)"_#saed-Coleman on a mesh of reciprocal lattice nodes
|
described in "(Coleman)"_#saed-Coleman on a mesh of reciprocal lattice nodes
|
||||||
defined by the entire simulation domain (or manually) using simulated
|
defined by the entire simulation domain (or manually) using simulated
|
||||||
radiation of wavelength lambda.
|
radiation of wavelength lambda.
|
||||||
|
|
||||||
The electron diffraction intensity I at each reciprocal lattice point
|
The electron diffraction intensity I at each reciprocal lattice point
|
||||||
is computed from the structure factor F using the equations:
|
is computed from the structure factor F using the equations:
|
||||||
|
|
||||||
:c,image(Eqs/compute_saed1.jpg)
|
:c,image(Eqs/compute_saed1.jpg)
|
||||||
:c,image(Eqs/compute_saed2.jpg)
|
:c,image(Eqs/compute_saed2.jpg)
|
||||||
|
|
||||||
Here, K is the location of the reciprocal lattice node, rj is the
|
Here, K is the location of the reciprocal lattice node, rj is the
|
||||||
position of each atom, fj are atomic scattering factors.
|
position of each atom, fj are atomic scattering factors.
|
||||||
|
|
||||||
Diffraction intensities are calculated on a three-dimensional mesh of
|
Diffraction intensities are calculated on a three-dimensional mesh of
|
||||||
reciprocal lattice nodes. The mesh spacing is defined either (a) by
|
reciprocal lattice nodes. The mesh spacing is defined either (a) by
|
||||||
the entire simulation domain or (b) manually using selected values as
|
the entire simulation domain or (b) manually using selected values as
|
||||||
shown in the 2D diagram below.
|
shown in the 2D diagram below.
|
||||||
|
|
||||||
@ -74,12 +74,12 @@ average of the (inversed) box lengths with periodic boundary conditions.
|
|||||||
Meshes defined by the simulation domain must contain at least one periodic
|
Meshes defined by the simulation domain must contain at least one periodic
|
||||||
boundary.
|
boundary.
|
||||||
|
|
||||||
If the {manual} flag is included, the mesh of reciprocal lattice nodes
|
If the {manual} flag is included, the mesh of reciprocal lattice nodes
|
||||||
will defined using the {c} values for the spacing along each reciprocal
|
will defined using the {c} values for the spacing along each reciprocal
|
||||||
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
||||||
good for comparing diffraction results from multiple simulations; however
|
good for comparing diffraction results from multiple simulations; however
|
||||||
it can reduce the likelihood that Bragg reflections will be satisfied
|
it can reduce the likelihood that Bragg reflections will be satisfied
|
||||||
unless small spacing parameters <0.05 Angstrom^(-1) are implemented.
|
unless small spacing parameters <0.05 Angstrom^(-1) are implemented.
|
||||||
Meshes with manual spacing do not require a periodic boundary.
|
Meshes with manual spacing do not require a periodic boundary.
|
||||||
|
|
||||||
The limits of the reciprocal lattice mesh are determined by the use of
|
The limits of the reciprocal lattice mesh are determined by the use of
|
||||||
@ -98,17 +98,17 @@ in the below image.
|
|||||||
|
|
||||||
:c,image(JPG/saed_ewald_intersect_small.jpg,JPG/saed_ewald_intersect.jpg)
|
:c,image(JPG/saed_ewald_intersect_small.jpg,JPG/saed_ewald_intersect.jpg)
|
||||||
|
|
||||||
The atomic scattering factors, fj, accounts for the reduction in
|
The atomic scattering factors, fj, accounts for the reduction in
|
||||||
diffraction intensity due to Compton scattering. Compute saed uses
|
diffraction intensity due to Compton scattering. Compute saed uses
|
||||||
analytical approximations of the atomic scattering factors that vary
|
analytical approximations of the atomic scattering factors that vary
|
||||||
for each atom type (type1 type2 ... typeN) and angle of diffraction.
|
for each atom type (type1 type2 ... typeN) and angle of diffraction.
|
||||||
The analytic approximation is computed using the formula
|
The analytic approximation is computed using the formula
|
||||||
"(Brown)"_#Brown:
|
"(Brown)"_#Brown:
|
||||||
|
|
||||||
:c,image(Eqs/compute_saed3.jpg)
|
:c,image(Eqs/compute_saed3.jpg)
|
||||||
|
|
||||||
Coefficients parameterized by "(Fox)"_#Fox are assigned for each
|
Coefficients parameterized by "(Fox)"_#Fox are assigned for each
|
||||||
atom type designating the chemical symbol and charge of each atom
|
atom type designating the chemical symbol and charge of each atom
|
||||||
type. Valid chemical symbols for compute saed are:
|
type. Valid chemical symbols for compute saed are:
|
||||||
|
|
||||||
H: He: Li: Be: B:
|
H: He: Li: Be: B:
|
||||||
@ -133,14 +133,14 @@ type. Valid chemical symbols for compute saed are:
|
|||||||
Cm: Bk: Cf:tb(c=5,s=:)
|
Cm: Bk: Cf:tb(c=5,s=:)
|
||||||
|
|
||||||
|
|
||||||
If the {echo} keyword is specified, compute saed will provide extra
|
If the {echo} keyword is specified, compute saed will provide extra
|
||||||
reporting information to the screen.
|
reporting information to the screen.
|
||||||
|
|
||||||
[Output info:]
|
[Output info:]
|
||||||
|
|
||||||
This compute calculates a global vector. The length of the vector is
|
This compute calculates a global vector. The length of the vector is
|
||||||
the number of reciprocal lattice nodes that are explored by the mesh.
|
the number of reciprocal lattice nodes that are explored by the mesh.
|
||||||
The entries of the global vector are the computed diffraction
|
The entries of the global vector are the computed diffraction
|
||||||
intensities as described above.
|
intensities as described above.
|
||||||
|
|
||||||
The vector can be accessed by any command that uses global values
|
The vector can be accessed by any command that uses global values
|
||||||
@ -148,21 +148,21 @@ from a compute as input. See "this
|
|||||||
section"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
section"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
All array values calculated by this compute are "intensive".
|
All array values calculated by this compute are "intensive".
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This compute is part of the USER-DIFFRACTION package. It is only
|
This compute is part of the USER-DIFFRACTION package. It is only
|
||||||
enabled if LAMMPS was built with that package. See the "Making
|
enabled if LAMMPS was built with that package. See the "Making
|
||||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||||
|
|
||||||
The compute_saed command does not work for triclinic cells.
|
The compute_saed command does not work for triclinic cells.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
"fix saed_vtk"_fix_saed_vtk.html, "compute xrd"_compute_xrd.html
|
"fix saed_vtk"_fix_saed_vtk.html, "compute xrd"_compute_xrd.html
|
||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald =
|
The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald =
|
||||||
0.01.
|
0.01.
|
||||||
@ -174,7 +174,7 @@ The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald =
|
|||||||
(2013).
|
(2013).
|
||||||
|
|
||||||
:link(Brown)
|
:link(Brown)
|
||||||
[(Brown)] Brown et al. International Tables for Crystallography
|
[(Brown)] Brown et al. International Tables for Crystallography
|
||||||
Volume C: Mathematical and Chemical Tables, 554-95 (2004).
|
Volume C: Mathematical and Chemical Tables, 554-95 (2004).
|
||||||
|
|
||||||
:link(Fox)
|
:link(Fox)
|
||||||
|
|||||||
@ -22,7 +22,7 @@ compute 1 all smd/damage :pre
|
|||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates the damage status of SPH particles
|
Define a computation that calculates the damage status of SPH particles
|
||||||
according to the damage model which is defined via the SMD SPH pair styles, e.g., the maximum plastic strain failure criterion.
|
according to the damage model which is defined via the SMD SPH pair styles, e.g., the maximum plastic strain failure criterion.
|
||||||
|
|
||||||
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
|
See "this PDF guide"_USER/smd/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS.
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ keyword = {diagonal} or {rmin0} or {switchflag} :l
|
|||||||
{2} = subset satisfying j1 == j2 == j3
|
{2} = subset satisfying j1 == j2 == j3
|
||||||
{3} = subset satisfying j2 <= j1 <= j
|
{3} = subset satisfying j2 <= j1 <= j
|
||||||
{rmin0} value = parameter in distance to angle conversion (distance units)
|
{rmin0} value = parameter in distance to angle conversion (distance units)
|
||||||
{switchflag} value = {0} or {1}
|
{switchflag} value = {0} or {1}
|
||||||
{0} = do not use switching function
|
{0} = do not use switching function
|
||||||
{1} = use switching function :pre
|
{1} = use switching function :pre
|
||||||
:ule
|
:ule
|
||||||
@ -60,12 +60,12 @@ onto the 3-sphere, the surface of the unit ball in a four-dimensional
|
|||||||
space. The radial distance {r} within {R_ii'} is mapped on to a third
|
space. The radial distance {r} within {R_ii'} is mapped on to a third
|
||||||
polar angle {theta0} defined by,
|
polar angle {theta0} defined by,
|
||||||
|
|
||||||
:c,image(Eqs/compute_sna_atom1.jpg)
|
:c,image(Eqs/compute_sna_atom1.jpg)
|
||||||
|
|
||||||
In this way, all possible neighbor positions are mapped on to a subset
|
In this way, all possible neighbor positions are mapped on to a subset
|
||||||
of the 3-sphere. Points south of the latitude {theta0max=rfac0*Pi}
|
of the 3-sphere. Points south of the latitude {theta0max=rfac0*Pi}
|
||||||
are excluded.
|
are excluded.
|
||||||
|
|
||||||
The natural basis for functions on the 3-sphere is formed by the 4D
|
The natural basis for functions on the 3-sphere is formed by the 4D
|
||||||
hyperspherical harmonics {U^j_m,m'(theta, phi, theta0).} These
|
hyperspherical harmonics {U^j_m,m'(theta, phi, theta0).} These
|
||||||
functions are better known as {D^j_m,m',} the elements of the Wigner
|
functions are better known as {D^j_m,m',} the elements of the Wigner
|
||||||
@ -78,7 +78,7 @@ radial distance. Expanding this density function as a generalized
|
|||||||
Fourier series in the basis functions, we can write each Fourier
|
Fourier series in the basis functions, we can write each Fourier
|
||||||
coefficient as
|
coefficient as
|
||||||
|
|
||||||
:c,image(Eqs/compute_sna_atom2.jpg)
|
:c,image(Eqs/compute_sna_atom2.jpg)
|
||||||
|
|
||||||
The {w_i'} neighbor weights are dimensionless numbers that are chosen
|
The {w_i'} neighbor weights are dimensionless numbers that are chosen
|
||||||
to distinguish atoms of different types, while the central atom is
|
to distinguish atoms of different types, while the central atom is
|
||||||
@ -86,7 +86,7 @@ arbitrarily assigned a unit weight. The function {fc(r)} ensures that
|
|||||||
the contribution of each neighbor atom goes smoothly to zero at
|
the contribution of each neighbor atom goes smoothly to zero at
|
||||||
{R_ii'}:
|
{R_ii'}:
|
||||||
|
|
||||||
:c,image(Eqs/compute_sna_atom4.jpg)
|
:c,image(Eqs/compute_sna_atom4.jpg)
|
||||||
|
|
||||||
The expansion coefficients {u^j_m,m'} are complex-valued and they are
|
The expansion coefficients {u^j_m,m'} are complex-valued and they are
|
||||||
not directly useful as descriptors, because they are not invariant
|
not directly useful as descriptors, because they are not invariant
|
||||||
@ -94,7 +94,7 @@ under rotation of the polar coordinate frame. However, the following
|
|||||||
scalar triple products of expansion coefficients can be shown to be
|
scalar triple products of expansion coefficients can be shown to be
|
||||||
real-valued and invariant under rotation "(Bartok)"_#Bartok2010.
|
real-valued and invariant under rotation "(Bartok)"_#Bartok2010.
|
||||||
|
|
||||||
:c,image(Eqs/compute_sna_atom3.jpg)
|
:c,image(Eqs/compute_sna_atom3.jpg)
|
||||||
|
|
||||||
The constants {H^jmm'_j1m1m1'_j2m2m2'} are coupling coefficients,
|
The constants {H^jmm'_j1m1m1'_j2m2m2'} are coupling coefficients,
|
||||||
analogous to Clebsch-Gordan coefficients for rotations on the
|
analogous to Clebsch-Gordan coefficients for rotations on the
|
||||||
@ -112,17 +112,17 @@ atom.
|
|||||||
Compute {snad/atom} calculates the derivative of the bispectrum components
|
Compute {snad/atom} calculates the derivative of the bispectrum components
|
||||||
summed separately for each atom type:
|
summed separately for each atom type:
|
||||||
|
|
||||||
:c,image(Eqs/compute_sna_atom5.jpg)
|
:c,image(Eqs/compute_sna_atom5.jpg)
|
||||||
|
|
||||||
The sum is over all atoms {i'} of atom type {I}. For each atom {i},
|
The sum is over all atoms {i'} of atom type {I}. For each atom {i},
|
||||||
this compute evaluates the above expression for each direction, each
|
this compute evaluates the above expression for each direction, each
|
||||||
atom type, and each bispectrum component. See section below on output
|
atom type, and each bispectrum component. See section below on output
|
||||||
for a detailed explanation.
|
for a detailed explanation.
|
||||||
|
|
||||||
Compute {snav/atom} calculates the virial contribution due to the
|
Compute {snav/atom} calculates the virial contribution due to the
|
||||||
derivatives:
|
derivatives:
|
||||||
|
|
||||||
:c,image(Eqs/compute_sna_atom6.jpg)
|
:c,image(Eqs/compute_sna_atom6.jpg)
|
||||||
|
|
||||||
Again, the sum is over all atoms {i'} of atom type {I}. For each atom
|
Again, the sum is over all atoms {i'} of atom type {I}. For each atom
|
||||||
{i}, this compute evaluates the above expression for each of the six
|
{i}, this compute evaluates the above expression for each of the six
|
||||||
@ -140,7 +140,7 @@ too frequently.
|
|||||||
|
|
||||||
The argument {rcutfac} is a scale factor that controls the ratio of
|
The argument {rcutfac} is a scale factor that controls the ratio of
|
||||||
atomic radius to radial cutoff distance.
|
atomic radius to radial cutoff distance.
|
||||||
|
|
||||||
The argument {rfac0} and the optional keyword {rmin0} define the
|
The argument {rfac0} and the optional keyword {rmin0} define the
|
||||||
linear mapping from radial distance to polar angle {theta0} on the
|
linear mapping from radial distance to polar angle {theta0} on the
|
||||||
3-sphere.
|
3-sphere.
|
||||||
@ -176,18 +176,18 @@ each column depend on the values of {twojmax} and {diagonal}, as
|
|||||||
described by the following piece of python code:
|
described by the following piece of python code:
|
||||||
|
|
||||||
for j1 in range(0,twojmax+1):
|
for j1 in range(0,twojmax+1):
|
||||||
if(diagonal==2):
|
if(diagonal==2):
|
||||||
print j1/2.,j1/2.,j1/2.
|
print j1/2.,j1/2.,j1/2.
|
||||||
elif(diagonal==1):
|
elif(diagonal==1):
|
||||||
for j in range(0,min(twojmax,2*j1)+1,2):
|
for j in range(0,min(twojmax,2*j1)+1,2):
|
||||||
print j1/2.,j1/2.,j/2.
|
print j1/2.,j1/2.,j/2.
|
||||||
elif(diagonal==0):
|
elif(diagonal==0):
|
||||||
for j2 in range(0,j1+1):
|
for j2 in range(0,j1+1):
|
||||||
for j in range(j1-j2,min(twojmax,j1+j2)+1,2):
|
for j in range(j1-j2,min(twojmax,j1+j2)+1,2):
|
||||||
print j1/2.,j2/2.,j/2.
|
print j1/2.,j2/2.,j/2.
|
||||||
elif(diagonal==3):
|
elif(diagonal==3):
|
||||||
for j2 in range(0,j1+1):
|
for j2 in range(0,j1+1):
|
||||||
for j in range(j1-j2,min(twojmax,j1+j2)+1,2):
|
for j in range(j1-j2,min(twojmax,j1+j2)+1,2):
|
||||||
if (j>=j1): print j1/2.,j2/2.,j/2. :pre
|
if (j>=j1): print j1/2.,j2/2.,j/2. :pre
|
||||||
|
|
||||||
Compute {snad/atom} evaluates a per-atom array. The columns are
|
Compute {snad/atom} evaluates a per-atom array. The columns are
|
||||||
@ -227,7 +227,7 @@ The optional keyword defaults are {diagonal} = 0, {rmin0} = 0,
|
|||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Thompson2014)
|
:link(Thompson2014)
|
||||||
[(Thompson)] Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint
|
[(Thompson)] Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint
|
||||||
available at "arXiv:1409.3880"_http://arxiv.org/abs/1409.3880
|
available at "arXiv:1409.3880"_http://arxiv.org/abs/1409.3880
|
||||||
|
|
||||||
:link(Bartok2010)
|
:link(Bartok2010)
|
||||||
@ -235,7 +235,7 @@ available at "arXiv:1409.3880"_http://arxiv.org/abs/1409.3880
|
|||||||
|
|
||||||
:link(Meremianin2006)
|
:link(Meremianin2006)
|
||||||
[(Meremianin)] Meremianin, J. Phys. A, 39, 3099 (2006).
|
[(Meremianin)] Meremianin, J. Phys. A, 39, 3099 (2006).
|
||||||
|
|
||||||
:link(Varshalovich1987)
|
:link(Varshalovich1987)
|
||||||
[(Varshalovich)] Varshalovich, Moskalev, Khersonskii, Quantum Theory
|
[(Varshalovich)] Varshalovich, Moskalev, Khersonskii, Quantum Theory
|
||||||
of Angular Momentum, World Scientific, Singapore (1987).
|
of Angular Momentum, World Scientific, Singapore (1987).
|
||||||
|
|||||||
@ -128,10 +128,10 @@ d = dimension and V is the volume of the system, the result should be
|
|||||||
These lines in an input script for a 3d system should yield that
|
These lines in an input script for a 3d system should yield that
|
||||||
result. I.e. the last 2 columns of thermo output will be the same:
|
result. I.e. the last 2 columns of thermo output will be the same:
|
||||||
|
|
||||||
compute peratom all stress/atom NULL
|
compute peratom all stress/atom NULL
|
||||||
compute p all reduce sum c_peratom\[1\] c_peratom\[2\] c_peratom\[3\]
|
compute p all reduce sum c_peratom\[1\] c_peratom\[2\] c_peratom\[3\]
|
||||||
variable press equal -(c_p\[1\]+c_p\[2\]+c_p\[3\])/(3*vol)
|
variable press equal -(c_p\[1\]+c_p\[2\]+c_p\[3\])/(3*vol)
|
||||||
thermo_style custom step temp etotal press v_press :pre
|
thermo_style custom step temp etotal press v_press :pre
|
||||||
|
|
||||||
[Output info:]
|
[Output info:]
|
||||||
|
|
||||||
|
|||||||
@ -88,7 +88,7 @@ potentials only include the pair potential portion of the EAM
|
|||||||
interaction when used by this compute, not the embedding term. Also
|
interaction when used by this compute, not the embedding term. Also
|
||||||
bonded or Kspace interactions do not contribute to this compute.
|
bonded or Kspace interactions do not contribute to this compute.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
{compute group/group}_compute_group_group.html, {compute
|
{compute group/group}_compute_group_group.html, {compute
|
||||||
heat/flux}_compute_heat_flux.html
|
heat/flux}_compute_heat_flux.html
|
||||||
|
|||||||
0
doc/src/compute_temp_asphere.txt
Executable file → Normal file
0
doc/src/compute_temp_asphere.txt
Executable file → Normal file
0
doc/src/compute_temp_body.txt
Executable file → Normal file
0
doc/src/compute_temp_body.txt
Executable file → Normal file
@ -16,7 +16,7 @@ ID, group-ID are documented in "compute"_compute.html command
|
|||||||
temp/cs = style name of this compute command
|
temp/cs = style name of this compute command
|
||||||
group1 = group-ID of either cores or shells
|
group1 = group-ID of either cores or shells
|
||||||
group2 = group-ID of either shells or cores :ul
|
group2 = group-ID of either shells or cores :ul
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute oxygen_c-s all temp/cs O_core O_shell
|
compute oxygen_c-s all temp/cs O_core O_shell
|
||||||
@ -64,7 +64,7 @@ calculated by this compute for use in the computation of a pressure
|
|||||||
tensor. The formula for the components of the tensor is the same as
|
tensor. The formula for the components of the tensor is the same as
|
||||||
the above formula, except that v^2 is replaced by vx*vy for the xy
|
the above formula, except that v^2 is replaced by vx*vy for the xy
|
||||||
component, etc. The 6 components of the vector are ordered xx, yy,
|
component, etc. The 6 components of the vector are ordered xx, yy,
|
||||||
zz, xy, xz, yz. In contrast to the temperature, the velocity of
|
zz, xy, xz, yz. In contrast to the temperature, the velocity of
|
||||||
each core or shell atom is taken individually.
|
each core or shell atom is taken individually.
|
||||||
|
|
||||||
The change this fix makes to core/shell atom velocities is essentially
|
The change this fix makes to core/shell atom velocities is essentially
|
||||||
|
|||||||
@ -14,7 +14,7 @@ compute ID group-ID temp/drude :pre
|
|||||||
|
|
||||||
ID, group-ID are documented in "compute"_compute.html command
|
ID, group-ID are documented in "compute"_compute.html command
|
||||||
temp/drude = style name of this compute command :ul
|
temp/drude = style name of this compute command :ul
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute TDRUDE all temp/drude :pre
|
compute TDRUDE all temp/drude :pre
|
||||||
@ -68,7 +68,7 @@ are "extensive".
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
The number of degrees of freedom contributing to the temperature is
|
The number of degrees of freedom contributing to the temperature is
|
||||||
assumed to be constant for the duration of the run unless the
|
assumed to be constant for the duration of the run unless the
|
||||||
{fix_modify} command sets the option {dynamic yes}.
|
{fix_modify} command sets the option {dynamic yes}.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
@ -49,9 +49,9 @@ reported by LAMMPS in the thermodynamic quantities reported via the
|
|||||||
example:
|
example:
|
||||||
|
|
||||||
compute effTemp all temp/eff
|
compute effTemp all temp/eff
|
||||||
thermo_style custom step etotal pe ke temp press
|
thermo_style custom step etotal pe ke temp press
|
||||||
thermo_modify temp effTemp :pre
|
thermo_modify temp effTemp :pre
|
||||||
|
|
||||||
A 6-component kinetic energy tensor is also calculated by this compute
|
A 6-component kinetic energy tensor is also calculated by this compute
|
||||||
for use in the computation of a pressure tensor. The formula for the
|
for use in the computation of a pressure tensor. The formula for the
|
||||||
components of the tensor is the same as the above formula, except that
|
components of the tensor is the same as the above formula, except that
|
||||||
@ -80,7 +80,7 @@ is independent of the number of atoms in the simulation. The vector
|
|||||||
values are "extensive", meaning they scale with the number of atoms in
|
values are "extensive", meaning they scale with the number of atoms in
|
||||||
the simulation.
|
the simulation.
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This compute is part of the USER-EFF package. It is only enabled if
|
This compute is part of the USER-EFF package. It is only enabled if
|
||||||
LAMMPS was built with that package. See the "Making
|
LAMMPS was built with that package. See the "Making
|
||||||
|
|||||||
@ -68,7 +68,7 @@ temp/berendsen"_fix_temp_berendsen.html, and "fix
|
|||||||
langevin"_fix_langevin.html. This means that when this compute
|
langevin"_fix_langevin.html. This means that when this compute
|
||||||
is used to calculate the temperature for any of the thermostatting
|
is used to calculate the temperature for any of the thermostatting
|
||||||
fixes via the "fix modify temp"_fix_modify.html command, the thermostat
|
fixes via the "fix modify temp"_fix_modify.html command, the thermostat
|
||||||
will operate only on atoms that are currently in the geometric
|
will operate only on atoms that are currently in the geometric
|
||||||
region.
|
region.
|
||||||
|
|
||||||
Unlike other compute styles that calculate temperature, this compute
|
Unlike other compute styles that calculate temperature, this compute
|
||||||
|
|||||||
2
doc/src/compute_temp_sphere.txt
Executable file → Normal file
2
doc/src/compute_temp_sphere.txt
Executable file → Normal file
@ -122,7 +122,7 @@ vector values will be in energy "units"_units.html.
|
|||||||
|
|
||||||
This fix requires that atoms store torque and angular velocity (omega)
|
This fix requires that atoms store torque and angular velocity (omega)
|
||||||
and a radius as defined by the "atom_style sphere"_atom_style.html
|
and a radius as defined by the "atom_style sphere"_atom_style.html
|
||||||
command.
|
command.
|
||||||
|
|
||||||
All particles in the group must be finite-size spheres, or point
|
All particles in the group must be finite-size spheres, or point
|
||||||
particles with radius = 0.0.
|
particles with radius = 0.0.
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
compute ti command :h3
|
compute ti command :h3
|
||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ keyword = pair style (lj/cut, gauss, born, etc) or {tail} or {kspace} :l
|
|||||||
compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks
|
compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks
|
||||||
compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks :pre
|
compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates the derivative of the interaction
|
Define a computation that calculates the derivative of the interaction
|
||||||
potential with respect to {lambda}, the coupling parameter used in a
|
potential with respect to {lambda}, the coupling parameter used in a
|
||||||
@ -107,7 +107,7 @@ du/dl can be found in the paper by "Eike"_#Eike.
|
|||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
[Output info:]
|
[Output info:]
|
||||||
|
|
||||||
This compute calculates a global scalar, namely dUs/dlambda. This
|
This compute calculates a global scalar, namely dUs/dlambda. This
|
||||||
value can be used by any command that uses a global scalar value from
|
value can be used by any command that uses a global scalar value from
|
||||||
|
|||||||
@ -15,7 +15,7 @@ compute ID group-ID voronoi/atom keyword arg ... :pre
|
|||||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||||
voronoi/atom = style name of this compute command :l
|
voronoi/atom = style name of this compute command :l
|
||||||
zero or more keyword/value pairs may be appended :l
|
zero or more keyword/value pairs may be appended :l
|
||||||
keyword = {only_group} or {surface} or {radius} or {edge_histo} or {edge_threshold}
|
keyword = {only_group} or {surface} or {radius} or {edge_histo} or {edge_threshold}
|
||||||
or {face_threshold} or {neighbors} or {peratom} :l
|
or {face_threshold} or {neighbors} or {peratom} :l
|
||||||
{only_group} = no arg
|
{only_group} = no arg
|
||||||
{occupation} = no arg
|
{occupation} = no arg
|
||||||
@ -25,7 +25,7 @@ or {face_threshold} or {neighbors} or {peratom} :l
|
|||||||
{radius} arg = v_r
|
{radius} arg = v_r
|
||||||
v_r = radius atom style variable for a poly-disperse Voronoi tessellation
|
v_r = radius atom style variable for a poly-disperse Voronoi tessellation
|
||||||
{edge_histo} arg = maxedge
|
{edge_histo} arg = maxedge
|
||||||
maxedge = maximum number of Voronoi cell edges to be accounted in the histogram
|
maxedge = maximum number of Voronoi cell edges to be accounted in the histogram
|
||||||
{edge_threshold} arg = minlength
|
{edge_threshold} arg = minlength
|
||||||
minlength = minimum length for an edge to be counted
|
minlength = minimum length for an edge to be counted
|
||||||
{face_threshold} arg = minarea
|
{face_threshold} arg = minarea
|
||||||
@ -38,7 +38,7 @@ or {face_threshold} or {neighbors} or {peratom} :l
|
|||||||
|
|
||||||
compute 1 all voronoi/atom
|
compute 1 all voronoi/atom
|
||||||
compute 2 precipitate voronoi/atom surface matrix
|
compute 2 precipitate voronoi/atom surface matrix
|
||||||
compute 3b precipitate voronoi/atom radius v_r
|
compute 3b precipitate voronoi/atom radius v_r
|
||||||
compute 4 solute voronoi/atom only_group
|
compute 4 solute voronoi/atom only_group
|
||||||
compute 5 defects voronoi/atom occupation
|
compute 5 defects voronoi/atom occupation
|
||||||
compute 6 all voronoi/atom neighbors yes :pre
|
compute 6 all voronoi/atom neighbors yes :pre
|
||||||
@ -53,11 +53,11 @@ in the group.
|
|||||||
By default two per-atom quantities are calculated by this compute.
|
By default two per-atom quantities are calculated by this compute.
|
||||||
The first is the volume of the Voronoi cell around each atom. Any
|
The first is the volume of the Voronoi cell around each atom. Any
|
||||||
point in an atom's Voronoi cell is closer to that atom than any other.
|
point in an atom's Voronoi cell is closer to that atom than any other.
|
||||||
The second is the number of faces of the Voronoi cell. This is
|
The second is the number of faces of the Voronoi cell. This is
|
||||||
equal to the number of nearest neighbors of the central atom,
|
equal to the number of nearest neighbors of the central atom,
|
||||||
plus any exterior faces (see note below). If the {peratom} keyword
|
plus any exterior faces (see note below). If the {peratom} keyword
|
||||||
is set to "no", the per-atom quantities are still calculated,
|
is set to "no", the per-atom quantities are still calculated,
|
||||||
but they are not accessible.
|
but they are not accessible.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
@ -122,23 +122,23 @@ to locate vacancies (the coordinates are given by the atom coordinates
|
|||||||
at the time step when the compute was first invoked), while column two
|
at the time step when the compute was first invoked), while column two
|
||||||
data can be used to identify interstitial atoms.
|
data can be used to identify interstitial atoms.
|
||||||
|
|
||||||
If the {neighbors} value is set to yes, then
|
If the {neighbors} value is set to yes, then
|
||||||
this compute creates a local array with 3 columns. There
|
this compute creates a local array with 3 columns. There
|
||||||
is one row for each face of each Voronoi cell. The
|
is one row for each face of each Voronoi cell. The
|
||||||
3 columns are the atom ID of the atom that owns the cell,
|
3 columns are the atom ID of the atom that owns the cell,
|
||||||
the atom ID of the atom in the neighboring cell
|
the atom ID of the atom in the neighboring cell
|
||||||
(or zero if the face is external), and the area of the face.
|
(or zero if the face is external), and the area of the face.
|
||||||
The array can be accessed by any command that
|
The array can be accessed by any command that
|
||||||
uses local values from a compute as input. See "this
|
uses local values from a compute as input. See "this
|
||||||
section"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
section"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
||||||
options. More specifically, the array can be accessed by a
|
options. More specifically, the array can be accessed by a
|
||||||
"dump local"_dump.html command to write a file containing
|
"dump local"_dump.html command to write a file containing
|
||||||
all the Voronoi neighbors in a system:
|
all the Voronoi neighbors in a system:
|
||||||
|
|
||||||
compute 6 all voronoi/atom neighbors yes
|
compute 6 all voronoi/atom neighbors yes
|
||||||
dump d2 all local 1 dump.neighbors index c_6\[1\] c_6\[2\] c_6\[3\] :pre
|
dump d2 all local 1 dump.neighbors index c_6\[1\] c_6\[2\] c_6\[3\] :pre
|
||||||
|
|
||||||
If the {face_threshold} keyword is used, then only faces
|
If the {face_threshold} keyword is used, then only faces
|
||||||
with areas greater than the threshold are stored.
|
with areas greater than the threshold are stored.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
@ -190,7 +190,7 @@ per-atom values from a compute as input. See "Section
|
|||||||
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
|
||||||
options. If the {peratom} keyword is set to "no", the per-atom array
|
options. If the {peratom} keyword is set to "no", the per-atom array
|
||||||
is still created, but it is not accessible.
|
is still created, but it is not accessible.
|
||||||
|
|
||||||
If the {edge_histo} keyword is used, then this compute generates a
|
If the {edge_histo} keyword is used, then this compute generates a
|
||||||
global vector of length {maxedge}+1, containing a histogram of the
|
global vector of length {maxedge}+1, containing a histogram of the
|
||||||
number of edges per face.
|
number of edges per face.
|
||||||
|
|||||||
@ -20,21 +20,21 @@ type1 type2 ... typeN = chemical symbol of each atom type (see valid options bel
|
|||||||
zero or more keyword/value pairs may be appended :l
|
zero or more keyword/value pairs may be appended :l
|
||||||
keyword = {2Theta} or {c} or {LP} or {manual} or {echo} :l
|
keyword = {2Theta} or {c} or {LP} or {manual} or {echo} :l
|
||||||
{2Theta} values = Min2Theta Max2Theta
|
{2Theta} values = Min2Theta Max2Theta
|
||||||
Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
|
Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore
|
||||||
(radians or degrees)
|
(radians or degrees)
|
||||||
{c} values = c1 c2 c3
|
{c} values = c1 c2 c3
|
||||||
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
c1,c2,c3 = parameters to adjust the spacing of the reciprocal
|
||||||
lattice nodes in the h, k, and l directions respectively
|
lattice nodes in the h, k, and l directions respectively
|
||||||
{LP} value = switch to apply Lorentz-polarization factor
|
{LP} value = switch to apply Lorentz-polarization factor
|
||||||
0/1 = off/on
|
0/1 = off/on
|
||||||
{manual} = flag to use manual spacing of reciprocal lattice points
|
{manual} = flag to use manual spacing of reciprocal lattice points
|
||||||
based on the values of the {c} parameters
|
based on the values of the {c} parameters
|
||||||
{echo} = flag to provide extra output for debugging purposes :pre
|
{echo} = flag to provide extra output for debugging purposes :pre
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo
|
compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo
|
||||||
compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual :pre
|
compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual :pre
|
||||||
|
|
||||||
fix 1 all ave/histo/weight 1 1 1 0.087 0.87 250 c_1\[1\] c_1\[2\] mode vector file Rad2Theta.xrd
|
fix 1 all ave/histo/weight 1 1 1 0.087 0.87 250 c_1\[1\] c_1\[2\] mode vector file Rad2Theta.xrd
|
||||||
@ -43,11 +43,11 @@ fix 2 all ave/histo/weight 1 1 1 10 100 250 c_2\[1\] c_2\[2\] mode vector file D
|
|||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
Define a computation that calculates x-ray diffraction intensity as described
|
Define a computation that calculates x-ray diffraction intensity as described
|
||||||
in "(Coleman)"_#xrd-Coleman on a mesh of reciprocal lattice nodes defined
|
in "(Coleman)"_#xrd-Coleman on a mesh of reciprocal lattice nodes defined
|
||||||
by the entire simulation domain (or manually) using a simulated radiation
|
by the entire simulation domain (or manually) using a simulated radiation
|
||||||
of wavelength lambda.
|
of wavelength lambda.
|
||||||
|
|
||||||
The x-ray diffraction intensity, I, at each reciprocal lattice point, k,
|
The x-ray diffraction intensity, I, at each reciprocal lattice point, k,
|
||||||
is computed from the structure factor, F, using the equations:
|
is computed from the structure factor, F, using the equations:
|
||||||
|
|
||||||
:c,image(Eqs/compute_xrd1.jpg)
|
:c,image(Eqs/compute_xrd1.jpg)
|
||||||
@ -55,14 +55,14 @@ is computed from the structure factor, F, using the equations:
|
|||||||
:c,image(Eqs/compute_xrd3.jpg)
|
:c,image(Eqs/compute_xrd3.jpg)
|
||||||
:c,image(Eqs/compute_xrd4.jpg)
|
:c,image(Eqs/compute_xrd4.jpg)
|
||||||
|
|
||||||
Here, K is the location of the reciprocal lattice node, rj is the
|
Here, K is the location of the reciprocal lattice node, rj is the
|
||||||
position of each atom, fj are atomic scattering factors, LP is the
|
position of each atom, fj are atomic scattering factors, LP is the
|
||||||
Lorentz-polarization factor, and theta is the scattering angle of
|
Lorentz-polarization factor, and theta is the scattering angle of
|
||||||
diffraction. The Lorentz-polarization factor can be turned off using
|
diffraction. The Lorentz-polarization factor can be turned off using
|
||||||
the optional {LP} keyword.
|
the optional {LP} keyword.
|
||||||
|
|
||||||
Diffraction intensities are calculated on a three-dimensional mesh of
|
Diffraction intensities are calculated on a three-dimensional mesh of
|
||||||
reciprocal lattice nodes. The mesh spacing is defined either (a)
|
reciprocal lattice nodes. The mesh spacing is defined either (a)
|
||||||
by the entire simulation domain or (b) manually using selected values as
|
by the entire simulation domain or (b) manually using selected values as
|
||||||
shown in the 2D diagram below.
|
shown in the 2D diagram below.
|
||||||
|
|
||||||
@ -101,8 +101,8 @@ The analytic approximation is computed using the formula
|
|||||||
|
|
||||||
:c,image(Eqs/compute_xrd5.jpg)
|
:c,image(Eqs/compute_xrd5.jpg)
|
||||||
|
|
||||||
Coefficients parameterized by "(Peng)"_#Peng are assigned for each
|
Coefficients parameterized by "(Peng)"_#Peng are assigned for each
|
||||||
atom type designating the chemical symbol and charge of each atom
|
atom type designating the chemical symbol and charge of each atom
|
||||||
type. Valid chemical symbols for compute xrd are:
|
type. Valid chemical symbols for compute xrd are:
|
||||||
|
|
||||||
H| He1-| He| Li| Li1+|
|
H| He1-| He| Li| Li1+|
|
||||||
@ -148,39 +148,39 @@ type. Valid chemical symbols for compute xrd are:
|
|||||||
Np4+| Np6+| Pu| Pu3+| Pu4+|
|
Np4+| Np6+| Pu| Pu3+| Pu4+|
|
||||||
Pu6+| Am| Cm| Bk| Cf :tb(c=5,s=|)
|
Pu6+| Am| Cm| Bk| Cf :tb(c=5,s=|)
|
||||||
|
|
||||||
If the {echo} keyword is specified, compute xrd will provide extra
|
If the {echo} keyword is specified, compute xrd will provide extra
|
||||||
reporting information to the screen.
|
reporting information to the screen.
|
||||||
|
|
||||||
[Output info:]
|
[Output info:]
|
||||||
|
|
||||||
This compute calculates a global array. The number of rows in the
|
This compute calculates a global array. The number of rows in the
|
||||||
array is the number of reciprocal lattice nodes that are explored
|
array is the number of reciprocal lattice nodes that are explored
|
||||||
which by the mesh. The global array has 2 columns.
|
which by the mesh. The global array has 2 columns.
|
||||||
|
|
||||||
The first column contains the diffraction angle in the units (radians
|
The first column contains the diffraction angle in the units (radians
|
||||||
or degrees) provided with the {2Theta} values. The second column contains
|
or degrees) provided with the {2Theta} values. The second column contains
|
||||||
the computed diffraction intensities as described above.
|
the computed diffraction intensities as described above.
|
||||||
|
|
||||||
The array can be accessed by any command that uses global values from
|
The array can be accessed by any command that uses global values from
|
||||||
a compute as input. See "this section"_Section_howto.html#howto_15
|
a compute as input. See "this section"_Section_howto.html#howto_15
|
||||||
for an overview of LAMMPS output options.
|
for an overview of LAMMPS output options.
|
||||||
|
|
||||||
All array values calculated by this compute are "intensive".
|
All array values calculated by this compute are "intensive".
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This compute is part of the USER-DIFFRACTION package. It is only
|
This compute is part of the USER-DIFFRACTION package. It is only
|
||||||
enabled if LAMMPS was built with that package. See the "Making
|
enabled if LAMMPS was built with that package. See the "Making
|
||||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||||
|
|
||||||
The compute_xrd command does not work for triclinic cells.
|
The compute_xrd command does not work for triclinic cells.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
"fix ave/histo"_fix_ave_histo.html,
|
"fix ave/histo"_fix_ave_histo.html,
|
||||||
"compute saed"_compute_saed.html
|
"compute saed"_compute_saed.html
|
||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1,
|
The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1,
|
||||||
no manual flag, no echo flag.
|
no manual flag, no echo flag.
|
||||||
@ -192,7 +192,7 @@ no manual flag, no echo flag.
|
|||||||
(2013).
|
(2013).
|
||||||
|
|
||||||
:link(Colliex)
|
:link(Colliex)
|
||||||
[(Colliex)] Colliex et al. International Tables for Crystallography
|
[(Colliex)] Colliex et al. International Tables for Crystallography
|
||||||
Volume C: Mathematical and Chemical Tables, 249-429 (2004).
|
Volume C: Mathematical and Chemical Tables, 249-429 (2004).
|
||||||
|
|
||||||
:link(Peng)
|
:link(Peng)
|
||||||
|
|||||||
@ -48,7 +48,7 @@ keyword = {mol} or {basis} or {remap} or {var} or {set} or {units} :l
|
|||||||
|
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
create_atoms 3 region regsphere basis 2 3
|
create_atoms 3 region regsphere basis 2 3
|
||||||
create_atoms 3 single 0 0 5
|
create_atoms 3 single 0 0 5
|
||||||
create_atoms 1 box var v set x xpos set y ypos :pre
|
create_atoms 1 box var v set x xpos set y ypos :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
@ -218,14 +218,14 @@ larger version.
|
|||||||
|
|
||||||
variable x equal 100
|
variable x equal 100
|
||||||
variable y equal 25
|
variable y equal 25
|
||||||
lattice hex 0.8442
|
lattice hex 0.8442
|
||||||
region box block 0 $x 0 $y -0.5 0.5
|
region box block 0 $x 0 $y -0.5 0.5
|
||||||
create_box 1 box :pre
|
create_box 1 box :pre
|
||||||
|
|
||||||
variable xx equal 0.0
|
variable xx equal 0.0
|
||||||
variable yy equal 0.0
|
variable yy equal 0.0
|
||||||
variable v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0"
|
variable v equal "(0.2*v_y*ylat * cos(v_xx/xlat * 2.0*PI*4.0/v_x) + 0.5*v_y*ylat - v_yy) > 0.0"
|
||||||
create_atoms 1 box var v set x xx set y yy :pre
|
create_atoms 1 box var v set x xx set y yy :pre
|
||||||
|
|
||||||
:c,image(JPG/sinusoid_small.jpg,JPG/sinusoid.jpg)
|
:c,image(JPG/sinusoid_small.jpg,JPG/sinusoid.jpg)
|
||||||
|
|
||||||
@ -245,7 +245,7 @@ style. A {box} value selects standard distance units as defined by
|
|||||||
the "units"_units.html command, e.g. Angstroms for units = real or
|
the "units"_units.html command, e.g. Angstroms for units = real or
|
||||||
metal. A {lattice} value means the distance units are in lattice
|
metal. A {lattice} value means the distance units are in lattice
|
||||||
spacings.
|
spacings.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
Atom IDs are assigned to created atoms in the following way. The
|
Atom IDs are assigned to created atoms in the following way. The
|
||||||
|
|||||||
@ -121,7 +121,7 @@ The {special} keyword is invoked at the end of the delete_bonds
|
|||||||
operation, after (optional) removal. It re-computes the pairwise 1-2,
|
operation, after (optional) removal. It re-computes the pairwise 1-2,
|
||||||
1-3, 1-4 weighting list. The weighting list computation treats
|
1-3, 1-4 weighting list. The weighting list computation treats
|
||||||
turned-off bonds the same as turned-on. Thus, turned-off bonds must
|
turned-off bonds the same as turned-on. Thus, turned-off bonds must
|
||||||
be removed if you wish to change the weighting list.
|
be removed if you wish to change the weighting list.
|
||||||
|
|
||||||
Note that the choice of {remove} and {special} options affects how
|
Note that the choice of {remove} and {special} options affects how
|
||||||
1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that
|
1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
dielectric command :h3
|
dielectric command :h3
|
||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
|
|
||||||
|
|||||||
@ -17,10 +17,10 @@ dihedral_style class2 :pre
|
|||||||
|
|
||||||
dihedral_style class2
|
dihedral_style class2
|
||||||
dihedral_coeff 1 100 75 100 70 80 60
|
dihedral_coeff 1 100 75 100 70 80 60
|
||||||
dihedral_coeff * mbt 3.5945 0.1704 -0.5490 1.5228
|
dihedral_coeff * mbt 3.5945 0.1704 -0.5490 1.5228
|
||||||
dihedral_coeff * ebt 0.3417 0.3264 -0.9036 0.1368 0.0 -0.8080 1.0119 1.1010
|
dihedral_coeff * ebt 0.3417 0.3264 -0.9036 0.1368 0.0 -0.8080 1.0119 1.1010
|
||||||
dihedral_coeff 2 at 0.0 -0.1850 -0.7963 -2.0220 0.0 -0.3991 110.2453 105.1270
|
dihedral_coeff 2 at 0.0 -0.1850 -0.7963 -2.0220 0.0 -0.3991 110.2453 105.1270
|
||||||
dihedral_coeff * aat -13.5271 110.2453 105.1270
|
dihedral_coeff * aat -13.5271 110.2453 105.1270
|
||||||
dihedral_coeff * bb13 0.0 1.0119 1.1010 :pre
|
dihedral_coeff * bb13 0.0 1.0119 1.1010 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|||||||
@ -66,7 +66,7 @@ more instructions on how to use the accelerated styles effectively.
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||||
section for more info on packages.
|
section for more info on packages.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
@ -63,7 +63,7 @@ more instructions on how to use the accelerated styles effectively.
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||||
section for more info on packages.
|
section for more info on packages.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
@ -33,7 +33,7 @@ above, or in the data file or restart files read by the
|
|||||||
"read_data"_read_data.html or "read_restart"_read_restart.html
|
"read_data"_read_data.html or "read_restart"_read_restart.html
|
||||||
commands:
|
commands:
|
||||||
|
|
||||||
K (energy/radian^2)
|
K (energy/radian^2)
|
||||||
phi0 (degrees) :ul
|
phi0 (degrees) :ul
|
||||||
|
|
||||||
:line
|
:line
|
||||||
@ -64,7 +64,7 @@ more instructions on how to use the accelerated styles effectively.
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||||
section for more info on packages.
|
section for more info on packages.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
@ -14,7 +14,7 @@ dihedral_style spherical :pre
|
|||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0
|
dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0
|
||||||
dihedral_coeff 1 3 286.1 1 114 1 1 90 0 1 90.0 0 &
|
dihedral_coeff 1 3 286.1 1 114 1 1 90 0 1 90.0 0 &
|
||||||
17.3 0 0.0 0 1 158 1 0 0.0 0 &
|
17.3 0 0.0 0 1 158 1 0 0.0 0 &
|
||||||
15.1 0 0.0 0 0 0.0 0 1 167.3 1 :pre
|
15.1 0 0.0 0 0 0.0 0 1 167.3 1 :pre
|
||||||
@ -76,7 +76,7 @@ wn (typically 0.0 or 1.0) :ul
|
|||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This dihedral style can only be used if LAMMPS was built with the
|
This dihedral style can only be used if LAMMPS was built with the
|
||||||
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
USER_MISC package. See the "Making LAMMPS"_Section_start.html#start_3
|
||||||
section for more info on packages.
|
section for more info on packages.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
:link(lc,Section_commands.html#comm)
|
:link(lc,Section_commands.html#comm)
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
dump command :h3
|
dump command :h3
|
||||||
"dump custom/vtk"_dump_custom_vtk.html command :h3
|
"dump custom/vtk"_dump_custom_vtk.html command :h3
|
||||||
"dump h5md"_dump_h5md.html command :h3
|
"dump h5md"_dump_h5md.html command :h3
|
||||||
@ -55,13 +55,13 @@ args = list of arguments for a particular style :l
|
|||||||
|
|
||||||
{custom} or {custom/gz} or {custom/mpiio} args = list of atom attributes
|
{custom} or {custom/gz} or {custom/mpiio} args = list of atom attributes
|
||||||
possible attributes = id, mol, proc, procp1, type, element, mass,
|
possible attributes = id, mol, proc, procp1, type, element, mass,
|
||||||
x, y, z, xs, ys, zs, xu, yu, zu,
|
x, y, z, xs, ys, zs, xu, yu, zu,
|
||||||
xsu, ysu, zsu, ix, iy, iz,
|
xsu, ysu, zsu, ix, iy, iz,
|
||||||
vx, vy, vz, fx, fy, fz,
|
vx, vy, vz, fx, fy, fz,
|
||||||
q, mux, muy, muz, mu,
|
q, mux, muy, muz, mu,
|
||||||
radius, diameter, omegax, omegay, omegaz,
|
radius, diameter, omegax, omegay, omegaz,
|
||||||
angmomx, angmomy, angmomz, tqx, tqy, tqz,
|
angmomx, angmomy, angmomz, tqx, tqy, tqz,
|
||||||
c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :pre
|
c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :pre
|
||||||
|
|
||||||
id = atom ID
|
id = atom ID
|
||||||
mol = molecule ID
|
mol = molecule ID
|
||||||
@ -211,7 +211,7 @@ bounding box which encloses the triclinic simulation box is output,
|
|||||||
along with the 3 tilt factors (xy, xz, yz) of the triclinic box,
|
along with the 3 tilt factors (xy, xz, yz) of the triclinic box,
|
||||||
formatted as follows:
|
formatted as follows:
|
||||||
|
|
||||||
ITEM: BOX BOUNDS xy xz yz xx yy zz
|
ITEM: BOX BOUNDS xy xz yz xx yy zz
|
||||||
xlo_bound xhi_bound xy
|
xlo_bound xhi_bound xy
|
||||||
ylo_bound yhi_bound xz
|
ylo_bound yhi_bound xz
|
||||||
zlo_bound zhi_bound yz :pre
|
zlo_bound zhi_bound yz :pre
|
||||||
@ -305,8 +305,8 @@ by the GROMACS molecular dynamics package, and described
|
|||||||
The precision used in XTC files can be adjusted via the
|
The precision used in XTC files can be adjusted via the
|
||||||
"dump_modify"_dump_modify.html command. The default value of 1000
|
"dump_modify"_dump_modify.html command. The default value of 1000
|
||||||
means that coordinates are stored to 1/1000 nanometer accuracy. XTC
|
means that coordinates are stored to 1/1000 nanometer accuracy. XTC
|
||||||
files are portable binary files written in the NFS XDR data format,
|
files are portable binary files written in the NFS XDR data format,
|
||||||
so that any machine which supports XDR should be able to read them.
|
so that any machine which supports XDR should be able to read them.
|
||||||
The number of atoms per snapshot cannot change with the {xtc} style.
|
The number of atoms per snapshot cannot change with the {xtc} style.
|
||||||
The {unwrap} option of the "dump_modify"_dump_modify.html command allows
|
The {unwrap} option of the "dump_modify"_dump_modify.html command allows
|
||||||
XTC coordinates to be written "unwrapped" by the image flags for each
|
XTC coordinates to be written "unwrapped" by the image flags for each
|
||||||
@ -499,7 +499,7 @@ values.
|
|||||||
Here is an example of how to dump bond info for a system, including
|
Here is an example of how to dump bond info for a system, including
|
||||||
the distance and energy of each bond:
|
the distance and energy of each bond:
|
||||||
|
|
||||||
compute 1 all property/local batom1 batom2 btype
|
compute 1 all property/local batom1 batom2 btype
|
||||||
compute 2 all bond/local dist eng
|
compute 2 all bond/local dist eng
|
||||||
dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_2\[1\] c_2\[2\] :pre
|
dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_2\[1\] c_2\[2\] :pre
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
:link(lc,Section_commands.html#comm)
|
:link(lc,Section_commands.html#comm)
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
dump custom/vtk command :h3
|
dump custom/vtk command :h3
|
||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
@ -20,14 +20,14 @@ file = name of file to write dump info to :l
|
|||||||
args = list of arguments for a particular style :l
|
args = list of arguments for a particular style :l
|
||||||
{custom/vtk} args = list of atom attributes
|
{custom/vtk} args = list of atom attributes
|
||||||
possible attributes = id, mol, proc, procp1, type, element, mass,
|
possible attributes = id, mol, proc, procp1, type, element, mass,
|
||||||
x, y, z, xs, ys, zs, xu, yu, zu,
|
x, y, z, xs, ys, zs, xu, yu, zu,
|
||||||
xsu, ysu, zsu, ix, iy, iz,
|
xsu, ysu, zsu, ix, iy, iz,
|
||||||
vx, vy, vz, fx, fy, fz,
|
vx, vy, vz, fx, fy, fz,
|
||||||
q, mux, muy, muz, mu,
|
q, mux, muy, muz, mu,
|
||||||
radius, diameter, omegax, omegay, omegaz,
|
radius, diameter, omegax, omegay, omegaz,
|
||||||
angmomx, angmomy, angmomz, tqx, tqy, tqz,
|
angmomx, angmomy, angmomz, tqx, tqy, tqz,
|
||||||
spin, eradius, ervel, erforce,
|
spin, eradius, ervel, erforce,
|
||||||
c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :pre
|
c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :pre
|
||||||
|
|
||||||
id = atom ID
|
id = atom ID
|
||||||
mol = molecule ID
|
mol = molecule ID
|
||||||
|
|||||||
@ -587,7 +587,7 @@ b) Use the freely available mplayer or ffplay tool to view a
|
|||||||
movie. Both are available for multiple OSes and support a large
|
movie. Both are available for multiple OSes and support a large
|
||||||
variety of file formats and decoders. :l
|
variety of file formats and decoders. :l
|
||||||
|
|
||||||
% mplayer foo.mpg
|
% mplayer foo.mpg
|
||||||
% ffplay bar.avi :pre
|
% ffplay bar.avi :pre
|
||||||
|
|
||||||
c) Use the "Pizza.py"_http://www.sandia.gov/~sjplimp/pizza.html
|
c) Use the "Pizza.py"_http://www.sandia.gov/~sjplimp/pizza.html
|
||||||
@ -631,9 +631,9 @@ Note that since FFmpeg is run as an external program via a pipe,
|
|||||||
LAMMPS has limited control over its execution and no knowledge about
|
LAMMPS has limited control over its execution and no knowledge about
|
||||||
errors and warnings printed by it. Those warnings and error messages
|
errors and warnings printed by it. Those warnings and error messages
|
||||||
will be printed to the screen only. Due to the way image data is
|
will be printed to the screen only. Due to the way image data is
|
||||||
communicated to FFmpeg, it will often print the message
|
communicated to FFmpeg, it will often print the message
|
||||||
|
|
||||||
pipe:: Input/output error :pre
|
pipe:: Input/output error :pre
|
||||||
|
|
||||||
which can be safely ignored. Other warnings
|
which can be safely ignored. Other warnings
|
||||||
and errors have to be addressed according to the FFmpeg documentation.
|
and errors have to be addressed according to the FFmpeg documentation.
|
||||||
|
|||||||
@ -54,7 +54,7 @@ keyword = {append} or {buffer} or {element} or {every} or {fileper} or {first} o
|
|||||||
these 3 args can be replaced by the word "none" to turn off thresholding
|
these 3 args can be replaced by the word "none" to turn off thresholding
|
||||||
{unwrap} arg = {yes} or {no} :pre
|
{unwrap} arg = {yes} or {no} :pre
|
||||||
these keywords apply only to the {image} and {movie} "styles"_dump_image.html :l
|
these keywords apply only to the {image} and {movie} "styles"_dump_image.html :l
|
||||||
keyword = {acolor} or {adiam} or {amap} or {backcolor} or {bcolor} or {bdiam} or {boxcolor} or {color} or {bitrate} or {framerate} :l
|
keyword = {acolor} or {adiam} or {amap} or {backcolor} or {bcolor} or {bdiam} or {boxcolor} or {color} or {bitrate} or {framerate} :l
|
||||||
{acolor} args = type color
|
{acolor} args = type color
|
||||||
type = atom type or range of types (see below)
|
type = atom type or range of types (see below)
|
||||||
color = name of color or color1/color2/...
|
color = name of color or color1/color2/...
|
||||||
@ -215,17 +215,17 @@ to the dump file. The {every} keyword cannot be used with the dump
|
|||||||
For example, the following commands will
|
For example, the following commands will
|
||||||
write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc:
|
write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc:
|
||||||
|
|
||||||
variable s equal logfreq(10,3,10)
|
variable s equal logfreq(10,3,10)
|
||||||
dump 1 all atom 100 tmp.dump
|
dump 1 all atom 100 tmp.dump
|
||||||
dump_modify 1 every v_s first yes :pre
|
dump_modify 1 every v_s first yes :pre
|
||||||
|
|
||||||
The following commands would write snapshots at the timesteps listed
|
The following commands would write snapshots at the timesteps listed
|
||||||
in file tmp.times:
|
in file tmp.times:
|
||||||
|
|
||||||
variable f file tmp.times
|
variable f file tmp.times
|
||||||
variable s equal next(f)
|
variable s equal next(f)
|
||||||
dump 1 all atom 100 tmp.dump
|
dump 1 all atom 100 tmp.dump
|
||||||
dump_modify 1 every v_s :pre
|
dump_modify 1 every v_s :pre
|
||||||
|
|
||||||
NOTE: When using a file-style variable with the {every} keyword, the
|
NOTE: When using a file-style variable with the {every} keyword, the
|
||||||
file of timesteps must list a first timestep that is beyond the
|
file of timesteps must list a first timestep that is beyond the
|
||||||
@ -491,7 +491,7 @@ simulation box since the last dump. (Note that atoms that crossed
|
|||||||
once and then crossed back between the two dump timesteps would not be
|
once and then crossed back between the two dump timesteps would not be
|
||||||
included.)
|
included.)
|
||||||
|
|
||||||
region foo sphere 10 20 10 15
|
region foo sphere 10 20 10 15
|
||||||
variable inregion atom rmask(foo)
|
variable inregion atom rmask(foo)
|
||||||
dump_modify ... thresh v_inregion |^ LAST
|
dump_modify ... thresh v_inregion |^ LAST
|
||||||
|
|
||||||
@ -686,10 +686,10 @@ this is used.
|
|||||||
variable colors string &
|
variable colors string &
|
||||||
"red green blue yellow white &
|
"red green blue yellow white &
|
||||||
purple pink orange lime gray"
|
purple pink orange lime gray"
|
||||||
variable mol atom mol%10
|
variable mol atom mol%10
|
||||||
dump 1 all image 250 image.*.jpg v_mol type &
|
dump 1 all image 250 image.*.jpg v_mol type &
|
||||||
zoom 1.6 adiam 1.5
|
zoom 1.6 adiam 1.5
|
||||||
dump_modify 1 pad 5 amap 0 10 sa 1 10 $\{colors\} :pre
|
dump_modify 1 pad 5 amap 0 10 sa 1 10 $\{colors\} :pre
|
||||||
|
|
||||||
In this case, 10 colors are defined, and molecule IDs are
|
In this case, 10 colors are defined, and molecule IDs are
|
||||||
mapped to one of the colors, even if there are 1000s of molecules.
|
mapped to one of the colors, even if there are 1000s of molecules.
|
||||||
|
|||||||
@ -17,17 +17,17 @@ group = name of group fix is to be applied :l
|
|||||||
type = {thermal} or {two_temperature} or {hardy} or {field} :l
|
type = {thermal} or {two_temperature} or {hardy} or {field} :l
|
||||||
{thermal} = thermal coupling with fields: temperature
|
{thermal} = thermal coupling with fields: temperature
|
||||||
{two_temperature} = electron-phonon coupling with field: temperature and electron_temperature
|
{two_temperature} = electron-phonon coupling with field: temperature and electron_temperature
|
||||||
{hardy} = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields)
|
{hardy} = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields)
|
||||||
{field} = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) :pre
|
{field} = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) :pre
|
||||||
parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file :l
|
parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file :l
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
fix AtC internal atc thermal Ar_thermal.dat
|
fix AtC internal atc thermal Ar_thermal.dat
|
||||||
fix AtC internal atc two_temperature Ar_ttm.mat
|
fix AtC internal atc two_temperature Ar_ttm.mat
|
||||||
fix AtC internal atc hardy
|
fix AtC internal atc hardy
|
||||||
fix AtC internal atc field :pre
|
fix AtC internal atc field :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
@ -38,67 +38,67 @@ This fix is the beginning to creating a coupled FE/MD simulation and/or an on-th
|
|||||||
The following coupling example is typical, but non-exhaustive:
|
The following coupling example is typical, but non-exhaustive:
|
||||||
# ... commands to create and initialize the MD system :pre
|
# ... commands to create and initialize the MD system :pre
|
||||||
|
|
||||||
# initial fix to designate coupling type and group to apply it to
|
# initial fix to designate coupling type and group to apply it to
|
||||||
# tag group physics material_file
|
# tag group physics material_file
|
||||||
fix AtC internal atc thermal Ar_thermal.mat :pre
|
fix AtC internal atc thermal Ar_thermal.mat :pre
|
||||||
|
|
||||||
# create a uniform 12 x 2 x 2 mesh that covers region contain the group
|
# create a uniform 12 x 2 x 2 mesh that covers region contain the group
|
||||||
# nx ny nz region periodicity
|
# nx ny nz region periodicity
|
||||||
fix_modify AtC mesh create 12 2 2 mdRegion f p p :pre
|
fix_modify AtC mesh create 12 2 2 mdRegion f p p :pre
|
||||||
|
|
||||||
# specify the control method for the type of coupling
|
# specify the control method for the type of coupling
|
||||||
# physics control_type
|
# physics control_type
|
||||||
fix_modify AtC thermal control flux :pre
|
fix_modify AtC thermal control flux :pre
|
||||||
|
|
||||||
# specify the initial values for the empirical field "temperature"
|
# specify the initial values for the empirical field "temperature"
|
||||||
# field node_group value
|
# field node_group value
|
||||||
fix_modify AtC initial temperature all 30 :pre
|
fix_modify AtC initial temperature all 30 :pre
|
||||||
|
|
||||||
# create an output stream for nodal fields
|
# create an output stream for nodal fields
|
||||||
# filename output_frequency
|
# filename output_frequency
|
||||||
fix_modify AtC output atc_fe_output 100 :pre
|
fix_modify AtC output atc_fe_output 100 :pre
|
||||||
|
|
||||||
run 1000 :pre
|
run 1000 :pre
|
||||||
|
|
||||||
likewise for this post-processing example:
|
likewise for this post-processing example:
|
||||||
|
|
||||||
# ... commands to create and initialize the MD system :pre
|
# ... commands to create and initialize the MD system :pre
|
||||||
|
|
||||||
# initial fix to designate post-processing and the group to apply it to
|
# initial fix to designate post-processing and the group to apply it to
|
||||||
# no material file is allowed nor required
|
# no material file is allowed nor required
|
||||||
fix AtC internal atc hardy :pre
|
fix AtC internal atc hardy :pre
|
||||||
|
|
||||||
# for hardy fix, specific kernel function (function type and range) to # be used as a localization function
|
|
||||||
fix AtC kernel quartic_sphere 10.0 :pre
|
|
||||||
|
|
||||||
# create a uniform 1 x 1 x 1 mesh that covers region contain the group
|
|
||||||
# with periodicity this effectively creats a system average
|
|
||||||
fix_modify AtC mesh create 1 1 1 box p p p :pre
|
|
||||||
|
|
||||||
# change from default lagrangian map to eulerian
|
# for hardy fix, specific kernel function (function type and range) to # be used as a localization function
|
||||||
# refreshed every 100 steps
|
fix AtC kernel quartic_sphere 10.0 :pre
|
||||||
|
|
||||||
|
# create a uniform 1 x 1 x 1 mesh that covers region contain the group
|
||||||
|
# with periodicity this effectively creats a system average
|
||||||
|
fix_modify AtC mesh create 1 1 1 box p p p :pre
|
||||||
|
|
||||||
|
# change from default lagrangian map to eulerian
|
||||||
|
# refreshed every 100 steps
|
||||||
fix_modify AtC atom_element_map eulerian 100 :pre
|
fix_modify AtC atom_element_map eulerian 100 :pre
|
||||||
|
|
||||||
# start with no field defined
|
# start with no field defined
|
||||||
# add mass density, potential energy density, stress and temperature
|
# add mass density, potential energy density, stress and temperature
|
||||||
fix_modify AtC fields add density energy stress temperature :pre
|
fix_modify AtC fields add density energy stress temperature :pre
|
||||||
|
|
||||||
# create an output stream for nodal fields
|
# create an output stream for nodal fields
|
||||||
# filename output_frequency
|
# filename output_frequency
|
||||||
fix_modify AtC output nvtFE 100 text :pre
|
fix_modify AtC output nvtFE 100 text :pre
|
||||||
|
|
||||||
run 1000 :pre
|
run 1000 :pre
|
||||||
|
|
||||||
the mesh's linear interpolation functions can be used as the localization function
|
|
||||||
by using the field option:
|
|
||||||
|
|
||||||
fix AtC internal atc field
|
the mesh's linear interpolation functions can be used as the localization function
|
||||||
|
by using the field option:
|
||||||
fix_modify AtC mesh create 1 1 1 box p p p
|
|
||||||
|
|
||||||
...
|
fix AtC internal atc field
|
||||||
|
|
||||||
Note coupling and post-processing can be combined in the same simulations using separate fixes.
|
fix_modify AtC mesh create 1 1 1 box p p p
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
Note coupling and post-processing can be combined in the same simulations using separate fixes.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
@ -108,17 +108,17 @@ No information about this fix is written to "binary restart files"_restart.html.
|
|||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.
|
Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.
|
||||||
|
|
||||||
Currently,
|
Currently,
|
||||||
- the coupling is restricted to thermal physics
|
- the coupling is restricted to thermal physics
|
||||||
- the FE computations are done in serial on each processor. :ul
|
- the FE computations are done in serial on each processor. :ul
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
After specifying this fix in your input script, several other "fix_modify"_fix_modify.html commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.
|
After specifying this fix in your input script, several other "fix_modify"_fix_modify.html commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.
|
||||||
|
|
||||||
fix_modify commands for setup:
|
fix_modify commands for setup:
|
||||||
|
|
||||||
"fix_modify AtC mesh create"_USER/atc/man_mesh_create.html
|
"fix_modify AtC mesh create"_USER/atc/man_mesh_create.html
|
||||||
"fix_modify AtC mesh quadrature"_USER/atc/man_mesh_quadrature.html
|
"fix_modify AtC mesh quadrature"_USER/atc/man_mesh_quadrature.html
|
||||||
@ -149,7 +149,7 @@ fix_modify commands for boundary and initial conditions:
|
|||||||
"fix_modify AtC source"_USER/atc/man_source.html
|
"fix_modify AtC source"_USER/atc/man_source.html
|
||||||
"fix_modify AtC remove_source"_USER/atc/man_remove_source.html :ul
|
"fix_modify AtC remove_source"_USER/atc/man_remove_source.html :ul
|
||||||
|
|
||||||
fix_modify commands for control and filtering:
|
fix_modify commands for control and filtering:
|
||||||
|
|
||||||
"fix_modify AtC control"_USER/atc/man_control.html
|
"fix_modify AtC control"_USER/atc/man_control.html
|
||||||
"fix_modify AtC control thermal"_USER/atc/man_control_thermal.html
|
"fix_modify AtC control thermal"_USER/atc/man_control_thermal.html
|
||||||
@ -165,7 +165,7 @@ fix_modify commands for control and filtering:
|
|||||||
"fix_modify AtC extrinsic exchange"_USER/atc/man_extrinsic_exchange.html
|
"fix_modify AtC extrinsic exchange"_USER/atc/man_extrinsic_exchange.html
|
||||||
"fix_modify AtC poisson_solver"_USER/atc/man_poisson_solver.html :ul
|
"fix_modify AtC poisson_solver"_USER/atc/man_poisson_solver.html :ul
|
||||||
|
|
||||||
fix_modify commands for output:
|
fix_modify commands for output:
|
||||||
|
|
||||||
"fix_modify AtC output"_USER/atc/man_output.html
|
"fix_modify AtC output"_USER/atc/man_output.html
|
||||||
"fix_modify AtC output nodeset"_USER/atc/man_output_nodeset.html
|
"fix_modify AtC output nodeset"_USER/atc/man_output_nodeset.html
|
||||||
@ -176,7 +176,7 @@ fix_modify commands for output:
|
|||||||
"fix_modify AtC write_restart"_USER/atc/man_write_restart.html
|
"fix_modify AtC write_restart"_USER/atc/man_write_restart.html
|
||||||
"fix_modify AtC read_restart"_USER/atc/man_read_restart.html :ul
|
"fix_modify AtC read_restart"_USER/atc/man_read_restart.html :ul
|
||||||
|
|
||||||
fix_modify commands for post-processing:
|
fix_modify commands for post-processing:
|
||||||
|
|
||||||
"fix_modify AtC kernel"_USER/atc/man_hardy_kernel.html
|
"fix_modify AtC kernel"_USER/atc/man_hardy_kernel.html
|
||||||
"fix_modify AtC fields"_USER/atc/man_hardy_fields.html
|
"fix_modify AtC fields"_USER/atc/man_hardy_fields.html
|
||||||
@ -188,7 +188,7 @@ fix_modify commands for post-processing:
|
|||||||
"fix_modify AtC sample_frequency"_USER/atc/man_sample_frequency.html
|
"fix_modify AtC sample_frequency"_USER/atc/man_sample_frequency.html
|
||||||
"fix_modify AtC set"_USER/atc/man_set.html :ul
|
"fix_modify AtC set"_USER/atc/man_set.html :ul
|
||||||
|
|
||||||
miscellaneous fix_modify commands:
|
miscellaneous fix_modify commands:
|
||||||
|
|
||||||
"fix_modify AtC atom_element_map"_USER/atc/man_atom_element_map.html
|
"fix_modify AtC atom_element_map"_USER/atc/man_atom_element_map.html
|
||||||
"fix_modify AtC atom_weight"_USER/atc/man_atom_weight.html
|
"fix_modify AtC atom_weight"_USER/atc/man_atom_weight.html
|
||||||
@ -210,35 +210,35 @@ miscellaneous fix_modify commands:
|
|||||||
"fix_modify AtC remove_species"_USER/atc/man_remove_species.html
|
"fix_modify AtC remove_species"_USER/atc/man_remove_species.html
|
||||||
"fix_modify AtC remove_molecule"_USER/atc/man_remove_molecule.html :ul
|
"fix_modify AtC remove_molecule"_USER/atc/man_remove_molecule.html :ul
|
||||||
|
|
||||||
Note: a set of example input files with the attendant material files are included with this package
|
Note: a set of example input files with the attendant material files are included with this package
|
||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
None
|
None
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
For detailed exposition of the theory and algorithms please see:
|
For detailed exposition of the theory and algorithms please see:
|
||||||
|
|
||||||
:link(Wagner)
|
:link(Wagner)
|
||||||
[(Wagner)] Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.
|
[(Wagner)] Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.
|
||||||
|
|
||||||
:link(Zimmeman2004)
|
:link(Zimmeman2004)
|
||||||
[(Zimmerman2004)] Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319.
|
[(Zimmerman2004)] Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319.
|
||||||
|
|
||||||
:link(Zimmerman2010)
|
:link(Zimmerman2010)
|
||||||
[(Zimmerman2010)] Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364.
|
[(Zimmerman2010)] Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364.
|
||||||
|
|
||||||
:link(Templeton2010)
|
:link(Templeton2010)
|
||||||
[(Templeton2010)] Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.
|
[(Templeton2010)] Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.
|
||||||
|
|
||||||
:link(Jones)
|
:link(Jones)
|
||||||
[(Jones)] Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940.
|
[(Jones)] Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940.
|
||||||
|
|
||||||
:link(Templeton2011)
|
:link(Templeton2011)
|
||||||
[(Templeton2011)] Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736.
|
[(Templeton2011)] Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736.
|
||||||
|
|
||||||
:link(Mandadapu)
|
:link(Mandadapu)
|
||||||
[(Mandadapu)] Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115.
|
[(Mandadapu)] Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115.
|
||||||
|
|
||||||
Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation.
|
Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation.
|
||||||
|
|
||||||
|
|||||||
@ -35,7 +35,7 @@ keyword = {types} or {mu} or {ke} or {semi-grand} or {region} :l
|
|||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2
|
fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2
|
||||||
fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6
|
fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6
|
||||||
fix SGMC all atom/swap 1 100 345 1.0 semi-grand yes types 1 2 3 mu 0.0 4.3 -5.0 :pre
|
fix SGMC all atom/swap 1 100 345 1.0 semi-grand yes types 1 2 3 mu 0.0 4.3 -5.0 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
@ -78,15 +78,15 @@ atoms remains constant. Whereas in the semi-grand canonical ensemble,
|
|||||||
the composition of the system can change. Note that when using
|
the composition of the system can change. Note that when using
|
||||||
{semi-grand}, atoms in the fix group whose type is not listed
|
{semi-grand}, atoms in the fix group whose type is not listed
|
||||||
in the {types} keyword are ineligible for attempted
|
in the {types} keyword are ineligible for attempted
|
||||||
conversion. An attempt is made to switch
|
conversion. An attempt is made to switch
|
||||||
the selected atom (if eligible) to one of the other listed types
|
the selected atom (if eligible) to one of the other listed types
|
||||||
with equal probability. Acceptance of each attempt depends upon the Metropolis criterion.
|
with equal probability. Acceptance of each attempt depends upon the Metropolis criterion.
|
||||||
|
|
||||||
The {mu} keyword allows users to specify chemical
|
The {mu} keyword allows users to specify chemical
|
||||||
potentials. This is required and allowed only when using {semi-grand}.
|
potentials. This is required and allowed only when using {semi-grand}.
|
||||||
All chemical potentials are absolute, so there is one for
|
All chemical potentials are absolute, so there is one for
|
||||||
each swap type listed following the {types} keyword.
|
each swap type listed following the {types} keyword.
|
||||||
In semi-grand canonical ensemble simulations the chemical composition
|
In semi-grand canonical ensemble simulations the chemical composition
|
||||||
of the system is controlled by the difference in these values. So
|
of the system is controlled by the difference in these values. So
|
||||||
shifting all values by a constant amount will have no effect
|
shifting all values by a constant amount will have no effect
|
||||||
on the simulation.
|
on the simulation.
|
||||||
@ -103,17 +103,17 @@ LAMMPS will warn you if any of the atoms eligible for swapping have a
|
|||||||
non-zero molecule ID, but does not check for this at the time of
|
non-zero molecule ID, but does not check for this at the time of
|
||||||
swapping.
|
swapping.
|
||||||
|
|
||||||
If not using {semi-grand} this fix checks to ensure all atoms of the
|
If not using {semi-grand} this fix checks to ensure all atoms of the
|
||||||
given types have the same atomic charge. LAMMPS doesn't enforce this
|
given types have the same atomic charge. LAMMPS doesn't enforce this
|
||||||
in general, but it is needed for this fix to simplify the
|
in general, but it is needed for this fix to simplify the
|
||||||
swapping procedure. Successful swaps will swap the atom type and charge
|
swapping procedure. Successful swaps will swap the atom type and charge
|
||||||
of the swapped atoms. Conversely, when using {semi-grand}, it is assumed that all the atom
|
of the swapped atoms. Conversely, when using {semi-grand}, it is assumed that all the atom
|
||||||
types involved in switches have the same charge. Otherwise, charge
|
types involved in switches have the same charge. Otherwise, charge
|
||||||
would not be conserved. As a consequence, no checks on atomic charges are
|
would not be conserved. As a consequence, no checks on atomic charges are
|
||||||
performed, and successful switches update the atom type but not the
|
performed, and successful switches update the atom type but not the
|
||||||
atom charge. While it is possible to use {semi-grand} with groups of
|
atom charge. While it is possible to use {semi-grand} with groups of
|
||||||
atoms that have different charges, these charges will not be changed when the
|
atoms that have different charges, these charges will not be changed when the
|
||||||
atom types change.
|
atom types change.
|
||||||
|
|
||||||
Since this fix computes total potential energies before and after
|
Since this fix computes total potential energies before and after
|
||||||
proposed swaps, so even complicated potential energy calculations are
|
proposed swaps, so even complicated potential energy calculations are
|
||||||
@ -123,15 +123,15 @@ OK, including the following:
|
|||||||
many body pair styles
|
many body pair styles
|
||||||
hybrid pair styles
|
hybrid pair styles
|
||||||
eam pair styles
|
eam pair styles
|
||||||
triclinic systems
|
triclinic systems
|
||||||
need to include potential energy contributions from other fixes :ul
|
need to include potential energy contributions from other fixes :ul
|
||||||
|
|
||||||
Some fixes have an associated potential energy. Examples of such fixes
|
Some fixes have an associated potential energy. Examples of such fixes
|
||||||
include: "efield"_fix_efield.html, "gravity"_fix_gravity.html,
|
include: "efield"_fix_efield.html, "gravity"_fix_gravity.html,
|
||||||
"addforce"_fix_addforce.html, "langevin"_fix_langevin.html,
|
"addforce"_fix_addforce.html, "langevin"_fix_langevin.html,
|
||||||
"restrain"_fix_restrain.html, "temp/berendsen"_fix_temp_berendsen.html,
|
"restrain"_fix_restrain.html, "temp/berendsen"_fix_temp_berendsen.html,
|
||||||
"temp/rescale"_fix_temp_rescale.html, and "wall fixes"_fix_wall.html.
|
"temp/rescale"_fix_temp_rescale.html, and "wall fixes"_fix_wall.html.
|
||||||
For that energy to be included in the total potential energy of the
|
For that energy to be included in the total potential energy of the
|
||||||
system (the quantity used when performing GCMC moves),
|
system (the quantity used when performing GCMC moves),
|
||||||
you MUST enable the "fix_modify"_fix_modify.html {energy} option for
|
you MUST enable the "fix_modify"_fix_modify.html {energy} option for
|
||||||
that fix. The doc pages for individual "fix"_fix.html commands
|
that fix. The doc pages for individual "fix"_fix.html commands
|
||||||
@ -170,18 +170,18 @@ LAMMPS"_Section_start.html#start_3 section for more info.
|
|||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
"fix nvt"_fix_nh.html, "neighbor"_neighbor.html,
|
"fix nvt"_fix_nh.html, "neighbor"_neighbor.html,
|
||||||
"fix deposit"_fix_deposit.html, "fix evaporate"_fix_evaporate.html,
|
"fix deposit"_fix_deposit.html, "fix evaporate"_fix_evaporate.html,
|
||||||
"delete_atoms"_delete_atoms.html, "fix gcmc"_fix_gcmc.html
|
"delete_atoms"_delete_atoms.html, "fix gcmc"_fix_gcmc.html
|
||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The option defaults are ke = yes, semi-grand = no, mu = 0.0 for
|
The option defaults are ke = yes, semi-grand = no, mu = 0.0 for
|
||||||
all atom types.
|
all atom types.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
:link(Sadigh)
|
:link(Sadigh)
|
||||||
[(Sadigh)] B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and
|
[(Sadigh)] B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and
|
||||||
L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012).
|
L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012).
|
||||||
|
|
||||||
|
|||||||
@ -79,7 +79,7 @@ equivalent, since the "compute stress/atom"_compute_stress_atom.html
|
|||||||
command creates a per-atom array with 6 columns:
|
command creates a per-atom array with 6 columns:
|
||||||
|
|
||||||
compute my_stress all stress/atom NULL
|
compute my_stress all stress/atom NULL
|
||||||
fix 1 all ave/atom 10 20 1000 c_my_stress\[*\]
|
fix 1 all ave/atom 10 20 1000 c_my_stress\[*\]
|
||||||
fix 1 all ave/atom 10 20 1000 c_my_stress\[1\] c_my_stress\[1\] &
|
fix 1 all ave/atom 10 20 1000 c_my_stress\[1\] c_my_stress\[1\] &
|
||||||
c_my_stress\[3\] c_my_stress\[4\] &
|
c_my_stress\[3\] c_my_stress\[4\] &
|
||||||
c_my_stress\[5\] c_my_stress\[6\] :pre
|
c_my_stress\[5\] c_my_stress\[6\] :pre
|
||||||
@ -93,8 +93,8 @@ that are a multiple of {Nfreq}. The average is over {Nrepeat}
|
|||||||
quantities, computed in the preceding portion of the simulation every
|
quantities, computed in the preceding portion of the simulation every
|
||||||
{Nevery} timesteps. {Nfreq} must be a multiple of {Nevery} and
|
{Nevery} timesteps. {Nfreq} must be a multiple of {Nevery} and
|
||||||
{Nevery} must be non-zero even if {Nrepeat} is 1. Also, the timesteps
|
{Nevery} must be non-zero even if {Nrepeat} is 1. Also, the timesteps
|
||||||
contributing to the average value cannot overlap,
|
contributing to the average value cannot overlap,
|
||||||
i.e. Nrepeat*Nevery can not exceed Nfreq.
|
i.e. Nrepeat*Nevery can not exceed Nfreq.
|
||||||
|
|
||||||
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on
|
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on
|
||||||
timesteps 90,92,94,96,98,100 will be used to compute the final average
|
timesteps 90,92,94,96,98,100 will be used to compute the final average
|
||||||
|
|||||||
@ -77,7 +77,7 @@ fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile
|
|||||||
|
|
||||||
could be replaced by:
|
could be replaced by:
|
||||||
|
|
||||||
compute cc1 flow chunk/atom bin/1d y 0.0 1.0
|
compute cc1 flow chunk/atom bin/1d y 0.0 1.0
|
||||||
fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile :pre
|
fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|||||||
@ -58,7 +58,7 @@ keyword = {type} or {ave} or {start} or {prefactor} or {file} or {overwrite} or
|
|||||||
fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate
|
fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate
|
||||||
fix 1 all ave/correlate 1 50 10000 &
|
fix 1 all ave/correlate 1 50 10000 &
|
||||||
c_thermo_press\[1\] c_thermo_press\[2\] c_thermo_press\[3\] &
|
c_thermo_press\[1\] c_thermo_press\[2\] c_thermo_press\[3\] &
|
||||||
type upper ave running title1 "My correlation data" :pre
|
type upper ave running title1 "My correlation data" :pre
|
||||||
fix 1 all ave/correlate 1 50 10000 c_thermo_press\[*\]
|
fix 1 all ave/correlate 1 50 10000 c_thermo_press\[*\]
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
@ -176,7 +176,7 @@ output"_thermo_style.html or other fixes such as "fix nvt"_fix_nh.html
|
|||||||
or "fix temp/rescale"_fix_temp_rescale.html. See the doc pages for
|
or "fix temp/rescale"_fix_temp_rescale.html. See the doc pages for
|
||||||
these commands which give the IDs of these computes. Users can also
|
these commands which give the IDs of these computes. Users can also
|
||||||
write code for their own compute styles and "add them to
|
write code for their own compute styles and "add them to
|
||||||
LAMMPS"_Section_modify.html.
|
LAMMPS"_Section_modify.html.
|
||||||
|
|
||||||
If a value begins with "f_", a fix ID must follow which has been
|
If a value begins with "f_", a fix ID must follow which has been
|
||||||
previously defined in the input script. If no bracketed term is
|
previously defined in the input script. If no bracketed term is
|
||||||
@ -184,7 +184,7 @@ appended, the global scalar calculated by the fix is used. If a
|
|||||||
bracketed term is appended, the Ith element of the global vector
|
bracketed term is appended, the Ith element of the global vector
|
||||||
calculated by the fix is used. See the discussion above for how I can
|
calculated by the fix is used. See the discussion above for how I can
|
||||||
be specified with a wildcard asterisk to effectively specify multiple
|
be specified with a wildcard asterisk to effectively specify multiple
|
||||||
values.
|
values.
|
||||||
|
|
||||||
Note that some fixes only produce their values on certain timesteps,
|
Note that some fixes only produce their values on certain timesteps,
|
||||||
which must be compatible with {Nevery}, else an error will result.
|
which must be compatible with {Nevery}, else an error will result.
|
||||||
|
|||||||
@ -55,7 +55,7 @@ keyword = {type} or {start} or {file} or {overwrite} or {title1} or {title2} or
|
|||||||
fix 1 all ave/correlate/long 5 1000 c_myTemp file temp.correlate
|
fix 1 all ave/correlate/long 5 1000 c_myTemp file temp.correlate
|
||||||
fix 1 all ave/correlate/long 1 10000 &
|
fix 1 all ave/correlate/long 1 10000 &
|
||||||
c_thermo_press\[1\] c_thermo_press\[2\] c_thermo_press\[3\] &
|
c_thermo_press\[1\] c_thermo_press\[2\] c_thermo_press\[3\] &
|
||||||
type upper title1 "My correlation data" nlen 15 ncount 3 :pre
|
type upper title1 "My correlation data" nlen 15 ncount 3 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
|
|||||||
@ -61,7 +61,7 @@ keyword = {mode} or {file} or {ave} or {start} or {beyond} or {overwrite} or {ti
|
|||||||
fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running
|
fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running
|
||||||
fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press\[2\] c_thermo_press\[3\] title1 "My output values"
|
fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press\[2\] c_thermo_press\[3\] title1 "My output values"
|
||||||
fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press\[*\]
|
fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press\[*\]
|
||||||
fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra
|
fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra
|
||||||
fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD\[1\] c_XRD\[2\] :pre
|
fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD\[1\] c_XRD\[2\] :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
@ -149,8 +149,8 @@ multiple of {Nfreq}. It is averaged over {Nrepeat} histograms,
|
|||||||
computed in the preceding portion of the simulation every {Nevery}
|
computed in the preceding portion of the simulation every {Nevery}
|
||||||
timesteps. {Nfreq} must be a multiple of {Nevery} and {Nevery} must
|
timesteps. {Nfreq} must be a multiple of {Nevery} and {Nevery} must
|
||||||
be non-zero even if {Nrepeat} is 1. Also, the timesteps
|
be non-zero even if {Nrepeat} is 1. Also, the timesteps
|
||||||
contributing to the histogram value cannot overlap,
|
contributing to the histogram value cannot overlap,
|
||||||
i.e. Nrepeat*Nevery can not exceed Nfreq.
|
i.e. Nrepeat*Nevery can not exceed Nfreq.
|
||||||
|
|
||||||
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then input values
|
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then input values
|
||||||
on timesteps 90,92,94,96,98,100 will be used to compute the final
|
on timesteps 90,92,94,96,98,100 will be used to compute the final
|
||||||
|
|||||||
@ -137,8 +137,8 @@ that are a mlutiple of {Nfreq}. The average is over {Nrepeat}
|
|||||||
quantities, computed in the preceding portion of the simulation every
|
quantities, computed in the preceding portion of the simulation every
|
||||||
{Nevery} timesteps. {Nfreq} must be a multiple of {Nevery} and
|
{Nevery} timesteps. {Nfreq} must be a multiple of {Nevery} and
|
||||||
{Nevery} must be non-zero even if {Nrepeat} is 1. Also, the timesteps
|
{Nevery} must be non-zero even if {Nrepeat} is 1. Also, the timesteps
|
||||||
contributing to the average value cannot overlap,
|
contributing to the average value cannot overlap,
|
||||||
i.e. Nrepeat*Nevery can not exceed Nfreq.
|
i.e. Nrepeat*Nevery can not exceed Nfreq.
|
||||||
|
|
||||||
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on
|
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on
|
||||||
timesteps 90,92,94,96,98,100 will be used to compute the final average
|
timesteps 90,92,94,96,98,100 will be used to compute the final average
|
||||||
|
|||||||
@ -330,7 +330,7 @@ per processor. Note that the 4 sub-domains share vertices, so there
|
|||||||
will be duplicate nodes in the list.
|
will be duplicate nodes in the list.
|
||||||
|
|
||||||
The "SQUARES" section lists the node IDs of the 4 vertices in a
|
The "SQUARES" section lists the node IDs of the 4 vertices in a
|
||||||
rectangle for each processor (1 to 4).
|
rectangle for each processor (1 to 4).
|
||||||
|
|
||||||
For a 3d problem, the syntax is similar with 8 vertices listed for
|
For a 3d problem, the syntax is similar with 8 vertices listed for
|
||||||
each processor, instead of 4, and "SQUARES" replaced by "CUBES".
|
each processor, instead of 4, and "SQUARES" replaced by "CUBES".
|
||||||
|
|||||||
4
doc/src/fix_bond_break.txt
Executable file → Normal file
4
doc/src/fix_bond_break.txt
Executable file → Normal file
@ -56,7 +56,7 @@ possible bonds to break. Every atom checks its list of possible bonds
|
|||||||
to break and labels the longest such bond as its "sole" bond to break.
|
to break and labels the longest such bond as its "sole" bond to break.
|
||||||
After this is done, if atom I is bonded to atom J in its sole bond,
|
After this is done, if atom I is bonded to atom J in its sole bond,
|
||||||
and atom J is bonded to atom I in its sole bond, then the I,J bond is
|
and atom J is bonded to atom I in its sole bond, then the I,J bond is
|
||||||
"eligible" to be broken.
|
"eligible" to be broken.
|
||||||
|
|
||||||
Note that these rules mean an atom will only be part of at most one
|
Note that these rules mean an atom will only be part of at most one
|
||||||
broken bond on a given timestep. It also means that if atom I chooses
|
broken bond on a given timestep. It also means that if atom I chooses
|
||||||
@ -112,7 +112,7 @@ resulting from broken bonds (and angles, dihedrals, impropers).
|
|||||||
|
|
||||||
No information about this fix is written to "binary restart
|
No information about this fix is written to "binary restart
|
||||||
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
||||||
are relevant to this fix.
|
are relevant to this fix.
|
||||||
|
|
||||||
This fix computes two statistics which it stores in a global vector of
|
This fix computes two statistics which it stores in a global vector of
|
||||||
length 2, which can be accessed by various "output
|
length 2, which can be accessed by various "output
|
||||||
|
|||||||
2
doc/src/fix_bond_create.txt
Executable file → Normal file
2
doc/src/fix_bond_create.txt
Executable file → Normal file
@ -208,7 +208,7 @@ created bonds (and angles, dihedrals, impropers).
|
|||||||
|
|
||||||
No information about this fix is written to "binary restart
|
No information about this fix is written to "binary restart
|
||||||
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
||||||
are relevant to this fix.
|
are relevant to this fix.
|
||||||
|
|
||||||
This fix computes two statistics which it stores in a global vector of
|
This fix computes two statistics which it stores in a global vector of
|
||||||
length 2, which can be accessed by various "output
|
length 2, which can be accessed by various "output
|
||||||
|
|||||||
0
doc/src/fix_bond_swap.txt
Executable file → Normal file
0
doc/src/fix_bond_swap.txt
Executable file → Normal file
@ -15,13 +15,13 @@ fix ID group-ID box/relax keyword value ... :pre
|
|||||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
box/relax = style name of this fix command :l
|
box/relax = style name of this fix command :l
|
||||||
one or more keyword value pairs may be appended
|
one or more keyword value pairs may be appended
|
||||||
keyword = {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {nreset} or {vmax} or {dilate} or {scaleyz} or {scalexz} or {scalexy} or {fixedpoint}
|
keyword = {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {nreset} or {vmax} or {dilate} or {scaleyz} or {scalexz} or {scalexy} or {fixedpoint}
|
||||||
{iso} or {aniso} or {tri} value = Ptarget = desired pressure (pressure units)
|
{iso} or {aniso} or {tri} value = Ptarget = desired pressure (pressure units)
|
||||||
{x} or {y} or {z} or {xy} or {yz} or {xz} value = Ptarget = desired pressure (pressure units)
|
{x} or {y} or {z} or {xy} or {yz} or {xz} value = Ptarget = desired pressure (pressure units)
|
||||||
{couple} = {none} or {xyz} or {xy} or {yz} or {xz}
|
{couple} = {none} or {xyz} or {xy} or {yz} or {xz}
|
||||||
{nreset} value = reset reference cell every this many minimizer iterations
|
{nreset} value = reset reference cell every this many minimizer iterations
|
||||||
{vmax} value = fraction = max allowed volume change in one iteration
|
{vmax} value = fraction = max allowed volume change in one iteration
|
||||||
{dilate} value = {all} or {partial}
|
{dilate} value = {all} or {partial}
|
||||||
{scaleyz} value = {yes} or {no} = scale yz with lz
|
{scaleyz} value = {yes} or {no} = scale yz with lz
|
||||||
{scalexz} value = {yes} or {no} = scale xz with lz
|
{scalexz} value = {yes} or {no} = scale xz with lz
|
||||||
{scalexy} value = {yes} or {no} = scale xy with ly
|
{scalexy} value = {yes} or {no} = scale xy with ly
|
||||||
@ -99,8 +99,8 @@ chosen will not move during the simulation. For example, if the lower
|
|||||||
periodic boundaries pass through (0,0,0), and this point is provided
|
periodic boundaries pass through (0,0,0), and this point is provided
|
||||||
to {fixedpoint}, then the lower periodic boundaries will remain at
|
to {fixedpoint}, then the lower periodic boundaries will remain at
|
||||||
(0,0,0), while the upper periodic boundaries will move twice as
|
(0,0,0), while the upper periodic boundaries will move twice as
|
||||||
far. In all cases, the particle positions at each iteration are
|
far. In all cases, the particle positions at each iteration are
|
||||||
unaffected by the chosen value, except that all particles are
|
unaffected by the chosen value, except that all particles are
|
||||||
displaced by the same amount, different on each iteration.
|
displaced by the same amount, different on each iteration.
|
||||||
|
|
||||||
NOTE: Appling an external pressure to tilt dimensions {xy}, {xz}, {yz}
|
NOTE: Appling an external pressure to tilt dimensions {xy}, {xz}, {yz}
|
||||||
@ -178,9 +178,9 @@ these 7 keywords:
|
|||||||
x Ptarget
|
x Ptarget
|
||||||
y Ptarget
|
y Ptarget
|
||||||
z Ptarget
|
z Ptarget
|
||||||
xy 0.0
|
xy 0.0
|
||||||
yz 0.0
|
yz 0.0
|
||||||
xz 0.0
|
xz 0.0
|
||||||
couple none :pre
|
couple none :pre
|
||||||
|
|
||||||
:line
|
:line
|
||||||
@ -201,7 +201,7 @@ With this fix, the potential energy used by the minimizer is augmented
|
|||||||
by an additional energy provided by the fix. The overall objective
|
by an additional energy provided by the fix. The overall objective
|
||||||
function then is:
|
function then is:
|
||||||
|
|
||||||
:c,image(Eqs/fix_box_relax1.jpg)
|
:c,image(Eqs/fix_box_relax1.jpg)
|
||||||
|
|
||||||
where {U} is the system potential energy, {P}_t is the desired
|
where {U} is the system potential energy, {P}_t is the desired
|
||||||
hydrostatic pressure, {V} and {V}_0 are the system and reference
|
hydrostatic pressure, {V} and {V}_0 are the system and reference
|
||||||
@ -211,14 +211,14 @@ Taking derivatives of {E} w.r.t. the box dimensions, and setting these
|
|||||||
to zero, we find that at the minimum of the objective function, the
|
to zero, we find that at the minimum of the objective function, the
|
||||||
global system stress tensor [P] will satisfy the relation:
|
global system stress tensor [P] will satisfy the relation:
|
||||||
|
|
||||||
:c,image(Eqs/fix_box_relax2.jpg)
|
:c,image(Eqs/fix_box_relax2.jpg)
|
||||||
|
|
||||||
where [I] is the identity matrix, [h]_0 is the box dimension tensor of
|
where [I] is the identity matrix, [h]_0 is the box dimension tensor of
|
||||||
the reference cell, and [h]_0{d} is the diagonal part of
|
the reference cell, and [h]_0{d} is the diagonal part of
|
||||||
[h]_0. [S]_{t} is a symmetric stress tensor that is chosen by LAMMPS
|
[h]_0. [S]_{t} is a symmetric stress tensor that is chosen by LAMMPS
|
||||||
so that the upper-triangular components of [P] equal the stress tensor
|
so that the upper-triangular components of [P] equal the stress tensor
|
||||||
specified by the user.
|
specified by the user.
|
||||||
|
|
||||||
This equation only applies when the box dimensions are equal to those
|
This equation only applies when the box dimensions are equal to those
|
||||||
of the reference dimensions. If this is not the case, then the
|
of the reference dimensions. If this is not the case, then the
|
||||||
converged stress tensor will not equal that specified by the user. We
|
converged stress tensor will not equal that specified by the user. We
|
||||||
|
|||||||
@ -33,7 +33,7 @@ cvar = name of control variable :l
|
|||||||
|
|
||||||
|
|
||||||
fix 1 all controller 100 1.0 0.5 0.0 0.0 c_thermo_temp 1.5 tcontrol
|
fix 1 all controller 100 1.0 0.5 0.0 0.0 c_thermo_temp 1.5 tcontrol
|
||||||
fix 1 all controller 100 0.2 0.5 0 100.0 v_pxxwall 1.01325 xwall
|
fix 1 all controller 100 0.2 0.5 0 100.0 v_pxxwall 1.01325 xwall
|
||||||
fix 1 all controller 10000 0.2 0.5 0 2000 v_avpe -3.785 tcontrol :pre
|
fix 1 all controller 10000 0.2 0.5 0 2000 v_avpe -3.785 tcontrol :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|||||||
@ -28,7 +28,7 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
|
|||||||
factor = multiplicative factor for change in box length at end of run
|
factor = multiplicative factor for change in box length at end of run
|
||||||
{vel} value = V
|
{vel} value = V
|
||||||
V = change box length at this velocity (distance/time units),
|
V = change box length at this velocity (distance/time units),
|
||||||
effectively an engineering strain rate
|
effectively an engineering strain rate
|
||||||
{erate} value = R
|
{erate} value = R
|
||||||
R = engineering strain rate (1/time units)
|
R = engineering strain rate (1/time units)
|
||||||
{trate} value = R
|
{trate} value = R
|
||||||
@ -36,10 +36,10 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
|
|||||||
{volume} value = none = adjust this dim to preserve volume of system
|
{volume} value = none = adjust this dim to preserve volume of system
|
||||||
{wiggle} values = A Tp
|
{wiggle} values = A Tp
|
||||||
A = amplitude of oscillation (distance units)
|
A = amplitude of oscillation (distance units)
|
||||||
Tp = period of oscillation (time units)
|
Tp = period of oscillation (time units)
|
||||||
{variable} values = v_name1 v_name2
|
{variable} values = v_name1 v_name2
|
||||||
v_name1 = variable with name1 for box length change as function of time
|
v_name1 = variable with name1 for box length change as function of time
|
||||||
v_name2 = variable with name2 for change rate as function of time
|
v_name2 = variable with name2 for change rate as function of time
|
||||||
{xy}, {xz}, {yz} args = style value
|
{xy}, {xz}, {yz} args = style value
|
||||||
style = {final} or {delta} or {vel} or {erate} or {trate} or {wiggle}
|
style = {final} or {delta} or {vel} or {erate} or {trate} or {wiggle}
|
||||||
{final} value = tilt
|
{final} value = tilt
|
||||||
@ -48,17 +48,17 @@ parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
|
|||||||
dtilt = change in tilt factor at end of run (distance units)
|
dtilt = change in tilt factor at end of run (distance units)
|
||||||
{vel} value = V
|
{vel} value = V
|
||||||
V = change tilt factor at this velocity (distance/time units),
|
V = change tilt factor at this velocity (distance/time units),
|
||||||
effectively an engineering shear strain rate
|
effectively an engineering shear strain rate
|
||||||
{erate} value = R
|
{erate} value = R
|
||||||
R = engineering shear strain rate (1/time units)
|
R = engineering shear strain rate (1/time units)
|
||||||
{trate} value = R
|
{trate} value = R
|
||||||
R = true shear strain rate (1/time units)
|
R = true shear strain rate (1/time units)
|
||||||
{wiggle} values = A Tp
|
{wiggle} values = A Tp
|
||||||
A = amplitude of oscillation (distance units)
|
A = amplitude of oscillation (distance units)
|
||||||
Tp = period of oscillation (time units)
|
Tp = period of oscillation (time units)
|
||||||
{variable} values = v_name1 v_name2
|
{variable} values = v_name1 v_name2
|
||||||
v_name1 = variable with name1 for tilt change as function of time
|
v_name1 = variable with name1 for tilt change as function of time
|
||||||
v_name2 = variable with name2 for change rate as function of time :pre
|
v_name2 = variable with name2 for change rate as function of time :pre
|
||||||
|
|
||||||
zero or more keyword/value pairs may be appended :l
|
zero or more keyword/value pairs may be appended :l
|
||||||
keyword = {remap} or {flip} or {units} :l
|
keyword = {remap} or {flip} or {units} :l
|
||||||
|
|||||||
@ -57,9 +57,9 @@ minimization"_minimize.html.
|
|||||||
|
|
||||||
[Restrictions:] none
|
[Restrictions:] none
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
"fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html,
|
"fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html,
|
||||||
"fix spring/rg"_fix_spring_rg.html, "fix smd"_fix_smd.html
|
"fix spring/rg"_fix_spring_rg.html, "fix smd"_fix_smd.html
|
||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|||||||
@ -61,12 +61,12 @@ Velocities: \begin\{equation\} V' = \frac \{M\, V + m\, v\} \{M'\}
|
|||||||
Forces: \begin\{equation\} F' = F + f \end\{equation\}
|
Forces: \begin\{equation\} F' = F + f \end\{equation\}
|
||||||
\begin\{equation\} f' = \frac \{ M\, f - m\, F\} \{M'\}
|
\begin\{equation\} f' = \frac \{ M\, f - m\, F\} \{M'\}
|
||||||
\end\{equation\}
|
\end\{equation\}
|
||||||
|
|
||||||
This transform conserves the total kinetic energy
|
This transform conserves the total kinetic energy
|
||||||
\begin\{equation\} \frac 1 2 \, (M\, V^2\ + m\, v^2)
|
\begin\{equation\} \frac 1 2 \, (M\, V^2\ + m\, v^2)
|
||||||
= \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) \end\{equation\}
|
= \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) \end\{equation\}
|
||||||
and the virial defined with absolute positions
|
and the virial defined with absolute positions
|
||||||
\begin\{equation\} X\, F + x\, f = X'\, F' + x'\, f' \end\{equation\}
|
\begin\{equation\} X\, F + x\, f = X'\, F' + x'\, f' \end\{equation\}
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
@ -63,7 +63,7 @@ If the {region} keyword is used, the atom must also be in the
|
|||||||
specified geometric "region"_region.html in order to have force added
|
specified geometric "region"_region.html in order to have force added
|
||||||
to it.
|
to it.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
Adding a force or torque to atoms implies a change in their potential
|
Adding a force or torque to atoms implies a change in their potential
|
||||||
energy as they move or rotate due to the applied E-field.
|
energy as they move or rotate due to the applied E-field.
|
||||||
@ -108,12 +108,12 @@ due to the electric field were a spring-like F = kx, then the energy
|
|||||||
formula should be E = -0.5kx^2. If you don't do this correctly, the
|
formula should be E = -0.5kx^2. If you don't do this correctly, the
|
||||||
minimization will not converge properly.
|
minimization will not converge properly.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||||
|
|
||||||
No information about this fix is written to "binary restart
|
No information about this fix is written to "binary restart
|
||||||
files"_restart.html.
|
files"_restart.html.
|
||||||
|
|
||||||
The "fix_modify"_fix_modify.html {energy} option is supported by this
|
The "fix_modify"_fix_modify.html {energy} option is supported by this
|
||||||
fix to add the potential "energy" inferred by the added force due to
|
fix to add the potential "energy" inferred by the added force due to
|
||||||
|
|||||||
@ -34,15 +34,15 @@ keyword = {region} or {constrain} or {com} or {hex} :l
|
|||||||
fix fnve all nve
|
fix fnve all nve
|
||||||
# specify regions rhot and rcold
|
# specify regions rhot and rcold
|
||||||
...
|
...
|
||||||
fix fhot all ehex 1 0.15 region rhot
|
fix fhot all ehex 1 0.15 region rhot
|
||||||
fix fcold all ehex 1 -0.15 region rcold :pre
|
fix fcold all ehex 1 -0.15 region rcold :pre
|
||||||
|
|
||||||
# SPC/E water, from examples/in.ehex.spce
|
# SPC/E water, from examples/in.ehex.spce
|
||||||
fix fnve all nve
|
fix fnve all nve
|
||||||
# specify regions rhot and rcold
|
# specify regions rhot and rcold
|
||||||
...
|
...
|
||||||
fix fhot all ehex 1 0.075 region rhot constrain com
|
fix fhot all ehex 1 0.075 region rhot constrain com
|
||||||
fix fcold all ehex 1 -0.075 region rcold constrain com
|
fix fcold all ehex 1 -0.075 region rcold constrain com
|
||||||
fix frattle all rattle 1e-10 400 0 b 1 a 1 :pre
|
fix frattle all rattle 1e-10 400 0 b 1 a 1 :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user