Merge pull request #3984 from lammps/general-triclinic

Add suppport for general triclinic simulation boxes and systems
This commit is contained in:
Axel Kohlmeyer
2024-04-16 21:04:59 -04:00
committed by GitHub
151 changed files with 49371 additions and 23854 deletions

View File

@ -7883,12 +7883,6 @@ keyword to allow for additional bonds to be formed
Fix poems cannot (yet) work with coupled bodies whose joints connect
the bodies in a tree structure.
*Triclinic box skew is too large*
The displacement in a skewed direction must be less than half the box
length in that dimension. E.g. the xy tilt must be between -half and
+half of the x box length. This constraint can be relaxed by using
the box tilt command.
*Tried to convert a double to int, but input_double > INT_MAX*
Self-explanatory.

View File

@ -752,13 +752,6 @@ This will most likely cause errors in kinetic fluctuations.
More than the maximum # of neighbors was found multiple times. This
was unexpected.
*Triclinic box skew is large*
The displacement in a skewed direction is normally required to be less
than half the box length in that dimension. E.g. the xy tilt must be
between -half and +half of the x box length. You have relaxed the
constraint using the box tilt command, but the warning means that a
LAMMPS simulation may be inefficient as a result.
*Use special bonds = 0,1,1 with bond style fene*
Most FENE models need this setting for the special_bonds command.

View File

@ -1,42 +1,112 @@
2d simulations
==============
================
2d simulations
================
Use the :doc:`dimension <dimension>` command to specify a 2d simulation.
You must use the :doc:`dimension <dimension>` command to specify a 2d
simulation. The default is 3d.
Make the simulation box periodic in z via the :doc:`boundary <boundary>`
command. This is the default.
A 2d simulation box must be periodic in z as set by the :doc:`boundary
<boundary>` command. This is the default.
If using the :doc:`create_box <create_box>` command to define a
simulation box, set the z dimensions narrow, but finite, so that the
:doc:`create_atoms <create_atoms>` command will fill the 3d simulation
box with a single z plane of atoms - e.g.
Simulation boxes in LAMMPS can be either orthogonal or triclinic in
shape. Orthogonal boxes in 2d are a rectangle with 4 edges that are
each perpendicular to either the x or y coordinate axes. Triclinic
boxes in 2d are a parallelogram with opposite pairs of faces parallel
to each other. LAMMPS supports two forms of triclinic boxes,
restricted and general, which for 2d differ in how the box is oriented
with respect to the xy coordinate axes. See the :doc:`Howto triclinic
<Howto_triclinic>` for a detailed description of all 3 kinds of
simulation boxes.
Here are examples of using the :doc:`create_box <create_box>` command
to define the simulation box for a 2d system.
.. code-block:: LAMMPS
create_box 1 -10 10 -10 10 -0.25 0.25
# 2d orthogonal box using a block-style region
region mybox block -10 10 0 10 -0.5 0.5
create_box 1 mybox
If using the :doc:`read_data <read_data>` command to read in a file of
atom coordinates, set the "zlo zhi" values to be finite but narrow,
similar to the create_box command settings just described. For each
atom in the file, assign a z coordinate so it falls inside the
z-boundaries of the box - e.g. 0.0.
# 2d restricted triclinic box using a prism-style region with only xy tilt
region mybox prism 0 10 0 10 -0.5 0.5 2.0 0.0 0.0
create_box 1 mybox
Use the :doc:`fix enforce2d <fix_enforce2d>` command as the last
defined fix to ensure that the z-components of velocities and forces
are zeroed out every timestep. The reason to make it the last fix is
so that any forces induced by other fixes will be zeroed out.
# 2d general triclinic box using a primitive cell for a 2d hex lattice
lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 &
a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general
create_box 1 NULL 0 5 0 5 -0.5 0.5
Many of the example input scripts included in the LAMMPS distribution
Note that for 2d orthogonal or restricted triclinic boxes, the box has
a 3rd dimension which must straddle z = 0.0 in the z dimension.
Typically the width of box in the z dimension should be narrow,
e.g. -0.5 to 0.5, but that is not required. For a 2d general
triclinic box, the *a3* vector defined by the :doc:`lattice <lattice>`
command must be (0.0,0.0,1.0), which is its default value. Also the
*clo* and *chi* arguments of the :doc:`create_box <create_box>`
command must be -0.5 and 0.5.
Here are examples of using the :doc:`read_data <read_data>` command
to define the simulation box for a 2d system via keywords in the
header section of the data file. These are the same boxes as the examples
for the :doc:`create_box <create_box>` command
.. code-block:: LAMMPS
# 2d orthogonal box
-10 10 xlo xhi
0 10 ylo yhi
-0.5 0.5 zlo zhi # this is the default, so no need to specify
# 2d restricted triclinic box with only xy tilt
-10 10 xlo xhi
0 10 ylo yhi
-0.5 0.5 zlo zhi # this is the default, so no need to specify
2.0 0.0 0.0 xy xz yz
# 3d general triclinic box using a primitive cell for a 2d hex lattice
5 0 0 avec
2.5 4.3301270189 0 bvec
0 0 1 cvec # this is the default, so no need to specify
0 0 -0.5 abc origin # this is the default for 2d, so no need to specify
Note that for 2d orthogonal or restricted triclinic boxes, the box has
a 3rd dimension specified by the *zlo zhi* values, which must straddle
z = 0.0. Typically the width of box in the z dimension should be
narrow, e.g. -0.5 to 0.5, but that is not required. For a 2d general
triclinic box, the z component of *avec* and *bvec* must be zero, and
*cvec* must be (0,0,1), which is the default. The z component of *abc
origin* must also be -0.5, which is the default.
If using the :doc:`create_atoms <create_atoms>` command to create
atoms in the 2d simulation box, all the z coordinates of created atoms
will be zero.
If using the :doc:`read_data <read_data>` command to read in a data
file of atom coordinates for a 2d system, the z coordinates of all
atoms should be zero. A value within epsilon of zero is also allowed
in case the data file was generated by another program with finite
numeric precision, in which case the z coord for the atom will be set
to zero.
Use the :doc:`fix enforce2d <fix_enforce2d>` command as the last fix
defined in the input script. It ensures that the z-components of
velocities and forces are zeroed out every timestep. The reason to
make it the last fix is so that any forces added by other fixes will
also be zeroed out.
Many of the example input scripts included in the examples directory
are for 2d models.
.. note::
Some models in LAMMPS treat particles as finite-size spheres, as
opposed to point particles. See the :doc:`atom_style sphere <atom_style>` and :doc:`fix nve/sphere <fix_nve_sphere>`
commands for details. By default, for 2d simulations, such particles
will still be modeled as 3d spheres, not 2d discs (circles), meaning
opposed to point particles. See the :doc:`atom_style sphere
<atom_style>` and :doc:`fix nve/sphere <fix_nve_sphere>` commands
for details. By default, for 2d simulations, such particles will
still be modeled as 3d spheres, not 2d discs (circles), meaning
their moment of inertia will be that of a sphere. If you wish to
model them as 2d discs, see the :doc:`set density/disc <set>` command
and the *disc* option for the :doc:`fix nve/sphere <fix_nve_sphere>`,
:doc:`fix nvt/sphere <fix_nvt_sphere>`, :doc:`fix nph/sphere <fix_nph_sphere>`, :doc:`fix npt/sphere <fix_npt_sphere>`
commands.
model them as 2d discs, see the :doc:`set density/disc <set>`
command and the *disc* option for the :doc:`fix nve/sphere
<fix_nve_sphere>`, :doc:`fix nvt/sphere <fix_nvt_sphere>`,
:doc:`fix nph/sphere <fix_nph_sphere>`, :doc:`fix npt/sphere
<fix_npt_sphere>` commands.

View File

@ -102,8 +102,19 @@ particles of different styles
| :doc:`dump image <dump_image>` | output body particle attributes as an image |
+------------------------------------------------+-----------------------------------------------------+
The pair styles defined for use with specific body styles are listed
in the sections below.
The pair styles currently defined for use with specific body styles
are listed in the sections below.
Note that for all the body styles, if the data file defines a general
triclinic box, then the orientation of the body particle and its
corresponding 6 moments of inertia and other orientation-dependent
values should reflect the fact the body is defined withing a general
triclinic box with edge vectors **A**,**B**,**C**. LAMMPS will rotate
the box to convert it to a restricted triclinic box. This operation
will also rotate the orientation of the body particles. See the
:doc:`Howto triclinic <Howto_triclinic>` doc page for more details.
The sections below highlight the orientation-dependent values specific
to each body style.
----------
@ -154,12 +165,18 @@ values consistent with the current orientation of the rigid body
around its center of mass. The values are with respect to the
simulation box XYZ axes, not with respect to the principal axes of the
rigid body itself. LAMMPS performs the latter calculation internally.
The coordinates of each sub-particle are specified as its x,y,z
displacement from the center-of-mass of the body particle. The
center-of-mass position of the particle is specified by the x,y,z
values in the *Atoms* section of the data file, as is the total mass
of the body particle.
Note that if the data file defines a general triclinic simulation box,
these sub-particle displacements are orientation-dependent and, as
mentioned above, should reflect the body particle's orientation within
the general triclinic box.
The :doc:`pair_style body/nparticle <pair_body_nparticle>` command can be used
with this body style to compute body/body and body/non-body interactions.
@ -226,6 +243,7 @@ values consistent with the current orientation of the rigid body
around its center of mass. The values are with respect to the
simulation box XYZ axes, not with respect to the principal axes of the
rigid body itself. LAMMPS performs the latter calculation internally.
The coordinates of each vertex are specified as its x,y,z displacement
from the center-of-mass of the body particle. The center-of-mass
position of the particle is specified by the x,y,z values in the
@ -270,6 +288,11 @@ A disk, whose diameter is 3.0, mass 1.0, is specified as follows:
0 0 0
3.0
Note that if the data file defines a general triclinic simulation box,
these polygon vertex displacements are orientation-dependent and, as
mentioned above, should reflect the body particle's orientation within
the general triclinic box.
The :doc:`pair_style body/rounded/polygon <pair_body_rounded_polygon>`
command can be used with this body style to compute body/body
interactions. The :doc:`fix wall/body/polygon <fix_wall_body_polygon>`
@ -366,6 +389,7 @@ values consistent with the current orientation of the rigid body
around its center of mass. The values are with respect to the
simulation box XYZ axes, not with respect to the principal axes of the
rigid body itself. LAMMPS performs the latter calculation internally.
The coordinates of each vertex are specified as its x,y,z displacement
from the center-of-mass of the body particle. The center-of-mass
position of the particle is specified by the x,y,z values in the
@ -435,6 +459,11 @@ A sphere whose diameter is 3.0 and mass 1.0, is specified as follows:
The number of edges and faces for a rod or sphere must be listed,
but is ignored.
Note that if the data file defines a general triclinic simulation box,
these polyhedron vertex displacements are orientation-dependent and,
as mentioned above, should reflect the body particle's orientation
within the general triclinic box.
The :doc:`pair_style body/rounded/polhedron
<pair_body_rounded_polyhedron>` command can be used with this body
style to compute body/body interactions. The :doc:`fix

View File

@ -2,43 +2,195 @@ Triclinic (non-orthogonal) simulation boxes
===========================================
By default, LAMMPS uses an orthogonal simulation box to encompass the
particles. The :doc:`boundary <boundary>` command sets the boundary
conditions of the box (periodic, non-periodic, etc). The orthogonal
box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors
starting from the origin given by **a** = (xhi-xlo,0,0); **b** =
(0,yhi-ylo,0); **c** = (0,0,zhi-zlo). The 6 parameters
particles. The orthogonal box has its "origin" at (xlo,ylo,zlo) and
extends to (xhi,yhi,zhi). Conceptually it is defined by 3 edge
vectors starting from the origin given by **A** = (xhi-xlo,0,0); **B**
= (0,yhi-ylo,0); **C** = (0,0,zhi-zlo). The :doc:`boundary
<boundary>` command sets the boundary conditions for the 6 faces of
the box (periodic, non-periodic, etc). The 6 parameters
(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box
is created, e.g. by the :doc:`create_box <create_box>` or
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
commands. Additionally, LAMMPS defines box size parameters lx,ly,lz
where lx = xhi-xlo, and similarly in the y and z dimensions. The 6
parameters, as well as lx,ly,lz, can be output via the
:doc:`thermo_style custom <thermo_style>` command.
is created by one of these commands:
LAMMPS also allows simulations to be performed in triclinic
(non-orthogonal) simulation boxes shaped as a parallelepiped with
triclinic symmetry. The parallelepiped has its "origin" at
(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the
origin given by **a** = (xhi-xlo,0,0); **b** = (xy,yhi-ylo,0); **c** =
(xz,yz,zhi-zlo). *xy,xz,yz* can be 0.0 or positive or negative values
and are called "tilt factors" because they are the amount of
displacement applied to faces of an originally orthogonal box to
transform it into the parallelepiped. In LAMMPS the triclinic
simulation box edge vectors **a**, **b**, and **c** cannot be arbitrary
vectors. As indicated, **a** must lie on the positive x axis. **b** must
lie in the xy plane, with strictly positive y component. **c** may have
any orientation with strictly positive z component. The requirement
that **a**, **b**, and **c** have strictly positive x, y, and z components,
respectively, ensures that **a**, **b**, and **c** form a complete
right-handed basis. These restrictions impose no loss of generality,
since it is possible to rotate/invert any set of 3 crystal basis
vectors so that they conform to the restrictions.
* :doc:`create_box <create_box>`
* :doc:`read_data <read_data>`
* :doc:`read_restart <read_restart>`
* :doc:`read_dump <read_dump>`
For example, assume that the 3 vectors **A**,\ **B**,\ **C** are the edge
vectors of a general parallelepiped, where there is no restriction on
**A**,\ **B**,\ **C** other than they form a complete right-handed basis i.e.
**A** x **B** . **C** > 0. The equivalent LAMMPS **a**,\ **b**,\ **c** are a linear
rotation of **A**, **B**, and **C** and can be computed as follows:
Internally, LAMMPS defines box size parameters lx,ly,lz where lx =
xhi-xlo, and similarly in the y and z dimensions. The 6 parameters, as
well as lx,ly,lz, can be output via the :doc:`thermo_style custom
<thermo_style>` command. See the :doc:`Howto 2d <Howto_2d>` doc page
for info on how zlo and zhi are defined for 2d simulations.
----------
Triclinic simulation boxes
""""""""""""""""""""""""""
LAMMPS also allows simulations to be performed using triclinic
(non-orthogonal) simulation boxes shaped as a 3d parallelepiped with
triclinic symmetry. For 2d simulations a triclinic simulation box is
effectively a parallelogram; see the :doc:`Howto 2d <Howto_2d>` doc
page for details.
One use of triclinic simulation boxes is to model solid-state crystals
with triclinic symmetry. The :doc:`lattice <lattice>` command can be
used with non-orthogonal basis vectors to define a lattice that will
tile a triclinic simulation box via the :doc:`create_atoms
<create_atoms>` command.
A second use is to run Parrinello-Rahman dynamics via the :doc:`fix
npt <fix_nh>` command, which will adjust the xy, xz, yz tilt factors
to compensate for off-diagonal components of the pressure tensor. The
analog for an :doc:`energy minimization <minimize>` is the :doc:`fix
box/relax <fix_box_relax>` command.
A third use is to shear a bulk solid to study the response of the
material. The :doc:`fix deform <fix_deform>` command can be used for
this purpose. It allows dynamic control of the xy, xz, yz tilt
factors as a simulation runs. This is discussed in the :doc:`Howto
NEMD <Howto_nemd>` doc page on non-equilibrium MD (NEMD) simulations.
Conceptually, a triclinic parallelepiped is defined with an "origin"
at (xlo,ylo,zhi) and 3 edge vectors **A** = (ax,ay,az), **B** =
(bx,by,bz), **C** = (cx,cy,cz) which can be arbitrary vectors, so long
as they are non-zero, distinct, and not co-planar. In addition, they
must define a right-handed system, such that (**A** cross **B**)
points in the direction of **C**. Note that a left-handed system can
be converted to a right-handed system by simply swapping the order of
any pair of the **A**, **B**, **C** vectors.
The 4 commands listed above for defining orthogonal simulation boxes
have triclinic options which allow for specification of the origin and
edge vectors **A**, **B**, **C**. For each command, this can be done
in one of two ways, for what LAMMPS calls a *general* triclinic box or
a *restricted* triclinic box.
A *general* triclinic box is specified by an origin (xlo, ylo, zlo)
and arbitrary edge vectors **A** = (ax,ay,az), **B** = (bx,by,bz), and
**C** = (cx,cy,cz). So there are 12 parameters in total.
A *restricted* triclinic box also has an origin (xlo,ylo,zlo), but its
edge vectors are of the following restricted form: **A** =
(xhi-xlo,0,0), **B** = (xy,yhi-ylo,0), **C** = (xz,yz,zhi-zlo). So
there are 9 parameters in total. Note that the restricted form
requires **A** to be along the x-axis, **B** to be in the xy plane
with a y-component in the +y direction, and **C** to have its
z-component in the +z direction. Note that a restricted triclinic box
is *right-handed* by construction since (**A** cross **B**) points in
the direction of **C**.
The *xy,xz,yz* values can be zero or positive or negative. They are
called "tilt factors" because they are the amount of displacement
applied to edges of faces of an orthogonal box to change it into a
restricted triclinic parallelepiped.
.. note::
Any right-handed general triclinic box (i.e. solid-state crystal
basis vectors) can be rotated in 3d around its origin in order to
conform to the LAMMPS definition of a restricted triclinic box.
See the discussion in the next sub-section about general triclinic
simulation boxes in LAMMPS.
Note that the :doc:`thermo_style custom <thermo_style>` command has
keywords for outputting the various parameters that define the size
and shape of orthogonal, restricted triclinic, and general triclinic
simulation boxes.
For orthogonal boxes there 6 thermo keywords (xlo,ylo,zlo) and
(xhi,yhi,zhi).
For restricted triclinic boxes there are 9 thermo keywords for
(xlo,ylo,zlo), (xhi,yhi,zhi), and the (xy,xz,yz) tilt factors.
For general triclinic boxes there are 12 thermo keywords for
(xlo,ylo,zhi) and the components of the **A**, **B**, **C** edge
vectors, namely (avecx,avecy,avecz), (bvecx,bvecy,bvecz), and
(cvecx,cvecy,cvecz),
The remainder of this doc page explains (a) how LAMMPS operates with
general triclinic simulation boxes, (b) mathematical transformations
between general and restricted triclinic boxes which may be useful
when creating LAMMPS inputs or interpreting outputs for triclinic
simulations, and (c) how LAMMPS uses tilt factors for restricted
triclinic simulation boxes.
----------
General triclinic simulation boxes in LAMMPS
""""""""""""""""""""""""""""""""""""""""""""
LAMMPS allows specification of general triclinic simulation boxes with
their atoms as a convenience for users who may be converting data from
solid-state crystallographic representations or from DFT codes for
input to LAMMPS. Likewise it allows output of dump files, data files,
and thermodynamic data (e.g. pressure tensor) in a general triclinic
format.
However internally, LAMMPS only uses restricted triclinic simulation
boxes. This is for parallel efficiency and to formulate partitioning
of the simulation box across processors, neighbor list building, and
inter-processor communication of per-atom data with methods similar to
those used for orthogonal boxes.
This means 4 things which are important to understand:
* Input of a general triclinic system is immediately converted to a
restricted triclinic system.
* If output of per-atom data for a general triclinic system is
requested (e.g. for atom coordinates in a dump file),
conversion from a restricted to general triclinic system is done at
the time of output.
* The conversion of the simulation box and per-atom data from general
triclinic to restricted triclinic (and vice versa) is a 3d rotation
operation around an origin, which is the lower left corner of the
simulation box. This means an input data file for a general
triclinic system should specify all per-atom quantities consistent
with the general triclinic box and its orientation relative to the
standard x,y,z coordinate axes. For example, atom coordinates
should be inside the general triclinic simulation box defined by the
edge vectors **A**, **B**, **C** and its origin. Likewise per-atom
velocities should be in directions consistent with the general
triclinic box orientation. E.g. a velocity vector which will be in
the +x direction once LAMMPS converts from a general to restricted
triclinic box, should be specified in the data file in the direction
of the **A** edge vector. See the :doc:`read_data <read_data>` doc
page for info on all the per-atom vector quantities to which this
rule applies when a data file for a general triclinic box is input.
* If commands such as :doc:`write_data <write_data>` or :doc:`dump
custom <dump>` are used to output general triclinic information, it
is effectively the inverse of the operation described in the
preceding bullet.
* Other LAMMPS commands such as :doc:`region <region>` or
:doc:`velocity <velocity>` or :doc:`set <set>`, operate on a
restricted triclinic system even if a general triclinic system was
defined initially.
This is the list of commands which have general triclinic options:
* :doc:`create_box <create_box>` - define a general triclinic box
* :doc:`create_atoms <create_atoms>` - add atoms to a general triclinic box
* :doc:`lattice <lattice>` - define a custom lattice consistent with the **A**, **B**, **C** edge vectors of a general triclinic box
* :doc:`read_data <read_data>` - read a data file for a general triclinic system
* :doc:`write_data <write_data>` - write a data file for a general triclinic system
* :doc:`dump atom, dump custom <dump>` - output dump snapshots in general triclinic format
* :doc:`dump_modify triclinic/general <dump_modify>` - select general triclinic format for dump output
* :doc:`thermo_style <thermo_style>` - output the pressure tensor in
general triclinic format
* :doc:`thermo_modify triclinic/general <thermo_modify>` - select general triclinic format for thermo output
* :doc:`read_restart <read_restart>` - read a restart file for a general triclinic system
* :doc:`write_restart <read_restart>` - write a restart file for a general triclinic system
----------
Transformation from general to restricted triclinic boxes
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Let **A**,\ **B**,\ **C** be the right-handed edge vectors of a
general triclinic simulation box. The equivalent LAMMPS **a**,\
**b**,\ **c** for a restricted triclinic box are a 3d rotation of
**A**, **B**, and **C** and can be computed as follows:
.. math::
@ -55,23 +207,17 @@ rotation of **A**, **B**, and **C** and can be computed as follows:
c_y = & \mathbf{C} \cdot \widehat{(\mathbf{A} \times \mathbf{B})} \times \mathbf{\hat{A}} \quad = \quad \frac{\mathbf{B} \cdot \mathbf{C} - b_x c_x}{b_y} \\
c_z = & |\mathbf{C} \cdot \widehat{(\mathbf{A} \times \mathbf{B})}|\quad = \quad \sqrt{C^2 - {c_x}^2 - {c_y}^2}
where A = \| **A** \| indicates the scalar length of **A**\ . The hat symbol (\^)
indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles
between the vectors described below. Note that by construction,
**a**, **b**, and **c** have strictly positive x, y, and z components, respectively.
If it should happen that
**A**, **B**, and **C** form a left-handed basis, then the above equations
are not valid for **c**\ . In this case, it is necessary
to first apply an inversion. This can be achieved
by interchanging two basis vectors or by changing the sign of one of them.
where A = \| **A** \| indicates the scalar length of **A**\ . The hat
symbol (\^) indicates the corresponding unit vector. :math:`\beta` and
:math:`\gamma` are angles between the **A**, **B**, **C** vectors
as described below.
For consistency, the same rotation/inversion applied to the basis vectors
must also be applied to atom positions, velocities,
and any other vector quantities.
This can be conveniently achieved by first converting to
fractional coordinates in the
old basis and then converting to distance coordinates in the new basis.
The transformation is given by the following equation:
For consistency, the same rotation applied to the triclinic box edge
vectors can also be applied to atom positions, velocities, and other
vector quantities. This can be conveniently achieved by first
converting to fractional coordinates in the general triclinic
coordinates and then converting to coordinates in the restricted
triclinic basis. The transformation is given by the following equation:
.. math::
@ -82,87 +228,24 @@ The transformation is given by the following equation:
\mathbf{A \times B}
\end{pmatrix} \cdot \mathbf{X}
where *V* is the volume of the box, **X** is the original vector quantity and
**x** is the vector in the LAMMPS basis.
where *V* is the volume of the box (same in either basis), **X** is
the fractional vector in the general triclinic basis and **x** is the
resulting vector in the restricted triclinic basis.
There is no requirement that a triclinic box be periodic in any
dimension, though it typically should be in at least the second dimension
of the tilt (y in xy) if you want to enforce a shift in periodic
boundary conditions across that boundary. Some commands that work
with triclinic boxes, e.g. the :doc:`fix deform <fix_deform>` and :doc:`fix npt <fix_nh>` commands, require periodicity or non-shrink-wrap
boundary conditions in specific dimensions. See the command doc pages
for details.
----------
The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the
time the simulation box is created. This happens in one of 3 ways.
If the :doc:`create_box <create_box>` command is used with a region of
style *prism*, then a triclinic box is setup. See the
:doc:`region <region>` command for details. If the
:doc:`read_data <read_data>` command is used to define the simulation
box, and the header of the data file contains a line with the "xy xz
yz" keyword, then a triclinic box is setup. See the
:doc:`read_data <read_data>` command for details. Finally, if the
:doc:`read_restart <read_restart>` command reads a restart file which
was written from a simulation using a triclinic box, then a triclinic
box will be setup for the restarted simulation.
Crystallographic general triclinic representation of a simulation box
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Note that you can define a triclinic box with all 3 tilt factors =
0.0, so that it is initially orthogonal. This is necessary if the box
will become non-orthogonal, e.g. due to the :doc:`fix npt <fix_nh>` or
:doc:`fix deform <fix_deform>` commands. Alternatively, you can use the
:doc:`change_box <change_box>` command to convert a simulation box from
orthogonal to triclinic and vice versa.
As with orthogonal boxes, LAMMPS defines triclinic box size parameters
lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions.
The 9 parameters, as well as lx,ly,lz, can be output via the
:doc:`thermo_style custom <thermo_style>` command.
To avoid extremely tilted boxes (which would be computationally
inefficient), LAMMPS normally requires that no tilt factor can skew
the box more than half the distance of the parallel box length, which
is the first dimension in the tilt factor (x for xz). This is required
both when the simulation box is created, e.g. via the
:doc:`create_box <create_box>` or :doc:`read_data <read_data>` commands,
as well as when the box shape changes dynamically during a simulation,
e.g. via the :doc:`fix deform <fix_deform>` or :doc:`fix npt <fix_nh>`
commands.
For example, if xlo = 2 and xhi = 12, then the x box length is 10 and
the xy tilt factor must be between -5 and 5. Similarly, both xz and
yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is
not a limitation, since if the maximum tilt factor is 5 (as in this
example), then configurations with tilt = ..., -15, -5, 5, 15, 25,
... are geometrically all equivalent. If the box tilt exceeds this
limit during a dynamics run (e.g. via the :doc:`fix deform <fix_deform>`
command), then the box is "flipped" to an equivalent shape with a tilt
factor within the bounds, so the run can continue. See the :doc:`fix deform <fix_deform>` page for further details.
One exception to this rule is if the first dimension in the tilt
factor (x for xy) is non-periodic. In that case, the limits on the
tilt factor are not enforced, since flipping the box in that dimension
does not change the atom positions due to non-periodicity. In this
mode, if you tilt the system to extreme angles, the simulation will
simply become inefficient, due to the highly skewed simulation box.
Box flips that may occur using the :doc:`fix deform <fix_deform>` or
:doc:`fix npt <fix_nh>` commands can be turned off using the *flip no*
option with either of the commands.
Note that if a simulation box has a large tilt factor, LAMMPS will run
less efficiently, due to the large volume of communication needed to
acquire ghost atoms around a processor's irregular-shaped subdomain.
For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
Triclinic crystal structures are often defined using three lattice
constants *a*, *b*, and *c*, and three angles :math:`\alpha`,
:math:`\beta`, and :math:`\gamma`. Note that in this nomenclature,
the a, b, and c lattice constants are the scalar lengths of the edge
General triclinic crystal structures are often defined using three
lattice constants *a*, *b*, and *c*, and three angles :math:`\alpha`,
:math:`\beta`, and :math:`\gamma`. Note that in this nomenclature, the
a, b, and c lattice constants are the scalar lengths of the edge
vectors **a**, **b**, and **c** defined above. The relationship
between these 6 quantities (a, b, c, :math:`\alpha`, :math:`\beta`,
:math:`\gamma`) and the LAMMPS box sizes (lx,ly,lz) =
(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:
:math:`\gamma`) and the LAMMPS restricted triclinic box sizes
(lx,ly,lz) = (xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is
as follows:
.. math::
@ -186,15 +269,19 @@ The inverse relationship can be written as follows:
The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and
:math:`\gamma` can be printed out or accessed by computes using the
:doc:`thermo_style custom <thermo_style>` keywords
*cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma*,
respectively.
:doc:`thermo_style custom <thermo_style>` keywords *cella*, *cellb*,
*cellc*, *cellalpha*, *cellbeta*, *cellgamma*, respectively.
----------
Output of restricted and general triclinic boxes in a dump file
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
As discussed on the :doc:`dump <dump>` command doc page, when the BOX
BOUNDS for a snapshot is written to a dump file for a triclinic box,
an orthogonal bounding box which encloses the triclinic simulation box
is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic
box, formatted as follows:
BOUNDS for a snapshot is written to a dump file for a restricted
triclinic box, an orthogonal bounding box which encloses the triclinic
simulation box is output, along with the 3 tilt factors (xy, xz, yz) of
the restricted triclinic box, formatted as follows:
.. parsed-literal::
@ -204,7 +291,7 @@ box, formatted as follows:
zlo_bound zhi_bound yz
This bounding box is convenient for many visualization programs and is
calculated from the 9 triclinic box parameters
calculated from the 9 restricted triclinic box parameters
(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows:
.. parsed-literal::
@ -217,22 +304,66 @@ calculated from the 9 triclinic box parameters
zhi_bound = zhi
These formulas can be inverted if you need to convert the bounding box
back into the triclinic box parameters, e.g. xlo = xlo_bound -
MIN(0.0,xy,xz,xy+xz).
back into the restricted triclinic box parameters, e.g. xlo =
xlo_bound - MIN(0.0,xy,xz,xy+xz).
One use of triclinic simulation boxes is to model solid-state crystals
with triclinic symmetry. The :doc:`lattice <lattice>` command can be
used with non-orthogonal basis vectors to define a lattice that will
tile a triclinic simulation box via the
:doc:`create_atoms <create_atoms>` command.
----------
A second use is to run Parrinello-Rahman dynamics via the :doc:`fix npt <fix_nh>` command, which will adjust the xy, xz, yz tilt
factors to compensate for off-diagonal components of the pressure
tensor. The analog for an :doc:`energy minimization <minimize>` is
the :doc:`fix box/relax <fix_box_relax>` command.
Periodicity and tilt factors for triclinic simulation boxes
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
A third use is to shear a bulk solid to study the response of the
material. The :doc:`fix deform <fix_deform>` command can be used for
this purpose. It allows dynamic control of the xy, xz, yz tilt
factors as a simulation runs. This is discussed in the next section
on non-equilibrium MD (NEMD) simulations.
There is no requirement that a triclinic box be periodic in any
dimension, though it typically should be in y or z if you wish to
enforce a shift in coordinates due to periodic boundary conditions
across the y or z boundaries. See the doc page for the :doc:`boundary
<boundary>` command for an explanation of shifted coordinates for
restricted triclinic boxes which are periodic.
Some commands that work with triclinic boxes, e.g. the :doc:`fix
deform <fix_deform>` and :doc:`fix npt <fix_nh>` commands, require
periodicity or non-shrink-wrap boundary conditions in specific
dimensions. See the command doc pages for details.
A restricted triclinic box can be defined with all 3 tilt factors =
0.0, so that it is initially orthogonal. This is necessary if the box
will become non-orthogonal, e.g. due to use of the :doc:`fix npt
<fix_nh>` or :doc:`fix deform <fix_deform>` commands. Alternatively,
you can use the :doc:`change_box <change_box>` command to convert a
simulation box from orthogonal to restricted triclinic and vice versa.
.. note::
Highly tilted restricted triclinic simulation boxes can be
computationally inefficient. This is due to the large volume of
communication needed to acquire ghost atoms around a processor's
irregular-shaped subdomain. For extreme values of tilt, LAMMPS may
also lose atoms and generate an error.
LAMMPS will issue a warning if you define a restricted triclinic box
with a tilt factor which skews the box more than half the distance of
the parallel box length, which is the first dimension in the tilt
factor (e.g. x for xz).
For example, if xlo = 2 and xhi = 12, then the x box length is 10 and
the xy tilt factor should be between -5 and 5 to avoid the warning.
Similarly, both xz and yz should be between -(xhi-xlo)/2 and
+(yhi-ylo)/2. Note that these are not limitations, since if the
maximum tilt factor is 5 (as in this example), then simulations boxes
and atom configurations with tilt = ..., -15, -5, 5, 15, 25, ... are
all geometrically equivalent.
If the box tilt exceeds this limit during a dynamics run (e.g. due to
the :doc:`fix deform <fix_deform>` command), then by default the box
is "flipped" to an equivalent shape with a tilt factor within the
warning bounds, and the run continues. See the :doc:`fix deform
<fix_deform>` page for further details. Box flips that would normally
occur using the :doc:`fix deform <fix_deform>` or :doc:`fix npt
<fix_nh>` commands can be suppressed using the *flip no* option with
either of the commands.
One exception to box flipping is if the first dimension in the tilt
factor (e.g. x for xy) is non-periodic. In that case, the limits on
the tilt factor are not enforced, since flipping the box in that
dimension would not change the atom positions due to non-periodicity.
In this mode, if the system tilts to large angles, the simulation will
simply become inefficient, due to the highly skewed simulation box.

View File

@ -283,21 +283,22 @@ Note that there may be additional arguments required along with the
arguments are described on the :doc:`Howto body <Howto_body>` doc page.
For the *dielectric* style, each particle can be either a physical
particle (e.g. an ion), or an interface particle representing a boundary
element between two regions of different dielectric constant. For
interface particles, in addition to the properties associated with
atom_style full, each particle also should be assigned a normal unit
vector (defined by normx, normy, normz), an area (area/patch), the
particle (e.g. an ion), or an interface particle representing a
boundary element between two regions of different dielectric
constant. For interface particles, in addition to the properties
associated with atom_style full, each particle also should be assigned
a unit dipole vector (mu) representing the direction of the induced
dipole moment at each interface particle, an area (area/patch), the
difference and mean of the dielectric constants of two sides of the
interface along the direction of the normal vector (ed and em), the
local dielectric constant at the boundary element (epsilon), and a mean
local curvature (curv). Physical particles must be assigned these
values, as well, but only their local dielectric constants will be used;
see documentation for associated :doc:`pair styles <pair_dielectric>`
and :doc:`fixes <fix_polarize>`. The distinction between the physical
and interface particles is only meaningful when :doc:`fix polarize
<fix_polarize>` commands are applied to the interface particles. This
style is part of the DIELECTRIC package.
local dielectric constant at the boundary element (epsilon), and a
mean local curvature (curv). Physical particles must be assigned
these values, as well, but only their local dielectric constants will
be used; see documentation for associated :doc:`pair styles
<pair_dielectric>` and :doc:`fixes <fix_polarize>`. The distinction
between the physical and interface particles is only meaningful when
:doc:`fix polarize <fix_polarize>` commands are applied to the
interface particles. This style is part of the DIELECTRIC package.
For the *dipole* style, a point dipole vector mu is defined for each
point particle. Note that if you wish the particles to be finite-size

View File

@ -42,8 +42,10 @@ commands.
The style *p* means the box is periodic, so that particles interact
across the boundary, and they can exit one end of the box and re-enter
the other end. A periodic dimension can change in size due to
constant pressure boundary conditions or box deformation (see the :doc:`fix npt <fix_nh>` and :doc:`fix deform <fix_deform>` commands). The *p*
style must be applied to both faces of a dimension.
constant pressure boundary conditions or box deformation (see the
:doc:`fix npt <fix_nh>` and :doc:`fix deform <fix_deform>` commands).
The *p* style must be applied to both faces of a dimension. For 2d
simulations the z dimension must be periodic (which is the default).
The styles *f*, *s*, and *m* mean the box is non-periodic, so that
particles do not interact across the boundary and do not move from one
@ -76,28 +78,44 @@ atoms becomes less than 50.0. This can be useful if you start a
simulation with an empty box or if you wish to leave room on one side
of the box, e.g. for atoms to evaporate from a surface.
For triclinic (non-orthogonal) simulation boxes, if the second dimension
of a tilt factor (e.g. y for xy) is periodic, then the periodicity is
enforced with the tilt factor offset. If the first dimension is
shrink-wrapped, then the shrink wrapping is applied to the tilted box
face, to encompass the atoms. E.g. for a positive xy tilt, the xlo
and xhi faces of the box are planes tilting in the +y direction as y
increases. These tilted planes are shrink-wrapped around the atoms to
determine the x extent of the box.
LAMMPS also allows use of triclinic (non-orthogonal) simulation boxes.
See the :doc:`Howto triclinic <Howto_triclinic>` page for a
geometric description of triclinic boxes, as defined by LAMMPS, and
how to transform these parameters to and from other commonly used
triclinic representations.
description of both general and restricted triclinic boxes and how to
define them. General triclinic boxes (arbitrary edge vectors **A**,
**B**, and **C**) are converted internally to restricted triclinic
boxes with tilt factors (xy,xz,yz) which skew an otherwise orthogonal
box.
The boundary <boundary> command settings explained above for the 6
faces of an orthogonal box also apply in similar manner to the 6 faces
of a restricted triclinic box (and thus to the corresponding 6 faces
of a general triclinic box), with the following context.
if the second dimension of a tilt factor (e.g. y for xy) is periodic,
then the periodicity is enforced with the tilt factor offset. This
means that for y periodicity a particle which exits the lower y
boundary is displaced in the x-direction by xy before it re-enters the
upper y boundary. And vice versa if a particle exits the upper y
boundary. Likewise the ghost atoms surrounding a particle near the
lower y boundary include images of particles near the upper y-boundary
which are displaced in the x-direction by xy. Similar rules apply for
z-periodicity and the xz and/or yz tilt factors.
If the first dimension of a tilt factor is shrink-wrapped, then the
shrink wrapping is applied to the tilted box face, to encompass the
atoms. E.g. for a positive xy tilt, the xlo and xhi faces of the box
are planes tilting in the +y direction as y increases. The position
of these tilted planes are adjusted dynamically to shrink-wrap around
the atoms to determine the xlo and xhi extents of the box.
Restrictions
""""""""""""
This command cannot be used after the simulation box is defined by a
:doc:`read_data <read_data>` or :doc:`create_box <create_box>` command or
:doc:`read_restart <read_restart>` command. See the
:doc:`change_box <change_box>` command for how to change the simulation
box boundaries after it has been defined.
:doc:`read_data <read_data>` or :doc:`create_box <create_box>` command
or :doc:`read_restart <read_restart>` command. See the
:doc:`change_box <change_box>` command for how to change the
simulation box boundaries after it has been defined.
For 2d simulations, the z dimension must be periodic.

View File

@ -86,25 +86,46 @@ Description
"""""""""""
This command creates atoms (or molecules) within the simulation box,
either on a lattice, or a single atom (or molecule), or on a surface
defined by a triangulated mesh, or a random collection of atoms (or
molecules). It is an alternative to reading in atom coordinates
either on a lattice, or at random points, or on a surface defined by a
triangulated mesh. Or it creates a single atom (or molecule) at a
specified point. It is an alternative to reading in atom coordinates
explicitly via a :doc:`read_data <read_data>` or :doc:`read_restart
<read_restart>` command. A simulation box must already exist, which is
<read_restart>` command.
To use this command a simulation box must already exist, which is
typically created via the :doc:`create_box <create_box>` command.
Before using this command, a lattice must also be defined using the
:doc:`lattice <lattice>` command, unless you specify the *single* style
with units = box or the *random* style. For the remainder of this doc
page, a created atom or molecule is referred to as a "particle".
Before using this command, a lattice must typically also be defined
using the :doc:`lattice <lattice>` command, unless you specify the
*single* or *mesh* style with units = box or the *random* style. To
create atoms on a lattice for general triclinic boxes, see the
discussion below.
For the remainder of this doc page, a created atom or molecule is
referred to as a "particle".
If created particles are individual atoms, they are assigned the
specified atom *type*, though this can be altered via the *basis*
keyword as discussed below. If molecules are being created, the type
of each atom in the created molecule is specified in the file read by
the :doc:`molecule <molecule>` command, and those values are added to
the specified atom *type* (e.g., if *type* = 2 and the file specifies
atom types 1, 2, and 3, then each created molecule will have atom types
3, 4, and 5).
of each atom in the created molecule is specified in a specified file
read by the :doc:`molecule <molecule>` command, and those values are
added to the specified atom *type* (e.g., if *type* = 2 and the file
specifies atom types 1, 2, and 3, then each created molecule will have
atom types 3, 4, and 5).
.. note::
You cannot use this command to create atoms that are outside the
simulation box; they will just be ignored by LAMMPS. This is true
even if you are using shrink-wrapped box boundaries, as specified
by the :doc:`boundary <boundary>` command. However, you can first
use the :doc:`change_box <change_box>` command to temporarily
expand the box, then add atoms via create_atoms, then finally use
change_box command again if needed to re-shrink-wrap the new atoms.
See the :doc:`change_box <change_box>` doc page for an example of
how to do this, using the create_atoms *single* style to insert a
new atom outside the current simulation box.
----------
For the *box* style, the create_atoms command fills the entire
simulation box with particles on the lattice. If your simulation box
@ -126,10 +147,117 @@ periodic boundaries. If this is desired, you should either use the
*box* style, or tweak the region size to get precisely the particles
you want.
----------
If the simulation box is formulated as a general triclinic box defined
by arbitrary edge vectors **A**, **B**, **C**, then the *box* and
*region* styles will create atoms on a lattice commensurate with those
edge vectors. See the :doc:`Howto_triclinic <Howto_triclinic>` doc
page for a detailed explanation of orthogonal, restricted triclinic,
and general triclinic simulation boxes. As with the :doc:`create_box
<create_box>` command, the :doc:`lattice <lattice>` command used by
this command must be of style *custom* and use its *triclinic/general*
option. The *a1, *a2*, *a3* settings of the :doc:`lattice <lattice>`
command define the edge vectors of a unit cell of the general
triclinic lattice. The :doc:`create_box <create_box>` command creates
a simulation box which replicates that unit cell along each of the
**A**, **B**, **C** edge vectors.
.. note::
LAMMPS allows specification of general triclinic simulation boxes
as a convenience for users who may be converting data from
solid-state crystallographic representations or from DFT codes for
input to LAMMPS. However, as explained on the
:doc:`Howto_triclinic <Howto_triclinic>` doc page, internally,
LAMMPS only uses restricted triclinic simulation boxes. This means
the box created by the :doc:`create_box <create_box>` command as
well as the atoms created by this command with their per-atom
information (e.g. coordinates, velocities) are converted (rotated)
from general to restricted triclinic form when the two commands are
invoked. The <Howto_triclinic>` doc page also discusses other
LAMMPS commands which can input/output general triclinic
representations of the simulation box and per-atom data.
The *box* style will fill the entire general triclinic box with
particles on the lattice, as explained above.
.. note::
The *region* style also operates as explained above, but the check
for particles inside the region is performed *after* the particle
coordinates have been converted to the restricted triclinic box.
This means the region must also be defined with respect to the
restricted triclinic box, not the general triclinic box.
If the simulation box is general triclinic, the *single*, *random*,
and *mesh* styles described next operate on the box *after* it has
been converted to restricted triclinic. So all the settings for those
styles should be made in that context.
----------
For the *single* style, a single particle is added to the system at
the specified coordinates. This can be useful for debugging purposes
or to create a tiny system with a handful of particles at specified
positions.
positions. For a 2d simulation the specified z coordinate must be
0.0.
.. versionchanged:: 2Jun2022
The *porosity* style has been renamed to *random* with added functionality.
For the *random* style, *N* particles are added to the system at
randomly generated coordinates, which can be useful for generating an
amorphous system. For 2d simulations, the z coordinates of all added
atoms will be 0.0.
The particles are created one by one using the specified random number
*seed*, resulting in the same set of particle coordinates, independent
of how many processors are being used in the simulation. Unless the
*overlap* keyword is specified, particles created by the *random*
style will typically be highly overlapped. Various additional
criteria can be used to accept or reject a random particle insertion;
see the keyword discussion below. Multiple attempts per particle are
made (see the *maxtry* keyword) until the insertion is either
successful or fails. If this command fails to add all requested *N*
particles, a warning will be output.
If the *region-ID* argument is specified as NULL, then the randomly
created particles will be anywhere in the simulation box. If a
*region-ID* is specified, a geometric volume is filled that is both
inside the simulation box and is also consistent with the region
volume. See the :doc:`region <region>` command for details. Note
that a region can be specified so that its "volume" is either inside
or outside its geometric boundary.
Note that the create_atoms command adds particles to those that
already exist. This means it can be used to add particles to a system
previously read in from a data or restart file. Or the create_atoms
command can be used multiple times, to add multiple sets of particles
to the simulation. For example, grain boundaries can be created, by
interleaving the create_atoms command with :doc:`lattice <lattice>`
commands specifying different orientations.
When this command is used, care should be taken to ensure the
resulting system does not contain particles that are highly
overlapped. Such overlaps will cause many interatomic potentials to
compute huge energies and forces, leading to bad dynamics. There are
several strategies to avoid this problem:
* Use the :doc:`delete_atoms overlap <delete_atoms>` command after
create_atoms. For example, this strategy can be used to overlay and
surround a large protein molecule with a volume of water molecules,
then delete water molecules that overlap with the protein atoms.
* For the *random* style, use the optional *overlap* keyword to avoid
overlaps when each new particle is created.
* Before running dynamics on an overlapped system, perform an
:doc:`energy minimization <minimize>`. Or run initial dynamics with
:doc:`pair_style soft <pair_soft>` or with :doc:`fix nve/limit
<fix_nve_limit>` to un-overlap the particles, before running normal
dynamics.
.. figure:: img/marble_race.jpg
:figwidth: 33%
@ -189,73 +317,6 @@ to the area of that triangle.
beneficial to exclude computing interactions between the created
particles using :doc:`neigh_modify exclude <neigh_modify>`.
.. versionchanged:: 2Jun2022
The *porosity* style has been renamed to *random* with added functionality.
For the *random* style, *N* particles are added to the system at
randomly generated coordinates, which can be useful for generating an
amorphous system. The particles are created one by one using the
specified random number *seed*, resulting in the same set of particle
coordinates, independent of how many processors are being used in the
simulation. Unless the *overlap* keyword is specified, particles
created by the *random* style will typically be highly overlapped.
Various additional criteria can be used to accept or reject a random
particle insertion; see the keyword discussion below. Multiple
attempts per particle are made (see the *maxtry* keyword) until the
insertion is either successful or fails. If this command fails to add
all requested *N* particles, a warning will be output.
If the *region-ID* argument is specified as NULL, then the randomly
created particles will be anywhere in the simulation box. If a
*region-ID* is specified, a geometric volume is filled that is both
inside the simulation box and is also consistent with the region
volume. See the :doc:`region <region>` command for details. Note
that a region can be specified so that its "volume" is either inside
or outside its geometric boundary.
Note that the create_atoms command adds particles to those that
already exist. This means it can be used to add particles to a system
previously read in from a data or restart file. Or the create_atoms
command can be used multiple times, to add multiple sets of particles
to the simulation. For example, grain boundaries can be created, by
interleaving the create_atoms command with :doc:`lattice <lattice>`
commands specifying different orientations.
When this command is used, care should be taken to ensure the
resulting system does not contain particles that are highly
overlapped. Such overlaps will cause many interatomic potentials to
compute huge energies and forces, leading to bad dynamics. There are
several strategies to avoid this problem:
* Use the :doc:`delete_atoms overlap <delete_atoms>` command after
create_atoms. For example, this strategy can be used to overlay and
surround a large protein molecule with a volume of water molecules,
then delete water molecules that overlap with the protein atoms.
* For the *random* style, use the optional *overlap* keyword to avoid
overlaps when each new particle is created.
* Before running dynamics on an overlapped system, perform an
:doc:`energy minimization <minimize>`. Or run initial dynamics with
:doc:`pair_style soft <pair_soft>` or with :doc:`fix nve/limit
<fix_nve_limit>` to un-overlap the particles, before running normal
dynamics.
.. note::
You cannot use any of the styles explained above to create atoms
that are outside the simulation box; they will just be ignored by
LAMMPS. This is true even if you are using shrink-wrapped box
boundaries, as specified by the :doc:`boundary <boundary>` command.
However, you can first use the :doc:`change_box <change_box>`
command to temporarily expand the box, then add atoms via
create_atoms, then finally use change_box command again if needed
to re-shrink-wrap the new atoms. See the :doc:`change_box
<change_box>` doc page for an example of how to do this, using the
create_atoms *single* style to insert a new atom outside the
current simulation box.
----------
Individual atoms are inserted by this command, unless the *mol*
@ -469,12 +530,19 @@ on a single CPU core.
-----
The *units* keyword determines the meaning of the distance units used
to specify the coordinates of the one particle created by the *single*
style, or the overlap distance *Doverlap* by the *overlap* keyword. A
*box* value selects standard distance units as defined by the
:doc:`units <units>` command (e.g., :math:`\AA` for
units = *real* or *metal*\ . A *lattice* value means the distance units are in
lattice spacings.
by parameters for various styles. A *box* value selects standard
distance units as defined by the :doc:`units <units>` command (e.g.,
:math:`\AA` for units = *real* or *metal*\ . A *lattice* value means
the distance units are in lattice spacings. These are affected settings:
* for *single* style: coordinates of the particle created
* for *random* style: overlap distance *Doverlap* by the *overlap* keyword
* for *mesh* style: *bisect* threshold value for *meshmode* = *bisect*
* for *mesh* style: *radthresh* value for *meshmode* = *bisect*
* for *mesh* style: *density* value for *meshmode* = *qrand*
Since *density* represents an area (distance ^2), the lattice spacing
factor is also squared.
----------

View File

@ -9,9 +9,11 @@ Syntax
.. code-block:: LAMMPS
create_box N region-ID keyword value ...
create_box N NULL alo ahi blo bhi clo chi keyword value ...
* N = # of atom types to use in this simulation
* region-ID = ID of region to use as simulation domain
* region-ID = ID of region to use as simulation domain or NULL for general triclinic box
* alo,ahi,blo,bhi,clo,chi = multipliers on a1,a2,a3 vectors defined by :doc"`lattice <lattice>` command (only when region-ID = NULL)
* zero or more keyword/value pairs may be appended
* keyword = *bond/types* or *angle/types* or *dihedral/types* or *improper/types* or *extra/bond/per/atom* or *extra/angle/per/atom* or *extra/dihedral/per/atom* or *extra/improper/per/atom* or *extra/special/per/atom*
@ -32,121 +34,204 @@ Examples
.. code-block:: LAMMPS
# orthogonal or restricted triclinic box using regionID = mybox
create_box 2 mybox
create_box 2 mybox bond/types 2 extra/bond/per/atom 1
.. code-block:: LAMMPS
# 2d general triclinic box using primitive cell for 2d hex lattice
lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 &
a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general
create_box 1 NULL 0 5 0 5 -0.5 0.5
.. code-block:: LAMMPS
# 3d general triclinic box using primitive cell for 3d fcc lattice
lattice custom 1.0 a2 0.0 0.5 0.5 a1 0.5 0.0 0.5 a3 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general
create box 1 NULL -5 5 -10 10 0 20
Description
"""""""""""
This command creates a simulation box based on the specified region.
Thus a :doc:`region <region>` command must first be used to define a
geometric domain. It also partitions the simulation box into a
regular 3d grid of rectangular bricks, one per processor, based on the
number of processors being used and the settings of the
:doc:`processors <processors>` command. The partitioning can later be
changed by the :doc:`balance <balance>` or :doc:`fix balance <fix_balance>` commands.
This command creates a simulation box. It also partitions the box into
a regular 3d grid of smaller sub-boxes, one per processor (MPI task).
The geometry of the partitioning is based on the size and shape of the
simulation box, the number of processors being used and the settings
of the :doc:`processors <processors>` command. The partitioning can
later be changed by the :doc:`balance <balance>` or :doc:`fix balance
<fix_balance>` commands.
The argument N is the number of atom types that will be used in the
Simulation boxes in LAMMPS can be either orthogonal or triclinic in
shape. Orthogonal boxes are a brick in 3d (rectangle in 2d) with 6
faces that are each perpendicular to one of the standard xyz
coordinate axes. Triclinic boxes are a parallelepiped in 3d
(parallelogram in 2d) with opposite pairs of faces parallel to each
other. LAMMPS supports two forms of triclinic boxes, restricted and
general, which differ in how the box is oriented with respect to the
xyz coordinate axes. See the :doc:`Howto triclinic <Howto_triclinic>`
for a detailed description of all 3 kinds of simulation boxes.
The argument *N* is the number of atom types that will be used in the
simulation.
Orthogonal and restricted triclinic boxes are created by specifying a
region ID previously defined by the :doc:`region <region>` command.
General triclinic boxes are discussed below.
If the region is not of style *prism*, then LAMMPS encloses the region
(block, sphere, etc.) with an axis-aligned orthogonal bounding box
which becomes the simulation domain.
which becomes the simulation domain. For a 2d simulation, the zlo and
zhi values of the simulation box must straddle zero.
If the region is of style *prism*, LAMMPS creates a non-orthogonal
simulation domain shaped as a parallelepiped with triclinic symmetry.
As defined by the :doc:`region prism <region>` command, the
parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by three
edge vectors starting from the origin given by
:math:`\vec a = (x_\text{hi}-x_\text{lo},0,0)`;
:math:`\vec b = (xy,y_\text{hi}-y_\text{lo},0)`; and
:math:`\vec c = (xz,yz,z_\text{hi}-z_\text{lo})`.
The parameters *xy*\ , *xz*\ , and *yz* can be 0.0 or
positive or negative values and are called "tilt factors" because they
are the amount of displacement applied to faces of an originally
orthogonal box to transform it into the parallelepiped.
parallelepiped has an "origin" at (xlo,ylo,zlo) and three edge vectors
starting from the origin given by :math:`\vec a =
(x_\text{hi}-x_\text{lo},0,0)`; :math:`\vec b =
(xy,y_\text{hi}-y_\text{lo},0)`; and :math:`\vec c =
(xz,yz,z_\text{hi}-z_\text{lo})`. In LAMMPS lingo, this is a
restricted triclinic box because the three edge vectors cannot be
defined in arbitrary (general) directions. The parameters *xy*\ ,
*xz*\ , and *yz* can be 0.0 or positive or negative values and are
called "tilt factors" because they are the amount of displacement
applied to faces of an originally orthogonal box to transform it into
the parallelepiped. For a 2d simulation, the zlo and zhi values of
the simulation box must straddle zero.
By default, a *prism* region used with the create_box command must have
tilt factors :math:`(xy,xz,yz)` that do not skew the box more than half
the distance of the parallel box length. For example, if
:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the :math:`x`
box length is 10 and the :math:`xy` tilt factor must be between
:math:`-5` and :math:`5`. Similarly, both :math:`xz` and :math:`yz`
must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and
Typically a *prism* region used with the create_box command should
have tilt factors :math:`(xy,xz,yz)` that do not skew the box more
than half the distance of the parallel box length. For example, if
:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the
:math:`x` box length is 10 and the :math:`xy` tilt factor must be
between :math:`-5` and :math:`5`. Similarly, both :math:`xz` and
:math:`yz` must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and
:math:`+(y_\text{hi}-y_\text{lo})/2`. Note that this is not a
limitation, since if the maximum tilt factor is 5 (as in this example),
then configurations with tilt :math:`= \dots, -15`, :math:`-5`,
:math:`5`, :math:`15`, :math:`25, \dots` are all geometrically
equivalent. Simulations with large tilt factors will run inefficiently,
since they require more ghost atoms and thus more communication. With
very large tilt factors, LAMMPS will eventually produce incorrect
trajectories and stop with errors due to lost atoms or similar.
limitation, since if the maximum tilt factor is 5 (as in this
example), then configurations with tilt :math:`= \dots, -15`,
:math:`-5`, :math:`5`, :math:`15`, :math:`25, \dots` are all
geometrically equivalent.
See the :doc:`Howto triclinic <Howto_triclinic>` page for a
geometric description of triclinic boxes, as defined by LAMMPS, and
how to transform these parameters to and from other commonly used
triclinic representations.
LAMMPS will issue a warning if the tilt factors of the created box do
not meet this criterion. This is because simulations with large tilt
factors may run inefficiently, since they require more ghost atoms and
thus more communication. With very large tilt factors, LAMMPS may
eventually produce incorrect trajectories and stop with errors due to
lost atoms or similar issues.
When a prism region is used, the simulation domain should normally be periodic
in the dimension that the tilt is applied to, which is given by the second
dimension of the tilt factor (e.g., :math:`y` for :math:`xy` tilt). This is so
that pairs of atoms interacting across that boundary will have one of them
shifted by the tilt factor. Periodicity is set by the
:doc:`boundary <boundary>` command. For example, if the :math:`xy` tilt factor
is non-zero, then the :math:`y` dimension should be periodic. Similarly, the
:math:`z` dimension should be periodic if :math:`xz` or :math:`yz` is non-zero.
LAMMPS does not require this periodicity, but you may lose atoms if this is not
the case.
See the :doc:`Howto triclinic <Howto_triclinic>` page for geometric
descriptions of triclinic boxes and tilt factors, as well as how to
transform the restricted triclinic parameters to and from other
commonly used triclinic representations.
When a prism region is used, the simulation domain should normally be
periodic in the dimension that the tilt is applied to, which is given
by the second dimension of the tilt factor (e.g., :math:`y` for
:math:`xy` tilt). This is so that pairs of atoms interacting across
that boundary will have one of them shifted by the tilt factor.
Periodicity is set by the :doc:`boundary <boundary>` command. For
example, if the :math:`xy` tilt factor is non-zero, then the :math:`y`
dimension should be periodic. Similarly, the :math:`z` dimension
should be periodic if :math:`xz` or :math:`yz` is non-zero. LAMMPS
does not require this periodicity, but you may lose atoms if this is
not the case.
Note that if your simulation will tilt the box (e.g., via the
:doc:`fix deform <fix_deform>` command), the simulation box must be set up to
be triclinic, even if the tilt factors are initially 0.0. You can
also change an orthogonal box to a triclinic box or vice versa by
:doc:`fix deform <fix_deform>` command), the simulation box must be
created as triclinic, even if the tilt factors are initially 0.0. You
can also change an orthogonal box to a triclinic box or vice versa by
using the :doc:`change box <change_box>` command with its *ortho* and
*triclinic* options.
.. note::
If the system is non-periodic (in a dimension), then you should
not make the lo/hi box dimensions (as defined in your
:doc:`region <region>` command) radically smaller/larger than the extent
of the atoms you eventually plan to create (e.g., via the
:doc:`create_atoms <create_atoms>` command). For example, if your atoms
extend from 0 to 50, you should not specify the box bounds as :math:`-10000`
and :math:`10000`. This is because as described above, LAMMPS uses the
specified box size to lay out the 3d grid of processors. A huge
(mostly empty) box will be sub-optimal for performance when using
"fixed" boundary conditions (see the :doc:`boundary <boundary>`
command). When using "shrink-wrap" boundary conditions (see the
:doc:`boundary <boundary>` command), a huge (mostly empty) box may cause
a parallel simulation to lose atoms the first time that LAMMPS
shrink-wraps the box around the atoms.
If the system is non-periodic (in a dimension), then you should not
make the lo/hi box dimensions (as defined in your :doc:`region
<region>` command) radically smaller/larger than the extent of the
atoms you eventually plan to create (e.g., via the
:doc:`create_atoms <create_atoms>` command). For example, if your
atoms extend from 0 to 50, you should not specify the box bounds as
:math:`-10000` and :math:`10000`. This is because as described
above, LAMMPS uses the specified box size to lay out the 3d grid of
processors. A huge (mostly empty) box will be sub-optimal for
performance when using "fixed" boundary conditions (see the
:doc:`boundary <boundary>` command). When using "shrink-wrap"
boundary conditions (see the :doc:`boundary <boundary>` command), a
huge (mostly empty) box may cause a parallel simulation to lose
atoms the first time that LAMMPS shrink-wraps the box around the
atoms.
----------
As noted above, general triclinic boxes in LAMMPS allow the box to
have arbitrary edge vectors **A**, **B**, **C**. The only
restrictions are that the three vectors be distinct, non-zero, and not
co-planar. They must also define a right-handed system such that
(**A** x **B**) points in the direction of **C**. Note that a
left-handed system can be converted to a right-handed system by simply
swapping the order of any pair of the **A**, **B**, **C** vectors.
To create a general triclinic boxes, the region is specified as NULL
and the next 6 parameters (alo,ahi,blo,bhi,clo,chi) define the three
edge vectors **A**, **B**, **C** using additional information
previously defined by the :doc:`lattice <lattice>` command.
The lattice must be of style *custom* and use its *triclinic/general*
option. This insures the lattice satisfies the restrictions listed
above. The *a1, *a2*, *a3* settings of the :doc:`lattice <lattice>`
command define the edge vectors of a unit cell of the general
triclinic lattice. This command uses them to define the three edge
vectors and origin of the general triclinic box as:
* **A** = (ahi-alo) * *a1*
* **B** = (bhi-blo) * *a2*
* **C** = (chi-clo) * *a3*
* origin = (alo*a1 + blo*a2 + clo*a3)
For 2d general triclinic boxes, clo = -0.5 and chi = 0.5 is required.
.. note::
LAMMPS allows specification of general triclinic simulation boxes
as a convenience for users who may be converting data from
solid-state crystallographic representations or from DFT codes for
input to LAMMPS. However, as explained on the
:doc:`Howto_triclinic <Howto_triclinic>` doc page, internally,
LAMMPS only uses restricted triclinic simulation boxes. This means
the box defined by this command and per-atom information
(e.g. coordinates, velocities) defined by the :doc:`create_atoms
<create_atoms>` command are converted (rotated) from general to
restricted triclinic form when the two commands are invoked. The
<Howto_triclinic>` doc page also discusses other LAMMPS commands
which can input/output general triclinic representations of the
simulation box and per-atom data.
----------
The optional keywords can be used to create a system that allows for
bond (angle, dihedral, improper) interactions, or for molecules with
special 1--2, 1--3, or 1--4 neighbors to be added later. These optional
keywords serve the same purpose as the analogous keywords that can be
used in a data file which are recognized by the
special 1--2, 1--3, or 1--4 neighbors to be added later. These
optional keywords serve the same purpose as the analogous keywords
that can be used in a data file which are recognized by the
:doc:`read_data <read_data>` command when it sets up a system.
Note that if these keywords are not used, then the create_box command
creates an atomic (non-molecular) simulation that does not allow bonds
between pairs of atoms to be defined, or a
:doc:`bond potential <bond_style>` to be specified, or for molecules with
special neighbors to be added to the system by commands such as
:doc:`create_atoms mol <create_atoms>`, :doc:`fix deposit <fix_deposit>`
or :doc:`fix pour <fix_pour>`.
between pairs of atoms to be defined, or a :doc:`bond potential
<bond_style>` to be specified, or for molecules with special neighbors
to be added to the system by commands such as :doc:`create_atoms mol
<create_atoms>`, :doc:`fix deposit <fix_deposit>` or :doc:`fix pour
<fix_pour>`.
As an example, see the examples/deposit/in.deposit.molecule script,
which deposits molecules onto a substrate. Initially there are no
molecules in the system, but they are added later by the
:doc:`fix deposit <fix_deposit>` command. The create_box command in the
script uses the bond/types and extra/bond/per/atom keywords to allow
this. If the added molecule contained more than one special bond
(allowed by default), an extra/special/per/atom keyword would also
need to be specified.
molecules in the system, but they are added later by the :doc:`fix
deposit <fix_deposit>` command. The create_box command in the script
uses the bond/types and extra/bond/per/atom keywords to allow this.
If the added molecule contained more than one special bond (allowed by
default), an extra/special/per/atom keyword would also need to be
specified.
----------

View File

@ -275,16 +275,20 @@ format <dump_modify>` command and its options.
Format of native LAMMPS format dump files:
The *atom*, *custom*, *grid*, and *local* styles create files in a
simple LAMMPS-specific text format that is self-explanatory when
viewing a dump file. Many post-processing tools either included with
LAMMPS or third-party tools can read this format, as does the
simple LAMMPS-specific text format that is mostly self-explanatory
when viewing a dump file. Many post-processing tools either included
with LAMMPS or third-party tools can read this format, as does the
:doc:`rerun <rerun>` command. See tools described on the :doc:`Tools
<Tools>` doc page for examples, including `Pizza.py
<https://lammps.github.io/pizza>`_.
For all these styles, the dimensions of the simulation box are
included in each snapshot. For an orthogonal simulation box this
information is formatted as:
included in each snapshot. The simulation box in LAMMPS can be
defined in one of 3 ways: orthogonal, restricted triclinic, and
general triclinic. See the :doc:`Howto triclinic <Howto_triclinic>`
doc page for a detailed description of all 3 options.
For an orthogonal simulation box the box information is formatted as:
.. parsed-literal::
@ -301,10 +305,10 @@ the six characters is one of *p* (periodic), *f* (fixed), *s* (shrink wrap),
or *m* (shrink wrapped with a minimum value). See the
:doc:`boundary <boundary>` command for details.
For triclinic simulation boxes (non-orthogonal), an orthogonal
bounding box which encloses the triclinic simulation box is output,
along with the three tilt factors (*xy*, *xz*, *yz*) of the triclinic box,
formatted as follows:
For a restricted triclinic simulation box, an orthogonal bounding box
which encloses the restricted triclinic simulation box is output,
along with the three tilt factors (*xy*, *xz*, *yz*) of the triclinic
box, formatted as follows:
.. parsed-literal::
@ -326,6 +330,10 @@ bounding box extents (xlo_bound, xhi_bound, etc.) are calculated from the
triclinic parameters, and how to transform those parameters to and
from other commonly used triclinic representations.
For a general triclinic simulation box, see the "General triclinic"
section below for a description of the ITEM: BOX BOUNDS format as well
as how per-atom coordinates and per-atom vector quantities are output.
The *atom* and *custom* styles output a "ITEM: NUMBER OF ATOMS" line
with the count of atoms in the snapshot. Likewise they output an
"ITEM: ATOMS" line which includes column descriptors for the per-atom
@ -397,7 +405,6 @@ command.
Dump files in other popular formats:
.. note::
This section only discusses file formats relevant to this doc page.
@ -653,6 +660,87 @@ how to control the compression level in both variants.
----------
General triclinic simulation box output for the *atom* and *custom* styles:
As mentioned above, the simulation box can be defined as a general
triclinic box, which means that 3 arbitrary box edge vectors **A**,
**B**, **C** can be specified. See the :doc:`Howto triclinic
<Howto_triclinic>` doc page for a detailed description of general
triclinic boxes.
This option is provided as a convenience for users who may be
converting data from solid-state crystallographic representations or
from DFT codes for input to LAMMPS. However, as explained on the
:doc:`Howto_triclinic <Howto_triclinic>` doc page, internally, LAMMPS
only uses restricted triclinic simulation boxes. This means the box
and per-atom information (e.g. coordinates, velocities) LAMMPS stores
are converted (rotated) from general to restricted triclinic form when
the system is created.
For dump output, if the :doc:`dump_modify triclinic/general
<dump_modify>` command is used, the box description and per-atom
coordinates and other per-atom vectors will be converted (rotated)
from restricted to general form when each dump file snapshots is
output. This option can only be used if the simulation box was
initially created as general triclinic. If the option is not used,
and the simulation box is general triclinic, then the dump file
snapshots will reflect the internal restricted triclinic geometry.
The dump_modify triclinic/general option affects 3 aspects of the dump
file output.
First, the format for the BOX BOUNDS is as follows
.. parsed-literal::
ITEM: BOX BOUNDS abc origin
ax ay az originx
bx by bz originy
cx cy cz originz
where the **A** edge vector of the box is (ax,ay,az) and similarly
for **B** and **C**. The origin of all 3 edge vectors is (originx,
originy, originz).
Second, the coordinates of each atom are converted (rotated) so that
the atom is inside (or near) the general triclinic box defined by the
**A**, **B**, **C** edge vectors. For style *atom*, this only alters
output for unscaled atom coords, via the :doc:`dump_modify scaled no
<dump_modify>` setting. For style *custom*, this alters output for
either unscaled or unwrapped output of atom coords, via the *x,y,z* or
*xu,yu,zu* attributes. For output of scaled atom coords by both
styles, there is no difference between restricted and general
triclinic values.
Third, the output for any attribute of the *custom* style which
represents a per-atom vector quantity will be converted (rotated) to
be oriented consistent with the general triclinic box and its
orientation relative to the standard xyz coordinate axes.
This applies to the following *custom* style attributes:
* vx,vy,vz = atom velocities
* fx,fy,fz = forces on atoms
* mux,muy,muz = orientation of dipole moment of atom
* omegax,omegay,omegaz = angular velocity of spherical particle
* angmomx,angmomy,angmomz = angular momentum of aspherical particle
* tqx,tqy,tqz = torque on finite-size particles
For example, if the velocity of an atom in a restricted triclinic box
is along the x-axis, then it will be output for a general triclinic
box as a vector along the **A** edge vector of the box.
.. note::
For style *custom*, the :doc:`dump_modify thresh <dump_modify>`
command may access per-atom attributes either directly or
indirectly through a compute or variable. If the attribute is an
atom coordinate or one of the vectors mentioned above, its value
will *NOT* be a general triclinic (rotated) value. Rather it will
be a restricted triclinic value.
----------
Arguments for different styles:
The sections below describe per-atom, local, and per grid cell

View File

@ -17,7 +17,7 @@ Syntax
* one or more keyword/value pairs may be appended
* these keywords apply to various dump styles
* keyword = *append* or *at* or *balance* or *buffer* or *colname* or *delay* or *element* or *every* or *every/time* or *fileper* or *first* or *flush* or *format* or *header* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *skip* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *units* or *unwrap*
* keyword = *append* or *at* or *balance* or *buffer* or *colname* or *delay* or *element* or *every* or *every/time* or *fileper* or *first* or *flush* or *format* or *header* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *skip* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *triclinic/general* or *units* or *unwrap*
.. parsed-literal::
@ -74,12 +74,13 @@ Syntax
-N = sort per-atom lines in descending order by the Nth column
*tfactor* arg = time scaling factor (> 0.0)
*thermo* arg = *yes* or *no*
*time* arg = *yes* or *no*
*thresh* args = attribute operator value
attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style
operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "\|\^"
value = numeric value to compare to, or LAST
these 3 args can be replaced by the word "none" to turn off thresholding
*time* arg = *yes* or *no*
*triclinic/general* arg = *yes* or *no*
*units* arg = *yes* or *no*
*unwrap* arg = *yes* or *no*
@ -802,8 +803,9 @@ region since the last dump.
dump_modify ... thresh v_charge |^ LAST
This will dump atoms whose charge has changed from an absolute value
less than :math:`\frac12` to greater than :math:`\frac12` (or vice versa) since the last dump (e.g., due to reactions and subsequent charge equilibration in a
reactive force field).
less than :math:`\frac12` to greater than :math:`\frac12` (or vice
versa) since the last dump (e.g., due to reactions and subsequent
charge equilibration in a reactive force field).
The choice of operators listed above are the usual comparison
operators. The XOR operation (exclusive or) is also included as "\|\^".
@ -811,6 +813,18 @@ In this context, XOR means that if either the attribute or value is
0.0 and the other is non-zero, then the result is "true" and the
threshold criterion is met. Otherwise it is not met.
.. note::
For style *custom*, the *triclinic/general* keyword can alter dump
output for general triclinic simulation boxes and their atoms. See
the :doc:`dump <dump>` command for details of how this changes the
format of dump file snapshots. The thresh keyword may access
per-atom attributes either directly or indirectly through a compute
or variable. If the attribute is an atom coordinate or a per-atom
vector (such as velocity, force, or dipole moment), its value will
*NOT* be a general triclinic (rotated) value. Rather it will be a
restricted triclinic value.
----------
The *time* keyword only applies to the dump *atom*, *custom*, *local*,
@ -835,6 +849,29 @@ The default setting is *no*\ .
----------
The *triclinic/general* keyword only applies to the dump *atom* and
*custom* styles. It can only be used with a value of *yes* if the
simulation box was created as a general triclinic box. See the
:doc:`Howto_triclinic <Howto_triclinic>` doc page for a detailed
explanation of orthogonal, restricted triclinic, and general triclinic
simulation boxes.
If this keyword is used with a value of *yes*, the box information at
the beginning of each snapshot will include information about the 3
arbitrary edge vectors **A**, **B**, **C** that define the general
triclinic box as well as their origin. The format is described on the
:doc:`dump <dump>` doc page.
The coordinates of each atom will likewise be output as values in (or
near) the general triclinic box. Likewise, per-atom vector quantities
such as velocity, omega, dipole moment, etc will have orientations
consistent with the general triclinic box, meaning they will be
rotated relative to the standard xyz coordinate axes. See the
:doc:`dump <dump>` doc page for a full list of which dump attributes
this affects.
----------
The *units* keyword only applies to the dump *atom*, *custom*, and
*local* styles (and their COMPRESS package versions *atom/gz*,
*custom/gz* and *local/gz*\ ). If set to *yes*, each individual dump
@ -922,6 +959,8 @@ The option defaults are
* sort = off for dump styles *atom*, *custom*, *cfg*, and *local*
* sort = id for dump styles *dcd*, *xtc*, and *xyz*
* thresh = none
* time = no
* triclinic/general no
* units = no
* unwrap = no

View File

@ -171,14 +171,15 @@ Examples of large rigid bodies are a colloidal particle, or portions
of a biomolecule such as a protein.
Example of small rigid bodies are patchy nanoparticles, such as those
modeled in :ref:`this paper <Zhang1>` by Sharon Glotzer's group, clumps of
granular particles, lipid molecules consisting of one or more point
dipoles connected to other spheroids or ellipsoids, irregular
particles built from line segments (2d) or triangles (3d), and
coarse-grain models of nano or colloidal particles consisting of a
small number of constituent particles. Note that the :doc:`fix shake <fix_shake>` command can also be used to rigidify small
molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats
the constituent atoms as point masses.
modeled in :ref:`this paper <Zhang1>` by Sharon Glotzer's group,
clumps of granular particles, lipid molecules consisting of one or
more point dipoles connected to other spheroids or ellipsoids,
irregular particles built from line segments (2d) or triangles (3d),
and coarse-grain models of nano or colloidal particles consisting of a
small number of constituent particles. Note that the :doc:`fix shake
<fix_shake>` command can also be used to rigidify small molecules of
2, 3, or 4 atoms, e.g. water molecules. That fix treats the
constituent atoms as point masses.
These fixes also update the positions and velocities of the atoms in
each rigid body via time integration, in the NVE, NVT, NPT, or NPH
@ -212,13 +213,14 @@ processors when ghost atom info is accumulated.
.. note::
To use the *rigid/small* styles the ghost atom cutoff must be
large enough to span the distance between the atom that owns the body
and every other atom in the body. This distance value is printed out
when the rigid bodies are defined. If the
:doc:`pair_style <pair_style>` cutoff plus neighbor skin does not span
this distance, then you should use the :doc:`comm_modify cutoff <comm_modify>` command with a setting epsilon larger than
the distance.
To use the *rigid/small* styles the ghost atom cutoff must be large
enough to span the distance between the atom that owns the body and
every other atom in the body. This distance value is printed out
when the rigid bodies are defined. If the :doc:`pair_style
<pair_style>` cutoff plus neighbor skin does not span this
distance, then you should use the :doc:`comm_modify cutoff
<comm_modify>` command with a setting epsilon larger than the
distance.
Which of the two variants is faster for a particular problem is hard
to predict. The best way to decide is to perform a short test run.
@ -229,49 +231,54 @@ differences may accumulate to produce divergent trajectories.
.. note::
You should not update the atoms in rigid bodies via other
time-integration fixes (e.g. :doc:`fix nve <fix_nve>`, :doc:`fix nvt <fix_nh>`, :doc:`fix npt <fix_nh>`, :doc:`fix move <fix_move>`),
or you will have conflicting updates to positions and velocities
resulting in unphysical behavior in most cases. When performing a hybrid
simulation with some atoms in rigid bodies, and some not, a separate
time integration fix like :doc:`fix nve <fix_nve>` or :doc:`fix nvt <fix_nh>` should be used for the non-rigid particles.
time-integration fixes (e.g. :doc:`fix nve <fix_nve>`, :doc:`fix
nvt <fix_nh>`, :doc:`fix npt <fix_nh>`, :doc:`fix move
<fix_move>`), or you will have conflicting updates to positions and
velocities resulting in unphysical behavior in most cases. When
performing a hybrid simulation with some atoms in rigid bodies, and
some not, a separate time integration fix like :doc:`fix nve
<fix_nve>` or :doc:`fix nvt <fix_nh>` should be used for the
non-rigid particles.
.. note::
These fixes are overkill if you simply want to hold a collection
of atoms stationary or have them move with a constant velocity. A
simpler way to hold atoms stationary is to not include those atoms in
your time integration fix. E.g. use "fix 1 mobile nve" instead of
"fix 1 all nve", where "mobile" is the group of atoms that you want to
move. You can move atoms with a constant velocity by assigning them
an initial velocity (via the :doc:`velocity <velocity>` command),
setting the force on them to 0.0 (via the :doc:`fix setforce <fix_setforce>` command), and integrating them as usual
(e.g. via the :doc:`fix nve <fix_nve>` command).
These fixes are overkill if you simply want to hold a collection of
atoms stationary or have them move with a constant velocity. A
simpler way to hold atoms stationary is to not include those atoms
in your time integration fix. E.g. use "fix 1 mobile nve" instead
of "fix 1 all nve", where "mobile" is the group of atoms that you
want to move. You can move atoms with a constant velocity by
assigning them an initial velocity (via the :doc:`velocity
<velocity>` command), setting the force on them to 0.0 (via the
:doc:`fix setforce <fix_setforce>` command), and integrating them
as usual (e.g. via the :doc:`fix nve <fix_nve>` command).
.. warning::
The aggregate properties of each rigid body are
calculated at the start of a simulation run and are maintained in
internal data structures. The properties include the position and
velocity of the center-of-mass of the body, its moments of inertia, and
its angular momentum. This is done using the properties of the
constituent atoms of the body at that point in time (or see the *infile*
keyword option). Thereafter, changing these properties of individual
atoms in the body will have no effect on a rigid body's dynamics, unless
they effect any computation of per-atom forces or torques. If the
keyword *reinit* is set to *yes* (the default), the rigid body data
structures will be recreated at the beginning of each *run* command;
if the keyword *reinit* is set to *no*, the rigid body data structures
will be built only at the very first *run* command and maintained for
as long as the rigid fix is defined. For example, you might think you
could displace the atoms in a body or add a large velocity to each atom
in a body to make it move in a desired direction before a second run is
performed, using the :doc:`set <set>` or
:doc:`displace_atoms <displace_atoms>` or :doc:`velocity <velocity>`
commands. But these commands will not affect the internal attributes
of the body unless *reinit* is set to *yes*\ . With *reinit* set to *no*
(or using the *infile* option, which implies *reinit* *no*\ ) the position
and velocity of individual atoms in the body will be reset when time
integration starts again.
The aggregate properties of each rigid body are calculated at the
start of a simulation run and are maintained in internal data
structures. The properties include the position and velocity of the
center-of-mass of the body, its moments of inertia, and its angular
momentum. This is done using the properties of the constituent
atoms of the body at that point in time (or see the *infile*
keyword option). Thereafter, changing these properties of
individual atoms in the body will have no effect on a rigid body's
dynamics, unless they effect any computation of per-atom forces or
torques. If the keyword *reinit* is set to *yes* (the default), the
rigid body data structures will be recreated at the beginning of
each *run* command; if the keyword *reinit* is set to *no*, the
rigid body data structures will be built only at the very first
*run* command and maintained for as long as the rigid fix is
defined. For example, you might think you could displace the atoms
in a body or add a large velocity to each atom in a body to make it
move in a desired direction before a second run is performed, using
the :doc:`set <set>` or :doc:`displace_atoms <displace_atoms>` or
:doc:`velocity <velocity>` commands. But these commands will not
affect the internal attributes of the body unless *reinit* is set
to *yes*\ . With *reinit* set to *no* (or using the *infile*
option, which implies *reinit* *no*\ ) the position and velocity of
individual atoms in the body will be reset when time integration
starts again.
----------
@ -316,17 +323,17 @@ to be part of rigid bodies.
.. note::
To compute the initial center-of-mass position and other
properties of each rigid body, the image flags for each atom in the
body are used to "unwrap" the atom coordinates. Thus you must ensure
that these image flags are consistent so that the unwrapping creates a
To compute the initial center-of-mass position and other properties
of each rigid body, the image flags for each atom in the body are
used to "unwrap" the atom coordinates. Thus you must ensure that
these image flags are consistent so that the unwrapping creates a
valid rigid body (one where the atoms are close together),
particularly if the atoms in a single rigid body straddle a periodic
boundary. This means the input data file or restart file must define
the image flags for each atom consistently or that you have used the
:doc:`set <set>` command to specify them correctly. If a dimension is
non-periodic then the image flag of each atom must be 0 in that
dimension, else an error is generated.
particularly if the atoms in a single rigid body straddle a
periodic boundary. This means the input data file or restart file
must define the image flags for each atom consistently or that you
have used the :doc:`set <set>` command to specify them correctly.
If a dimension is non-periodic then the image flag of each atom
must be 0 in that dimension, else an error is generated.
The *force* and *torque* keywords discussed next are only allowed for
the *rigid* styles.
@ -362,12 +369,13 @@ settings from the final keyword are used.
.. note::
For computational efficiency, you may wish to turn off pairwise
and bond interactions within each rigid body, as they no longer
contribute to the motion. The :doc:`neigh_modify exclude <neigh_modify>` and :doc:`delete_bonds <delete_bonds>`
commands are used to do this. If the rigid bodies have strongly
overlapping atoms, you may need to turn off these interactions to
avoid numerical problems due to large equal/opposite intra-body forces
For computational efficiency, you may wish to turn off pairwise and
bond interactions within each rigid body, as they no longer
contribute to the motion. The :doc:`neigh_modify exclude
<neigh_modify>` and :doc:`delete_bonds <delete_bonds>` commands are
used to do this. If the rigid bodies have strongly overlapping
atoms, you may need to turn off these interactions to avoid
numerical problems due to large equal/opposite intra-body forces
swamping the contribution of small inter-body forces.
For computational efficiency, you should typically define one fix
@ -379,7 +387,8 @@ is more expensive.
The constituent particles within a rigid body can be point particles
(the default in LAMMPS) or finite-size particles, such as spheres or
ellipsoids or line segments or triangles. See the :doc:`atom_style sphere and ellipsoid and line and tri <atom_style>` commands for more
ellipsoids or line segments or triangles. See the :doc:`atom_style
sphere and ellipsoid and line and tri <atom_style>` commands for more
details on these kinds of particles. Finite-size particles contribute
differently to the moment of inertia of a rigid body than do point
particles. Finite-size particles can also experience torque (e.g. due
@ -389,7 +398,8 @@ orientation. These contributions are accounted for by these fixes.
Forces between particles within a body do not contribute to the
external force or torque on the body. Thus for computational
efficiency, you may wish to turn off pairwise and bond interactions
between particles within each rigid body. The :doc:`neigh_modify exclude <neigh_modify>` and :doc:`delete_bonds <delete_bonds>`
between particles within each rigid body. The :doc:`neigh_modify
exclude <neigh_modify>` and :doc:`delete_bonds <delete_bonds>`
commands are used to do this. For finite-size particles this also
means the particles can be highly overlapped when creating the rigid
body.
@ -401,16 +411,17 @@ perform constant NVE time integration. They are referred to below as
the 4 NVE rigid styles. The only difference is that the *rigid* and
*rigid/small* styles use an integration technique based on Richardson
iterations. The *rigid/nve* and *rigid/small/nve* styles uses the
methods described in the paper by :ref:`Miller <Miller3>`, which are thought
to provide better energy conservation than an iterative approach.
methods described in the paper by :ref:`Miller <Miller3>`, which are
thought to provide better energy conservation than an iterative
approach.
The *rigid/nvt* and *rigid/nvt/small* styles performs constant NVT
integration using a Nose/Hoover thermostat with chains as described
originally in :ref:`(Hoover) <Hoover>` and :ref:`(Martyna) <Martyna2>`, which
thermostats both the translational and rotational degrees of freedom
of the rigid bodies. They are referred to below as the 2 NVT rigid
styles. The rigid-body algorithm used by *rigid/nvt* is described in
the paper by :ref:`Kamberaj <Kamberaj>`.
originally in :ref:`(Hoover) <Hoover>` and :ref:`(Martyna)
<Martyna2>`, which thermostats both the translational and rotational
degrees of freedom of the rigid bodies. They are referred to below as
the 2 NVT rigid styles. The rigid-body algorithm used by *rigid/nvt*
is described in the paper by :ref:`Kamberaj <Kamberaj>`.
The *rigid/npt*, *rigid/nph*, *rigid/npt/small*, and *rigid/nph/small*
styles perform constant NPT or NPH integration using a Nose/Hoover
@ -436,12 +447,12 @@ The target pressures for each of the 6 components of the stress tensor
can be specified independently via the *x*, *y*, *z* keywords, which
correspond to the 3 simulation box dimensions. For each component,
the external pressure or tensor component at each timestep is a ramped
value during the run from *Pstart* to *Pstop*\ . If a target pressure is
specified for a component, then the corresponding box dimension will
change during a simulation. For example, if the *y* keyword is used,
the y-box length will change. A box dimension will not change if that
component is not specified, although you have the option to change
that dimension via the :doc:`fix deform <fix_deform>` command.
value during the run from *Pstart* to *Pstop*\ . If a target pressure
is specified for a component, then the corresponding box dimension
will change during a simulation. For example, if the *y* keyword is
used, the y-box length will change. A box dimension will not change
if that component is not specified, although you have the option to
change that dimension via the :doc:`fix deform <fix_deform>` command.
For all barostat keywords, the *Pdamp* parameter operates like the
*Tdamp* parameter, determining the time scale on which pressure is
@ -525,11 +536,11 @@ discussed below.
The *langevin* keyword applies a Langevin thermostat to the constant
NVE time integration performed by any of the 4 NVE rigid styles:
*rigid*, *rigid/nve*, *rigid/small*, *rigid/small/nve*\ . It cannot be
used with the 2 NVT rigid styles: *rigid/nvt*, *rigid/small/nvt*\ . The
desired temperature at each timestep is a ramped value during the run
from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in time
units and determines how rapidly the temperature is relaxed. For
*rigid*, *rigid/nve*, *rigid/small*, *rigid/small/nve*\ . It cannot
be used with the 2 NVT rigid styles: *rigid/nvt*, *rigid/small/nvt*\ .
The desired temperature at each timestep is a ramped value during the
run from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in
time units and determines how rapidly the temperature is relaxed. For
example, a value of 100.0 means to relax the temperature in a timespan
of (roughly) 100 time units (:math:`\tau` or fs or ps - see the
:doc:`units <units>` command). The random # *seed* must be a positive
@ -564,29 +575,30 @@ used. *Tchain* is the number of thermostats in the Nose Hoover chain.
This value, along with *Tdamp* can be varied to dampen undesirable
oscillations in temperature that can occur in a simulation. As a rule
of thumb, increasing the chain length should lead to smaller
oscillations. The keyword *pchain* specifies the number of
thermostats in the chain thermostatting the barostat degrees of
freedom.
oscillations. The keyword *pchain* specifies the number of thermostats
in the chain thermostatting the barostat degrees of freedom.
.. note::
There are alternate ways to thermostat a system of rigid bodies.
You can use :doc:`fix langevin <fix_langevin>` to treat the individual
particles in the rigid bodies as effectively immersed in an implicit
solvent, e.g. a Brownian dynamics model. For hybrid systems with both
rigid bodies and solvent particles, you can thermostat only the
solvent particles that surround one or more rigid bodies by
appropriate choice of groups in the compute and fix commands for
temperature and thermostatting. The solvent interactions with the
rigid bodies should then effectively thermostat the rigid body
temperature as well without use of the Langevin or Nose/Hoover options
associated with the fix rigid commands.
You can use :doc:`fix langevin <fix_langevin>` to treat the
individual particles in the rigid bodies as effectively immersed in
an implicit solvent, e.g. a Brownian dynamics model. For hybrid
systems with both rigid bodies and solvent particles, you can
thermostat only the solvent particles that surround one or more
rigid bodies by appropriate choice of groups in the compute and fix
commands for temperature and thermostatting. The solvent
interactions with the rigid bodies should then effectively
thermostat the rigid body temperature as well without use of the
Langevin or Nose/Hoover options associated with the fix rigid
commands.
----------
The *mol* keyword can only be used with the *rigid/small* styles. It
must be used when other commands, such as :doc:`fix deposit <fix_deposit>` or :doc:`fix pour <fix_pour>`, add rigid
bodies on-the-fly during a simulation. You specify a *template-ID*
must be used when other commands, such as :doc:`fix deposit
<fix_deposit>` or :doc:`fix pour <fix_pour>`, add rigid bodies
on-the-fly during a simulation. You specify a *template-ID*
previously defined using the :doc:`molecule <molecule>` command, which
reads a file that defines the molecule. You must use the same
*template-ID* that the other fix which is adding rigid bodies uses.
@ -670,16 +682,16 @@ cross periodic boundaries during the simulation.
.. note::
If you use the *infile* or *mol* keywords and write restart
files during a simulation, then each time a restart file is written,
the fix also write an auxiliary restart file with the name
rfile.rigid, where "rfile" is the name of the restart file,
If you use the *infile* or *mol* keywords and write restart files
during a simulation, then each time a restart file is written, the
fix also write an auxiliary restart file with the name rfile.rigid,
where "rfile" is the name of the restart file,
e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary
file is in the same format described above. Thus it can be used in a
new input script that restarts the run and re-specifies a rigid fix
using an *infile* keyword and the appropriate filename. Note that the
auxiliary file will contain one line for every rigid body, even if the
original file only listed a subset of the rigid bodies.
file is in the same format described above. Thus it can be used in
a new input script that restarts the run and re-specifies a rigid
fix using an *infile* keyword and the appropriate filename. Note
that the auxiliary file will contain one line for every rigid body,
even if the original file only listed a subset of the rigid bodies.
If the system has rigid bodies with finite-size overlapping particles
and the model uses the :doc:`fix gravity <fix_gravity>` command to
@ -728,10 +740,11 @@ also accounted for by this fix.
----------
If your simulation is a hybrid model with a mixture of rigid bodies and
non-rigid particles (e.g. solvent) there are several ways these rigid
fixes can be used in tandem with :doc:`fix nve <fix_nve>`, :doc:`fix nvt
<fix_nh>`, :doc:`fix npt <fix_nh>`, and :doc:`fix nph <fix_nh>`.
If your simulation is a hybrid model with a mixture of rigid bodies
and non-rigid particles (e.g. solvent) there are several ways these
rigid fixes can be used in tandem with :doc:`fix nve <fix_nve>`,
:doc:`fix nvt <fix_nh>`, :doc:`fix npt <fix_nh>`, and :doc:`fix nph
<fix_nh>`.
If you wish to perform NVE dynamics (no thermostatting or
barostatting), use one of 4 NVE rigid styles to integrate the rigid
@ -741,14 +754,14 @@ particles.
If you wish to perform NVT dynamics (thermostatting, but no
barostatting), you can use one of the 2 NVT rigid styles for the rigid
bodies, and any thermostatting fix for the non-rigid particles
(:doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`, :doc:`fix
temp/berendsen <fix_temp_berendsen>`). You can also use one of the 4
NVE rigid styles for the rigid bodies and thermostat them using
:doc:`fix langevin <fix_langevin>` on the group that contains all the
particles in the rigid bodies. The net force added by :doc:`fix
langevin <fix_langevin>` to each rigid body effectively thermostats its
translational center-of-mass motion. Not sure how well it does at
thermostatting its rotational motion.
(:doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`,
:doc:`fix temp/berendsen <fix_temp_berendsen>`). You can also use one
of the 4 NVE rigid styles for the rigid bodies and thermostat them
using :doc:`fix langevin <fix_langevin>` on the group that contains
all the particles in the rigid bodies. The net force added by
:doc:`fix langevin <fix_langevin>` to each rigid body effectively
thermostats its translational center-of-mass motion. Not sure how
well it does at thermostatting its rotational motion.
If you wish to perform NPT or NPH dynamics (barostatting), you cannot
use both :doc:`fix npt <fix_nh>` and the NPT or NPH rigid styles. This
@ -774,12 +787,12 @@ to the global pressure and the box is scaled the same by any of the
barostatting fixes.
You could even use the second and third options for a non-hybrid
simulation consisting of only rigid bodies, assuming you give :doc:`fix
npt <fix_nh>` an empty group, though it's an odd thing to do. The
barostatting fixes (:doc:`fix npt <fix_nh>` and :doc:`fix press/berensen
<fix_press_berendsen>`) will monitor the pressure and change the box
dimensions, but not time integrate any particles. The integration of
the rigid bodies will be performed by fix rigid/nvt.
simulation consisting of only rigid bodies, assuming you give
:doc:`fix npt <fix_nh>` an empty group, though it's an odd thing to
do. The barostatting fixes (:doc:`fix npt <fix_nh>` and :doc:`fix
press/berensen <fix_press_berendsen>`) will monitor the pressure and
change the box dimensions, but not time integrate any particles. The
integration of the rigid bodies will be performed by fix rigid/nvt.
----------
@ -824,10 +837,10 @@ various :doc:`output commands <Howto_output>`. The scalar value
calculated by these fixes is "intensive". The scalar is the current
temperature of the collection of rigid bodies. This is averaged over
all rigid bodies and their translational and rotational degrees of
freedom. The translational energy of a rigid body is 1/2 m v\^2, where
m = total mass of the body and v = the velocity of its center of mass.
The rotational energy of a rigid body is 1/2 I w\^2, where I = the
moment of inertia tensor of the body and w = its angular velocity.
freedom. The translational energy of a rigid body is 1/2 m v\^2,
where m = total mass of the body and v = the velocity of its center of
mass. The rotational energy of a rigid body is 1/2 I w\^2, where I =
the moment of inertia tensor of the body and w = its angular velocity.
Degrees of freedom constrained by the *force* and *torque* keywords
are removed from this calculation, but only for the *rigid* and
*rigid/nve* fixes.

View File

@ -19,7 +19,7 @@ Syntax
scale = lattice constant in distance units (for all other units)
* zero or more keyword/value pairs may be appended
* keyword = *origin* or *orient* or *spacing* or *a1* or *a2* or *a3* or *basis*
* keyword = *origin* or *orient* or *spacing* or *a1* or *a2* or *a3* or *basis* or *triclinic/general*
.. parsed-literal::
@ -34,6 +34,7 @@ Syntax
x,y,z = primitive vector components that define unit cell
*basis* values = x y z
x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1)
*triclinic/general* values = no values
Examples
""""""""
@ -44,7 +45,7 @@ Examples
lattice hex 0.85
lattice sq 0.8 origin 0.0 0.5 0.0 orient x 1 1 0 orient y -1 1 0
lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 &
basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
basis 0.0 0.0 0.0 basis 0.5 0.5 0.5 triclinic/general
lattice none 2.0
Description
@ -129,10 +130,13 @@ and a3 are 3 orthogonal unit vectors (edges of a unit cube). But you
can specify them to be of any length and non-orthogonal to each other,
so that they describe a tilted parallelepiped. Via the *basis*
keyword you add atoms, one at a time, to the unit cell. Its arguments
are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector
x of a basis atom within the unit cell is thus a linear combination of
the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3,
where bx,by,bz are the 3 values specified for the *basis* keyword.
are fractional coordinates (0.0 <= x,y,z < 1.0). For 2d simulations,
the fractional z coordinate for any basis atom must be 0.0.
The position vector x of a basis atom within the unit cell is a linear
combination of the unit cell's 3 edge vectors, i.e. x = bx a1 + by
a2 + bz a3, where bx,by,bz are the 3 values specified for the *basis*
keyword.
----------
@ -168,18 +172,21 @@ The *origin* option specifies how the unit cell will be shifted or
translated when mapping it into the simulation box. The x,y,z values
are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice
by a fraction of the lattice spacing in each dimension. The meaning
of "lattice spacing" is discussed below.
of "lattice spacing" is discussed below. For 2d simulations, the
*origin* z value must be 0.0.
The *orient* option specifies how the unit cell will be rotated when
mapping it into the simulation box. The *dim* argument is one of the
3 coordinate axes in the simulation box. The other 3 arguments are
the crystallographic direction in the lattice that you want to orient
along that axis, specified as integers. E.g. "orient x 2 1 0" means
the x-axis in the simulation box will be the [210] lattice
direction, and similarly for y and z. The 3 lattice directions you
specify do not have to be unit vectors, but they must be mutually
orthogonal and obey the right-hand rule, i.e. (X cross Y) points in
the Z direction.
the x-axis in the simulation box will be the [210] lattice direction,
and similarly for y and z. The 3 lattice directions you specify do
not have to be unit vectors, but they must be mutually orthogonal and
obey the right-hand rule, i.e. (X cross Y) points in the Z direction.
For 2d simulations, the *orient* x and y vectors must define 0 for
their 3rd component. Similarly the *orient* z vector must define 0
for its 1st and 2nd components.
.. note::
@ -193,6 +200,59 @@ the Z direction.
----------
The *triclinic/general* option specifies that the defined lattice is
for use with a general triclinic simulation box, as opposed to an
orthogonal or restricted triclinic box. The :doc:`Howto triclinic
<Howto_triclinic>` doc page explains all 3 kinds of simulation boxes
LAMMPS supports.
If this option is specified, a *custom* lattice style must be used.
The *a1*, *a2*, *a3* vectors should define the edge vectors of a
single unit cell of the lattice with one or more basis atoms. They
edge vectors can be arbitrary so long as they are non-zero, distinct,
and not co-planar. In addition, they must define a right-handed
system, such that (*a1* cross *a2*) points in the direction of *a3*.
Note that a left-handed system can be converted to a right-handed
system by simply swapping the order of any pair of the *a1*, *a2*,
*a3* vectors. For 2d simulations, the *a3* vector must be specified
as (0.0,0.0,1.0), which is its default value.
If this option is used, the *origin* and *orient* settings must have
their default values. Namely (0.0,0.0,0.0) for the *origin* and
(100), (010), (001) for the *orient* vectors.
The :doc:`create_box <create_box>` command can be used to create a
general triclinic box that replicates the *a1*, *a2*, *a3* unit cell
vectors in each direction to create the 3 arbitrary edge vectors of
the overall simulation box. It requires a lattice with the
*triclinic/general* option.
Likewise, the :doc:`create_atoms <create_atoms>` command can be used
to add atoms (or molecules) to a general triclinic box which lie on
the lattice points defined by *a1*, *a2*, *a3* and the unit cell basis
atoms. To do this, it also requires a lattice with the
*triclinic/general* option.
.. note::
LAMMPS allows specification of general triclinic lattices and
simulation boxes as a convenience for users who may be converting
data from solid-state crystallographic representations or from DFT
codes for input to LAMMPS. However, as explained on the
:doc:`Howto_triclinic <Howto_triclinic>` doc page, internally,
LAMMPS only uses restricted triclinic simulation boxes. This means
the box and per-atom information (e.g. coordinates, velocities)
defined by the :doc:`create_box <create_box>` and
:doc:`create_atoms <create_atoms>` commands are converted from
general to restricted triclinic form when the two commands are
invoked. It also means that any other commands which use lattice
spacings from this command (e.g. the region command), will be
operating on a restricted triclinic simulation box, even if the
*triclinic/general* option was used to define the lattice. See the
next section for details.
----------
Several LAMMPS commands have the option to use distance units that are
inferred from "lattice spacings" in the x,y,z box directions.
E.g. the :doc:`region <region>` command can create a block of size
@ -216,6 +276,18 @@ coordinates of the 8 corner points of the modified unit cell (4 in
2d). Similarly, the Y and Z lattice spacings are defined as the
difference in the min/max of the y and z coordinates.
.. note::
If the *triclinic/general* option is specified, the unit cell
defined by *a1*, *a2*, *a3* edge vectors is first converted to a
restricted triclinic orientation, which is a rotation operation.
The min/max extent of the 8 corner points is then determined, as
described in the preceding paragraph, to set the lattice
spacings. As explained for the *triclinic/general* option above,
this is because any use of the lattice spacings by other commands
will be for a restricted triclinic simulation box, not a general
triclinic box.
Note that if the unit cell is orthogonal with axis-aligned edges (no
rotation via the *orient* keyword), then the lattice spacings in each
dimension are simply the scale factor (described above) multiplied by

View File

@ -63,11 +63,16 @@ Description
Read in a data file containing information LAMMPS needs to run a
simulation. The file can be ASCII text or a gzipped text file
(detected by a .gz suffix). This is one of 3 ways to specify initial
atom coordinates; see the :doc:`read_restart <read_restart>` and
:doc:`create_atoms <create_atoms>` commands for alternative methods.
Also see the explanation of the :doc:`-restart command-line switch
<Run_options>` which can convert a restart file to a data file.
(detected by a .gz suffix).
This is one of 3 ways to specify the simulation box: see the
:doc:`create_box <create_box>` and :doc:`read_restart <read_restart>`
and commands for alternative methods. It is also one of 3 ways to
specify initial atom coordinates: see the :doc:`create_atoms
<create_atoms>` and :doc:`read_restart <read_restart>` and commands
for alternative methods. Also see the explanation of the
:doc:`-restart command-line switch <Run_options>` which can convert a
restart file to a data file.
This command can be used multiple times to add new atoms and their
properties to an existing system by using the *add*, *offset*, and
@ -122,37 +127,55 @@ keyword must be used.
.. note::
The simulation box size (xlo to xhi, ylo to yhi, zlo to zhi) in
the new data file will be merged with the existing simulation box to
create a large enough box in each dimension to contain both the
existing and new atoms. Each box dimension never shrinks due to this
merge operation, it only stays the same or grows. Care must be used if
you are growing the existing simulation box in a periodic dimension.
If there are existing atoms with bonds that straddle that periodic
boundary, then the atoms may become far apart if the box size grows.
This will separate the atoms in the bond, which can lead to "lost"
bond atoms or bad dynamics.
If the first read_data command defined an orthogonal or restricted
triclinic or general triclinic simulation box (see the sub-section
below on header keywords), then subsequent data files must define
the same kind of simulation box. For orthogonal boxes, the new box
can be a different size; see the next Note. For a restricted
triclinic box, the 3 new tilt factors ("xy xz yz" keyword) must
have the same values as in the original data file. For a general
triclinic box, the new avec, bvec, cvec, and "abc origin" keywords
must have the same values in the original data file. files. Also
the *shift* keyword cannot be used in subsequent read_data commands
for a general triclinic box.
.. note::
For orthogonal boxes, the simulation box size in the new data file
will be merged with the existing simulation box to create a large
enough box in each dimension to contain both the existing and new
atoms. Each box dimension never shrinks due to this merge
operation, it only stays the same or grows. Care must be used if
you are growing the existing simulation box in a periodic
dimension. If there are existing atoms with bonds that straddle
that periodic boundary, then the atoms may become far apart if the
box size grows. This will separate the atoms in the bond, which
can lead to "lost" bond atoms or bad dynamics.
The three choices for the *add* argument affect how the atom IDs and
molecule IDs of atoms in the data file are treated. If *append* is
specified, atoms in the data file are added to the current system,
with their atom IDs reset so that an atom-ID = M in the data file
becomes atom-ID = N+M, where N is the largest atom ID in the current
system. This rule is applied to all occurrences of atom IDs in the
data file, e.g. in the Velocity or Bonds section. This is also done
for molecule IDs, if the atom style does support molecule IDs or
they are enabled via fix property/atom. If *IDoffset* is specified,
then *IDoffset* is a numeric value is given, e.g. 1000, so that an
atom-ID = M in the data file becomes atom-ID = 1000+M. For systems
with enabled molecule IDs, another numerical argument *MOLoffset*
is required representing the equivalent offset for molecule IDs.
If *merge* is specified, the data file atoms
are added to the current system without changing their IDs. They are
assumed to merge (without duplication) with the currently defined
atoms. It is up to you to ensure there are no multiply defined atom
IDs, as LAMMPS only performs an incomplete check that this is the case
by ensuring the resulting max atom-ID >= the number of atoms. For
molecule IDs, there is no check done at all.
molecule IDs of atoms in the data file are treated.
If *append* is specified, atoms in the data file are added to the
current system, with their atom IDs reset so that an atom-ID = M in
the data file becomes atom-ID = N+M, where N is the largest atom ID in
the current system. This rule is applied to all occurrences of atom
IDs in the data file, e.g. in the Velocity or Bonds section. This is
also done for molecule IDs, if the atom style does support molecule
IDs or they are enabled via fix property/atom.
If *IDoffset* is specified, then *IDoffset* is a numeric value is
given, e.g. 1000, so that an atom-ID = M in the data file becomes
atom-ID = 1000+M. For systems with enabled molecule IDs, another
numerical argument *MOLoffset* is required representing the equivalent
offset for molecule IDs.
If *merge* is specified, the data file atoms are added to the current
system without changing their IDs. They are assumed to merge (without
duplication) with the currently defined atoms. It is up to you to
ensure there are no multiply defined atom IDs, as LAMMPS only performs
an incomplete check that this is the case by ensuring the resulting
max atom-ID >= the number of atoms. For molecule IDs, there is no
check done at all.
The *offset* and *shift* keywords can only be used if the *add*
keyword is also specified.
@ -288,13 +311,16 @@ Format of the header of a data file
"""""""""""""""""""""""""""""""""""
These are the recognized header keywords. Header lines can come in
any order. The value(s) are read from the beginning of the line.
any order. Each keyword takes a single value unless noted in this
list. The value(s) are read from the beginning of the line.
Thus the keyword *atoms* should be in a line like "1000 atoms"; the
keyword *ylo yhi* should be in a line like "-10.0 10.0 ylo yhi"; the
keyword *xy xz yz* should be in a line like "0.0 5.0 6.0 xy xz yz".
All these settings have a default value of 0, except the lo/hi box
size defaults are -0.5 and 0.5. A line need only appear if the value
is different than the default.
All these settings have a default value of 0, except for the
simulation box size settings; their defaults are explained below. A
keyword line need only appear if its value is different than the
default.
* *atoms* = # of atoms in system
* *bonds* = # of bonds in system
@ -315,81 +341,178 @@ is different than the default.
* *lines* = # of line segments in system
* *triangles* = # of triangles in system
* *bodies* = # of bodies in system
* *xlo xhi* = simulation box boundaries in x dimension
* *ylo yhi* = simulation box boundaries in y dimension
* *zlo zhi* = simulation box boundaries in z dimension
* *xy xz yz* = simulation box tilt factors for triclinic system
* *xlo xhi* = simulation box boundaries in x dimension (2 values)
* *ylo yhi* = simulation box boundaries in y dimension (2 values)
* *zlo zhi* = simulation box boundaries in z dimension (2 values)
* *xy xz yz* = simulation box tilt factors for triclinic system (3 values)
* *avec* = first edge vector of a general triclinic simulation box (3 values)
* *bvec* = second edge vector of a general triclinic simulation box (3 values)
* *cvec* = third edge vector of a general triclinic simulation box (3 values)
* *abc origin* = origin of a general triclinic simulation box (3 values)
The initial simulation box size is determined by the lo/hi settings.
In any dimension, the system may be periodic or non-periodic; see the
:doc:`boundary <boundary>` command. When the simulation box is created
it is also partitioned into a regular 3d grid of rectangular bricks,
one per processor, based on the number of processors being used and
the settings of the :doc:`processors <processors>` command. The
partitioning can later be changed by the :doc:`balance <balance>` or
:doc:`fix balance <fix_balance>` commands.
----------
If the *xy xz yz* line does not appear, LAMMPS will set up an
axis-aligned (orthogonal) simulation box. If the line does appear,
LAMMPS creates a non-orthogonal simulation domain shaped as a
parallelepiped with triclinic symmetry. The parallelepiped has its
"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting
from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C =
(xz,yz,zhi-zlo). *Xy,xz,yz* can be 0.0 or positive or negative values
and are called "tilt factors" because they are the amount of
displacement applied to faces of an originally orthogonal box to
transform it into the parallelepiped.
Header specification of the simulation box size and shape
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
The tilt factors (xy,xz,yz) should not skew the box more than half the
distance of the corresponding parallel box length. For example, if
:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the :math:`x`
box length is 10 and the :math:`xy` tilt factor must be between
:math:`-5` and :math:`5`. Similarly, both :math:`xz` and :math:`yz`
must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and
:math:`+(y_\text{hi}-y_\text{lo})/2`. Note that this is not a
limitation, since if the maximum tilt factor is 5 (as in this example),
then configurations with tilt :math:`= \dots, -15`, :math:`-5`,
:math:`5`, :math:`15`, :math:`25, \dots` are all geometrically
equivalent. Simulations with large tilt factors will run inefficiently,
since they require more ghost atoms and thus more communication. With
very large tilt factors, LAMMPS will eventually produce incorrect
trajectories and stop with errors due to lost atoms or similar.
The last 8 keywords in the list of header keywords are for simulation
boxes of 3 kinds which LAMMPS supports:
See the :doc:`Howto triclinic <Howto_triclinic>` page for a
geometric description of triclinic boxes, as defined by LAMMPS, and
how to transform these parameters to and from other commonly used
triclinic representations.
* orthogonal box = faces are perpendicular to the xyz coordinate axes
* restricted triclinic box = a parallelepiped defined by 3 edge vectors oriented in a constrained manner
* general triclinic box = a parallelepiped defined by 3 arbitrary edge vectors
When a triclinic system is used, the simulation domain should normally
be periodic in the dimension that the tilt is applied to, which is
given by the second dimension of the tilt factor (e.g. y for xy tilt).
This is so that pairs of atoms interacting across that boundary will
have one of them shifted by the tilt factor. Periodicity is set by
the :doc:`boundary <boundary>` command. For example, if the xy tilt
factor is non-zero, then the y dimension should be periodic.
Similarly, the z dimension should be periodic if xz or yz is non-zero.
LAMMPS does not require this periodicity, but you may lose atoms if
this is not the case.
For restricted and general triclinic boxes, see the
:doc:`Howto_triclinic <Howto_triclinic>` doc page for a fuller
description than is given here.
Also note that if your simulation will tilt the box, e.g. via the
:doc:`fix deform <fix_deform>` command, the simulation box must be setup
to be triclinic, even if the tilt factors are initially 0.0. You can
also change an orthogonal box to a triclinic box or vice versa by using
the :doc:`change box <change_box>` command with its *ortho* and
*triclinic* options.
The units of the values for all 8 keywords in in distance units; see
the :doc:`units <units>` command for details.
For 2d simulations, the *zlo zhi* values should be set to bound the z
coords for atoms that appear in the file; the default of -0.5 0.5 is
valid if all z coords are 0.0. For 2d triclinic simulations, the xz
and yz tilt factors must be 0.0.
For all 3 kinds of simulation boxes, the system may be periodic or
non-periodic in any dimension; see the :doc:`boundary <boundary>`
command for details.
When the simulation box is created by the read_data command, it is
also partitioned into a regular 3d grid of subdomains, one per
processor, based on the number of processors being used and the
settings of the :doc:`processors <processors>` command. For each kind
of simulation box the subdomains have the same shape as the simulation
box, i.e. smaller orthogonal bricks for orthogonal boxes, smaller
parallelepipeds for triclinic boxes. The partitioning can later be
changed by the :doc:`balance <balance>` or :doc:`fix balance
<fix_balance>` commands.
For an orthogonal box, only the *xlo xhi*, *ylo yhi*, *zlo zhi*
keywords are used. They define the extent of the simulation box in
each dimension so that the resulting edge vectors of an orthogonal box
are:
* **A** = (xhi-xlo,0,0)
* **B** = (0,yhi-ylo,0)
* **C** = (0,0,zhi-zlo)
The origin (lower left corner) of the orthogonal box is at
(xlo,ylo,zlo). The default values for these 3 keywords are -0.5 and
0.5 for each lo/hi pair. For a 2d simulation, the zlo and zhi values
must straddle zero. The default zlo/zhi values do this, so that
keyword is not needed in 2d.
For a restricted triclinic box, the *xy xz yz* keyword is used in
addition to the *xlo xhi*, *ylo yhi*, *zlo zhi* keywords. The three
*xy,xz,yz* values can be 0.0 or positive or negative, and are called
"tilt factors" because they are the amount of displacement applied to
edges of faces of an orthogonal box to transform it into a restricted
triclinic parallelepiped.
The :doc:`Howto_triclinic <Howto_triclinic>` doc page discusses the
tilt factors in detail and explains that the resulting edge vectors of
a restricted triclinic box are:
* **A** = (xhi-xlo,0,0)
* **B** = (xy,yhi-ylo,0)
* **C** = (xz,yz,zhi-zlo)
This restricted form of edge vectors requires that **A** be in the
direction of the x-axis, **B** be in the xy plane with its y-component
in the +y direction, and **C** have its z-component in the +z
direction. The origin (lower left corner) of the restricted triclinic
box is at (xlo,ylo,zlo).
For a 2d simulation, the zlo and zhi values must straddle zero. The
default zlo/zhi values do this, so that keyword is not needed in 2d.
The xz and yz values must also be zero in 2d. The shape of the 2d
restricted triclinic simulation box is effectively a parallelogram.
.. note::
When a restricted triclinic box is used, the simulation domain
should normally be periodic in any dimensions that tilt is applied
to, which is given by the second dimension of the tilt factor
(e.g. y for xy tilt). This is so that pairs of atoms interacting
across that boundary will have one of them shifted by the tilt
factor. Periodicity is set by the :doc:`boundary <boundary>`
command which also describes the shifting by the tilt factor. For
example, if the xy tilt factor is non-zero, then the y dimension
should be periodic. Similarly, the z dimension should be periodic
if xz or yz is non-zero. LAMMPS does not require this periodicity,
but you may lose atoms if this is not the case.
.. note::
Normally, the specified tilt factors (xy,xz,yz) should not skew the
simulation box by more than half the distance of the corresponding
parallel box length for computational efficiency. For example, if
:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the
:math:`x` box length is 10 and the :math:`xy` tilt factor should be
between :math:`-5` and :math:`5`. LAMMPS will issue a warning if
this is not the case. See the last sub-section of the
:doc:`Howto_triclinic <Howto_triclinic>` doc page for more details.
.. note::
If a simulation box is initially orthogonal, but will tilt during a
simulation, e.g. via the :doc:`fix deform <fix_deform>` command,
then the box should be defined as restricted triclinic with all 3
tilt factors = 0.0. Alternatively, the :doc:`change box
<change_box>` command can be used to convert an orthogonal box to a
restricted triclinic box.
For a general triclinic box, the *avec*, *bvec*, *cvec*, and *abc
origin* keywords are used. The *xlo xhi*, *ylo yhi*, *zlo zhi*, and
*xy xz yz* keywords are NOT used. The first 3 keywords define the 3
edge vectors **A**, **B**, **C** of the general triclinic box. They
can be arbitrary vectors so long as they are distinct, non-zero, and
not co-planar. They must also define a right-handed system such that
(**A** x **B**) points in the direction of **C**. Note that a
left-handed system can be converted to a right-handed system by simply
swapping the order of any pair of the **A**, **B**, **C** vectors.
The origin of the box (origin of the 3 edge vectors) is set by the
*abc origin* keyword.
The default values for these 4 keywords are as follows:
* avec = (1,0,0)
* bvec = (0,1,0)
* cvec = (0,0,1)
* abc origin = (0,0,0) for 3d, (0,0,-0.5) for 2d
For 2d simulations, *cvec* = (0,0,1) is required, and the 3rd value of
*abc origin* must be -0.5. These are the default values, so the
*cvec* keyword is not needed in 2d.
.. note::
LAMMPS allows specification of general triclinic simulation boxes
as a convenience for users who may be converting data from
solid-state crystallographic representations or from DFT codes for
input to LAMMPS. However, as explained on the
:doc:`Howto_triclinic <Howto_triclinic>` doc page, internally,
LAMMPS only uses restricted triclinic simulation boxes. This means
the box and per-atom information (e.g. coordinates, velocities) in
the data file are converted (rotated) from general to restricted
triclinic form when the file is read. Other sections of the data
file must also list their per-atom data appropriately if vector
quantities are specified. This requirement is explained below for
the relevant sections. The :doc:`Howto_triclinic
<Howto_triclinic>` doc page also discusses other LAMMPS commands
which can input/output general triclinic representations of the
simulation box and per-atom data.
The following explanations apply to all 3 kinds of simulation boxes:
orthogonal, restricted triclinic, and general triclinic.
If the system is periodic (in a dimension), then atom coordinates can
be outside the bounds (in that dimension); they will be remapped (in a
periodic sense) back inside the box. Note that if the *add* option is
being used to add atoms to a simulation box that already exists, this
periodic remapping will be performed using simulation box bounds that
are the union of the existing box and the box boundaries in the new
data file.
periodic sense) back inside the box. For triclinic boxes, periodicity
in x,y,z refers to the faces of the parallelepiped defined by the
**A**,**B**,**C** edge vectors of the simulation box. See the
:doc:`boundary <boundary>` command doc page for a fuller discussion.
Note that if the *add* option is being used to add atoms to a
simulation box that already exists, this periodic remapping will be
performed using simulation box bounds that are the union of the
existing box and the box boundaries in the new data file.
If the system is non-periodic (in a dimension), then an image flag for
that direction has no meaning, since there cannot be periodic images
@ -406,7 +529,6 @@ individually back into the principal unit cell in that direction. This
operation is equivalent to the behavior of the :doc:`change_box command
<change_box>` when used to change periodicity.
If those atoms with non-zero image flags are involved in bonded
interactions, this reset can lead to undesired changes, when the image
flag values differ between the atoms, i.e. the bonded interaction
@ -421,73 +543,81 @@ needed, so that the image flag would be zero.
.. note::
If the system is non-periodic (in a dimension), then all atoms in the
data file must have coordinates (in that dimension) that are "greater
than or equal to" the lo value and "less than or equal to" the hi
value. If the non-periodic dimension is of style "fixed" (see the
:doc:`boundary <boundary>` command), then the atom coords must be
strictly "less than" the hi value, due to the way LAMMPS assign atoms
to processors. Note that you should not make the lo/hi values
radically smaller/larger than the extent of the atoms. For example,
if your atoms extend from 0 to 50, you should not specify the box
bounds as -10000 and 10000 unless you also use the :doc:`processors
command <processors>`. This is because LAMMPS uses the specified box
size to layout the 3d grid of processors. A huge (mostly empty) box
will be sub-optimal for performance when using "fixed" boundary
conditions (see the :doc:`boundary <boundary>` command). When using
"shrink-wrap" boundary conditions (see the :doc:`boundary <boundary>`
command), a huge (mostly empty) box may cause a parallel simulation
to lose atoms when LAMMPS shrink-wraps the box around the atoms. The
read_data command will generate an error in this case.
If the system is non-periodic (in a dimension), then all atoms in
the data file must have coordinates (in that dimension) that are
"greater than or equal to" the lo value and "less than or equal to"
the hi value. If the non-periodic dimension is of style "fixed"
(see the :doc:`boundary <boundary>` command), then the atom coords
must be strictly "less than" the hi value, due to the way LAMMPS
assign atoms to processors. Note that you should not make the
lo/hi values radically smaller/larger than the extent of the atoms.
For example, if atoms extend from 0 to 50, you should not specify
the box bounds as -10000 and 10000 unless you also use the
:doc:`processors command <processors>`. This is because LAMMPS
uses the specified box size to layout the 3d grid of processors. A
huge (mostly empty) box will be sub-optimal for performance when
using "fixed" boundary conditions (see the :doc:`boundary
<boundary>` command). When using "shrink-wrap" boundary conditions
(see the :doc:`boundary <boundary>` command), a huge (mostly empty)
box may cause a parallel simulation to lose atoms when LAMMPS
shrink-wraps the box around the atoms. The read_data command will
generate an error in this case.
----------
Meaning of other header keywords
""""""""""""""""""""""""""""""""
The "extra bond per atom" setting (angle, dihedral, improper) is only
needed if new bonds (angles, dihedrals, impropers) will be added to
the system when a simulation runs, e.g. by using the :doc:`fix bond/create <fix_bond_create>` command. Using this header flag
is deprecated; please use the *extra/bond/per/atom* keyword (and
the system when a simulation runs, e.g. by using the :doc:`fix
bond/create <fix_bond_create>` command. Using this header flag is
deprecated; please use the *extra/bond/per/atom* keyword (and
correspondingly for angles, dihedrals and impropers) in the read_data
command instead. Either will pre-allocate space in LAMMPS data
structures for storing the new bonds (angles, dihedrals, impropers).
The "extra special per atom" setting is typically only needed if new
bonds/angles/etc will be added to the system, e.g. by using the :doc:`fix bond/create <fix_bond_create>` command. Or if entire new molecules
will be added to the system, e.g. by using the
:doc:`fix deposit <fix_deposit>` or :doc:`fix pour <fix_pour>` commands,
which will have more special 1-2,1-3,1-4 neighbors than any other
molecules defined in the data file. Using this header flag is
deprecated; please use the *extra/special/per/atom* keyword instead.
Using this setting will pre-allocate space in the LAMMPS data
structures for storing these neighbors. See the
:doc:`special_bonds <special_bonds>` and :doc:`molecule <molecule>` doc
pages for more discussion of 1-2,1-3,1-4 neighbors.
bonds/angles/etc will be added to the system, e.g. by using the
:doc:`fix bond/create <fix_bond_create>` command. Or if entire new
molecules will be added to the system, e.g. by using the :doc:`fix
deposit <fix_deposit>` or :doc:`fix pour <fix_pour>` commands, which
will have more special 1-2,1-3,1-4 neighbors than any other molecules
defined in the data file. Using this header flag is deprecated;
please use the *extra/special/per/atom* keyword instead. Using this
setting will pre-allocate space in the LAMMPS data structures for
storing these neighbors. See the :doc:`special_bonds <special_bonds>`
and :doc:`molecule <molecule>` doc pages for more discussion of
1-2,1-3,1-4 neighbors.
.. note::
All of the "extra" settings are only applied in the first data
file read and when no simulation box has yet been created; as soon as
All of the "extra" settings are only applied in the first data file
read and when no simulation box has yet been created; as soon as
the simulation box is created (and read_data implies that), these
settings are *locked* and cannot be changed anymore. Please see the
description of the *add* keyword above for reading multiple data files.
If they appear in later data files, they are ignored.
description of the *add* keyword above for reading multiple data
files. If they appear in later data files, they are ignored.
The "ellipsoids" and "lines" and "triangles" and "bodies" settings are
only used with :doc:`atom_style ellipsoid or line or tri or body <atom_style>` and specify how many of the atoms are
finite-size ellipsoids or lines or triangles or bodies; the remainder
are point particles. See the discussion of ellipsoidflag and the
*Ellipsoids* section below. See the discussion of lineflag and the
*Lines* section below. See the discussion of triangleflag and the
*Triangles* section below. See the discussion of bodyflag and the
*Bodies* section below.
only used with :doc:`atom_style ellipsoid or line or tri or body
<atom_style>` and specify how many of the atoms are finite-size
ellipsoids or lines or triangles or bodies; the remainder are point
particles. See the discussion of ellipsoidflag and the *Ellipsoids*
section below. See the discussion of lineflag and the *Lines* section
below. See the discussion of triangleflag and the *Triangles* section
below. See the discussion of bodyflag and the *Bodies* section below.
.. note::
For :doc:`atom_style template <atom_style>`, the molecular
topology (bonds,angles,etc) is contained in the molecule templates
read-in by the :doc:`molecule <molecule>` command. This means you
cannot set the *bonds*, *angles*, etc header keywords in the data
file, nor can you define *Bonds*, *Angles*, etc sections as discussed
For :doc:`atom_style template <atom_style>`, the molecular topology
(bonds,angles,etc) is contained in the molecule templates read-in
by the :doc:`molecule <molecule>` command. This means you cannot
set the *bonds*, *angles*, etc header keywords in the data file,
nor can you define *Bonds*, *Angles*, etc sections as discussed
below. You can set the *bond types*, *angle types*, etc header
keywords, though it is not necessary. If specified, they must match
the maximum values defined in any of the template molecules.
keywords, though it is not necessary. If specified, they must
match the maximum values defined in any of the template molecules.
----------
@ -680,6 +810,19 @@ appended to it, which indicate which image of a periodic simulation
box the atom is in. These may be important to include for some kinds
of analysis.
.. note::
For orthogonal and restricted and general triclinic simulation
boxes, the atom coordinates (x,y,z) listed in this section should
be inside the corresponding simulation box. For restricted
triclinic boxes that means the parallelepiped defined by the *xlo
xhi*, *ylo yhi*, *zlo zhi*, and *xy xz yz*, keywords. For general
triclinic boxes that means the parallelepiped defined by the 3 edge
vectors and origin specified by the *avec*, *bvec*, *cvec*, and
*abc origin* header keywords. See the discussion in the header
section above about how atom coordinates outside the simulation box
are (or are not) remapped to be inside the box.
.. list-table::
* - angle
@ -690,10 +833,12 @@ of analysis.
- atom-ID atom-type bodyflag mass x y z
* - bond
- atom-ID molecule-ID atom-type x y z
* - bpm/sphere
- atom-ID molecule-ID atom-type diameter density x y z
* - charge
- atom-ID atom-type q x y z
* - dielectric
- atom-ID atom-type q x y z normx normy normz area ed em epsilon curvature
- atom-ID atom-type q x y z mux muy muz area ed em epsilon curvature
* - dipole
- atom-ID atom-type q x y z mux muy muz
* - dpd
@ -720,8 +865,6 @@ of analysis.
- atom-ID atom-type rho esph cv x y z
* - sphere
- atom-ID atom-type diameter density x y z
* - bpm/sphere
- atom-ID molecule-ID atom-type diameter density x y z
* - spin
- atom-ID atom-type x y z spx spy spz sp
* - tdpd
@ -757,24 +900,42 @@ The per-atom values have these meanings and units, listed alphabetically:
* lineflag = 1 for line segment particles, 0 for point or spherical particles
* mass = mass of particle (mass units)
* molecule-ID = integer ID of molecule the atom belongs to
* mux,muy,muz = components of dipole moment of atom (dipole units)
* mux,muy,muz = components of dipole moment of atom (dipole units) (see general triclinic note below)
* q = charge on atom (charge units)
* rho = density (need units) for SPH particles
* sp = magnitude of magnetic spin of atom (Bohr magnetons)
* spx,spy,spz = components of magnetic spin of atom (unit vector)
* spx,spy,spz = components of magnetic spin of atom (unit vector) (see general triclinic note below)
* template-atom = which atom within a template molecule the atom is
* template-index = which molecule within the molecule template the atom is part of
* theta = internal temperature of a DPD particle
* triangleflag = 1 for triangular particles, 0 for point or spherical particles
* volume = volume of Peridynamic particle (distance\^3 units)
* x,y,z = coordinates of atom (distance units)
* x0,y0,z0 = original (strain-free) coordinates of atom (distance units)
* x0,y0,z0 = original (strain-free) coordinates of atom (distance
units) (see general triclinic note below)
The units for these quantities depend on the unit style; see the
:doc:`units <units>` command for details.
For 2d simulations specify z as 0.0, or a value within the *zlo zhi*
setting in the data file header.
For 2d simulations, the atom coordinate z must be specified as 0.0.
If the data file is created by another program, then z values for a 2d
simulation can be within epsilon of 0.0, and LAMMPS will force them to
zero.
.. note::
If the data file defines a general triclinic box, then the
following per-atom values in the list above are per-atom vectors
which imply an orientation: (mux,muy,muz) and (spx,spy,spz). This
means they should be specified consistent with the general
triclinic box and its orientation relative to the standard x,y,z
coordinate axes. For example a dipole moment vector which will be
in the +x direction once LAMMPS converts from a general to
restricted triclinic box, should be specified in the data file in
the direction of the **A** edge vector. Likewise the (x0,y0,z0)
per-atom strain-free coordinates should be inside the general
triclinic simulation box as explained in the note above. See the
:doc:`Howto triclinic <Howto_triclinic>` doc page for more details.
The atom-ID is used to identify the atom throughout the simulation and
in dump files. Normally, it is a unique value from 1 to Natoms for
@ -922,9 +1083,8 @@ that use unwrapped coordinates internally are as follows:
Atom velocities and other atom quantities not defined above are set to
0.0 when the *Atoms* section is read. Velocities can be set later by
a *Velocities* section in the data file or by a
:doc:`velocity <velocity>` or :doc:`set <set>` command in the input
script.
a *Velocities* section in the data file or by a :doc:`velocity
<velocity>` or :doc:`set <set>` command in the input script.
----------
@ -963,8 +1123,9 @@ the "bodies" keyword.
Each body can have a variable number of integer and/or floating-point
values. The number and meaning of the values is defined by the body
style, as described in the :doc:`Howto body <Howto_body>` doc page. The
body style is given as an argument to the :doc:`atom_style body <atom_style>` command.
style, as described in the :doc:`Howto body <Howto_body>` doc page.
The body style is given as an argument to the :doc:`atom_style body
<atom_style>` command.
The Ninteger and Ndouble values determine how many integer and
floating-point values are specified for this particle. Ninteger and
@ -1179,10 +1340,10 @@ and a general discussion of how type labels can be used.
12 1 2 1 1 0 0 0
The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid <atom_style>` is used and any atoms are listed in the
*Atoms* section with an ellipsoidflag = 1. The number of ellipsoids
should be specified in the header section via the "ellipsoids"
keyword.
The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid
<atom_style>` is used and any atoms are listed in the *Atoms* section
with an ellipsoidflag = 1. The number of ellipsoids should be
specified in the header section via the "ellipsoids" keyword.
The 3 shape values specify the 3 diameters or aspect ratios of a
finite-size ellipsoidal particle, when it is oriented along the 3
@ -1200,6 +1361,12 @@ the quaternion that represents its new orientation is given by
LAMMPS normalizes each atom's quaternion in case (a,b,c) is not
specified as a unit vector.
If the data file defines a general triclinic box, then the quaternion
for each ellipsoid should be specified for its orientation relative to
the standard x,y,z coordinate axes. When the system is converted to a
restricted triclinic box, the ellipsoid quaternions will be altered to
reflect the new orientation of the ellipsoid.
The *Ellipsoids* section must appear after the *Atoms* section.
----------
@ -1316,13 +1483,24 @@ is used and any atoms are listed in the *Atoms* section with a
lineflag = 1. The number of lines should be specified in the header
section via the "lines" keyword.
The 2 end points are the end points of the line segment. The ordering
of the 2 points should be such that using a right-hand rule to cross
the line segment with a unit vector in the +z direction, gives an
"outward" normal vector perpendicular to the line segment.
The 2 end points are the end points of the line segment. They should
be values close to the center point of the line segment specified in
the Atoms section of the data file, even if individual end points are
outside the simulation box.
The ordering of the 2 points should be such that using a right-hand
rule to cross the line segment with a unit vector in the +z direction,
gives an "outward" normal vector perpendicular to the line segment.
I.e. normal = (c2-c1) x (0,0,1). This orientation may be important
for defining some interactions.
If the data file defines a general triclinic box, then the x1,y1 and
x2,y2 values for each line segment should be specified for its
orientation relative to the standard x,y,z coordinate axes. When the
system is converted to a restricted triclinic box, the x1,y1,x2,y2
values will be altered to reflect the new orientation of the line
segment.
The *Lines* section must appear after the *Atoms* section.
----------
@ -1444,15 +1622,27 @@ via the :doc:`pair_coeff <pair_coeff>` command in the input script.
12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0
The *Triangles* section must appear if :doc:`atom_style tri <atom_style>` is used and any atoms are listed in the *Atoms*
section with a triangleflag = 1. The number of lines should be
specified in the header section via the "triangles" keyword.
The *Triangles* section must appear if :doc:`atom_style tri
<atom_style>` is used and any atoms are listed in the *Atoms* section
with a triangleflag = 1. The number of lines should be specified in
the header section via the "triangles" keyword.
The 3 corner points are the corner points of the triangle. The
ordering of the 3 points should be such that using a right-hand rule
to go from point1 to point2 to point3 gives an "outward" normal vector
to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This
orientation may be important for defining some interactions.
The 3 corner points are the corner points of the triangle. They
should be values close to the center point of the triangle specified
in the Atoms section of the data file, even if individual corner
points are outside the simulation box.
The ordering of the 3 points should be such that using a right-hand
rule to go from point1 to point2 to point3 gives an "outward" normal
vector to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1).
This orientation may be important for defining some interactions.
If the data file defines a general triclinic box, then the x1,y1,z1
and x2,y2,z2 and x3,y3,z3 values for each triangle should be specified
for its orientation relative to the standard x,y,z coordinate axes.
When the system is converted to a restricted triclinic box, the
x1,y1,z1,x2,y2,z2,x3,y3,z3 values will be altered to reflect the new
orientation of the triangle.
The *Triangles* section must appear after the *Atoms* section.
@ -1493,6 +1683,12 @@ Vx, vy, vz, and ervel are in :doc:`units <units>` of velocity. Lx, ly,
lz are in units of angular momentum (distance-velocity-mass). Wx, Wy,
Wz are in units of angular velocity (radians/time).
If the data file defines a general triclinic box, then each of the 3
vectors (translational velocity, angular momentum, angular velocity)
should be specified for the rotated coordinate axes of the general
triclinic box. See the :doc:`Howto triclinic <Howto_triclinic>` doc
page for more details.
For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz),
specific values for each sub-style must be listed. The order of the
sub-styles is the same as they were listed in the
@ -1513,8 +1709,8 @@ fields:
atom-ID vx vy vz ervel wx wy wz
Translational velocities can also be set by the
:doc:`velocity <velocity>` command in the input script.
Translational velocities can also be (re)set by the :doc:`velocity
<velocity>` command in the input script.
----------

View File

@ -11,7 +11,7 @@ Syntax
thermo_modify keyword value ...
* one or more keyword/value pairs may be listed
* keyword = *lost* or *lost/bond* or *warn* or *norm* or *flush* or *line* or *colname* or *format* or *temp* or *press*
* keyword = *lost* or *lost/bond* or *warn* or *norm* or *flush* or *line* or *colname* or *format* or *temp* or *press* or *triclinic/general*
.. parsed-literal::
@ -32,6 +32,8 @@ Syntax
*or* a thermo keyword or reference to compute, fix, property or variable.
*temp* value = compute ID that calculates a temperature
*press* value = compute ID that calculates a pressure
*triclinic/general* arg = *yes* or *no*
Examples
""""""""
@ -240,6 +242,19 @@ command, thermo output uses a default compute for pressure with ID =
keyword, then the new pressure compute specified by the *press*
keyword will be unaffected by the *temp* setting.
The *triclinic/general* keyword can only be used with a value of *yes*
if the simulation box was created as a general triclinic box. See the
:doc:`Howto_triclinic <Howto_triclinic>` doc page for a detailed
explanation of orthogonal, restricted triclinic, and general triclinic
simulation boxes.
If this keyword is *yes*, the output of the simulation box edge
vectors and the pressure tensor components for the system are
affected. These are specified by the *avec,bvec,cvec* and
*pxx,pyy,pzz,pxy,pxz,pyz* keywords of the :doc:`thermo_style
<thermo_style>` command. See the :doc:`thermo_style <thermo_style>`
doc page for details.
Restrictions
""""""""""""
none
@ -253,8 +268,9 @@ Default
"""""""
The option defaults are lost = error, warn = 100, norm = yes for unit
style of *lj*, norm = no for unit style of *real* and *metal*,
flush = no, and temp/press = compute IDs defined by thermo_style.
style of *lj*, norm = no for unit style of *real* and *metal*, flush =
no, temp/press = compute IDs defined by thermo_style, and
triclinic/general = no.
The defaults for the line and format options depend on the thermo style.
For styles "one" and "custom", the line and format defaults are "one",

View File

@ -25,12 +25,18 @@ Syntax
evdwl, ecoul, epair, ebond, eangle, edihed, eimp,
emol, elong, etail,
enthalpy, ecouple, econserve,
vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi,
xy, xz, yz, xlat, ylat, zlat,
bonds, angles, dihedrals, impropers,
pxx, pyy, pzz, pxy, pxz, pyz,
fmax, fnorm, nbuild, ndanger,
vol, density,
xlo, xhi, ylo, yhi, zlo, zhi,
xy, xz, yz,
avecx, avecy, avecz,
bvecx, bvecy, bvecz,
cvecx, cvecy, cvecz,
lx, ly, lz,
xlat, ylat, zlat,
cella, cellb, cellc, cellalpha, cellbeta, cellgamma,
pxx, pyy, pzz, pxy, pxz, pyz,
bonds, angles, dihedrals, impropers,
fmax, fnorm, nbuild, ndanger,
c_ID, c_ID[I], c_ID[I][J],
f_ID, f_ID[I], f_ID[I][J],
v_name, v_name[I]
@ -66,18 +72,21 @@ Syntax
econserve = pe + ke + ecouple = etotal + ecouple
vol = volume
density = mass density of system
lx,ly,lz = box lengths in x,y,z
xlo,xhi,ylo,yhi,zlo,zhi = box boundaries
xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes
xy,xz,yz = box tilt for restricted triclinic (non-orthogonal) simulation boxes
avecx,avecy,avecz = components of edge vector A of the simulation box
bvecx,bvecy,bvecz = components of edge vector B of the simulation box
cvecx,cvecy,cvecz = components of edge vector C of the simulation box
lx,ly,lz = box lengths in x,y,z
xlat,ylat,zlat = lattice spacings as calculated by :doc:`lattice <lattice>` command
bonds,angles,dihedrals,impropers = # of these interactions defined
cella,cellb,cellc = periodic cell lattice constants a,b,c
cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma
pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor
bonds,angles,dihedrals,impropers = # of these interactions defined
fmax = max component of force on any atom in any dimension
fnorm = length of force vector for all atoms
nbuild = # of neighbor list builds
ndanger = # of dangerous neighbor list builds
cella,cellb,cellc = periodic cell lattice constants a,b,c
cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma
c_ID = global scalar value calculated by a compute with ID
c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below)
c_ID[I][J] = I,J component of global array calculated by a compute with ID
@ -102,8 +111,11 @@ Examples
Description
"""""""""""
Set the style and content for printing thermodynamic data to the screen
and log files.
Set the style and content for printing thermodynamic data to the
screen and log files. The units for each column of output
corresponding to the list of keywords is determined by the :doc:`units
<units>` command for the simulation. E.g. energies will be in energy
units, temperature in temperature units, pressure in pressure units.
Style *one* prints a single line of thermodynamic info that is the
equivalent of "thermo_style custom step temp epair emol etotal press".
@ -245,7 +257,7 @@ and *pxx*, *pyy*, etc.
----------
Here is more information on other keywords whose meaning may not be
clear:
clear.
The *step*, *elapsed*, and *elaplong* keywords refer to timestep
count. *Step* is the current timestep, or iteration count when a
@ -319,6 +331,63 @@ thermostatting or barostatting to their coupling reservoirs -- that is,
the NVT, NPH, or NPT ensembles, the *econserve* quantity should remain
constant over time even though *etotal* may change.
In LAMMPS, the simulation box can be defined as orthogonal or
triclinic (non-orthogonal). See the :doc:`Howto_triclinic
<Howto_triclinic>` doc page for a detailed explanation of orthogonal,
restricted triclinic, and general triclinic simulation boxes and how
LAMMPS rotates a general triclinic box to be restricted triclinic
internally.
The *lx*, *ly*, *lz* keywords are the extent of the simulation box in
each dimension. The *xlo*, *xhi*, *ylo*, *yhi*, *zlo*, *zhi* keywords
are the lower and upper bounds of the simulation box in each dimension.
I.e. *lx* = *xhi* - *xlo*). These 9 values are the same for all 3 kinds
of boxes. I.e. for a restricted triclinic box, they are the values as
if the box were not tilted. For a general triclinic box, they are the
values after it is internally rotated to be a restricted triclinic box.
The *xy*, *xz*, *yz* are the current tilt factors for a triclinic box.
They are the same for restricted and general triclinic boxes.
The *avecx*, *avecy*, *avecz*, *bvecx*, *bvecy*, *bvecz*, *cvecx*,
*cvecy*, *cvecz* are the components of the 3 edge vectors of the
current general simulation box. If it is an orthogonal box the
vectors are along the x, y, z coordinate axes. If it is a restricted
triclinic box, the **A** vector is along the x axis, the **B** vector
is in the xy plane with a +y coordinate, and the **C** vector has a +z
coordinate, as explained on the :doc:`Howto_triclinic
<Howto_triclinic>` doc page. If the :doc:`thermo_modify
triclinic/general <thermo_modify>` option is set then they are the
**A**, **B**, **C** vector which define the general triclinic box.
The *cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma*
keywords correspond to the usual crystallographic quantities that
define the periodic simulation box of a crystalline system. See the
:doc:`Howto triclinic <Howto_triclinic>` page for a precise definition
of these quantities in terms of the LAMMPS representation of a
restricted triclinic simulation box via *lx*, *ly*, *lz*, *yz*, *xz*,
*xy*\ .
The *pxx,pyy,pzz,pxy,pxz,pyz* keywords are the 6 components of the
symmetric pressure tensor for the system. See the :doc:`compute
pressure <compute_pressure>` command doc page for details of how it is
calculated.
If the :doc:`thermo_modify triclinic/general <thermo_modify>` option
is set then the 6 components will be output as values consistent with
the orientation of the general triclinic box relative to the standard
xyz coordinate axes. If this keyword is not used, the values will be
consistent with the orientation of the restricted triclinic box (which
aligns with the xyz coordinate axes). As explained on the
:doc:`Howto_triclinic <Howto_triclinic>` doc page, even if the
simulation box is created as a general triclinic box, internally
LAMMPS uses a restricted triclinic box.
Note that because the pressure tensor components are computed using
force vectors and atom coordinates, both of which are rotated in the
general versus restricted triclinic representation, the values will
typically be different for the two cases.
The *fmax* and *fnorm* keywords are useful for monitoring the progress
of an :doc:`energy minimization <minimize>`. The *fmax* keyword
calculates the maximum force in any dimension on any atom in the
@ -338,14 +407,6 @@ to reduce the delay factor to ensure no force interactions are missed
by atoms moving beyond the neighbor skin distance before a rebuild
takes place.
The keywords *cella*, *cellb*, *cellc*, *cellalpha*,
*cellbeta*, *cellgamma*, correspond to the usual crystallographic
quantities that define the periodic unit cell of a crystal. See the
:doc:`Howto triclinic <Howto_triclinic>` page for a geometric
description of triclinic periodic cells, including a precise
definition of these quantities in terms of the internal LAMMPS cell
dimensions *lx*, *ly*, *lz*, *yz*, *xz*, *xy*\ .
----------
For output values from a compute or fix or variable, the bracketed

View File

@ -19,6 +19,7 @@ Syntax
*nocoeff* = do not write out force field info
*nofix* = do not write out extra sections read by fixes
*nolabelmap* = do not write out type labels
*triclinic/general = write data file in general triclinic format
*types* value = *numeric* or *labels*
*pair* value = *ii* or *ij*
*ii* = write one line of pair coefficient info per atom type
@ -31,6 +32,7 @@ Examples
write_data data.polymer
write_data data.*
write_data data.solid triclinic/general
Description
"""""""""""
@ -85,10 +87,11 @@ using the :doc:`-r command-line switch <Run_options>`.
:doc:`fixes <fix>` are stored. :doc:`Binary restart files <read_restart>`
store more information.
Bond interactions (angle, etc) that have been turned off by the :doc:`fix shake <fix_shake>` or :doc:`delete_bonds <delete_bonds>` command will
be written to a data file as if they are turned on. This means they
will need to be turned off again in a new run after the data file is
read.
Bond interactions (angle, etc) that have been turned off by the
:doc:`fix shake <fix_shake>` or :doc:`delete_bonds <delete_bonds>`
command will be written to a data file as if they are turned on. This
means they will need to be turned off again in a new run after the
data file is read.
Bonds that are broken (e.g. by a bond-breaking potential) are not
written to the data file. Thus these bonds will not exist when the
@ -122,6 +125,23 @@ not written to the data file. By default, they are written if they
exist. A type label must be defined for every numeric type (within a
given type-kind) to be written to the data file.
Use of the *triclinic/general* keyword will output a data file which
specifies a general triclinic simulation box as well as per-atom
quantities consistent with the general triclinic box. The latter means
that per-atom vectors, such as velocities and dipole moments will be
oriented consistent with the 3d rotation implied by the general
triclinic box (relative to the associated restricted triclinic box).
This option can only be requested if the simulation box was initially
defined to be general triclinic. If if was and the
*triclinic/general* keyword is not used, then the data file will
specify a restricted triclinic box, since that is the internal format
LAMMPS uses for both general and restricted triclinic simulations.
See the :doc:`Howto triclinic <Howto_triclinic>` doc page for more
explanation of how general triclinic simulation boxes are supported by
LAMMPS. And see the :doc:`read_data <read_data>` doc page for details
of how the format is altered for general triclinic data files.
The *types* keyword determines how atom types, bond types, angle
types, etc are written into these data file sections: Atoms, Bonds,
Angles, etc. The default is the *numeric* setting, even if type label

View File

@ -55,21 +55,22 @@ alter the number of files written.
Restart files can be read by a :doc:`read_restart <read_restart>`
command to restart a simulation from a particular state. Because the
file is binary (to enable exact restarts), it may not be readable on
another machine. In this case, you can use the :doc:`-r command-line switch <Run_options>` to convert a restart file to a data file.
another machine. In this case, you can use the :doc:`-r command-line
switch <Run_options>` to convert a restart file to a data file.
.. note::
Although the purpose of restart files is to enable restarting a
simulation from where it left off, not all information about a
simulation is stored in the file. For example, the list of fixes that
were specified during the initial run is not stored, which means the
new input script must specify any fixes you want to use. Even when
restart information is stored in the file, as it is for some fixes,
commands may need to be re-specified in the new input script, in order
to re-use that information. Details are usually given in the
documentation of the respective command. Also, see the
:doc:`read_restart <read_restart>` command for general information about
what is stored in a restart file.
simulation is stored in the file. For example, the list of fixes
that were specified during the initial run is not stored, which
means the new input script must specify any fixes you want to use.
Even when restart information is stored in the file, as it is for
some fixes, commands may need to be re-specified in the new input
script, in order to re-use that information. Details are usually
given in the documentation of the respective command. Also, see the
:doc:`read_restart <read_restart>` command for general information
about what is stored in a restart file.
----------

View File

@ -1,4 +1,4 @@
Sphinx >= 5.3.0, <8.0
Sphinx >= 5.3.0, <7.3
sphinxcontrib-spelling
sphinxcontrib-jquery
git+https://github.com/akohlmey/sphinx-fortran@parallel-read

View File

@ -50,6 +50,7 @@ agilio
Agilio
agni
Agnolin
ahi
Ahrens
Ai
Aidan
@ -86,6 +87,7 @@ allocator
allocators
allosws
AlO
alo
Alonso
Alperen
alphak
@ -187,6 +189,10 @@ automagically
Auvergne
Avalos
avalue
avec
avecx
avecy
avecz
aveforce
Avendano
Averett
@ -194,11 +200,14 @@ avi
AVX
awpmd
AWPMD
ax
Axel
Axilrod
Ay
ay
Ayton
Az
az
Azevedo
azimuthal
Azuri
@ -271,6 +280,7 @@ Bext
Bfrac
bgq
Bh
bhi
Bialke
biaxial
bicrystal
@ -307,6 +317,7 @@ Bkappa
blabel
Blaise
blanchedalmond
blo
blocksize
blueviolet
bn
@ -387,6 +398,10 @@ burlywood
Bussi
Buturigakkwaishi
Buyl
bvec
bvecx
bvecy
bvecz
Bybee
bz
Cadarache
@ -649,14 +664,21 @@ cv
Cv
Cval
cvar
cvec
cvecx
cvecy
cvecz
cvff
cwiggle
cx
cy
cygwin
Cygwin
cylindrically
Cyrot
cyrstals
cython
cz
Daivis
Dammak
dampflag
@ -2691,6 +2713,9 @@ organometallic
orientational
orientationsFile
orientorder
originx
originy
originz
Orlikowski
ornl
Ornstein
@ -2734,6 +2759,7 @@ papayawhip
paquay
Paquay
parallelepiped
parallelepipeds
Parallelizable
parallelization
parallelized

View File

@ -68,7 +68,7 @@ variable Lx1 equal round(${Lx}/${aWall})*${aWall}
#create simulation box
variable lx2 equal ${Lx1}/2
variable ly2 equal ${Ly1}/2
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
create_box 2 simbox
#####################################################################

View File

@ -0,0 +1,941 @@
LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
#LAMMPS input script
#in.GD
#see README for details
###############################################################################
#initialize variables
clear
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
#frequency for outputting info (timesteps)
variable dump_rate equal 50
variable thermo_rate equal 10
#equilibration time (timesteps)
variable equil equal 1000
#stabilization time (timesteps to reach steady-state)
variable stabil equal 1000
#data collection time (timesteps)
variable run equal 2000
#length of pipe
variable L equal 30
#width of pipe
variable d equal 20
#flux (mass/sigma*tau)
variable J equal 0.1
#simulation box dimensions
variable Lx equal 100
variable Ly equal 40
#bulk fluid density
variable dens equal 0.8
#lattice spacing for wall atoms
variable aWall equal 1.0 #1.7472
#timestep
variable ts equal 0.001
#temperature
variable T equal 2.0
#thermostat damping constant
variable tdamp equal ${ts}*100
variable tdamp equal 0.001*100
units lj
dimension 2
atom_style atomic
###############################################################################
#create box
#create lattice with the spacing aWall
variable rhoWall equal ${aWall}^(-2)
variable rhoWall equal 1^(-2)
lattice sq ${rhoWall}
lattice sq 1
Lattice spacing in x,y,z = 1 1 1
#modify input dimensions to be multiples of aWall
variable L1 equal round($L/${aWall})*${aWall}
variable L1 equal round(30/${aWall})*${aWall}
variable L1 equal round(30/1)*${aWall}
variable L1 equal round(30/1)*1
variable d1 equal round($d/${aWall})*${aWall}
variable d1 equal round(20/${aWall})*${aWall}
variable d1 equal round(20/1)*${aWall}
variable d1 equal round(20/1)*1
variable Ly1 equal round(${Ly}/${aWall})*${aWall}
variable Ly1 equal round(40/${aWall})*${aWall}
variable Ly1 equal round(40/1)*${aWall}
variable Ly1 equal round(40/1)*1
variable Lx1 equal round(${Lx}/${aWall})*${aWall}
variable Lx1 equal round(100/${aWall})*${aWall}
variable Lx1 equal round(100/1)*${aWall}
variable Lx1 equal round(100/1)*1
#create simulation box
variable lx2 equal ${Lx1}/2
variable lx2 equal 100/2
variable ly2 equal ${Ly1}/2
variable ly2 equal 40/2
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
region simbox block -50 ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
region simbox block -50 50 -${ly2} ${ly2} -0.1 0.1 units box
region simbox block -50 50 -20 ${ly2} -0.1 0.1 units box
region simbox block -50 50 -20 20 -0.1 0.1 units box
create_box 2 simbox
Created orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
1 by 1 by 1 MPI processor grid
#####################################################################
#set up potential
mass 1 1.0 #fluid atoms
mass 2 1.0 #wall atoms
pair_style lj/cut 2.5
pair_modify shift yes
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 1.12246
pair_coeff 2 2 0.0 0.0
neigh_modify exclude type 2 2
timestep ${ts}
timestep 0.001
#####################################################################
#create atoms
#create wall atoms everywhere
create_atoms 2 box
Created 4000 atoms
using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
create_atoms CPU = 0.002 seconds
#define region which is "walled off"
variable dhalf equal ${d1}/2
variable dhalf equal 20/2
variable Lhalf equal ${L1}/2
variable Lhalf equal 30/2
region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 15 10 EDGE -0.1 0.1 units box
region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 15 EDGE -10 -0.1 0.1 units box
region outsidewall union 2 walltop wallbot side out
#remove wall atoms outside wall region
group outside region outsidewall
3349 atoms in group outside
delete_atoms group outside
Deleted 3349 atoms, new total = 651
#remove wall atoms that aren't on edge of wall region
variable x1 equal ${Lhalf}-${aWall}
variable x1 equal 15-${aWall}
variable x1 equal 15-1
variable y1 equal ${dhalf}+${aWall}
variable y1 equal 10+${aWall}
variable y1 equal 10+1
region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 14 11 EDGE -0.1 0.1 units box
region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 14 EDGE -11 -0.1 0.1 units box
region insideWall union 2 insideTop insideBot
group insideWall region insideWall
551 atoms in group insideWall
delete_atoms group insideWall
Deleted 551 atoms, new total = 100
#define new lattice, to give correct fluid density
#y lattice const must be a multiple of aWall
variable atrue equal ${dens}^(-1/2)
variable atrue equal 0.8^(-1/2)
variable ay equal round(${atrue}/${aWall})*${aWall}
variable ay equal round(1.11803398874989/${aWall})*${aWall}
variable ay equal round(1.11803398874989/1)*${aWall}
variable ay equal round(1.11803398874989/1)*1
#choose x lattice const to give correct density
variable ax equal (${ay}*${dens})^(-1)
variable ax equal (1*${dens})^(-1)
variable ax equal (1*0.8)^(-1)
#change Lx to be multiple of ax
variable Lx1 equal round(${Lx}/${ax})*${ax}
variable Lx1 equal round(100/${ax})*${ax}
variable Lx1 equal round(100/1.25)*${ax}
variable Lx1 equal round(100/1.25)*1.25
variable lx2 equal ${Lx1}/2
variable lx2 equal 100/2
change_box all x final -${lx2} ${lx2} units box
change_box all x final -50 ${lx2} units box
change_box all x final -50 50 units box
Changing box ...
orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
#define new lattice
lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
Lattice spacing in x,y,z = 1.25 1 1
#fill in rest of box with bulk particles
variable delta equal 0.001
variable Ldelt equal ${Lhalf}+${delta}
variable Ldelt equal 15+${delta}
variable Ldelt equal 15+0.001
variable dDelt equal ${dhalf}-${delta}
variable dDelt equal 10-${delta}
variable dDelt equal 10-0.001
region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box
region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box
region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box
region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box
region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box
region bulk union 3 left pipe right
create_atoms 1 region bulk
Created 2675 atoms
using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
create_atoms CPU = 0.002 seconds
group bulk type 1
2675 atoms in group bulk
group wall type 2
100 atoms in group wall
#remove atoms that are too close to wall
delete_atoms overlap 0.9 bulk wall
System init for delete_atoms ...
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 72 29 1
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command delete_atoms, occasional
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Deleted 0 atoms, new total = 2775
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude group wall wall
velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom
velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom
#####################################################################
#set up PUT
#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172
#average number of particles per box, Evans and Morriss used 2.0
variable NperBox equal 8.0
#calculate box sizes
variable boxSide equal sqrt(${NperBox}/${dens})
variable boxSide equal sqrt(8/${dens})
variable boxSide equal sqrt(8/0.8)
variable nX equal round(lx/${boxSide})
variable nX equal round(lx/3.16227766016838)
variable nY equal round(ly/${boxSide})
variable nY equal round(ly/3.16227766016838)
variable dX equal lx/${nX}
variable dX equal lx/32
variable dY equal ly/${nY}
variable dY equal ly/13
#temperature of fluid (excluding wall)
compute myT bulk temp
#profile-unbiased temperature of fluid
compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY}
compute myTp bulk temp/profile 1 1 0 xy 32 ${nY}
compute myTp bulk temp/profile 1 1 0 xy 32 13
#thermo setup
thermo ${thermo_rate}
thermo 10
thermo_style custom step c_myT c_myTp etotal press
#dump initial configuration
# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz
# dump 56 wall custom 1 wall.init.lammpstrj id type x y z
# dump_modify 55 sort id
# dump_modify 56 sort id
run 0
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 72 29 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.104 | 3.104 | 3.104 Mbytes
Step c_myT c_myTp TotEng Press
0 2 2.054601 0.77892922 7.3417096
Loop time of 6.85e-07 on 1 procs for 0 steps with 2775 atoms
146.0% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 6.85e-07 | | |100.00
Nlocal: 2775 ave 2775 max 2775 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 510 ave 510 max 510 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 26406 ave 26406 max 26406 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 26406
Ave neighs/atom = 9.5156757
Neighbor list builds = 0
Dangerous builds = 0
# undump 55
# undump 56
#####################################################################
#equilibrate without GD
fix nvt bulk nvt temp $T $T ${tdamp}
fix nvt bulk nvt temp 2 $T ${tdamp}
fix nvt bulk nvt temp 2 2 ${tdamp}
fix nvt bulk nvt temp 2 2 0.1
fix_modify nvt temp myTp
WARNING: Temperature for fix modify is not for group all (src/fix_nh.cpp:1391)
fix 2 bulk enforce2d
run ${equil}
run 1000
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes
Step c_myT c_myTp TotEng Press
0 2 2.054601 0.77892922 7.3417096
10 1.9173668 1.9381538 0.77877698 7.6702283
20 1.7033651 1.6967466 0.7798044 8.5615039
30 1.5026644 1.4718046 0.78461914 9.4308883
40 1.4881235 1.4586031 0.79494919 9.6135307
50 1.6193439 1.6144665 0.81119835 9.2594114
60 1.7405127 1.7576881 0.82966956 8.9525458
70 1.7758506 1.7999706 0.84538866 8.9719793
80 1.7574736 1.7806782 0.85780732 9.1938511
90 1.7492232 1.7720284 0.86895259 9.3714617
100 1.7800292 1.807315 0.88044504 9.3874107
110 1.8442295 1.878681 0.89278276 9.2585436
120 1.9193695 1.9667163 0.90556381 9.0683654
130 1.9885753 2.0478097 0.91782871 8.8815507
140 2.04662 2.1105827 0.92850319 8.718882
150 2.0957046 2.1672706 0.93677238 8.5718869
160 2.144595 2.2210801 0.94188484 8.4089161
170 2.1802133 2.2626399 0.9429713 8.2775682
180 2.1868284 2.2696504 0.93931537 8.2321283
190 2.1838369 2.2706873 0.93069783 8.1970105
200 2.1943436 2.2865542 0.91717737 8.0854148
210 2.2029439 2.2912731 0.89906796 7.9589187
220 2.1891494 2.2768232 0.87764254 7.9016509
230 2.1677848 2.2493747 0.85497463 7.8690125
240 2.156695 2.2377486 0.83255207 7.8020978
250 2.142758 2.2237662 0.81090722 7.7510242
260 2.1177881 2.1967699 0.79016944 7.7477503
270 2.0862408 2.1669583 0.77040874 7.7740216
280 2.0676515 2.1446262 0.75157955 7.7544068
290 2.0645498 2.1425534 0.73343008 7.6746729
300 2.0563664 2.1358776 0.71562279 7.6114783
310 2.0390115 2.1198472 0.69809211 7.581719
320 2.0209035 2.1063385 0.68093855 7.5540946
330 2.012488 2.1037583 0.66418283 7.4896097
340 2.0166095 2.1094212 0.64762479 7.3779677
350 2.0172861 2.1072653 0.63109595 7.2807114
360 2.0065768 2.0803788 0.6147802 7.2283814
370 1.9970858 2.0639903 0.59905362 7.1747592
380 1.9925189 2.056563 0.58395055 7.103506
390 1.9935388 2.0546596 0.56945318 7.010305
400 2.0020199 2.0632095 0.55532013 6.8883647
410 2.009157 2.0732883 0.54128082 6.771521
420 2.0081687 2.0785184 0.52711525 6.6868076
430 1.9990498 2.0705469 0.51283203 6.6343482
440 1.9891528 2.0586814 0.4986104 6.5888679
450 1.9829175 2.0465778 0.4846738 6.5332233
460 1.9745599 2.031067 0.4711878 6.4903915
470 1.9581101 2.006674 0.45837961 6.4836654
480 1.9367964 1.9732882 0.44656667 6.501731
490 1.9258333 1.9561395 0.43605676 6.4879447
500 1.9287 1.9571319 0.42678362 6.4296036
510 1.9274696 1.9569118 0.41856553 6.3949919
520 1.9100149 1.9392424 0.41134511 6.4307452
530 1.8827127 1.9059412 0.40536565 6.5126603
540 1.8660696 1.8912024 0.40096324 6.5610607
550 1.8701883 1.9043254 0.3982457 6.536251
560 1.8842923 1.9289528 0.39698123 6.4785367
570 1.8906147 1.9462124 0.39684504 6.4547374
580 1.8895472 1.9472747 0.39763233 6.4630103
590 1.895375 1.9551336 0.39926725 6.449517
600 1.9115711 1.9737109 0.40163655 6.3995241
610 1.92823 1.9851787 0.404506 6.3499339
620 1.9360678 1.9889572 0.40767569 6.3367514
630 1.9346853 1.9836719 0.41105958 6.3637995
640 1.9266095 1.9757908 0.41472954 6.4212842
650 1.9213863 1.9719496 0.41879537 6.4707692
660 1.922962 1.9702923 0.42332926 6.4949933
670 1.9238956 1.9707534 0.42836303 6.5212631
680 1.9212675 1.9740379 0.43388709 6.5608915
690 1.9210314 1.976311 0.43982007 6.5904702
700 1.928081 1.9868449 0.44610463 6.5915021
710 1.9428895 2.0044235 0.45257857 6.5616141
720 1.9554783 2.0176139 0.45898384 6.5367529
730 1.969838 2.0327907 0.46505662 6.5017635
740 1.9840204 2.0467126 0.47058703 6.4649226
750 1.9946633 2.0526929 0.47535832 6.4399342
760 2.0018048 2.0535606 0.47924291 6.4280737
770 1.9991703 2.0483426 0.48222842 6.4537535
780 1.9850797 2.0312444 0.48443072 6.5234271
790 1.9691589 2.0154006 0.4861158 6.5995894
800 1.9612641 2.0031407 0.48754831 6.6430968
810 1.9637155 2.0074142 0.48891261 6.6444644
820 1.9691691 2.0110229 0.49018604 6.6304512
830 1.9763962 2.0190998 0.49130448 6.6060594
840 1.9908278 2.0352615 0.49213189 6.5510683
850 2.0105715 2.0558403 0.49238435 6.4743276
860 2.0227982 2.0645732 0.49173076 6.4260863
870 2.015555 2.064081 0.48998228 6.4528588
880 1.9889672 2.0320831 0.48722022 6.5532269
890 1.9632172 2.0025881 0.48392295 6.6494723
900 1.9527429 1.9887196 0.48054642 6.6846937
910 1.9567815 1.9953408 0.47726539 6.6606541
920 1.9666996 2.0084955 0.47397593 6.6100666
930 1.9702885 2.014774 0.47048741 6.5805871
940 1.9661802 2.0116846 0.46671831 6.579539
950 1.9576953 1.9960728 0.46273983 6.5967841
960 1.9428073 1.9802284 0.45879028 6.6395002
970 1.9256011 1.9584581 0.45515059 6.6916425
980 1.913512 1.9478848 0.45214528 6.7233279
990 1.9174938 1.9449699 0.44994026 6.6943867
1000 1.9365527 1.9663901 0.44852349 6.6101761
Loop time of 0.324261 on 1 procs for 1000 steps with 2775 atoms
Performance: 266452.077 tau/day, 3083.936 timesteps/s, 8.558 Matom-step/s
99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.19361 | 0.19361 | 0.19361 | 0.0 | 59.71
Neigh | 0.025544 | 0.025544 | 0.025544 | 0.0 | 7.88
Comm | 0.0023292 | 0.0023292 | 0.0023292 | 0.0 | 0.72
Output | 0.0046269 | 0.0046269 | 0.0046269 | 0.0 | 1.43
Modify | 0.092779 | 0.092779 | 0.092779 | 0.0 | 28.61
Other | | 0.005374 | | | 1.66
Nlocal: 2775 ave 2775 max 2775 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 527 ave 527 max 527 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 24332 ave 24332 max 24332 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 24332
Ave neighs/atom = 8.7682883
Neighbor list builds = 38
Dangerous builds = 0
#####################################################################
#initialize the COM velocity and run to achieve steady-state
#calculate velocity to add: V=J/rho_total
variable Vadd equal $J*lx*ly/count(bulk)
variable Vadd equal 0.1*lx*ly/count(bulk)
#first remove any COM velocity, then add back the streaming velocity
velocity bulk zero linear
velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no
velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no
fix GD bulk flow/gauss 1 0 0 #energy yes
#fix_modify GD energy yes
run ${stabil}
run 1000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Gaussian dynamics package: doi:10.1021/acs.jpcb.6b09387
@Article{strong_water_2017,
title = {The Dynamics of Water in Porous Two-Dimensional Crystals},
volume = {121},
number = {1},
url = {https://doi.org/10.1021/acs.jpcb.6b09387},
doi = {10.1021/acs.jpcb.6b09387},
urldate = {2016-12-07},
journal = {J.~Phys.\ Chem.~B},
author = {Strong, Steven E. and Eaves, Joel D.},
year = {2017},
pages = {189--207}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes
Step c_myT c_myTp TotEng Press
1000 1.9477212 1.9663901 0.45928547 6.6176422
1010 1.9617328 1.9828061 0.45840963 6.555968
1020 1.9570976 1.9825696 0.45782895 6.5690613
1030 1.9356292 1.9690101 0.45753984 6.6493822
1040 1.9174914 1.9448868 0.4577768 6.7171474
1050 1.9202482 1.9432766 0.4588733 6.7039634
1060 1.9419998 1.9718217 0.46086407 6.617366
1070 1.9666048 1.996346 0.46339522 6.5207175
1080 1.9775489 2.0078489 0.46608862 6.4794239
1090 1.9725172 2.0005028 0.46876174 6.5044299
1100 1.9659582 1.9931537 0.47147394 6.5409107
1110 1.9670607 1.9965504 0.47432892 6.5527414
1120 1.9716302 1.9984924 0.47732198 6.5530022
1130 1.9752703 2.0057031 0.48043914 6.5579379
1140 1.976368 2.0061152 0.48358744 6.5719123
1150 1.9748014 2.0056689 0.48673155 6.5957896
1160 1.9729115 2.0036854 0.48986563 6.6200102
1170 1.9702742 2.0016461 0.49302426 6.6455948
1180 1.9680418 1.9978705 0.49625385 6.6697165
1190 1.9640159 1.9937501 0.49962311 6.7004634
1200 1.9616719 1.9932085 0.50320747 6.7253219
1210 1.9658831 1.9985624 0.50702861 6.7242078
1220 1.9790884 2.0132679 0.51100573 6.688483
1230 1.9946749 2.0324782 0.51491484 6.6422423
1240 2.0039182 2.0484588 0.5184382 6.6190292
1250 2.0033685 2.0545791 0.52130299 6.6322608
1260 1.9991533 2.0533011 0.52339221 6.6590872
1270 1.9969511 2.0571182 0.5246505 6.6789676
1280 1.9911353 2.0488281 0.52501304 6.7125634
1290 1.9712819 2.0209437 0.52460315 6.7967237
1300 1.9486195 1.9967749 0.5238106 6.886265
1310 1.951612 2.0051749 0.52294383 6.8723332
1320 1.9800953 2.0397207 0.52186525 6.7537937
1330 2.0084961 2.0723584 0.52001894 6.6279995
1340 2.021654 2.085105 0.51675149 6.554461
1350 2.0193685 2.0672662 0.5117514 6.5349176
1360 2.0084017 2.0471065 0.50518646 6.5453141
1370 1.994978 2.030683 0.49737164 6.5627932
1380 1.9781978 2.0044236 0.48871071 6.5903683
1390 1.9572368 1.9833426 0.47978207 6.6326472
1400 1.9400481 1.956474 0.47117436 6.6600696
1410 1.9380218 1.9552501 0.46336325 6.6314231
1420 1.9494747 1.9681145 0.45642218 6.5527615
1430 1.9610978 1.9824506 0.4501938 6.4763851
1440 1.9639503 1.9890985 0.44452289 6.4375535
1450 1.9560428 1.9821594 0.43936988 6.4453654
1460 1.9399344 1.9627639 0.43486138 6.488055
1470 1.9247229 1.9440629 0.43123378 6.5292381
1480 1.9213375 1.9369273 0.42866841 6.5271097
1490 1.9265729 1.9383637 0.42719968 6.4940959
1500 1.930987 1.9416689 0.4267225 6.4673585
1510 1.9303444 1.9418498 0.42714462 6.4648027
1520 1.9258423 1.940384 0.42844066 6.4834098
1530 1.9131202 1.9296653 0.4306338 6.5390881
1540 1.8990016 1.9101025 0.43386405 6.6052091
1550 1.9012878 1.9120047 0.43834036 6.6147792
1560 1.9153287 1.9388751 0.44404054 6.5851781
1570 1.9266928 1.9596147 0.45057056 6.5705776
1580 1.9358289 1.9745564 0.45744022 6.5674622
1590 1.9415248 1.9818707 0.46425451 6.5778534
1600 1.9466876 1.98498 0.47075833 6.5878483
1610 1.9557175 1.9930268 0.47674103 6.5777205
1620 1.9712902 2.0112337 0.48200984 6.5367922
1630 1.9900646 2.0303946 0.48631888 6.4790095
1640 1.9960901 2.039173 0.48947508 6.4661574
1650 1.9879046 2.0329046 0.49151173 6.504063
1660 1.9832967 2.0325843 0.49266284 6.5255647
1670 1.9875656 2.034783 0.49313513 6.5093662
1680 1.9967654 2.0492931 0.49299896 6.4699787
1690 2.0025957 2.0532539 0.49216931 6.4389613
1700 2.0022202 2.0424508 0.49070612 6.4276702
1710 2.0083188 2.0437945 0.48879489 6.3909243
1720 2.0178792 2.0439212 0.48646135 6.3411063
1730 2.0210944 2.0444299 0.48367905 6.3141106
1740 2.0170566 2.0337564 0.48044951 6.3158785
1750 2.0099049 2.0231598 0.47693196 6.3313851
1760 1.9990395 2.0132651 0.47329842 6.3631889
1770 1.9823237 1.9969291 0.46970233 6.4208124
1780 1.9640169 1.9798655 0.4663519 6.4879798
1790 1.9457657 1.9626633 0.46348315 6.557165
1800 1.9253222 1.9443136 0.46134123 6.6365286
1810 1.9123385 1.9339816 0.46011796 6.6879846
1820 1.9098744 1.9287702 0.45993599 6.7001355
1830 1.9096278 1.9220243 0.460898 6.7020982
1840 1.9223081 1.9378963 0.46303724 6.6558132
1850 1.9481113 1.9718786 0.46616351 6.5618175
1860 1.9704143 1.9931969 0.46987208 6.484088
1870 1.9864974 2.017655 0.47377416 6.4360445
1880 1.993165 2.0276398 0.47750238 6.4296162
1890 1.9852177 2.0249022 0.48088382 6.4843765
1900 1.9692398 2.0101062 0.4839255 6.5735477
1910 1.9516968 1.9893586 0.48689095 6.6692995
1920 1.9380452 1.9750949 0.49014596 6.7488323
1930 1.9323223 1.9719977 0.49399992 6.7947629
1940 1.9402144 1.9786701 0.49859677 6.7846787
1950 1.9589972 1.9956447 0.50392573 6.7291499
1960 1.979631 2.0201087 0.50984934 6.6648708
1970 2.0002749 2.0392081 0.51605302 6.6026647
1980 2.0143746 2.0524405 0.52221277 6.5687042
1990 2.0166553 2.0466885 0.5281276 6.5835144
2000 2.0130617 2.0424179 0.53381506 6.6234083
Loop time of 0.33442 on 1 procs for 1000 steps with 2775 atoms
Performance: 258357.633 tau/day, 2990.250 timesteps/s, 8.298 Matom-step/s
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.19616 | 0.19616 | 0.19616 | 0.0 | 58.66
Neigh | 0.023799 | 0.023799 | 0.023799 | 0.0 | 7.12
Comm | 0.0022819 | 0.0022819 | 0.0022819 | 0.0 | 0.68
Output | 0.0046967 | 0.0046967 | 0.0046967 | 0.0 | 1.40
Modify | 0.10212 | 0.10212 | 0.10212 | 0.0 | 30.54
Other | | 0.005366 | | | 1.60
Nlocal: 2775 ave 2775 max 2775 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 530 ave 530 max 530 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 24370 ave 24370 max 24370 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 24370
Ave neighs/atom = 8.781982
Neighbor list builds = 35
Dangerous builds = 0
#####################################################################
#collect data
#print the applied force and total flux to ensure conservation of Jx
variable Fapp equal f_GD[1]
compute vxBulk bulk reduce sum vx
compute vyBulk bulk reduce sum vy
variable invVol equal 1.0/(lx*ly)
variable jx equal c_vxBulk*${invVol}
variable jx equal c_vxBulk*0.00025
variable jy equal c_vyBulk*${invVol}
variable jy equal c_vyBulk*0.00025
variable curr_step equal step
variable p_Fapp format Fapp %.3f
variable p_jx format jx %.5g
variable p_jy format jy %.5g
fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
#compute IK1 pressure profile
#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627
#use profile-unbiased temperature to remove the streaming velocity
#from the kinetic part of the pressure
compute spa bulk stress/atom myTp
#for the pressure profile, use the same grid as the PUT
compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box
compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box
#output pressure profile and other profiles
#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where
#V is the volume of a slice
fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
#compute velocity profile across the pipe with a finer grid
variable dYnew equal ${dY}/10
variable dYnew equal 3.07692307692308/10
compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe
compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe
fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite
fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite
#full trajectory
# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z
# dump_modify 7 sort id
run ${run}
run 2000
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 5.175 | 5.175 | 5.175 Mbytes
Step c_myT c_myTp TotEng Press
2000 2.0130617 2.0424179 0.53381506 6.6234083
2010 2.011712 2.0399428 0.53937165 6.6546944
2020 2.0177252 2.0516588 0.54483848 6.6575988
2030 2.0192267 2.054258 0.55012466 6.6761208
2040 2.0155308 2.0513866 0.55518707 6.7132509
2050 2.016831 2.0539288 0.56007247 6.7306192
2060 2.0213378 2.0690043 0.56479732 6.7330132
2070 2.0292987 2.0799825 0.56913353 6.7186216
2080 2.0342188 2.0900923 0.57283821 6.7098434
2090 2.0376411 2.096351 0.57566175 6.6998818
2100 2.053128 2.1238481 0.57727694 6.637431
2110 2.0783941 2.1609599 0.5768993 6.5304031
2120 2.0887269 2.1760645 0.57341638 6.4706853
2130 2.06944 2.1522354 0.5659988 6.5099284
2140 2.0380605 2.115767 0.55466476 6.5802578
2150 2.0195872 2.0868424 0.54025148 6.5885111
2160 2.0061251 2.069266 0.52417244 6.5682875
2170 1.992682 2.0526743 0.50812177 6.5470052
2180 1.9816004 2.0352692 0.49354583 6.5244099
2190 1.9688265 2.0226679 0.4811848 6.5185172
2200 1.9574266 2.000155 0.47107703 6.5176047
2210 1.9502736 1.9925522 0.46298224 6.5078398
2220 1.9475332 1.9936032 0.45641728 6.4850252
2230 1.9545128 2.0045053 0.45087489 6.4291405
2240 1.9627871 2.0112148 0.44588526 6.3715676
2250 1.9617694 2.0073769 0.44121477 6.3541518
2260 1.9579423 2.0079137 0.43675541 6.3542735
2270 1.9475845 1.998983 0.43243494 6.3854071
2280 1.9253275 1.9715083 0.42839782 6.464845
2290 1.8996763 1.9456257 0.42496367 6.5591177
2300 1.8823546 1.9240543 0.42247729 6.6211062
2310 1.8844318 1.9216768 0.42116372 6.6085376
2320 1.8965287 1.933936 0.42103218 6.5584198
2330 1.902103 1.9433708 0.421956 6.5350698
2340 1.9061826 1.950462 0.42378825 6.5228738
2350 1.9180306 1.961141 0.42644522 6.489172
2360 1.9296124 1.9748542 0.42981448 6.4628168
2370 1.9328566 1.9718181 0.43373762 6.4721746
2380 1.9360042 1.9769998 0.43819906 6.4840942
2390 1.9387073 1.9778749 0.44317927 6.49778
2400 1.9445619 1.9882647 0.4486142 6.4971899
2410 1.9553344 1.9997412 0.45435544 6.4749774
2420 1.9710783 2.0211926 0.46019236 6.4320181
2430 1.9903873 2.046553 0.46575694 6.3751343
2440 2.0041158 2.0721071 0.47060398 6.3415121
2450 2.0020392 2.0728953 0.47431806 6.3708096
2460 1.9839851 2.0568906 0.47681718 6.465129
2470 1.9566365 2.0258852 0.47838596 6.5966256
2480 1.929674 2.0032606 0.47952215 6.7260074
2490 1.9153613 1.990031 0.48061628 6.8035919
2500 1.9188373 1.9920514 0.4819225 6.8075788
2510 1.9371656 2.0138698 0.48343533 6.7492701
2520 1.9566481 2.0340995 0.48485699 6.6821181
2530 1.9636141 2.0389496 0.48583392 6.6581326
2540 1.9585172 2.0207113 0.48622314 6.6762792
2550 1.9516934 2.0024186 0.48621721 6.6980104
2560 1.9509543 1.9960852 0.48612286 6.6946311
2570 1.9601672 2.0072552 0.48602872 6.6528934
2580 1.973804 2.0230879 0.48576601 6.5942862
2590 1.9788378 2.034436 0.48505027 6.5689819
2600 1.9716493 2.0208578 0.48368043 6.5897554
2610 1.9618006 2.007098 0.48174365 6.6188626
2620 1.9631458 2.0075461 0.4793429 6.6026194
2630 1.9706918 2.0174955 0.47638698 6.5591053
2640 1.9759585 2.0213828 0.47264742 6.5198595
2650 1.9761708 2.0225139 0.46794373 6.4977306
2660 1.9611574 2.0083871 0.46221598 6.5299021
2670 1.9342882 1.9720247 0.45576624 6.6034695
2680 1.9142009 1.9520382 0.44913109 6.6474082
2690 1.9052096 1.9428107 0.4426988 6.645123
2700 1.902446 1.9459937 0.43672046 6.6152926
2710 1.9099036 1.9594727 0.43120889 6.5473804
2720 1.9180788 1.9767479 0.42599739 6.4792536
2730 1.9142892 1.9798275 0.42092791 6.4604982
2740 1.9019844 1.9674244 0.41601841 6.4795855
2750 1.8895632 1.958412 0.41144638 6.5037424
2760 1.8824401 1.9494985 0.40739848 6.5113925
2770 1.8852759 1.9525073 0.40398809 6.484535
2780 1.8998168 1.9664907 0.40114076 6.4159782
2790 1.9153937 1.9810349 0.39863439 6.346934
2800 1.9162707 1.9824285 0.39627973 6.3364828
2810 1.9087999 1.9666258 0.39408314 6.360755
2820 1.9073152 1.956153 0.39226387 6.3655719
2830 1.9091743 1.9493705 0.39098546 6.3595054
2840 1.9042021 1.9424118 0.39036698 6.381752
2850 1.8901401 1.9353495 0.39057524 6.4417859
2860 1.872943 1.915215 0.39190057 6.5158585
2870 1.8732626 1.9181551 0.39474702 6.5269257
2880 1.8931021 1.9396049 0.39938934 6.467715
2890 1.9217069 1.9733171 0.40581935 6.3811936
2900 1.9452213 1.9949806 0.41374968 6.3217226
2910 1.9591065 2.0105363 0.42280483 6.3087055
2920 1.9649158 2.0234068 0.43256139 6.3353204
2930 1.9647653 2.0265233 0.4425691 6.3902862
2940 1.9623876 2.0281154 0.45237409 6.4560778
2950 1.9591057 2.0276078 0.46164197 6.5239614
2960 1.9556907 2.0254377 0.47016674 6.5883236
2970 1.9524475 2.0203546 0.47782337 6.6457078
2980 1.9556442 2.0212175 0.48459527 6.6731473
2990 1.9663638 2.0285202 0.49047217 6.667322
3000 1.976263 2.0326354 0.49540098 6.6601492
3010 1.9734917 2.0251301 0.49938916 6.6970878
3020 1.955368 1.9974693 0.50265656 6.7865104
3030 1.9476644 1.9780945 0.50564273 6.8327176
3040 1.9584769 1.9887952 0.50867872 6.8046262
3050 1.9705616 2.0030557 0.51168699 6.7669575
3060 1.9766986 2.0112576 0.51444822 6.74919
3070 1.9766671 2.0076853 0.51685838 6.7523339
3080 1.9763383 2.0045916 0.51896849 6.7532253
3090 1.9855877 2.0260371 0.52081442 6.7160131
3100 2.0011042 2.042205 0.52215192 6.653598
3110 2.0039819 2.0511266 0.52275172 6.6355885
3120 1.9958773 2.0457899 0.52253307 6.6565817
3130 1.9933925 2.04521 0.52158082 6.6543706
3140 1.9936643 2.0477262 0.51996279 6.639564
3150 1.9921223 2.0455965 0.51768794 6.6291901
3160 1.9914788 2.0365842 0.51483187 6.6154874
3170 1.9922866 2.0422451 0.51144092 6.5976334
3180 1.9872806 2.0376593 0.50747923 6.6043774
3190 1.9708577 2.0198422 0.50308657 6.6551127
3200 1.9534272 1.9982319 0.49857904 6.7093718
3210 1.9423425 1.9876311 0.49429833 6.7370529
3220 1.941974 1.984738 0.49043179 6.7218879
3230 1.9456357 1.9916666 0.48697785 6.6917144
3240 1.9392412 1.9874858 0.48388805 6.7004046
3250 1.9312152 1.9814714 0.4812083 6.7175714
3260 1.9364393 1.9840125 0.47897357 6.6870787
3270 1.9490184 1.9871802 0.47715672 6.6308261
3280 1.9578901 1.9917218 0.47568803 6.589659
3290 1.9598612 1.9918098 0.47449561 6.5756965
3300 1.9538424 1.9845316 0.47357576 6.5931068
3310 1.944957 1.9676243 0.47302774 6.6211221
3320 1.9479975 1.9720828 0.47296613 6.6058089
3330 1.9569283 1.98719 0.47330356 6.5698601
3340 1.9558114 1.9861834 0.47383928 6.5729191
3350 1.9461606 1.9777192 0.47452365 6.6090135
3360 1.942095 1.9776297 0.47540879 6.6255417
3370 1.9482423 1.981145 0.47643851 6.6032207
3380 1.9564098 1.992645 0.47752314 6.5736007
3390 1.9607986 2.0006048 0.47852085 6.5587348
3400 1.9595637 2.0047228 0.47933656 6.5656692
3410 1.9628181 2.013785 0.47991082 6.5570579
3420 1.9698466 2.0200788 0.48018617 6.536373
3430 1.969877 2.0210764 0.48013786 6.543084
3440 1.96327 2.0103631 0.47979187 6.5761448
3450 1.9566516 1.9996494 0.47933398 6.6098616
3460 1.9511915 1.9976175 0.47891646 6.6401481
3470 1.9410601 1.9950284 0.47859124 6.6862584
3480 1.9307395 1.98193 0.47840998 6.7307929
3490 1.9206678 1.9678856 0.47853003 6.7702613
3500 1.9139405 1.955324 0.47914241 6.7934071
3510 1.9206383 1.957176 0.48041531 6.763312
3520 1.9449301 1.9816996 0.4823109 6.6651453
3530 1.9752924 2.0115126 0.48452681 6.5438659
3540 1.9951599 2.037759 0.48660439 6.463461
3550 2.00071 2.0413872 0.48813252 6.4405933
3560 1.9939017 2.0277566 0.48901382 6.4684771
3570 1.9766844 2.0031366 0.48946452 6.5392906
3580 1.9600495 1.9790718 0.48988281 6.6106541
3590 1.9522334 1.9727673 0.49062615 6.6517495
3600 1.9522007 1.9829458 0.49183552 6.6635632
3610 1.9614098 1.9992781 0.49340617 6.6407777
3620 1.9739926 2.0159629 0.49511752 6.6062456
3630 1.9726539 2.0152219 0.49675445 6.6254361
3640 1.9613098 2.0017247 0.49829011 6.6828523
3650 1.9577727 2.0000723 0.49991877 6.7111788
3660 1.9626403 2.0037309 0.50175296 6.7072182
3670 1.9603974 1.9937256 0.50383808 6.7277464
3680 1.9532611 1.9846903 0.50638428 6.766139
3690 1.9541656 1.9798331 0.50962883 6.7752527
3700 1.9656726 1.9951191 0.51377056 6.7462001
3710 1.9834474 2.0193011 0.5187681 6.6957856
3720 2.0017372 2.0396413 0.52433682 6.6470375
3730 2.0109702 2.0469463 0.53011728 6.6363717
3740 2.0096859 2.0458572 0.53588234 6.6682277
3750 2.0066189 2.0519843 0.54153099 6.7085484
3760 2.0096126 2.0561094 0.54689937 6.7250788
3770 2.0117777 2.0668795 0.55183559 6.7400961
3780 2.0154601 2.0763941 0.55607392 6.7423369
3790 2.0313954 2.0972106 0.55930714 6.6920109
3800 2.0496133 2.1176374 0.56110467 6.6271089
3810 2.0553084 2.1205041 0.56098738 6.6034667
3820 2.0478771 2.1131255 0.5587031 6.6239895
3830 2.0342107 2.0991257 0.55418078 6.6632309
3840 2.0142205 2.0767164 0.5475632 6.7196407
3850 1.9879527 2.0516847 0.53919956 6.7932756
3860 1.9593315 2.0232738 0.52966135 6.8686984
3870 1.9362884 1.9952027 0.51970091 6.9156688
3880 1.9292997 1.988308 0.50996281 6.8957697
3890 1.9372437 1.9978667 0.50073928 6.8160964
3900 1.949918 2.0107188 0.49208883 6.7186535
3910 1.9547594 2.0160936 0.48397839 6.6537347
3920 1.9543568 2.0191268 0.47640162 6.6136066
3930 1.9582199 2.020036 0.46933873 6.5629723
3940 1.9644632 2.0304626 0.4627222 6.5077173
3950 1.9645883 2.030183 0.45644411 6.4795254
3960 1.9546999 2.0197243 0.45050582 6.4943661
3970 1.9424307 2.0063453 0.44500624 6.5237706
3980 1.9281472 1.9910524 0.44010499 6.5640156
3990 1.9168821 1.976369 0.43594016 6.592621
4000 1.9150056 1.9752502 0.43256473 6.5855641
Loop time of 0.696491 on 1 procs for 2000 steps with 2775 atoms
Performance: 248100.709 tau/day, 2871.536 timesteps/s, 7.969 Matom-step/s
99.0% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.39664 | 0.39664 | 0.39664 | 0.0 | 56.95
Neigh | 0.051502 | 0.051502 | 0.051502 | 0.0 | 7.39
Comm | 0.0047546 | 0.0047546 | 0.0047546 | 0.0 | 0.68
Output | 0.0095092 | 0.0095092 | 0.0095092 | 0.0 | 1.37
Modify | 0.22322 | 0.22322 | 0.22322 | 0.0 | 32.05
Other | | 0.01087 | | | 1.56
Nlocal: 2775 ave 2775 max 2775 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 512 ave 512 max 512 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 24313 ave 24313 max 24313 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 24313
Ave neighs/atom = 8.7614414
Neighbor list builds = 75
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -0,0 +1,941 @@
LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
#LAMMPS input script
#in.GD
#see README for details
###############################################################################
#initialize variables
clear
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
#frequency for outputting info (timesteps)
variable dump_rate equal 50
variable thermo_rate equal 10
#equilibration time (timesteps)
variable equil equal 1000
#stabilization time (timesteps to reach steady-state)
variable stabil equal 1000
#data collection time (timesteps)
variable run equal 2000
#length of pipe
variable L equal 30
#width of pipe
variable d equal 20
#flux (mass/sigma*tau)
variable J equal 0.1
#simulation box dimensions
variable Lx equal 100
variable Ly equal 40
#bulk fluid density
variable dens equal 0.8
#lattice spacing for wall atoms
variable aWall equal 1.0 #1.7472
#timestep
variable ts equal 0.001
#temperature
variable T equal 2.0
#thermostat damping constant
variable tdamp equal ${ts}*100
variable tdamp equal 0.001*100
units lj
dimension 2
atom_style atomic
###############################################################################
#create box
#create lattice with the spacing aWall
variable rhoWall equal ${aWall}^(-2)
variable rhoWall equal 1^(-2)
lattice sq ${rhoWall}
lattice sq 1
Lattice spacing in x,y,z = 1 1 1
#modify input dimensions to be multiples of aWall
variable L1 equal round($L/${aWall})*${aWall}
variable L1 equal round(30/${aWall})*${aWall}
variable L1 equal round(30/1)*${aWall}
variable L1 equal round(30/1)*1
variable d1 equal round($d/${aWall})*${aWall}
variable d1 equal round(20/${aWall})*${aWall}
variable d1 equal round(20/1)*${aWall}
variable d1 equal round(20/1)*1
variable Ly1 equal round(${Ly}/${aWall})*${aWall}
variable Ly1 equal round(40/${aWall})*${aWall}
variable Ly1 equal round(40/1)*${aWall}
variable Ly1 equal round(40/1)*1
variable Lx1 equal round(${Lx}/${aWall})*${aWall}
variable Lx1 equal round(100/${aWall})*${aWall}
variable Lx1 equal round(100/1)*${aWall}
variable Lx1 equal round(100/1)*1
#create simulation box
variable lx2 equal ${Lx1}/2
variable lx2 equal 100/2
variable ly2 equal ${Ly1}/2
variable ly2 equal 40/2
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
region simbox block -50 ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
region simbox block -50 50 -${ly2} ${ly2} -0.1 0.1 units box
region simbox block -50 50 -20 ${ly2} -0.1 0.1 units box
region simbox block -50 50 -20 20 -0.1 0.1 units box
create_box 2 simbox
Created orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
4 by 1 by 1 MPI processor grid
#####################################################################
#set up potential
mass 1 1.0 #fluid atoms
mass 2 1.0 #wall atoms
pair_style lj/cut 2.5
pair_modify shift yes
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 1.12246
pair_coeff 2 2 0.0 0.0
neigh_modify exclude type 2 2
timestep ${ts}
timestep 0.001
#####################################################################
#create atoms
#create wall atoms everywhere
create_atoms 2 box
Created 4000 atoms
using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
create_atoms CPU = 0.000 seconds
#define region which is "walled off"
variable dhalf equal ${d1}/2
variable dhalf equal 20/2
variable Lhalf equal ${L1}/2
variable Lhalf equal 30/2
region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 15 10 EDGE -0.1 0.1 units box
region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 15 EDGE -10 -0.1 0.1 units box
region outsidewall union 2 walltop wallbot side out
#remove wall atoms outside wall region
group outside region outsidewall
3349 atoms in group outside
delete_atoms group outside
Deleted 3349 atoms, new total = 651
#remove wall atoms that aren't on edge of wall region
variable x1 equal ${Lhalf}-${aWall}
variable x1 equal 15-${aWall}
variable x1 equal 15-1
variable y1 equal ${dhalf}+${aWall}
variable y1 equal 10+${aWall}
variable y1 equal 10+1
region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 14 11 EDGE -0.1 0.1 units box
region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 14 EDGE -11 -0.1 0.1 units box
region insideWall union 2 insideTop insideBot
group insideWall region insideWall
551 atoms in group insideWall
delete_atoms group insideWall
Deleted 551 atoms, new total = 100
#define new lattice, to give correct fluid density
#y lattice const must be a multiple of aWall
variable atrue equal ${dens}^(-1/2)
variable atrue equal 0.8^(-1/2)
variable ay equal round(${atrue}/${aWall})*${aWall}
variable ay equal round(1.11803398874989/${aWall})*${aWall}
variable ay equal round(1.11803398874989/1)*${aWall}
variable ay equal round(1.11803398874989/1)*1
#choose x lattice const to give correct density
variable ax equal (${ay}*${dens})^(-1)
variable ax equal (1*${dens})^(-1)
variable ax equal (1*0.8)^(-1)
#change Lx to be multiple of ax
variable Lx1 equal round(${Lx}/${ax})*${ax}
variable Lx1 equal round(100/${ax})*${ax}
variable Lx1 equal round(100/1.25)*${ax}
variable Lx1 equal round(100/1.25)*1.25
variable lx2 equal ${Lx1}/2
variable lx2 equal 100/2
change_box all x final -${lx2} ${lx2} units box
change_box all x final -50 ${lx2} units box
change_box all x final -50 50 units box
Changing box ...
orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
#define new lattice
lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
Lattice spacing in x,y,z = 1.25 1 1
#fill in rest of box with bulk particles
variable delta equal 0.001
variable Ldelt equal ${Lhalf}+${delta}
variable Ldelt equal 15+${delta}
variable Ldelt equal 15+0.001
variable dDelt equal ${dhalf}-${delta}
variable dDelt equal 10-${delta}
variable dDelt equal 10-0.001
region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box
region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box
region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box
region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box
region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box
region bulk union 3 left pipe right
create_atoms 1 region bulk
Created 2675 atoms
using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
create_atoms CPU = 0.000 seconds
group bulk type 1
2675 atoms in group bulk
group wall type 2
100 atoms in group wall
#remove atoms that are too close to wall
delete_atoms overlap 0.9 bulk wall
System init for delete_atoms ...
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 72 29 1
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command delete_atoms, occasional
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Deleted 0 atoms, new total = 2775
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude group wall wall
velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom
velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom
#####################################################################
#set up PUT
#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172
#average number of particles per box, Evans and Morriss used 2.0
variable NperBox equal 8.0
#calculate box sizes
variable boxSide equal sqrt(${NperBox}/${dens})
variable boxSide equal sqrt(8/${dens})
variable boxSide equal sqrt(8/0.8)
variable nX equal round(lx/${boxSide})
variable nX equal round(lx/3.16227766016838)
variable nY equal round(ly/${boxSide})
variable nY equal round(ly/3.16227766016838)
variable dX equal lx/${nX}
variable dX equal lx/32
variable dY equal ly/${nY}
variable dY equal ly/13
#temperature of fluid (excluding wall)
compute myT bulk temp
#profile-unbiased temperature of fluid
compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY}
compute myTp bulk temp/profile 1 1 0 xy 32 ${nY}
compute myTp bulk temp/profile 1 1 0 xy 32 13
#thermo setup
thermo ${thermo_rate}
thermo 10
thermo_style custom step c_myT c_myTp etotal press
#dump initial configuration
# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz
# dump 56 wall custom 1 wall.init.lammpstrj id type x y z
# dump_modify 55 sort id
# dump_modify 56 sort id
run 0
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 72 29 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.068 | 3.069 | 3.071 Mbytes
Step c_myT c_myTp TotEng Press
0 2 2.054601 0.77892922 7.3417096
Loop time of 1.90125e-06 on 4 procs for 0 steps with 2775 atoms
26.3% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 1.901e-06 | | |100.00
Nlocal: 693.75 ave 800 max 578 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 266.25 ave 325 max 198 min
Histogram: 1 1 0 0 0 0 0 0 0 2
Neighs: 6601.5 ave 8000 max 5147 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 26406
Ave neighs/atom = 9.5156757
Neighbor list builds = 0
Dangerous builds = 0
# undump 55
# undump 56
#####################################################################
#equilibrate without GD
fix nvt bulk nvt temp $T $T ${tdamp}
fix nvt bulk nvt temp 2 $T ${tdamp}
fix nvt bulk nvt temp 2 2 ${tdamp}
fix nvt bulk nvt temp 2 2 0.1
fix_modify nvt temp myTp
WARNING: Temperature for fix modify is not for group all (src/fix_nh.cpp:1391)
fix 2 bulk enforce2d
run ${equil}
run 1000
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.131 | 3.132 | 3.133 Mbytes
Step c_myT c_myTp TotEng Press
0 2 2.054601 0.77892922 7.3417096
10 1.9173668 1.9381538 0.77877698 7.6702283
20 1.7033651 1.6967466 0.7798044 8.5615039
30 1.5026644 1.4718046 0.78461914 9.4308883
40 1.4881235 1.4586031 0.79494919 9.6135307
50 1.6193439 1.6144665 0.81119835 9.2594114
60 1.7405127 1.7576881 0.82966956 8.9525458
70 1.7758506 1.7999706 0.84538866 8.9719793
80 1.7574736 1.7806782 0.85780732 9.1938511
90 1.7492232 1.7720284 0.86895259 9.3714617
100 1.7800292 1.807315 0.88044504 9.3874107
110 1.8442295 1.878681 0.89278276 9.2585436
120 1.9193695 1.9667163 0.90556381 9.0683654
130 1.9885753 2.0478097 0.91782871 8.8815507
140 2.04662 2.1105827 0.92850319 8.718882
150 2.0957046 2.1672706 0.93677238 8.5718869
160 2.144595 2.2210801 0.94188484 8.4089161
170 2.1802133 2.2626399 0.9429713 8.2775682
180 2.1868284 2.2696504 0.93931537 8.2321283
190 2.1838369 2.2706873 0.93069783 8.1970105
200 2.1943436 2.2865542 0.91717737 8.0854148
210 2.2029439 2.2912731 0.89906796 7.9589187
220 2.1891494 2.2768232 0.87764254 7.9016509
230 2.1677848 2.2493747 0.85497463 7.8690125
240 2.156695 2.2377486 0.83255207 7.8020978
250 2.142758 2.2237662 0.81090722 7.7510242
260 2.1177881 2.1967699 0.79016944 7.7477503
270 2.0862408 2.1669583 0.77040874 7.7740216
280 2.0676515 2.1446262 0.75157955 7.7544068
290 2.0645498 2.1425534 0.73343008 7.6746729
300 2.0563664 2.1358776 0.71562279 7.6114783
310 2.0390115 2.1198472 0.69809211 7.581719
320 2.0209035 2.1063385 0.68093855 7.5540946
330 2.012488 2.1037583 0.66418283 7.4896097
340 2.0166095 2.1094212 0.64762479 7.3779677
350 2.0172861 2.1072653 0.63109595 7.2807114
360 2.0065768 2.0803788 0.6147802 7.2283814
370 1.9970858 2.0639903 0.59905362 7.1747592
380 1.9925189 2.056563 0.58395055 7.103506
390 1.9935388 2.0546596 0.56945318 7.010305
400 2.0020199 2.0632095 0.55532013 6.8883647
410 2.009157 2.0732883 0.54128082 6.771521
420 2.0081687 2.0785184 0.52711525 6.6868076
430 1.9990498 2.0705469 0.51283203 6.6343482
440 1.9891528 2.0586814 0.4986104 6.5888679
450 1.9829175 2.0465778 0.4846738 6.5332233
460 1.9745599 2.031067 0.4711878 6.4903915
470 1.9581101 2.006674 0.45837961 6.4836654
480 1.9367964 1.9732882 0.44656667 6.501731
490 1.9258333 1.9561395 0.43605676 6.4879447
500 1.9287 1.9571319 0.42678362 6.4296036
510 1.9274696 1.9569118 0.41856553 6.3949919
520 1.9100149 1.9392424 0.41134511 6.4307452
530 1.8827127 1.9059412 0.40536565 6.5126603
540 1.8660696 1.8912024 0.40096324 6.5610607
550 1.8701883 1.9043254 0.3982457 6.536251
560 1.8842923 1.9289528 0.39698123 6.4785367
570 1.8906147 1.9462124 0.39684504 6.4547374
580 1.8895472 1.9472747 0.39763233 6.4630103
590 1.895375 1.9551336 0.39926725 6.449517
600 1.9115711 1.9737109 0.40163655 6.3995241
610 1.92823 1.9851787 0.404506 6.3499339
620 1.9360678 1.9889572 0.40767569 6.3367514
630 1.9346853 1.9836719 0.41105958 6.3637995
640 1.9266095 1.9757908 0.41472954 6.4212842
650 1.9213863 1.9719496 0.41879537 6.4707692
660 1.922962 1.9702923 0.42332926 6.4949933
670 1.9238956 1.9707534 0.42836303 6.5212631
680 1.9212675 1.9740379 0.43388709 6.5608915
690 1.9210314 1.976311 0.43982007 6.5904702
700 1.928081 1.9868449 0.44610463 6.5915021
710 1.9428895 2.0044235 0.45257857 6.5616141
720 1.9554783 2.0176139 0.45898384 6.5367529
730 1.969838 2.0327907 0.46505662 6.5017635
740 1.9840204 2.0467126 0.47058703 6.4649226
750 1.9946633 2.0526929 0.47535832 6.4399342
760 2.0018048 2.0535606 0.47924291 6.4280737
770 1.9991703 2.0483426 0.48222842 6.4537535
780 1.9850797 2.0312444 0.48443072 6.5234271
790 1.9691589 2.0154006 0.4861158 6.5995894
800 1.9612641 2.0031407 0.48754831 6.6430968
810 1.9637155 2.0074142 0.48891261 6.6444644
820 1.9691691 2.0110229 0.49018604 6.6304512
830 1.9763962 2.0190998 0.49130448 6.6060594
840 1.9908278 2.0352615 0.49213189 6.5510683
850 2.0105715 2.0558403 0.49238435 6.4743276
860 2.0227982 2.0645732 0.49173076 6.4260863
870 2.015555 2.064081 0.48998228 6.4528588
880 1.9889672 2.0320831 0.48722022 6.5532269
890 1.9632172 2.0025881 0.48392295 6.6494723
900 1.9527429 1.9887196 0.48054642 6.6846937
910 1.9567815 1.9953408 0.47726539 6.6606541
920 1.9666996 2.0084955 0.47397593 6.6100666
930 1.9702885 2.014774 0.47048741 6.5805871
940 1.9661802 2.0116846 0.46671831 6.579539
950 1.9576953 1.9960728 0.46273983 6.5967841
960 1.9428073 1.9802284 0.45879028 6.6395002
970 1.9256011 1.9584581 0.45515059 6.6916425
980 1.913512 1.9478848 0.45214528 6.7233279
990 1.9174938 1.9449699 0.44994026 6.6943867
1000 1.9365527 1.9663901 0.44852349 6.6101761
Loop time of 0.136245 on 4 procs for 1000 steps with 2775 atoms
Performance: 634150.810 tau/day, 7339.708 timesteps/s, 20.368 Matom-step/s
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.05652 | 0.058835 | 0.061144 | 0.7 | 43.18
Neigh | 0.0077706 | 0.0082387 | 0.0086435 | 0.4 | 6.05
Comm | 0.0079304 | 0.010631 | 0.013709 | 2.5 | 7.80
Output | 0.003516 | 0.0036313 | 0.0038326 | 0.2 | 2.67
Modify | 0.045283 | 0.048616 | 0.052008 | 1.3 | 35.68
Other | | 0.006293 | | | 4.62
Nlocal: 693.75 ave 800 max 584 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 255.25 ave 323 max 192 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Neighs: 6083 ave 7383 max 4741 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 24332
Ave neighs/atom = 8.7682883
Neighbor list builds = 38
Dangerous builds = 0
#####################################################################
#initialize the COM velocity and run to achieve steady-state
#calculate velocity to add: V=J/rho_total
variable Vadd equal $J*lx*ly/count(bulk)
variable Vadd equal 0.1*lx*ly/count(bulk)
#first remove any COM velocity, then add back the streaming velocity
velocity bulk zero linear
velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no
velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no
fix GD bulk flow/gauss 1 0 0 #energy yes
#fix_modify GD energy yes
run ${stabil}
run 1000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Gaussian dynamics package: doi:10.1021/acs.jpcb.6b09387
@Article{strong_water_2017,
title = {The Dynamics of Water in Porous Two-Dimensional Crystals},
volume = {121},
number = {1},
url = {https://doi.org/10.1021/acs.jpcb.6b09387},
doi = {10.1021/acs.jpcb.6b09387},
urldate = {2016-12-07},
journal = {J.~Phys.\ Chem.~B},
author = {Strong, Steven E. and Eaves, Joel D.},
year = {2017},
pages = {189--207}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 3.131 | 3.132 | 3.133 Mbytes
Step c_myT c_myTp TotEng Press
1000 1.9477212 1.9663901 0.45928547 6.6176422
1010 1.9617328 1.9828061 0.45840963 6.555968
1020 1.9570976 1.9825696 0.45782895 6.5690613
1030 1.9356292 1.9690101 0.45753984 6.6493822
1040 1.9174914 1.9448868 0.4577768 6.7171474
1050 1.9202482 1.9432766 0.4588733 6.7039634
1060 1.9419998 1.9718217 0.46086407 6.617366
1070 1.9666048 1.996346 0.46339522 6.5207175
1080 1.9775489 2.0078489 0.46608862 6.4794239
1090 1.9725172 2.0005028 0.46876174 6.5044299
1100 1.9659582 1.9931537 0.47147394 6.5409107
1110 1.9670607 1.9965504 0.47432892 6.5527414
1120 1.9716302 1.9984924 0.47732198 6.5530022
1130 1.9752703 2.0057031 0.48043914 6.5579379
1140 1.976368 2.0061152 0.48358744 6.5719123
1150 1.9748014 2.0056689 0.48673155 6.5957896
1160 1.9729115 2.0036854 0.48986563 6.6200102
1170 1.9702742 2.0016461 0.49302426 6.6455948
1180 1.9680418 1.9978705 0.49625385 6.6697165
1190 1.9640159 1.9937501 0.49962311 6.7004634
1200 1.9616719 1.9932085 0.50320747 6.7253219
1210 1.9658831 1.9985624 0.50702861 6.7242078
1220 1.9790884 2.0132679 0.51100573 6.688483
1230 1.9946749 2.0324782 0.51491484 6.6422423
1240 2.0039182 2.0484588 0.5184382 6.6190292
1250 2.0033685 2.0545791 0.52130299 6.6322608
1260 1.9991533 2.0533011 0.52339221 6.6590872
1270 1.9969511 2.0571182 0.5246505 6.6789676
1280 1.9911353 2.0488281 0.52501304 6.7125634
1290 1.9712819 2.0209437 0.52460315 6.7967237
1300 1.9486195 1.9967749 0.5238106 6.886265
1310 1.951612 2.0051749 0.52294383 6.8723332
1320 1.9800953 2.0397207 0.52186525 6.7537937
1330 2.0084961 2.0723584 0.52001894 6.6279995
1340 2.021654 2.085105 0.51675149 6.554461
1350 2.0193685 2.0672662 0.5117514 6.5349176
1360 2.0084017 2.0471065 0.50518646 6.5453141
1370 1.994978 2.030683 0.49737164 6.5627932
1380 1.9781978 2.0044236 0.48871071 6.5903683
1390 1.9572368 1.9833426 0.47978207 6.6326472
1400 1.9400481 1.956474 0.47117436 6.6600696
1410 1.9380218 1.9552501 0.46336325 6.6314231
1420 1.9494747 1.9681145 0.45642218 6.5527615
1430 1.9610978 1.9824506 0.4501938 6.4763851
1440 1.9639503 1.9890985 0.44452289 6.4375535
1450 1.9560428 1.9821594 0.43936988 6.4453654
1460 1.9399344 1.9627639 0.43486138 6.488055
1470 1.9247229 1.9440629 0.43123378 6.5292381
1480 1.9213375 1.9369273 0.42866841 6.5271097
1490 1.9265729 1.9383637 0.42719968 6.4940959
1500 1.930987 1.9416689 0.4267225 6.4673585
1510 1.9303444 1.9418498 0.42714462 6.4648027
1520 1.9258423 1.940384 0.42844066 6.4834098
1530 1.9131202 1.9296653 0.4306338 6.5390881
1540 1.8990016 1.9101025 0.43386405 6.6052091
1550 1.9012878 1.9120047 0.43834036 6.6147792
1560 1.9153287 1.9388751 0.44404054 6.5851781
1570 1.9266928 1.9596147 0.45057056 6.5705776
1580 1.9358289 1.9745564 0.45744022 6.5674622
1590 1.9415248 1.9818707 0.46425451 6.5778534
1600 1.9466876 1.98498 0.47075833 6.5878483
1610 1.9557175 1.9930268 0.47674103 6.5777205
1620 1.9712902 2.0112337 0.48200984 6.5367922
1630 1.9900646 2.0303946 0.48631888 6.4790095
1640 1.9960901 2.039173 0.48947508 6.4661574
1650 1.9879046 2.0329046 0.49151173 6.504063
1660 1.9832967 2.0325843 0.49266284 6.5255647
1670 1.9875656 2.034783 0.49313513 6.5093662
1680 1.9967654 2.0492931 0.49299896 6.4699787
1690 2.0025957 2.0532539 0.49216931 6.4389613
1700 2.0022202 2.0424508 0.49070612 6.4276702
1710 2.0083188 2.0437945 0.48879489 6.3909243
1720 2.0178792 2.0439212 0.48646135 6.3411063
1730 2.0210944 2.0444299 0.48367905 6.3141106
1740 2.0170566 2.0337564 0.48044951 6.3158785
1750 2.0099049 2.0231598 0.47693196 6.3313851
1760 1.9990395 2.0132651 0.47329842 6.3631889
1770 1.9823237 1.9969291 0.46970233 6.4208124
1780 1.9640169 1.9798655 0.4663519 6.4879798
1790 1.9457657 1.9626633 0.46348315 6.557165
1800 1.9253222 1.9443136 0.46134123 6.6365286
1810 1.9123385 1.9339816 0.46011796 6.6879846
1820 1.9098744 1.9287702 0.45993599 6.7001355
1830 1.9096278 1.9220243 0.460898 6.7020982
1840 1.9223081 1.9378963 0.46303724 6.6558132
1850 1.9481113 1.9718786 0.46616351 6.5618175
1860 1.9704143 1.9931969 0.46987208 6.484088
1870 1.9864974 2.017655 0.47377416 6.4360445
1880 1.993165 2.0276398 0.47750238 6.4296162
1890 1.9852177 2.0249022 0.48088382 6.4843765
1900 1.9692398 2.0101062 0.4839255 6.5735477
1910 1.9516968 1.9893586 0.48689095 6.6692995
1920 1.9380452 1.9750949 0.49014596 6.7488323
1930 1.9323223 1.9719977 0.49399992 6.7947629
1940 1.9402144 1.9786701 0.49859677 6.7846787
1950 1.9589972 1.9956447 0.50392573 6.7291499
1960 1.979631 2.0201087 0.50984934 6.6648708
1970 2.0002749 2.0392081 0.51605302 6.6026647
1980 2.0143746 2.0524405 0.52221277 6.5687042
1990 2.0166553 2.0466885 0.5281276 6.5835144
2000 2.0130617 2.0424179 0.53381506 6.6234083
Loop time of 0.141455 on 4 procs for 1000 steps with 2775 atoms
Performance: 610793.635 tau/day, 7069.371 timesteps/s, 19.618 Matom-step/s
99.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.05683 | 0.060353 | 0.062989 | 1.0 | 42.67
Neigh | 0.0072596 | 0.0077408 | 0.0081397 | 0.4 | 5.47
Comm | 0.0075975 | 0.010647 | 0.014725 | 3.0 | 7.53
Output | 0.0035631 | 0.0036749 | 0.0038919 | 0.2 | 2.60
Modify | 0.050043 | 0.052936 | 0.05613 | 1.2 | 37.42
Other | | 0.006104 | | | 4.32
Nlocal: 693.75 ave 799 max 589 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 259 ave 320 max 196 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 6092.5 ave 7344 max 4845 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 24370
Ave neighs/atom = 8.781982
Neighbor list builds = 35
Dangerous builds = 0
#####################################################################
#collect data
#print the applied force and total flux to ensure conservation of Jx
variable Fapp equal f_GD[1]
compute vxBulk bulk reduce sum vx
compute vyBulk bulk reduce sum vy
variable invVol equal 1.0/(lx*ly)
variable jx equal c_vxBulk*${invVol}
variable jx equal c_vxBulk*0.00025
variable jy equal c_vyBulk*${invVol}
variable jy equal c_vyBulk*0.00025
variable curr_step equal step
variable p_Fapp format Fapp %.3f
variable p_jx format jx %.5g
variable p_jy format jy %.5g
fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
#compute IK1 pressure profile
#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627
#use profile-unbiased temperature to remove the streaming velocity
#from the kinetic part of the pressure
compute spa bulk stress/atom myTp
#for the pressure profile, use the same grid as the PUT
compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box
compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box
#output pressure profile and other profiles
#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where
#V is the volume of a slice
fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
#compute velocity profile across the pipe with a finer grid
variable dYnew equal ${dY}/10
variable dYnew equal 3.07692307692308/10
compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe
compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe
fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite
fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite
#full trajectory
# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z
# dump_modify 7 sort id
run ${run}
run 2000
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 5.139 | 5.14 | 5.141 Mbytes
Step c_myT c_myTp TotEng Press
2000 2.0130617 2.0424179 0.53381506 6.6234083
2010 2.011712 2.0399428 0.53937165 6.6546944
2020 2.0177252 2.0516588 0.54483848 6.6575988
2030 2.0192267 2.054258 0.55012466 6.6761208
2040 2.0155308 2.0513866 0.55518707 6.7132509
2050 2.016831 2.0539288 0.56007247 6.7306192
2060 2.0213378 2.0690043 0.56479732 6.7330132
2070 2.0292987 2.0799825 0.56913353 6.7186216
2080 2.0342188 2.0900923 0.57283821 6.7098434
2090 2.0376411 2.096351 0.57566175 6.6998818
2100 2.053128 2.1238481 0.57727694 6.637431
2110 2.0783941 2.1609599 0.5768993 6.5304031
2120 2.0887269 2.1760645 0.57341638 6.4706853
2130 2.06944 2.1522354 0.5659988 6.5099284
2140 2.0380605 2.115767 0.55466476 6.5802578
2150 2.0195872 2.0868424 0.54025148 6.5885111
2160 2.0061251 2.069266 0.52417244 6.5682875
2170 1.992682 2.0526743 0.50812177 6.5470052
2180 1.9816004 2.0352692 0.49354583 6.5244099
2190 1.9688265 2.0226679 0.4811848 6.5185172
2200 1.9574266 2.000155 0.47107703 6.5176047
2210 1.9502736 1.9925522 0.46298224 6.5078398
2220 1.9475332 1.9936032 0.45641728 6.4850252
2230 1.9545128 2.0045053 0.45087489 6.4291405
2240 1.9627871 2.0112148 0.44588526 6.3715676
2250 1.9617694 2.0073769 0.44121477 6.3541518
2260 1.9579423 2.0079137 0.43675541 6.3542735
2270 1.9475845 1.998983 0.43243494 6.3854071
2280 1.9253275 1.9715083 0.42839782 6.464845
2290 1.8996763 1.9456257 0.42496367 6.5591177
2300 1.8823546 1.9240543 0.42247729 6.6211062
2310 1.8844318 1.9216768 0.42116372 6.6085376
2320 1.8965287 1.933936 0.42103218 6.5584198
2330 1.902103 1.9433708 0.421956 6.5350698
2340 1.9061826 1.950462 0.42378825 6.5228738
2350 1.9180306 1.961141 0.42644522 6.489172
2360 1.9296124 1.9748542 0.42981448 6.4628168
2370 1.9328566 1.9718181 0.43373762 6.4721746
2380 1.9360042 1.9769998 0.43819906 6.4840942
2390 1.9387073 1.9778749 0.44317927 6.49778
2400 1.9445619 1.9882647 0.4486142 6.4971899
2410 1.9553344 1.9997412 0.45435544 6.4749774
2420 1.9710783 2.0211926 0.46019236 6.4320181
2430 1.9903873 2.046553 0.46575694 6.3751343
2440 2.0041158 2.0721071 0.47060398 6.3415121
2450 2.0020392 2.0728953 0.47431806 6.3708096
2460 1.9839851 2.0568906 0.47681718 6.465129
2470 1.9566365 2.0258852 0.47838596 6.5966256
2480 1.929674 2.0032606 0.47952215 6.7260074
2490 1.9153613 1.990031 0.48061628 6.8035919
2500 1.9188373 1.9920514 0.4819225 6.8075788
2510 1.9371656 2.0138698 0.48343533 6.7492701
2520 1.9566481 2.0340995 0.48485699 6.6821181
2530 1.9636141 2.0389496 0.48583392 6.6581326
2540 1.9585172 2.0207113 0.48622314 6.6762792
2550 1.9516934 2.0024186 0.48621721 6.6980104
2560 1.9509543 1.9960852 0.48612286 6.6946311
2570 1.9601672 2.0072552 0.48602872 6.6528934
2580 1.973804 2.0230879 0.48576601 6.5942862
2590 1.9788378 2.034436 0.48505027 6.5689819
2600 1.9716493 2.0208578 0.48368043 6.5897554
2610 1.9618006 2.007098 0.48174365 6.6188626
2620 1.9631458 2.0075461 0.4793429 6.6026194
2630 1.9706918 2.0174955 0.47638698 6.5591053
2640 1.9759585 2.0213828 0.47264742 6.5198595
2650 1.9761708 2.0225139 0.46794373 6.4977306
2660 1.9611574 2.0083871 0.46221598 6.5299021
2670 1.9342882 1.9720247 0.45576624 6.6034695
2680 1.9142009 1.9520382 0.44913109 6.6474082
2690 1.9052096 1.9428107 0.4426988 6.645123
2700 1.902446 1.9459937 0.43672046 6.6152926
2710 1.9099036 1.9594727 0.43120889 6.5473804
2720 1.9180788 1.9767479 0.42599739 6.4792536
2730 1.9142892 1.9798275 0.42092791 6.4604982
2740 1.9019844 1.9674244 0.41601841 6.4795855
2750 1.8895632 1.958412 0.41144638 6.5037424
2760 1.8824401 1.9494985 0.40739848 6.5113925
2770 1.8852759 1.9525073 0.40398809 6.484535
2780 1.8998168 1.9664907 0.40114076 6.4159782
2790 1.9153937 1.9810349 0.39863439 6.346934
2800 1.9162707 1.9824285 0.39627973 6.3364828
2810 1.9087999 1.9666258 0.39408314 6.360755
2820 1.9073152 1.956153 0.39226387 6.3655719
2830 1.9091743 1.9493705 0.39098546 6.3595054
2840 1.9042021 1.9424118 0.39036698 6.381752
2850 1.8901401 1.9353495 0.39057524 6.4417859
2860 1.872943 1.915215 0.39190057 6.5158585
2870 1.8732626 1.9181551 0.39474702 6.5269257
2880 1.8931021 1.9396049 0.39938934 6.467715
2890 1.9217069 1.9733171 0.40581935 6.3811936
2900 1.9452213 1.9949806 0.41374968 6.3217226
2910 1.9591065 2.0105363 0.42280483 6.3087055
2920 1.9649158 2.0234068 0.43256139 6.3353204
2930 1.9647653 2.0265233 0.4425691 6.3902862
2940 1.9623876 2.0281154 0.45237409 6.4560778
2950 1.9591057 2.0276078 0.46164197 6.5239614
2960 1.9556907 2.0254377 0.47016674 6.5883236
2970 1.9524475 2.0203546 0.47782337 6.6457078
2980 1.9556442 2.0212175 0.48459527 6.6731473
2990 1.9663638 2.0285202 0.49047217 6.667322
3000 1.976263 2.0326354 0.49540098 6.6601492
3010 1.9734917 2.0251301 0.49938916 6.6970878
3020 1.955368 1.9974693 0.50265656 6.7865104
3030 1.9476644 1.9780945 0.50564273 6.8327176
3040 1.9584769 1.9887952 0.50867872 6.8046262
3050 1.9705616 2.0030557 0.51168699 6.7669575
3060 1.9766986 2.0112576 0.51444822 6.74919
3070 1.9766671 2.0076853 0.51685838 6.7523339
3080 1.9763383 2.0045916 0.51896849 6.7532253
3090 1.9855877 2.0260371 0.52081441 6.7160131
3100 2.0011042 2.042205 0.52215192 6.653598
3110 2.0039819 2.0511266 0.52275172 6.6355885
3120 1.9958773 2.0457899 0.52253307 6.6565817
3130 1.9933925 2.04521 0.52158082 6.6543706
3140 1.9936643 2.0477262 0.51996279 6.639564
3150 1.9921223 2.0455965 0.51768794 6.6291901
3160 1.9914788 2.0365842 0.51483187 6.6154874
3170 1.9922866 2.0422451 0.51144091 6.5976334
3180 1.9872806 2.0376593 0.50747923 6.6043774
3190 1.9708577 2.0198422 0.50308657 6.6551127
3200 1.9534272 1.9982319 0.49857904 6.7093718
3210 1.9423425 1.9876311 0.49429833 6.7370529
3220 1.941974 1.984738 0.49043179 6.7218879
3230 1.9456357 1.9916666 0.48697785 6.6917144
3240 1.9392412 1.9874858 0.48388805 6.7004046
3250 1.9312152 1.9814714 0.4812083 6.7175714
3260 1.9364393 1.9840125 0.47897357 6.6870787
3270 1.9490184 1.9871802 0.47715672 6.6308261
3280 1.9578901 1.9917218 0.47568803 6.5896589
3290 1.9598612 1.9918098 0.47449561 6.5756965
3300 1.9538424 1.9845316 0.47357576 6.5931068
3310 1.944957 1.9676243 0.47302774 6.6211221
3320 1.9479975 1.9720828 0.47296613 6.6058089
3330 1.9569283 1.98719 0.47330356 6.5698601
3340 1.9558114 1.9861834 0.47383928 6.5729191
3350 1.9461606 1.9777192 0.47452365 6.6090135
3360 1.942095 1.9776297 0.47540879 6.6255417
3370 1.9482423 1.981145 0.47643851 6.6032207
3380 1.9564098 1.992645 0.47752314 6.5736007
3390 1.9607986 2.0006048 0.47852085 6.5587349
3400 1.9595637 2.0047228 0.47933656 6.5656692
3410 1.9628181 2.013785 0.47991082 6.5570579
3420 1.9698466 2.0200788 0.48018617 6.536373
3430 1.969877 2.0210764 0.48013786 6.543084
3440 1.96327 2.0103631 0.47979187 6.5761448
3450 1.9566516 1.9996494 0.47933398 6.6098616
3460 1.9511915 1.9976175 0.47891646 6.6401481
3470 1.9410601 1.9950284 0.47859124 6.6862584
3480 1.9307395 1.98193 0.47840998 6.7307929
3490 1.9206678 1.9678856 0.47853003 6.7702613
3500 1.9139405 1.955324 0.47914241 6.7934071
3510 1.9206383 1.9571761 0.48041531 6.763312
3520 1.9449301 1.9816996 0.4823109 6.6651452
3530 1.9752924 2.0115126 0.48452681 6.5438659
3540 1.9951599 2.037759 0.48660438 6.463461
3550 2.00071 2.0413872 0.48813252 6.4405933
3560 1.9939017 2.0277566 0.48901382 6.4684771
3570 1.9766844 2.0031366 0.48946452 6.5392906
3580 1.9600494 1.9790718 0.48988281 6.6106542
3590 1.9522334 1.9727673 0.49062615 6.6517495
3600 1.9522007 1.9829458 0.49183552 6.6635632
3610 1.9614098 1.9992781 0.49340617 6.6407777
3620 1.9739926 2.0159629 0.49511752 6.6062456
3630 1.9726539 2.0152219 0.49675445 6.6254361
3640 1.9613098 2.0017247 0.49829012 6.6828523
3650 1.9577727 2.0000723 0.49991877 6.7111789
3660 1.9626403 2.0037309 0.50175296 6.7072182
3670 1.9603974 1.9937256 0.50383808 6.7277464
3680 1.9532611 1.9846903 0.50638429 6.766139
3690 1.9541656 1.9798331 0.50962883 6.7752527
3700 1.9656726 1.9951191 0.51377056 6.7462001
3710 1.9834474 2.0193011 0.5187681 6.6957856
3720 2.0017373 2.0396413 0.52433682 6.6470375
3730 2.0109702 2.0469463 0.53011728 6.6363717
3740 2.0096858 2.0458572 0.53588234 6.6682278
3750 2.0066189 2.0519842 0.54153099 6.7085484
3760 2.0096126 2.0561094 0.54689937 6.7250789
3770 2.0117777 2.0668795 0.55183559 6.7400962
3780 2.0154601 2.0763941 0.55607392 6.7423369
3790 2.0313954 2.0972106 0.55930714 6.6920109
3800 2.0496133 2.1176374 0.56110467 6.6271089
3810 2.0553084 2.1205041 0.56098738 6.6034668
3820 2.0478771 2.1131255 0.5587031 6.6239896
3830 2.0342107 2.0991257 0.55418078 6.6632309
3840 2.0142205 2.0767165 0.54756321 6.7196407
3850 1.9879527 2.0516847 0.53919957 6.7932756
3860 1.9593315 2.0232738 0.52966136 6.8686983
3870 1.9362884 1.9952027 0.51970092 6.9156687
3880 1.9292997 1.9883081 0.50996282 6.8957696
3890 1.9372438 1.9978667 0.50073929 6.8160963
3900 1.949918 2.0107188 0.49208883 6.7186535
3910 1.9547594 2.0160936 0.48397839 6.6537348
3920 1.9543567 2.0191268 0.47640162 6.6136067
3930 1.9582199 2.0200359 0.46933873 6.5629726
3940 1.9644631 2.0304625 0.4627222 6.5077177
3950 1.9645882 2.0301829 0.45644411 6.4795258
3960 1.9546999 2.0197242 0.45050583 6.4943664
3970 1.9424307 2.0063453 0.44500625 6.5237707
3980 1.9281472 1.9910524 0.440105 6.5640156
3990 1.9168821 1.9763691 0.43594018 6.592621
4000 1.9150056 1.9752502 0.43256475 6.585564
Loop time of 0.29535 on 4 procs for 2000 steps with 2775 atoms
Performance: 585068.702 tau/day, 6771.628 timesteps/s, 18.791 Matom-step/s
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.11499 | 0.12105 | 0.12753 | 1.6 | 40.99
Neigh | 0.015593 | 0.01655 | 0.017426 | 0.6 | 5.60
Comm | 0.011343 | 0.020696 | 0.029105 | 5.0 | 7.01
Output | 0.0076551 | 0.010557 | 0.01165 | 1.6 | 3.57
Modify | 0.10677 | 0.11421 | 0.1196 | 1.4 | 38.67
Other | | 0.01228 | | | 4.16
Nlocal: 693.75 ave 801 max 584 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 256.25 ave 313 max 200 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 6078.25 ave 7398 max 4746 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 24313
Ave neighs/atom = 8.7614414
Neighbor list builds = 75
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -1,909 +0,0 @@
LAMMPS (6 Jul 2017)
using 1 OpenMP thread(s) per MPI task
#LAMMPS input script
#in.GD
#see README for details
###############################################################################
#initialize variables
clear
using 1 OpenMP thread(s) per MPI task
#frequency for outputting info (timesteps)
variable dump_rate equal 50
variable thermo_rate equal 10
#equilibration time (timesteps)
variable equil equal 1000
#stabilization time (timesteps to reach steady-state)
variable stabil equal 1000
#data collection time (timesteps)
variable run equal 2000
#length of pipe
variable L equal 30
#width of pipe
variable d equal 20
#flux (mass/sigma*tau)
variable J equal 0.1
#simulation box dimensions
variable Lx equal 100
variable Ly equal 40
#bulk fluid density
variable dens equal 0.8
#lattice spacing for wall atoms
variable aWall equal 1.0 #1.7472
#timestep
variable ts equal 0.001
#temperature
variable T equal 2.0
#thermostat damping constant
variable tdamp equal ${ts}*100
variable tdamp equal 0.001*100
units lj
dimension 2
atom_style atomic
###############################################################################
#create box
#create lattice with the spacing aWall
variable rhoWall equal ${aWall}^(-2)
variable rhoWall equal 1^(-2)
lattice sq ${rhoWall}
lattice sq 1
Lattice spacing in x,y,z = 1 1 1
#modify input dimensions to be multiples of aWall
variable L1 equal round($L/${aWall})*${aWall}
variable L1 equal round(30/${aWall})*${aWall}
variable L1 equal round(30/1)*${aWall}
variable L1 equal round(30/1)*1
variable d1 equal round($d/${aWall})*${aWall}
variable d1 equal round(20/${aWall})*${aWall}
variable d1 equal round(20/1)*${aWall}
variable d1 equal round(20/1)*1
variable Ly1 equal round(${Ly}/${aWall})*${aWall}
variable Ly1 equal round(40/${aWall})*${aWall}
variable Ly1 equal round(40/1)*${aWall}
variable Ly1 equal round(40/1)*1
variable Lx1 equal round(${Lx}/${aWall})*${aWall}
variable Lx1 equal round(100/${aWall})*${aWall}
variable Lx1 equal round(100/1)*${aWall}
variable Lx1 equal round(100/1)*1
#create simulation box
variable lx2 equal ${Lx1}/2
variable lx2 equal 100/2
variable ly2 equal ${Ly1}/2
variable ly2 equal 40/2
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box
region simbox block -50 ${lx2} -${ly2} ${ly2} 0 0.1 units box
region simbox block -50 50 -${ly2} ${ly2} 0 0.1 units box
region simbox block -50 50 -20 ${ly2} 0 0.1 units box
region simbox block -50 50 -20 20 0 0.1 units box
create_box 2 simbox
Created orthogonal box = (-50 -20 0) to (50 20 0.1)
1 by 1 by 1 MPI processor grid
#####################################################################
#set up potential
mass 1 1.0 #fluid atoms
mass 2 1.0 #wall atoms
pair_style lj/cut 2.5
pair_modify shift yes
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 1.12246
pair_coeff 2 2 0.0 0.0
neigh_modify exclude type 2 2
timestep ${ts}
timestep 0.001
#####################################################################
#create atoms
#create wall atoms everywhere
create_atoms 2 box
Created 4000 atoms
#define region which is "walled off"
variable dhalf equal ${d1}/2
variable dhalf equal 20/2
variable Lhalf equal ${L1}/2
variable Lhalf equal 30/2
region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 15 10 EDGE -0.1 0.1 units box
region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 15 EDGE -10 -0.1 0.1 units box
region outsidewall union 2 walltop wallbot side out
#remove wall atoms outside wall region
group outside region outsidewall
3349 atoms in group outside
delete_atoms group outside
Deleted 3349 atoms, new total = 651
#remove wall atoms that aren't on edge of wall region
variable x1 equal ${Lhalf}-${aWall}
variable x1 equal 15-${aWall}
variable x1 equal 15-1
variable y1 equal ${dhalf}+${aWall}
variable y1 equal 10+${aWall}
variable y1 equal 10+1
region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 14 11 EDGE -0.1 0.1 units box
region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 14 EDGE -11 -0.1 0.1 units box
region insideWall union 2 insideTop insideBot
group insideWall region insideWall
551 atoms in group insideWall
delete_atoms group insideWall
Deleted 551 atoms, new total = 100
#define new lattice, to give correct fluid density
#y lattice const must be a multiple of aWall
variable atrue equal ${dens}^(-1/2)
variable atrue equal 0.8^(-1/2)
variable ay equal round(${atrue}/${aWall})*${aWall}
variable ay equal round(1.11803398874989/${aWall})*${aWall}
variable ay equal round(1.11803398874989/1)*${aWall}
variable ay equal round(1.11803398874989/1)*1
#choose x lattice const to give correct density
variable ax equal (${ay}*${dens})^(-1)
variable ax equal (1*${dens})^(-1)
variable ax equal (1*0.8)^(-1)
#change Lx to be multiple of ax
variable Lx1 equal round(${Lx}/${ax})*${ax}
variable Lx1 equal round(100/${ax})*${ax}
variable Lx1 equal round(100/1.25)*${ax}
variable Lx1 equal round(100/1.25)*1.25
variable lx2 equal ${Lx1}/2
variable lx2 equal 100/2
change_box all x final -${lx2} ${lx2} units box
change_box all x final -50 ${lx2} units box
change_box all x final -50 50 units box
orthogonal box = (-50 -20 0) to (50 20 0.1)
#define new lattice
lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
Lattice spacing in x,y,z = 1.25 1 1
#fill in rest of box with bulk particles
variable delta equal 0.001
variable Ldelt equal ${Lhalf}+${delta}
variable Ldelt equal 15+${delta}
variable Ldelt equal 15+0.001
variable dDelt equal ${dhalf}-${delta}
variable dDelt equal 10-${delta}
variable dDelt equal 10-0.001
region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box
region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box
region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box
region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box
region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box
region bulk union 3 left pipe right
create_atoms 1 region bulk
Created 2675 atoms
group bulk type 1
2675 atoms in group bulk
group wall type 2
100 atoms in group wall
#remove atoms that are too close to wall
delete_atoms overlap 0.9 bulk wall
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 72 29 1
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command delete_atoms, occasional
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d/newton
bin: standard
Deleted 0 atoms, new total = 2775
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude group wall wall
velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom
velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom
#####################################################################
#set up PUT
#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172
#average number of particles per box, Evans and Morriss used 2.0
variable NperBox equal 8.0
#calculate box sizes
variable boxSide equal sqrt(${NperBox}/${dens})
variable boxSide equal sqrt(8/${dens})
variable boxSide equal sqrt(8/0.8)
variable nX equal round(lx/${boxSide})
variable nX equal round(lx/3.16227766016838)
variable nY equal round(ly/${boxSide})
variable nY equal round(ly/3.16227766016838)
variable dX equal lx/${nX}
variable dX equal lx/32
variable dY equal ly/${nY}
variable dY equal ly/13
#temperature of fluid (excluding wall)
compute myT bulk temp
#profile-unbiased temperature of fluid
compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY}
compute myTp bulk temp/profile 1 1 0 xy 32 ${nY}
compute myTp bulk temp/profile 1 1 0 xy 32 13
#thermo setup
thermo ${thermo_rate}
thermo 10
thermo_style custom step c_myT c_myTp etotal press
#dump initial configuration
# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz
# dump 56 wall custom 1 wall.init.lammpstrj id type x y z
# dump_modify 55 sort id
# dump_modify 56 sort id
run 0
WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 72 29 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes
Step c_myT c_myTp TotEng Press
0 2 2.0555109 0.77892922 7.3417096
Loop time of 9.53674e-07 on 1 procs for 0 steps with 2775 atoms
314.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 9.537e-07 | | |100.00
Nlocal: 2775 ave 2775 max 2775 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 510 ave 510 max 510 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 26406 ave 26406 max 26406 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 26406
Ave neighs/atom = 9.51568
Neighbor list builds = 0
Dangerous builds = 0
# undump 55
# undump 56
#####################################################################
#equilibrate without GD
fix nvt bulk nvt temp $T $T ${tdamp}
fix nvt bulk nvt temp 2 $T ${tdamp}
fix nvt bulk nvt temp 2 2 ${tdamp}
fix nvt bulk nvt temp 2 2 0.1
fix_modify nvt temp myTp
WARNING: Temperature for fix modify is not for group all (../fix_nh.cpp:1395)
fix 2 bulk enforce2d
run ${equil}
run 1000
Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes
Step c_myT c_myTp TotEng Press
0 2 2.0555109 0.77892922 7.3417096
10 1.9173594 1.9390034 0.77876976 7.6702228
20 1.7033394 1.6974676 0.77977799 8.5614784
30 1.5026161 1.4723993 0.78456655 9.4308258
40 1.4880481 1.4591602 0.79486693 9.6134304
50 1.6192437 1.6150635 0.81109069 9.2592835
60 1.7404087 1.7583444 0.82955456 8.952392
70 1.7757591 1.8006606 0.8452778 8.9717917
80 1.7573847 1.7813629 0.85769389 9.1936368
90 1.7491183 1.7726908 0.86882429 9.3712357
100 1.7798944 1.8079583 0.88029084 9.3871755
110 1.8440582 1.8793133 0.89259397 9.2582848
120 1.9191606 1.9673434 0.90533438 9.0680574
130 1.9883299 2.0484299 0.91755461 8.88117
140 2.0463366 2.1111872 0.92818114 8.7184178
150 2.0953769 2.167849 0.93639789 8.5713408
160 2.1442147 2.2216228 0.94145082 8.4082835
170 2.1797848 2.2631458 0.94246877 8.2767903
180 2.1863476 2.2700986 0.93873326 8.2311689
190 2.1832866 2.2710551 0.93003012 8.1959062
200 2.1937154 2.2868403 0.91642537 8.0842007
210 2.2022708 2.2915142 0.89824533 7.9575312
220 2.1884715 2.2770564 0.87677613 7.9000591
230 2.1671124 2.2496063 0.85409501 7.8673156
240 2.1560417 2.2379998 0.83167878 7.8003228
250 2.1421449 2.2240624 0.81004723 7.7491508
260 2.1172164 2.1971044 0.78931978 7.7457415
270 2.0856847 2.1672998 0.76956352 7.7719788
280 2.0670685 2.1449303 0.75073364 7.7524614
290 2.0639481 2.1428374 0.73258016 7.6727716
300 2.055776 2.1361719 0.7147669 7.6095248
310 2.038425 2.1209353 0.69722853 7.5797085
320 2.0203023 2.1066031 0.68006634 7.5521081
330 2.0118478 2.1039797 0.66330302 7.4877535
340 2.0159442 2.1096258 0.64673694 7.3761703
350 2.0166408 2.1075061 0.63020017 7.2788
360 2.0059407 2.0806316 0.61387618 7.2263941
370 1.9964281 2.0642074 0.59814148 7.1728041
380 1.9918446 2.0567527 0.58303017 7.101597
390 1.992835 2.0548138 0.56852431 7.0084774
400 2.0012934 2.0615016 0.55438401 6.8865948
410 2.0084291 2.073418 0.54034073 6.7697478
420 2.007464 2.0786717 0.52617041 6.6849032
430 1.9983712 2.0704366 0.51188183 6.6323103
440 1.9884651 2.0588515 0.49765394 6.5868356
450 1.982221 2.0467396 0.4837102 6.5311681
460 1.9738673 2.031238 0.47021649 6.4882783
470 1.9574246 2.0060447 0.45740021 6.4814923
480 1.9361065 1.9734507 0.44557947 6.4995199
490 1.9251024 1.9562469 0.43506067 6.4858343
500 1.9279545 1.9572145 0.42577835 6.4274765
510 1.9267504 1.9570246 0.41755013 6.3927027
520 1.9093405 1.9393872 0.41031829 6.4281888
530 1.8820555 1.9060756 0.40432569 6.5099401
540 1.86537 1.8912682 0.3999087 6.55843
550 1.8694252 1.9043192 0.39717519 6.5337875
560 1.8835224 1.9294105 0.39589322 6.4760141
570 1.8898719 1.9462433 0.39573596 6.4520041
580 1.8887698 1.9472764 0.39649878 6.4602989
590 1.8945125 1.9550624 0.39810844 6.4470226
600 1.9106571 1.9735939 0.40045321 6.3971026
610 1.9273243 1.98509 0.40330026 6.3474421
620 1.9351802 1.9888986 0.4064498 6.3340566
630 1.9337889 1.9846794 0.40981479 6.3610556
640 1.9257018 1.9757153 0.4134641 6.4184721
650 1.9204429 1.9718256 0.41750942 6.4679594
660 1.9220449 1.9701963 0.42202455 6.4919724
670 1.9230578 1.9707406 0.4270412 6.5178484
680 1.9204554 1.9740485 0.43255127 6.5572507
690 1.9201811 1.9762854 0.43847123 6.5869126
700 1.9271511 1.9867455 0.44474356 6.5882669
710 1.9418851 2.0042477 0.45120727 6.558573
720 1.9544547 2.0186724 0.4576061 6.5338329
730 1.9687971 2.0326169 0.46367507 6.4988775
740 1.9830308 2.0466267 0.46920367 6.4618136
750 1.9936981 2.0526606 0.47397868 6.4367349
760 2.0008431 2.0535449 0.47786748 6.4249001
770 1.9982133 2.0483219 0.48085757 6.4504786
780 1.9841544 2.0311693 0.48306488 6.5200512
790 1.9683122 2.0158738 0.48475632 6.5959263
800 1.9604618 2.003224 0.48619405 6.6392559
810 1.9629155 2.0075077 0.48756075 6.6406486
820 1.9683056 2.0110554 0.48883443 6.6269424
830 1.975409 2.0189161 0.48995399 6.6030215
840 1.9897264 2.035016 0.4907852 6.5485575
850 2.0094338 2.0555358 0.49104505 6.4719926
860 2.0217589 2.0643603 0.49040437 6.4233305
870 2.0147718 2.0641627 0.48866908 6.4491964
880 1.9883859 2.0324092 0.48592007 6.5488061
890 1.9625853 2.0028776 0.48263002 6.6452734
900 1.9520401 1.9889124 0.47925524 6.6808078
910 1.9559583 1.9952984 0.47597346 6.6573059
920 1.9657244 2.0083503 0.47268726 6.6073704
930 1.969288 2.0152339 0.4692054 6.5780416
940 1.9652206 2.0116384 0.4654438 6.5769812
950 1.9567495 1.9960693 0.46147541 6.5942022
960 1.9418452 1.980858 0.45753557 6.6369454
970 1.9247196 1.9585585 0.45390337 6.6888821
980 1.9128262 1.9481721 0.45090045 6.7198221
990 1.9167211 1.9451096 0.44869731 6.6912394
1000 1.935529 1.9662384 0.44728238 6.6079829
Loop time of 1.307 on 1 procs for 1000 steps with 2775 atoms
Performance: 66105.601 tau/day, 765.111 timesteps/s
98.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.7676 | 0.7676 | 0.7676 | 0.0 | 58.73
Neigh | 0.088947 | 0.088947 | 0.088947 | 0.0 | 6.81
Comm | 0.0094135 | 0.0094135 | 0.0094135 | 0.0 | 0.72
Output | 0.019547 | 0.019547 | 0.019547 | 0.0 | 1.50
Modify | 0.39755 | 0.39755 | 0.39755 | 0.0 | 30.42
Other | | 0.02394 | | | 1.83
Nlocal: 2775 ave 2775 max 2775 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 527 ave 527 max 527 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 24332 ave 24332 max 24332 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 24332
Ave neighs/atom = 8.76829
Neighbor list builds = 38
Dangerous builds = 0
#####################################################################
#initialize the COM velocity and run to achieve steady-state
#calculate velocity to add: V=J/rho_total
variable Vadd equal $J*lx*ly/count(bulk)
variable Vadd equal 0.1*lx*ly/count(bulk)
#first remove any COM velocity, then add back the streaming velocity
velocity bulk zero linear
velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no
velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no
fix GD bulk flow/gauss 1 0 0 #energy yes
#fix_modify GD energy yes
run ${stabil}
run 1000
Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes
Step c_myT c_myTp TotEng Press
1000 1.9466974 1.9662384 0.45804438 6.615449
1010 1.9605467 1.9815754 0.45717241 6.5545496
1020 1.9560139 1.9823875 0.45660431 6.5672421
1030 1.9348326 1.9691606 0.45633148 6.6463667
1040 1.9167809 1.9449522 0.45657707 6.7139486
1050 1.9193541 1.943342 0.45767968 6.7014054
1060 1.9410751 1.9720491 0.45967742 6.6150379
1070 1.9658493 1.9964883 0.46221539 6.5178418
1080 1.9767205 2.0074304 0.46491236 6.4768594
1090 1.9714544 2.0003054 0.46759126 6.5026957
1100 1.9647035 1.9927455 0.4703109 6.5400181
1110 1.9657667 1.9959656 0.47317481 6.5519094
1120 1.9706062 1.9980802 0.476185 6.5512675
1130 1.9747655 2.0062292 0.47932281 6.554091
1140 1.9761245 2.0075076 0.48248327 6.5670381
1150 1.9744197 2.0073027 0.48562483 6.5914441
1160 1.9722698 2.0046687 0.48874207 6.6165575
1170 1.9692145 2.0013845 0.49187442 6.6438115
1180 1.9665609 1.9970724 0.49508053 6.6693821
1190 1.9625031 1.9908427 0.49843816 6.7002606
1200 1.960528 1.993084 0.50203044 6.7237076
1210 1.9649156 1.9981485 0.50587066 6.7217755
1220 1.9788059 2.0134511 0.50987442 6.6833452
1230 1.9952283 2.0343101 0.51379781 6.6340278
1240 2.0039391 2.0494196 0.51730872 6.6129751
1250 2.0019006 2.0526773 0.52014603 6.6320217
1260 1.9974025 2.0528914 0.52221385 6.6601786
1270 1.9953949 2.0561121 0.5234754 6.6796142
1280 1.9893864 2.0470375 0.5238632 6.7140134
1290 1.9694951 2.019253 0.5235093 6.798442
1300 1.9473901 1.9965919 0.52280384 6.8863369
1310 1.9511151 2.006161 0.52203882 6.8700917
1320 1.979341 2.0388959 0.52106938 6.7529595
1330 2.0073235 2.0720045 0.51935291 6.6297731
1340 2.0202482 2.0841419 0.51624273 6.55803
1350 2.0177489 2.0669046 0.51142591 6.5401753
1360 2.0069274 2.04717 0.50505824 6.5506533
1370 1.994854 2.0311383 0.49743042 6.5633001
1380 1.9793176 2.0077184 0.48890503 6.5859072
1390 1.9580907 1.9839831 0.48004316 6.6288992
1400 1.9415542 1.9594192 0.47143599 6.6534105
1410 1.9405188 1.9591825 0.46353105 6.620549
1420 1.9504784 1.9730647 0.45640199 6.5471784
1430 1.9594158 1.9819854 0.44995052 6.4802874
1440 1.9615108 1.9863792 0.44406411 6.44391
1450 1.9544127 1.9806249 0.43873409 6.4484818
1460 1.9384927 1.9614953 0.43408605 6.4905259
1470 1.9214711 1.9425515 0.43035972 6.5390434
1480 1.9170761 1.9300809 0.42775046 6.5409502
1490 1.9242904 1.9385731 0.42631007 6.5005057
1500 1.9307133 1.9446119 0.4258836 6.4660754
1510 1.9303576 1.9435389 0.42633976 6.4616415
1520 1.9248382 1.9408306 0.42765441 6.4832059
1530 1.9120794 1.9278123 0.42986958 6.5380951
1540 1.899122 1.9125029 0.4331459 6.5987181
1550 1.9030956 1.9187821 0.43765067 6.6012019
1560 1.9182961 1.9453782 0.44330842 6.5674222
1570 1.9272863 1.9613129 0.44971962 6.5619794
1580 1.931679 1.9698134 0.45643436 6.5780809
1590 1.9336692 1.9728684 0.46314752 6.6035675
1600 1.938895 1.9823104 0.46964519 6.6138411
1610 1.9510838 1.9937914 0.47568807 6.5916989
1620 1.9685387 2.0087314 0.48102339 6.5424432
1630 1.9894416 2.0295715 0.48539861 6.4757743
1640 1.9982699 2.0426949 0.48860411 6.4512418
1650 1.9901677 2.0363837 0.49062424 6.4879985
1660 1.9814216 2.0291326 0.49172203 6.5248034
1670 1.9812111 2.0293629 0.49218297 6.5253876
1680 1.9903906 2.0408376 0.49211747 6.4852787
1690 2.0015983 2.0538843 0.4914581 6.4325081
1700 2.009727 2.0503407 0.49011163 6.3878577
1710 2.0167822 2.0531002 0.4881688 6.3477054
1720 2.0189021 2.0445033 0.48564798 6.3273063
1730 2.0129713 2.0354734 0.48270666 6.3385541
1740 2.0048763 2.0199836 0.47950943 6.3587586
1750 1.9994843 2.0085942 0.47624908 6.3694119
1760 1.9940025 2.0072098 0.47305283 6.3816295
1770 1.9817431 1.9974066 0.46994486 6.4224295
1780 1.965171 1.9805421 0.4670779 6.4832371
1790 1.9474078 1.9662605 0.46466823 6.5516524
1800 1.9286009 1.9507751 0.46292015 6.6263366
1810 1.9168087 1.9437961 0.46199899 6.6759834
1820 1.9107555 1.9306323 0.46204129 6.7029857
1830 1.9135569 1.930819 0.46316484 6.6949737
1840 1.9345342 1.9553413 0.46532704 6.6178988
1850 1.9630349 1.9929548 0.46822932 6.5137866
1860 1.9820746 2.0188839 0.47135068 6.4489028
1870 1.9834959 2.0217145 0.47427805 6.4552721
1880 1.9731564 2.0120293 0.47692755 6.5100251
1890 1.9653605 2.0070624 0.47943307 6.5594235
1900 1.9630631 2.0095488 0.48192185 6.5912876
1910 1.9556778 2.0035006 0.48443107 6.6437189
1920 1.9408788 1.9828296 0.48710124 6.7228731
1930 1.9292393 1.9732376 0.49025327 6.7880112
1940 1.9263081 1.9708942 0.49416086 6.8162477
1950 1.9358375 1.976323 0.49899895 6.7946964
1960 1.9520543 1.9936542 0.50485961 6.7467481
1970 1.9709064 2.0108957 0.51165586 6.6909455
1980 1.9940026 2.0375428 0.51918913 6.6250463
1990 2.0171261 2.0646948 0.52705638 6.5649879
2000 2.0302713 2.0802515 0.53472229 6.5470853
Loop time of 1.34877 on 1 procs for 1000 steps with 2775 atoms
Performance: 64058.154 tau/day, 741.414 timesteps/s
98.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.77091 | 0.77091 | 0.77091 | 0.0 | 57.16
Neigh | 0.085835 | 0.085835 | 0.085835 | 0.0 | 6.36
Comm | 0.0093472 | 0.0093472 | 0.0093472 | 0.0 | 0.69
Output | 0.019047 | 0.019047 | 0.019047 | 0.0 | 1.41
Modify | 0.43949 | 0.43949 | 0.43949 | 0.0 | 32.58
Other | | 0.02415 | | | 1.79
Nlocal: 2775 ave 2775 max 2775 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 530 ave 530 max 530 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 24404 ave 24404 max 24404 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 24404
Ave neighs/atom = 8.79423
Neighbor list builds = 36
Dangerous builds = 0
#####################################################################
#collect data
#print the applied force and total flux to ensure conservation of Jx
variable Fapp equal f_GD[1]
compute vxBulk bulk reduce sum vx
compute vyBulk bulk reduce sum vy
variable invVol equal 1.0/(lx*ly)
variable jx equal c_vxBulk*${invVol}
variable jx equal c_vxBulk*0.00025
variable jy equal c_vyBulk*${invVol}
variable jy equal c_vyBulk*0.00025
variable curr_step equal step
variable p_Fapp format Fapp %.3f
variable p_jx format jx %.5g
variable p_jy format jy %.5g
fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
#compute IK1 pressure profile
#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627
#use profile-unbiased temperature to remove the streaming velocity
#from the kinetic part of the pressure
compute spa bulk stress/atom myTp
#for the pressure profile, use the same grid as the PUT
compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box
compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box
#output pressure profile and other profiles
#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where
#V is the volume of a slice
fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
#compute velocity profile across the pipe with a finer grid
variable dYnew equal ${dY}/10
variable dYnew equal 3.07692307692308/10
compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe
compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe
fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite
fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite
#full trajectory
# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z
# dump_modify 7 sort id
run ${run}
run 2000
Per MPI rank memory allocation (min/avg/max) = 5.174 | 5.174 | 5.174 Mbytes
Step c_myT c_myTp TotEng Press
2000 2.0302713 2.0802515 0.53472229 6.5470853
2010 2.0303419 2.0806129 0.54177821 6.5808527
2020 2.0245167 2.0792991 0.54803523 6.6381758
2030 2.0169072 2.065404 0.55345227 6.7008962
2040 2.0052526 2.0513817 0.55818432 6.7755868
2050 1.9953625 2.0366564 0.56245299 6.8382569
2060 2.0003667 2.0462109 0.56649798 6.8390557
2070 2.0238288 2.0834553 0.57023651 6.7637821
2080 2.045765 2.1173867 0.5730944 6.6861321
2090 2.0563925 2.1370313 0.57430831 6.6422581
2100 2.0620437 2.1480293 0.57319824 6.6080678
2110 2.0584437 2.1473173 0.56913597 6.5969671
2120 2.0532825 2.1393006 0.56154606 6.5799417
2130 2.0450143 2.1234905 0.55009479 6.5616931
2140 2.0229537 2.1004507 0.53511912 6.5854627
2150 1.9832556 2.0554119 0.51812599 6.6700591
2160 1.9444027 2.0110758 0.50163049 6.7534263
2170 1.9267473 1.9904528 0.48759542 6.76469
2180 1.9262232 1.9809353 0.47662199 6.7188048
2190 1.9359331 1.9854626 0.46836289 6.6406985
2200 1.9530728 1.9971865 0.4620366 6.5409943
2210 1.9657099 2.0056761 0.45692542 6.4639397
2220 1.9661008 2.0046161 0.45253504 6.4388081
2230 1.9574696 1.9947839 0.44864257 6.4528687
2240 1.9522284 1.9922663 0.44518111 6.4584458
2250 1.9518203 1.9950044 0.44206844 6.4491722
2260 1.9527908 1.9989603 0.4391804 6.4377912
2270 1.9452231 1.9932538 0.43643529 6.4607516
2280 1.9249341 1.9759145 0.43392742 6.5320897
2290 1.9087464 1.960985 0.43186869 6.5875176
2300 1.9103289 1.964731 0.43039882 6.5765021
2310 1.9182062 1.9783814 0.4294628 6.5434488
2320 1.9204281 1.9796609 0.42889381 6.5351629
2330 1.916279 1.9720659 0.42866391 6.5562619
2340 1.9062866 1.9587628 0.42890166 6.6033936
2350 1.9024117 1.9566812 0.42979475 6.6297969
2360 1.908153 1.960687 0.43141898 6.6215148
2370 1.9115944 1.9663337 0.43376668 6.6236491
2380 1.9086193 1.9637867 0.4367911 6.6529568
2390 1.9039907 1.9610268 0.44053991 6.6926343
2400 1.9034944 1.9609406 0.44508818 6.7193441
2410 1.9151521 1.9753641 0.4504458 6.7015957
2420 1.9314517 1.9925924 0.45644382 6.6669864
2430 1.9433933 2.0062001 0.46277215 6.6481527
2440 1.9504631 2.0087015 0.46917209 6.6475757
2450 1.9550092 2.0094957 0.47550077 6.6556459
2460 1.9609689 2.0147997 0.48170141 6.6568282
2470 1.9730726 2.0328127 0.48763131 6.6337545
2480 1.9838562 2.0466643 0.49303443 6.6143423
2490 1.9862031 2.0473388 0.49767532 6.6245587
2500 1.9817565 2.0455432 0.50152131 6.6573893
2510 1.9785788 2.0423176 0.50460561 6.6808042
2520 1.9823006 2.0505106 0.50696374 6.6726698
2530 1.9907178 2.0553736 0.50852885 6.6402082
2540 2.0005205 2.0690408 0.50919421 6.5966469
2550 2.0079727 2.0809816 0.50872954 6.5568419
2560 2.0133128 2.096271 0.50682742 6.5199915
2570 2.0141298 2.0990846 0.50314491 6.4951991
2580 2.0048768 2.0874319 0.49750096 6.5025454
2590 1.9876498 2.0638834 0.4900201 6.5333038
2600 1.9720479 2.0474479 0.48105263 6.5527157
2610 1.9596324 2.0355764 0.4710001 6.5547867
2620 1.9439039 2.0106405 0.46046644 6.5646889
2630 1.9321714 1.9924346 0.45021207 6.5589454
2640 1.9349378 1.9923889 0.44082833 6.5012762
2650 1.9448459 2.0069955 0.43251999 6.4228945
2660 1.9446852 2.0050346 0.42525857 6.3921645
2670 1.9325594 1.9884937 0.41913362 6.4169726
2680 1.9121687 1.9606084 0.41434428 6.4821267
2690 1.8923613 1.9339385 0.41105831 6.5517615
2700 1.8807238 1.9191801 0.40933203 6.5949447
2710 1.8797367 1.918758 0.40906826 6.6001309
2720 1.8852961 1.9225996 0.41005611 6.58191
2730 1.8937478 1.9357751 0.41204348 6.5541946
2740 1.9019279 1.9449374 0.41476104 6.5278575
2750 1.9134396 1.9614415 0.41800066 6.4890769
2760 1.9339551 1.9913779 0.42150554 6.4159805
2770 1.9597826 2.0220988 0.42487614 6.3232273
2780 1.9753466 2.0414907 0.42771704 6.2715489
2790 1.9720423 2.0402016 0.42976012 6.2949288
2800 1.9512893 2.0172711 0.43109201 6.3878056
2810 1.9232302 1.9870212 0.4320928 6.5101822
2820 1.9026913 1.959286 0.43326424 6.6024967
2830 1.9033802 1.9621601 0.43500785 6.6114274
2840 1.9214292 1.9833838 0.43733454 6.5508757
2850 1.9440563 2.0087358 0.43995473 6.4713496
2860 1.9589136 2.0211107 0.44250821 6.4232961
2870 1.9588429 2.022232 0.44477492 6.4355861
2880 1.9456751 2.0009513 0.44676532 6.5021746
2890 1.9269155 1.9782929 0.44877858 6.5926531
2900 1.9125262 1.9554653 0.45121196 6.6657808
2910 1.9187855 1.9572583 0.45438665 6.6589954
2920 1.9416112 1.9784518 0.45839212 6.5888253
2930 1.9613579 1.9975032 0.46305788 6.5317424
2940 1.9711529 2.0102501 0.46812715 6.5148943
2950 1.9707865 2.0133283 0.47345305 6.5389543
2960 1.9732526 2.0170219 0.47898306 6.5537092
2970 1.9871126 2.0282309 0.48465048 6.5273492
2980 1.9953449 2.0404164 0.49032615 6.5227325
2990 1.9909136 2.037246 0.49581423 6.5664662
3000 1.9872474 2.0307896 0.5011051 6.6060698
3010 1.9944885 2.0457308 0.5062755 6.6031811
3020 2.0103461 2.0599491 0.51116655 6.5654871
3030 2.0240275 2.077342 0.5154921 6.5358852
3040 2.0205953 2.0704954 0.51898871 6.5708937
3050 2.0032184 2.0463036 0.52167438 6.657741
3060 1.9889341 2.0265284 0.52385964 6.7329171
3070 1.9795143 2.0201081 0.52588914 6.7881407
3080 1.9713362 2.0123964 0.52797238 6.8362858
3090 1.9692592 2.0106467 0.53025538 6.8616268
3100 1.9722487 2.0259566 0.53277635 6.8689898
3110 1.9703322 2.0314028 0.53541462 6.895271
3120 1.9594359 2.0217586 0.53808512 6.954362
3130 1.9524729 2.0148628 0.5409094 6.9965233
3140 1.9630381 2.0260807 0.54400259 6.968082
3150 1.9902598 2.0549364 0.54720142 6.8698796
3160 2.029715 2.0923999 0.54995378 6.7193678
3170 2.0581544 2.1137995 0.55150021 6.6053728
3180 2.0590739 2.1156535 0.55123668 6.5919337
3190 2.0400682 2.0904721 0.54894762 6.6505757
3200 2.0211594 2.0682597 0.54484887 6.7046468
3210 2.012712 2.0573114 0.53922056 6.7130909
3220 2.0102377 2.0554701 0.53219251 6.6919068
3230 2.0017671 2.0505068 0.52386898 6.6867054
3240 1.9854941 2.0308454 0.51458791 6.7051085
3250 1.9767009 2.0187664 0.50486784 6.6916859
3260 1.9771733 2.0186148 0.49510721 6.6424305
3270 1.974003 2.0136039 0.48556818 6.6078903
3280 1.9627665 1.9989122 0.47654147 6.6067904
3290 1.9491247 1.9826247 0.46834865 6.6186709
3300 1.9414093 1.9724941 0.4612122 6.6119543
3310 1.9433901 1.9715482 0.45518879 6.570612
3320 1.9518837 1.9872717 0.45010165 6.5057947
3330 1.9603874 1.9957995 0.44566728 6.4428221
3340 1.9615962 1.9945224 0.44167201 6.4099339
3350 1.955918 1.9882866 0.4380303 6.4070811
3360 1.9463445 1.9763654 0.43480086 6.4241178
3370 1.9411187 1.9683081 0.4320639 6.4296577
3380 1.9407224 1.9580074 0.42991627 6.4210217
3390 1.9402479 1.9530447 0.42850635 6.4170536
3400 1.9451337 1.9555771 0.42787382 6.3990336
3410 1.9475586 1.9612432 0.42797178 6.3953251
3420 1.9434927 1.960532 0.4286887 6.4210681
3430 1.9339054 1.9516935 0.43003682 6.4707071
3440 1.9234014 1.9464343 0.43214965 6.5248205
3450 1.9191846 1.9444777 0.43516361 6.5558451
3460 1.923218 1.9594606 0.43915611 6.5549213
3470 1.9328953 1.9792053 0.44397878 6.5327637
3480 1.9466227 1.9997841 0.44940599 6.4954965
3490 1.9672374 2.0323219 0.45511091 6.4358811
3500 1.9799622 2.0479841 0.46061029 6.4100217
3510 1.97942 2.0493411 0.46551964 6.4368108
3520 1.9725674 2.0389602 0.46976379 6.4892049
3530 1.9716429 2.0389798 0.47344292 6.5200899
3540 1.9789254 2.0486162 0.47659268 6.5198212
3550 1.9872455 2.0577517 0.47908145 6.5144586
3560 1.9808834 2.0545963 0.48076562 6.5633282
3570 1.9637165 2.0335394 0.4816783 6.6519124
3580 1.9407948 2.0067763 0.48212406 6.7605224
3590 1.9226532 1.9825887 0.482523 6.8486041
3600 1.9135067 1.9700999 0.48328349 6.8977859
3610 1.9157516 1.9720028 0.48470695 6.8977759
3620 1.9328644 2.0001154 0.48688778 6.8361569
3630 1.9568208 2.0243053 0.48963934 6.7442107
3640 1.9824587 2.0569223 0.49259174 6.6452535
3650 1.9934906 2.0686357 0.49529039 6.6020218
3660 1.9996281 2.0747054 0.49732231 6.5808905
3670 2.0038801 2.0772777 0.49838834 6.5691351
3680 1.9941342 2.0712365 0.49826732 6.6088108
3690 1.9762631 2.0486045 0.49689109 6.6739003
3700 1.9667284 2.034939 0.49438991 6.7010266
3710 1.9615089 2.0168112 0.49093736 6.7040385
3720 1.9613068 2.014749 0.48673789 6.6813041
3730 1.9731234 2.0290151 0.48175562 6.6096756
3740 1.9829764 2.0461907 0.47575174 6.5424752
3750 1.9792839 2.0454423 0.4685271 6.5237752
3760 1.9599692 2.0287015 0.46022485 6.5616271
3770 1.935975 2.0000948 0.45138017 6.6136471
3780 1.9236713 1.9834802 0.44262437 6.6187463
3790 1.9268004 1.9875324 0.43430113 6.5632772
3800 1.932601 1.9872595 0.42649564 6.4984765
3810 1.9322506 1.9814946 0.41928856 6.4617054
3820 1.9245737 1.9712821 0.4128224 6.461378
3830 1.9148568 1.9555602 0.40721003 6.4774474
3840 1.9049961 1.9457058 0.4026118 6.5029211
3850 1.8915137 1.9265199 0.39914962 6.5483592
3860 1.8784768 1.9058055 0.39700153 6.5962113
3870 1.8755236 1.9045158 0.39632769 6.6079033
3880 1.8841415 1.9140314 0.39710038 6.5777071
3890 1.8958027 1.9331148 0.39918951 6.5359786
3900 1.9064085 1.948805 0.40238576 6.4998591
3910 1.9185092 1.9675732 0.40647523 6.4610682
3920 1.9342595 1.9933225 0.41115392 6.4122308
3930 1.9482664 2.007614 0.41603495 6.373684
3940 1.9557759 2.0161573 0.42084462 6.3636707
3950 1.9573687 2.016612 0.42540421 6.3804123
3960 1.9486354 1.9998027 0.42974612 6.4404943
3970 1.936214 1.980721 0.43412037 6.5176787
3980 1.9274292 1.9595259 0.43885103 6.5846211
3990 1.9233082 1.953436 0.44425085 6.6354275
4000 1.9289165 1.9522097 0.45042645 6.6513836
Loop time of 2.49114 on 1 procs for 2000 steps with 2775 atoms
Performance: 69365.902 tau/day, 802.846 timesteps/s
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.4257 | 1.4257 | 1.4257 | 0.0 | 57.23
Neigh | 0.15501 | 0.15501 | 0.15501 | 0.0 | 6.22
Comm | 0.017206 | 0.017206 | 0.017206 | 0.0 | 0.69
Output | 0.034183 | 0.034183 | 0.034183 | 0.0 | 1.37
Modify | 0.81531 | 0.81531 | 0.81531 | 0.0 | 32.73
Other | | 0.04374 | | | 1.76
Nlocal: 2775 ave 2775 max 2775 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 517 ave 517 max 517 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 24366 ave 24366 max 24366 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 24366
Ave neighs/atom = 8.78054
Neighbor list builds = 72
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:05

View File

@ -1,909 +0,0 @@
LAMMPS (6 Jul 2017)
using 1 OpenMP thread(s) per MPI task
#LAMMPS input script
#in.GD
#see README for details
###############################################################################
#initialize variables
clear
using 1 OpenMP thread(s) per MPI task
#frequency for outputting info (timesteps)
variable dump_rate equal 50
variable thermo_rate equal 10
#equilibration time (timesteps)
variable equil equal 1000
#stabilization time (timesteps to reach steady-state)
variable stabil equal 1000
#data collection time (timesteps)
variable run equal 2000
#length of pipe
variable L equal 30
#width of pipe
variable d equal 20
#flux (mass/sigma*tau)
variable J equal 0.1
#simulation box dimensions
variable Lx equal 100
variable Ly equal 40
#bulk fluid density
variable dens equal 0.8
#lattice spacing for wall atoms
variable aWall equal 1.0 #1.7472
#timestep
variable ts equal 0.001
#temperature
variable T equal 2.0
#thermostat damping constant
variable tdamp equal ${ts}*100
variable tdamp equal 0.001*100
units lj
dimension 2
atom_style atomic
###############################################################################
#create box
#create lattice with the spacing aWall
variable rhoWall equal ${aWall}^(-2)
variable rhoWall equal 1^(-2)
lattice sq ${rhoWall}
lattice sq 1
Lattice spacing in x,y,z = 1 1 1
#modify input dimensions to be multiples of aWall
variable L1 equal round($L/${aWall})*${aWall}
variable L1 equal round(30/${aWall})*${aWall}
variable L1 equal round(30/1)*${aWall}
variable L1 equal round(30/1)*1
variable d1 equal round($d/${aWall})*${aWall}
variable d1 equal round(20/${aWall})*${aWall}
variable d1 equal round(20/1)*${aWall}
variable d1 equal round(20/1)*1
variable Ly1 equal round(${Ly}/${aWall})*${aWall}
variable Ly1 equal round(40/${aWall})*${aWall}
variable Ly1 equal round(40/1)*${aWall}
variable Ly1 equal round(40/1)*1
variable Lx1 equal round(${Lx}/${aWall})*${aWall}
variable Lx1 equal round(100/${aWall})*${aWall}
variable Lx1 equal round(100/1)*${aWall}
variable Lx1 equal round(100/1)*1
#create simulation box
variable lx2 equal ${Lx1}/2
variable lx2 equal 100/2
variable ly2 equal ${Ly1}/2
variable ly2 equal 40/2
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box
region simbox block -50 ${lx2} -${ly2} ${ly2} 0 0.1 units box
region simbox block -50 50 -${ly2} ${ly2} 0 0.1 units box
region simbox block -50 50 -20 ${ly2} 0 0.1 units box
region simbox block -50 50 -20 20 0 0.1 units box
create_box 2 simbox
Created orthogonal box = (-50 -20 0) to (50 20 0.1)
4 by 1 by 1 MPI processor grid
#####################################################################
#set up potential
mass 1 1.0 #fluid atoms
mass 2 1.0 #wall atoms
pair_style lj/cut 2.5
pair_modify shift yes
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 1.12246
pair_coeff 2 2 0.0 0.0
neigh_modify exclude type 2 2
timestep ${ts}
timestep 0.001
#####################################################################
#create atoms
#create wall atoms everywhere
create_atoms 2 box
Created 4000 atoms
#define region which is "walled off"
variable dhalf equal ${d1}/2
variable dhalf equal 20/2
variable Lhalf equal ${L1}/2
variable Lhalf equal 30/2
region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box
region walltop block -15 15 10 EDGE -0.1 0.1 units box
region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box
region wallbot block -15 15 EDGE -10 -0.1 0.1 units box
region outsidewall union 2 walltop wallbot side out
#remove wall atoms outside wall region
group outside region outsidewall
3349 atoms in group outside
delete_atoms group outside
Deleted 3349 atoms, new total = 651
#remove wall atoms that aren't on edge of wall region
variable x1 equal ${Lhalf}-${aWall}
variable x1 equal 15-${aWall}
variable x1 equal 15-1
variable y1 equal ${dhalf}+${aWall}
variable y1 equal 10+${aWall}
variable y1 equal 10+1
region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box
region insideTop block -14 14 11 EDGE -0.1 0.1 units box
region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box
region insideBot block -14 14 EDGE -11 -0.1 0.1 units box
region insideWall union 2 insideTop insideBot
group insideWall region insideWall
551 atoms in group insideWall
delete_atoms group insideWall
Deleted 551 atoms, new total = 100
#define new lattice, to give correct fluid density
#y lattice const must be a multiple of aWall
variable atrue equal ${dens}^(-1/2)
variable atrue equal 0.8^(-1/2)
variable ay equal round(${atrue}/${aWall})*${aWall}
variable ay equal round(1.11803398874989/${aWall})*${aWall}
variable ay equal round(1.11803398874989/1)*${aWall}
variable ay equal round(1.11803398874989/1)*1
#choose x lattice const to give correct density
variable ax equal (${ay}*${dens})^(-1)
variable ax equal (1*${dens})^(-1)
variable ax equal (1*0.8)^(-1)
#change Lx to be multiple of ax
variable Lx1 equal round(${Lx}/${ax})*${ax}
variable Lx1 equal round(100/${ax})*${ax}
variable Lx1 equal round(100/1.25)*${ax}
variable Lx1 equal round(100/1.25)*1.25
variable lx2 equal ${Lx1}/2
variable lx2 equal 100/2
change_box all x final -${lx2} ${lx2} units box
change_box all x final -50 ${lx2} units box
change_box all x final -50 50 units box
orthogonal box = (-50 -20 0) to (50 20 0.1)
#define new lattice
lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
Lattice spacing in x,y,z = 1.25 1 1
#fill in rest of box with bulk particles
variable delta equal 0.001
variable Ldelt equal ${Lhalf}+${delta}
variable Ldelt equal 15+${delta}
variable Ldelt equal 15+0.001
variable dDelt equal ${dhalf}-${delta}
variable dDelt equal 10-${delta}
variable dDelt equal 10-0.001
region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box
region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box
region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box
region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box
region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box
region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box
region bulk union 3 left pipe right
create_atoms 1 region bulk
Created 2675 atoms
group bulk type 1
2675 atoms in group bulk
group wall type 2
100 atoms in group wall
#remove atoms that are too close to wall
delete_atoms overlap 0.9 bulk wall
Neighbor list info ...
update every 1 steps, delay 10 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 72 29 1
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command delete_atoms, occasional
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d/newton
bin: standard
Deleted 0 atoms, new total = 2775
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude group wall wall
velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom
velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom
#####################################################################
#set up PUT
#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172
#average number of particles per box, Evans and Morriss used 2.0
variable NperBox equal 8.0
#calculate box sizes
variable boxSide equal sqrt(${NperBox}/${dens})
variable boxSide equal sqrt(8/${dens})
variable boxSide equal sqrt(8/0.8)
variable nX equal round(lx/${boxSide})
variable nX equal round(lx/3.16227766016838)
variable nY equal round(ly/${boxSide})
variable nY equal round(ly/3.16227766016838)
variable dX equal lx/${nX}
variable dX equal lx/32
variable dY equal ly/${nY}
variable dY equal ly/13
#temperature of fluid (excluding wall)
compute myT bulk temp
#profile-unbiased temperature of fluid
compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY}
compute myTp bulk temp/profile 1 1 0 xy 32 ${nY}
compute myTp bulk temp/profile 1 1 0 xy 32 13
#thermo setup
thermo ${thermo_rate}
thermo 10
thermo_style custom step c_myT c_myTp etotal press
#dump initial configuration
# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz
# dump 56 wall custom 1 wall.init.lammpstrj id type x y z
# dump_modify 55 sort id
# dump_modify 56 sort id
run 0
WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 72 29 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.067 | 3.068 | 3.07 Mbytes
Step c_myT c_myTp TotEng Press
0 2 2.0555109 0.77892922 7.3417096
Loop time of 4.35114e-06 on 4 procs for 0 steps with 2775 atoms
114.9% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 4.351e-06 | | |100.00
Nlocal: 693.75 ave 800 max 578 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 266.25 ave 325 max 198 min
Histogram: 1 1 0 0 0 0 0 0 0 2
Neighs: 6601.5 ave 8000 max 5147 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 26406
Ave neighs/atom = 9.51568
Neighbor list builds = 0
Dangerous builds = 0
# undump 55
# undump 56
#####################################################################
#equilibrate without GD
fix nvt bulk nvt temp $T $T ${tdamp}
fix nvt bulk nvt temp 2 $T ${tdamp}
fix nvt bulk nvt temp 2 2 ${tdamp}
fix nvt bulk nvt temp 2 2 0.1
fix_modify nvt temp myTp
WARNING: Temperature for fix modify is not for group all (../fix_nh.cpp:1395)
fix 2 bulk enforce2d
run ${equil}
run 1000
Per MPI rank memory allocation (min/avg/max) = 3.13 | 3.131 | 3.132 Mbytes
Step c_myT c_myTp TotEng Press
0 2 2.0555109 0.77892922 7.3417096
10 1.9173594 1.9390034 0.77876976 7.6702228
20 1.7033394 1.6974676 0.77977799 8.5614784
30 1.5026161 1.4723993 0.78456655 9.4308258
40 1.4880481 1.4591602 0.79486693 9.6134304
50 1.6192437 1.6150635 0.81109069 9.2592835
60 1.7404087 1.7583444 0.82955456 8.952392
70 1.7757591 1.8006606 0.8452778 8.9717917
80 1.7573847 1.7813629 0.85769389 9.1936368
90 1.7491183 1.7726908 0.86882429 9.3712357
100 1.7798944 1.8079583 0.88029084 9.3871755
110 1.8440582 1.8793133 0.89259397 9.2582848
120 1.9191606 1.9673434 0.90533438 9.0680574
130 1.9883299 2.0484299 0.91755461 8.88117
140 2.0463366 2.1111872 0.92818114 8.7184178
150 2.0953769 2.167849 0.93639789 8.5713408
160 2.1442147 2.2216228 0.94145082 8.4082835
170 2.1797848 2.2631458 0.94246877 8.2767903
180 2.1863476 2.2700986 0.93873326 8.2311689
190 2.1832866 2.2710551 0.93003012 8.1959062
200 2.1937154 2.2868403 0.91642537 8.0842007
210 2.2022708 2.2915142 0.89824533 7.9575312
220 2.1884715 2.2770564 0.87677613 7.9000591
230 2.1671124 2.2496063 0.85409501 7.8673156
240 2.1560417 2.2379998 0.83167878 7.8003228
250 2.1421449 2.2240624 0.81004723 7.7491508
260 2.1172164 2.1971044 0.78931978 7.7457415
270 2.0856847 2.1672998 0.76956352 7.7719788
280 2.0670685 2.1449303 0.75073364 7.7524614
290 2.0639481 2.1428374 0.73258016 7.6727716
300 2.055776 2.1361719 0.7147669 7.6095248
310 2.038425 2.1209353 0.69722853 7.5797085
320 2.0203023 2.1066031 0.68006634 7.5521081
330 2.0118478 2.1039797 0.66330302 7.4877535
340 2.0159442 2.1096258 0.64673694 7.3761703
350 2.0166408 2.1075061 0.63020017 7.2788
360 2.0059407 2.0806316 0.61387618 7.2263941
370 1.9964281 2.0642074 0.59814148 7.1728041
380 1.9918446 2.0567527 0.58303017 7.101597
390 1.992835 2.0548138 0.56852431 7.0084774
400 2.0012934 2.0615016 0.55438401 6.8865948
410 2.0084291 2.073418 0.54034073 6.7697478
420 2.007464 2.0786717 0.52617041 6.6849032
430 1.9983712 2.0704366 0.51188183 6.6323103
440 1.9884651 2.0588515 0.49765394 6.5868356
450 1.982221 2.0467396 0.4837102 6.5311681
460 1.9738673 2.031238 0.47021649 6.4882783
470 1.9574246 2.0060447 0.45740021 6.4814923
480 1.9361065 1.9734507 0.44557947 6.4995199
490 1.9251024 1.9562469 0.43506067 6.4858343
500 1.9279545 1.9572145 0.42577835 6.4274765
510 1.9267504 1.9570246 0.41755013 6.3927027
520 1.9093405 1.9393872 0.41031829 6.4281888
530 1.8820555 1.9060756 0.40432569 6.5099401
540 1.86537 1.8912682 0.3999087 6.55843
550 1.8694252 1.9043192 0.39717519 6.5337875
560 1.8835224 1.9294105 0.39589322 6.4760141
570 1.8898719 1.9462433 0.39573596 6.4520041
580 1.8887698 1.9472764 0.39649878 6.4602989
590 1.8945125 1.9550624 0.39810844 6.4470226
600 1.9106571 1.9735939 0.40045321 6.3971026
610 1.9273243 1.98509 0.40330026 6.3474421
620 1.9351802 1.9888986 0.4064498 6.3340566
630 1.9337889 1.9846794 0.40981479 6.3610556
640 1.9257018 1.9757153 0.4134641 6.4184721
650 1.9204429 1.9718256 0.41750942 6.4679594
660 1.9220449 1.9701963 0.42202455 6.4919724
670 1.9230578 1.9707406 0.4270412 6.5178484
680 1.9204554 1.9740485 0.43255127 6.5572507
690 1.9201811 1.9762854 0.43847123 6.5869126
700 1.9271511 1.9867455 0.44474356 6.5882669
710 1.9418851 2.0042477 0.45120727 6.558573
720 1.9544547 2.0186724 0.4576061 6.5338329
730 1.9687971 2.0326169 0.46367507 6.4988775
740 1.9830308 2.0466267 0.46920367 6.4618136
750 1.9936981 2.0526606 0.47397868 6.4367349
760 2.0008431 2.0535449 0.47786748 6.4249001
770 1.9982133 2.0483219 0.48085757 6.4504786
780 1.9841544 2.0311693 0.48306488 6.5200512
790 1.9683122 2.0158738 0.48475632 6.5959263
800 1.9604618 2.003224 0.48619405 6.6392559
810 1.9629155 2.0075077 0.48756075 6.6406486
820 1.9683056 2.0110554 0.48883443 6.6269424
830 1.975409 2.0189161 0.48995399 6.6030215
840 1.9897264 2.035016 0.4907852 6.5485575
850 2.0094338 2.0555358 0.49104505 6.4719926
860 2.0217589 2.0643603 0.49040437 6.4233305
870 2.0147718 2.0641627 0.48866908 6.4491964
880 1.9883859 2.0324092 0.48592007 6.5488061
890 1.9625853 2.0028776 0.48263002 6.6452734
900 1.9520401 1.9889124 0.47925524 6.6808078
910 1.9559583 1.9952984 0.47597346 6.6573059
920 1.9657244 2.0083503 0.47268726 6.6073704
930 1.969288 2.0152339 0.4692054 6.5780416
940 1.9652206 2.0116384 0.4654438 6.5769812
950 1.9567495 1.9960693 0.46147541 6.5942022
960 1.9418452 1.980858 0.45753557 6.6369454
970 1.9247196 1.9585585 0.45390337 6.6888821
980 1.9128262 1.9481721 0.45090045 6.7198221
990 1.9167211 1.9451096 0.44869731 6.6912394
1000 1.935529 1.9662384 0.44728238 6.6079829
Loop time of 0.474418 on 4 procs for 1000 steps with 2775 atoms
Performance: 182118.045 tau/day, 2107.848 timesteps/s
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.13953 | 0.19068 | 0.23764 | 10.4 | 40.19
Neigh | 0.016439 | 0.022345 | 0.027069 | 3.2 | 4.71
Comm | 0.018215 | 0.068071 | 0.12178 | 18.6 | 14.35
Output | 0.011982 | 0.012633 | 0.013047 | 0.4 | 2.66
Modify | 0.14494 | 0.15597 | 0.16628 | 2.4 | 32.88
Other | | 0.02472 | | | 5.21
Nlocal: 693.75 ave 800 max 584 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 255.5 ave 323 max 192 min
Histogram: 2 0 0 0 0 0 0 0 1 1
Neighs: 6083 ave 7384 max 4742 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 24332
Ave neighs/atom = 8.76829
Neighbor list builds = 38
Dangerous builds = 0
#####################################################################
#initialize the COM velocity and run to achieve steady-state
#calculate velocity to add: V=J/rho_total
variable Vadd equal $J*lx*ly/count(bulk)
variable Vadd equal 0.1*lx*ly/count(bulk)
#first remove any COM velocity, then add back the streaming velocity
velocity bulk zero linear
velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no
velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no
fix GD bulk flow/gauss 1 0 0 #energy yes
#fix_modify GD energy yes
run ${stabil}
run 1000
Per MPI rank memory allocation (min/avg/max) = 3.13 | 3.131 | 3.132 Mbytes
Step c_myT c_myTp TotEng Press
1000 1.9466974 1.9662384 0.45804438 6.615449
1010 1.9605467 1.9815754 0.45717241 6.5545496
1020 1.9560139 1.9823875 0.45660431 6.5672421
1030 1.9348326 1.9691606 0.45633148 6.6463667
1040 1.9167809 1.9449522 0.45657707 6.7139486
1050 1.9193541 1.943342 0.45767968 6.7014054
1060 1.9410751 1.9720491 0.45967742 6.6150379
1070 1.9658493 1.9964883 0.46221539 6.5178418
1080 1.9767205 2.0074304 0.46491236 6.4768594
1090 1.9714544 2.0003054 0.46759126 6.5026957
1100 1.9647035 1.9927455 0.4703109 6.5400181
1110 1.9657667 1.9959656 0.47317481 6.5519094
1120 1.9706062 1.9980802 0.476185 6.5512675
1130 1.9747655 2.0062292 0.47932281 6.554091
1140 1.9761245 2.0075076 0.48248327 6.5670381
1150 1.9744197 2.0073027 0.48562483 6.5914441
1160 1.9722698 2.0046687 0.48874207 6.6165575
1170 1.9692145 2.0013845 0.49187442 6.6438115
1180 1.9665609 1.9970724 0.49508053 6.6693821
1190 1.9625031 1.9908427 0.49843816 6.7002606
1200 1.960528 1.993084 0.50203044 6.7237076
1210 1.9649156 1.9981485 0.50587066 6.7217755
1220 1.9788059 2.0134511 0.50987442 6.6833452
1230 1.9952283 2.0343101 0.51379781 6.6340278
1240 2.0039391 2.0494196 0.51730872 6.6129751
1250 2.0019006 2.0526773 0.52014603 6.6320217
1260 1.9974025 2.0528914 0.52221385 6.6601786
1270 1.9953949 2.0561121 0.5234754 6.6796142
1280 1.9893864 2.0470375 0.5238632 6.7140134
1290 1.9694951 2.019253 0.5235093 6.798442
1300 1.9473901 1.9965919 0.52280384 6.8863369
1310 1.9511151 2.006161 0.52203882 6.8700917
1320 1.979341 2.0388959 0.52106938 6.7529595
1330 2.0073235 2.0720045 0.51935291 6.6297731
1340 2.0202482 2.0841419 0.51624273 6.55803
1350 2.0177489 2.0669046 0.51142591 6.5401753
1360 2.0069274 2.04717 0.50505824 6.5506533
1370 1.994854 2.0311383 0.49743042 6.5633001
1380 1.9793176 2.0077184 0.48890503 6.5859072
1390 1.9580907 1.9839831 0.48004316 6.6288992
1400 1.9415542 1.9594192 0.47143599 6.6534105
1410 1.9405188 1.9591825 0.46353105 6.620549
1420 1.9504784 1.9730647 0.45640199 6.5471784
1430 1.9594158 1.9819854 0.44995052 6.4802874
1440 1.9615108 1.9863792 0.44406411 6.44391
1450 1.9544127 1.9806249 0.43873409 6.4484818
1460 1.9384927 1.9614953 0.43408605 6.4905259
1470 1.9214711 1.9425515 0.43035972 6.5390434
1480 1.9170761 1.9300809 0.42775046 6.5409502
1490 1.9242904 1.9385731 0.42631007 6.5005057
1500 1.9307133 1.9446119 0.4258836 6.4660754
1510 1.9303576 1.9435389 0.42633976 6.4616415
1520 1.9248382 1.9408306 0.42765441 6.4832059
1530 1.9120794 1.9278123 0.42986958 6.5380951
1540 1.899122 1.9125029 0.4331459 6.5987181
1550 1.9030956 1.9187821 0.43765067 6.6012019
1560 1.9182961 1.9453782 0.44330842 6.5674222
1570 1.9272863 1.9613129 0.44971962 6.5619794
1580 1.931679 1.9698134 0.45643436 6.5780809
1590 1.9336692 1.9728684 0.46314752 6.6035675
1600 1.938895 1.9823104 0.46964519 6.6138411
1610 1.9510838 1.9937914 0.47568807 6.5916989
1620 1.9685387 2.0087314 0.48102339 6.5424432
1630 1.9894416 2.0295715 0.48539861 6.4757743
1640 1.9982699 2.0426949 0.48860411 6.4512418
1650 1.9901677 2.0363837 0.49062424 6.4879985
1660 1.9814216 2.0291326 0.49172203 6.5248034
1670 1.9812111 2.0293629 0.49218297 6.5253876
1680 1.9903906 2.0408376 0.49211747 6.4852787
1690 2.0015983 2.0538843 0.4914581 6.4325081
1700 2.009727 2.0503407 0.49011163 6.3878577
1710 2.0167822 2.0531002 0.4881688 6.3477054
1720 2.0189021 2.0445033 0.48564798 6.3273063
1730 2.0129713 2.0354734 0.48270666 6.3385541
1740 2.0048763 2.0199836 0.47950943 6.3587586
1750 1.9994843 2.0085942 0.47624908 6.3694119
1760 1.9940025 2.0072098 0.47305283 6.3816295
1770 1.9817431 1.9974066 0.46994486 6.4224295
1780 1.965171 1.9805421 0.4670779 6.4832371
1790 1.9474078 1.9662605 0.46466823 6.5516524
1800 1.9286009 1.9507751 0.46292015 6.6263366
1810 1.9168087 1.9437961 0.46199899 6.6759834
1820 1.9107555 1.9306323 0.46204129 6.7029857
1830 1.9135569 1.930819 0.46316484 6.6949737
1840 1.9345342 1.9553413 0.46532704 6.6178988
1850 1.9630349 1.9929548 0.46822932 6.5137866
1860 1.9820746 2.0188839 0.47135068 6.4489028
1870 1.9834959 2.0217145 0.47427805 6.4552721
1880 1.9731564 2.0120293 0.47692755 6.5100251
1890 1.9653605 2.0070624 0.47943307 6.5594235
1900 1.9630631 2.0095488 0.48192185 6.5912876
1910 1.9556778 2.0035006 0.48443107 6.6437189
1920 1.9408788 1.9828296 0.48710124 6.7228731
1930 1.9292393 1.9732376 0.49025327 6.7880112
1940 1.9263081 1.9708942 0.49416086 6.8162477
1950 1.9358375 1.976323 0.49899895 6.7946964
1960 1.9520543 1.9936542 0.50485961 6.7467481
1970 1.9709064 2.0108957 0.51165586 6.6909455
1980 1.9940026 2.0375428 0.51918913 6.6250463
1990 2.0171261 2.0646948 0.52705638 6.5649879
2000 2.0302713 2.0802515 0.53472229 6.5470853
Loop time of 0.482133 on 4 procs for 1000 steps with 2775 atoms
Performance: 179203.608 tau/day, 2074.116 timesteps/s
98.6% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.1081 | 0.18228 | 0.23471 | 12.7 | 37.81
Neigh | 0.011443 | 0.019967 | 0.025651 | 4.1 | 4.14
Comm | 0.01639 | 0.073615 | 0.15634 | 21.8 | 15.27
Output | 0.011851 | 0.012603 | 0.013287 | 0.5 | 2.61
Modify | 0.14306 | 0.16634 | 0.18018 | 3.6 | 34.50
Other | | 0.02733 | | | 5.67
Nlocal: 693.75 ave 797 max 590 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 259 ave 320 max 195 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 6101 ave 7360 max 4853 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 24404
Ave neighs/atom = 8.79423
Neighbor list builds = 36
Dangerous builds = 0
#####################################################################
#collect data
#print the applied force and total flux to ensure conservation of Jx
variable Fapp equal f_GD[1]
compute vxBulk bulk reduce sum vx
compute vyBulk bulk reduce sum vy
variable invVol equal 1.0/(lx*ly)
variable jx equal c_vxBulk*${invVol}
variable jx equal c_vxBulk*0.00025
variable jy equal c_vyBulk*${invVol}
variable jy equal c_vyBulk*0.00025
variable curr_step equal step
variable p_Fapp format Fapp %.3f
variable p_jx format jx %.5g
variable p_jy format jy %.5g
fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
#compute IK1 pressure profile
#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627
#use profile-unbiased temperature to remove the streaming velocity
#from the kinetic part of the pressure
compute spa bulk stress/atom myTp
#for the pressure profile, use the same grid as the PUT
compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box
compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box
#output pressure profile and other profiles
#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where
#V is the volume of a slice
fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
#compute velocity profile across the pipe with a finer grid
variable dYnew equal ${dY}/10
variable dYnew equal 3.07692307692308/10
compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe
compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe
fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite
fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite
#full trajectory
# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z
# dump_modify 7 sort id
run ${run}
run 2000
Per MPI rank memory allocation (min/avg/max) = 5.138 | 5.139 | 5.14 Mbytes
Step c_myT c_myTp TotEng Press
2000 2.0302713 2.0802515 0.53472229 6.5470853
2010 2.0303419 2.0806129 0.54177821 6.5808527
2020 2.0245167 2.0792991 0.54803523 6.6381758
2030 2.0169072 2.065404 0.55345227 6.7008962
2040 2.0052526 2.0513817 0.55818432 6.7755868
2050 1.9953625 2.0366564 0.56245299 6.8382569
2060 2.0003667 2.0462109 0.56649798 6.8390557
2070 2.0238288 2.0834553 0.57023651 6.7637821
2080 2.045765 2.1173867 0.5730944 6.6861321
2090 2.0563925 2.1370313 0.57430831 6.6422581
2100 2.0620437 2.1480293 0.57319824 6.6080678
2110 2.0584437 2.1473173 0.56913597 6.5969671
2120 2.0532825 2.1393006 0.56154606 6.5799417
2130 2.0450143 2.1234905 0.55009479 6.5616931
2140 2.0229537 2.1004507 0.53511912 6.5854627
2150 1.9832556 2.0554119 0.51812599 6.6700591
2160 1.9444027 2.0110758 0.50163049 6.7534263
2170 1.9267473 1.9904528 0.48759542 6.76469
2180 1.9262232 1.9809353 0.47662199 6.7188048
2190 1.9359331 1.9854626 0.46836289 6.6406985
2200 1.9530728 1.9971865 0.4620366 6.5409943
2210 1.9657099 2.0056761 0.45692542 6.4639397
2220 1.9661008 2.0046161 0.45253504 6.4388081
2230 1.9574696 1.9947839 0.44864257 6.4528687
2240 1.9522284 1.9922663 0.44518111 6.4584458
2250 1.9518203 1.9950044 0.44206844 6.4491722
2260 1.9527908 1.9989603 0.4391804 6.4377912
2270 1.9452231 1.9932538 0.43643529 6.4607516
2280 1.9249341 1.9759145 0.43392742 6.5320897
2290 1.9087464 1.960985 0.43186869 6.5875176
2300 1.9103289 1.964731 0.43039882 6.5765021
2310 1.9182062 1.9783814 0.4294628 6.5434488
2320 1.9204281 1.9796609 0.42889381 6.5351629
2330 1.916279 1.9720659 0.42866391 6.5562619
2340 1.9062866 1.9587628 0.42890166 6.6033936
2350 1.9024117 1.9566812 0.42979475 6.6297969
2360 1.908153 1.960687 0.43141898 6.6215148
2370 1.9115944 1.9663337 0.43376668 6.6236491
2380 1.9086193 1.9637867 0.4367911 6.6529568
2390 1.9039907 1.9610268 0.44053991 6.6926343
2400 1.9034944 1.9609406 0.44508818 6.7193441
2410 1.9151521 1.9753641 0.4504458 6.7015957
2420 1.9314517 1.9925924 0.45644382 6.6669864
2430 1.9433933 2.0062001 0.46277215 6.6481527
2440 1.9504631 2.0087015 0.46917209 6.6475757
2450 1.9550092 2.0094957 0.47550077 6.6556459
2460 1.9609689 2.0147997 0.48170141 6.6568282
2470 1.9730726 2.0328127 0.48763131 6.6337545
2480 1.9838562 2.0466643 0.49303443 6.6143423
2490 1.9862031 2.0473388 0.49767532 6.6245587
2500 1.9817565 2.0455432 0.50152131 6.6573893
2510 1.9785788 2.0423176 0.50460561 6.6808042
2520 1.9823006 2.0505106 0.50696374 6.6726698
2530 1.9907178 2.0553736 0.50852885 6.6402082
2540 2.0005205 2.0690408 0.50919421 6.5966469
2550 2.0079727 2.0809816 0.50872954 6.5568419
2560 2.0133128 2.096271 0.50682742 6.5199915
2570 2.0141298 2.0990846 0.50314491 6.4951991
2580 2.0048768 2.0874319 0.49750096 6.5025454
2590 1.9876498 2.0638834 0.4900201 6.5333038
2600 1.9720479 2.0474479 0.48105263 6.5527157
2610 1.9596324 2.0355764 0.4710001 6.5547867
2620 1.9439039 2.0106405 0.46046644 6.5646889
2630 1.9321714 1.9924346 0.45021207 6.5589454
2640 1.9349378 1.9923889 0.44082833 6.5012762
2650 1.9448459 2.0069955 0.43251999 6.4228945
2660 1.9446852 2.0050346 0.42525857 6.3921645
2670 1.9325594 1.9884937 0.41913362 6.4169726
2680 1.9121687 1.9606084 0.41434428 6.4821267
2690 1.8923613 1.9339385 0.41105831 6.5517615
2700 1.8807238 1.9191801 0.40933203 6.5949447
2710 1.8797367 1.918758 0.40906826 6.6001309
2720 1.8852961 1.9225996 0.41005611 6.58191
2730 1.8937478 1.9357751 0.41204348 6.5541946
2740 1.9019279 1.9449374 0.41476104 6.5278575
2750 1.9134396 1.9614415 0.41800066 6.4890769
2760 1.9339551 1.9913779 0.42150554 6.4159805
2770 1.9597826 2.0220988 0.42487614 6.3232273
2780 1.9753466 2.0414907 0.42771704 6.2715489
2790 1.9720423 2.0402016 0.42976012 6.2949288
2800 1.9512893 2.0172711 0.43109201 6.3878056
2810 1.9232302 1.9870212 0.4320928 6.5101822
2820 1.9026913 1.959286 0.43326424 6.6024967
2830 1.9033802 1.9621601 0.43500785 6.6114274
2840 1.9214292 1.9833838 0.43733454 6.5508757
2850 1.9440563 2.0087358 0.43995473 6.4713496
2860 1.9589136 2.0211107 0.44250821 6.4232961
2870 1.9588429 2.022232 0.44477492 6.4355861
2880 1.9456751 2.0009513 0.44676532 6.5021746
2890 1.9269155 1.9782929 0.44877858 6.5926531
2900 1.9125262 1.9554653 0.45121196 6.6657808
2910 1.9187855 1.9572583 0.45438665 6.6589954
2920 1.9416112 1.9784518 0.45839212 6.5888253
2930 1.9613579 1.9975032 0.46305788 6.5317424
2940 1.9711529 2.0102501 0.46812715 6.5148943
2950 1.9707865 2.0133283 0.47345305 6.5389543
2960 1.9732526 2.0170219 0.47898306 6.5537092
2970 1.9871126 2.0282309 0.48465048 6.5273492
2980 1.9953449 2.0404164 0.49032615 6.5227325
2990 1.9909136 2.037246 0.49581423 6.5664662
3000 1.9872474 2.0307896 0.50110509 6.6060698
3010 1.9944885 2.0457308 0.5062755 6.6031811
3020 2.0103461 2.0599491 0.51116655 6.5654871
3030 2.0240275 2.077342 0.5154921 6.5358852
3040 2.0205953 2.0704954 0.51898871 6.5708937
3050 2.0032184 2.0463036 0.52167438 6.657741
3060 1.9889341 2.0265284 0.52385964 6.7329171
3070 1.9795143 2.0201081 0.52588914 6.7881407
3080 1.9713362 2.0123964 0.52797238 6.8362858
3090 1.9692592 2.0106467 0.53025538 6.8616268
3100 1.9722487 2.0259566 0.53277635 6.8689898
3110 1.9703322 2.0314028 0.53541462 6.895271
3120 1.9594359 2.0217586 0.53808512 6.954362
3130 1.9524729 2.0148628 0.5409094 6.9965233
3140 1.9630381 2.0260807 0.54400259 6.968082
3150 1.9902598 2.0549364 0.54720142 6.8698796
3160 2.029715 2.0923999 0.54995378 6.7193678
3170 2.0581544 2.1137995 0.55150021 6.6053728
3180 2.059074 2.1156535 0.55123668 6.5919337
3190 2.0400682 2.0904721 0.54894762 6.6505757
3200 2.0211594 2.0682597 0.54484887 6.7046468
3210 2.012712 2.0573114 0.53922057 6.7130909
3220 2.0102377 2.0554701 0.53219251 6.6919069
3230 2.0017671 2.0505068 0.52386898 6.6867054
3240 1.9854941 2.0308454 0.51458792 6.7051085
3250 1.9767009 2.0187664 0.50486785 6.6916859
3260 1.9771733 2.0186148 0.49510722 6.6424305
3270 1.974003 2.0136039 0.48556819 6.6078903
3280 1.9627665 1.9989122 0.47654147 6.6067904
3290 1.9491247 1.9826248 0.46834866 6.6186709
3300 1.9414093 1.9724941 0.4612122 6.6119543
3310 1.9433901 1.9715482 0.45518879 6.570612
3320 1.9518837 1.9872717 0.45010165 6.5057947
3330 1.9603874 1.9957995 0.44566728 6.4428221
3340 1.9615962 1.9945224 0.44167201 6.4099339
3350 1.955918 1.9882866 0.4380303 6.4070811
3360 1.9463445 1.9763654 0.43480086 6.4241178
3370 1.9411187 1.9683081 0.43206391 6.4296577
3380 1.9407224 1.9580074 0.42991627 6.4210217
3390 1.9402479 1.9530447 0.42850635 6.4170536
3400 1.9451337 1.9555771 0.42787382 6.3990336
3410 1.9475586 1.9612432 0.42797178 6.3953251
3420 1.9434927 1.960532 0.4286887 6.4210681
3430 1.9339054 1.9516935 0.43003682 6.4707071
3440 1.9234014 1.9464343 0.43214965 6.5248205
3450 1.9191846 1.9444777 0.43516361 6.5558451
3460 1.923218 1.9594606 0.43915611 6.5549213
3470 1.9328953 1.9792053 0.44397878 6.5327637
3480 1.9466227 1.9997841 0.44940599 6.4954965
3490 1.9672374 2.0323219 0.45511091 6.4358811
3500 1.9799622 2.0479841 0.46061029 6.4100217
3510 1.97942 2.0493411 0.46551964 6.4368108
3520 1.9725674 2.0389602 0.46976378 6.4892049
3530 1.9716429 2.0389798 0.47344292 6.5200899
3540 1.9789254 2.0486162 0.47659268 6.5198212
3550 1.9872455 2.0577517 0.47908145 6.5144586
3560 1.9808834 2.0545962 0.48076561 6.5633282
3570 1.9637165 2.0335394 0.4816783 6.6519124
3580 1.9407948 2.0067763 0.48212405 6.7605224
3590 1.9226532 1.9825887 0.48252299 6.8486041
3600 1.9135067 1.9700999 0.48328348 6.8977858
3610 1.9157516 1.9720028 0.48470695 6.8977759
3620 1.9328644 2.0001154 0.48688777 6.8361569
3630 1.9568208 2.0243053 0.48963933 6.7442107
3640 1.9824587 2.0569223 0.49259173 6.6452535
3650 1.9934906 2.0686356 0.49529038 6.6020218
3660 1.9996281 2.0747054 0.4973223 6.5808904
3670 2.0038801 2.0772777 0.49838833 6.5691351
3680 1.9941342 2.0712365 0.49826732 6.6088107
3690 1.9762631 2.0486045 0.49689108 6.6739002
3700 1.9667284 2.0349391 0.4943899 6.7010265
3710 1.9615089 2.0168112 0.49093735 6.7040384
3720 1.9613068 2.0147489 0.48673788 6.6813041
3730 1.9731234 2.0290151 0.48175561 6.6096757
3740 1.9829764 2.0461907 0.47575173 6.5424752
3750 1.9792839 2.0454423 0.46852709 6.5237753
3760 1.9599692 2.0287014 0.46022484 6.5616271
3770 1.935975 2.0000948 0.45138016 6.6136471
3780 1.9236713 1.9834802 0.44262435 6.6187463
3790 1.9268004 1.9875324 0.43430112 6.5632772
3800 1.932601 1.9872595 0.42649563 6.4984764
3810 1.9322506 1.9814946 0.41928855 6.4617054
3820 1.9245737 1.9712821 0.4128224 6.4613779
3830 1.9148568 1.9555602 0.40721003 6.4774474
3840 1.9049961 1.9457058 0.40261179 6.5029211
3850 1.8915137 1.9265199 0.39914961 6.5483592
3860 1.8784768 1.9058055 0.39700153 6.5962113
3870 1.8755236 1.9045158 0.39632768 6.6079033
3880 1.8841415 1.9140314 0.39710037 6.577707
3890 1.8958027 1.9331149 0.39918951 6.5359785
3900 1.9064085 1.948805 0.40238576 6.499859
3910 1.9185092 1.9675733 0.40647523 6.4610682
3920 1.9342595 1.9933225 0.41115392 6.4122308
3930 1.9482664 2.0076139 0.41603495 6.3736841
3940 1.9557759 2.0161573 0.42084462 6.3636708
3950 1.9573687 2.016612 0.42540421 6.3804124
3960 1.9486354 1.9998027 0.42974612 6.4404944
3970 1.936214 1.9807209 0.43412037 6.5176788
3980 1.9274292 1.9595259 0.43885103 6.5846212
3990 1.9233082 1.953436 0.44425085 6.6354276
4000 1.9289166 1.9522097 0.45042645 6.6513835
Loop time of 0.998413 on 4 procs for 2000 steps with 2775 atoms
Performance: 173074.634 tau/day, 2003.179 timesteps/s
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.25646 | 0.3672 | 0.47947 | 15.7 | 36.78
Neigh | 0.027925 | 0.039163 | 0.050221 | 4.5 | 3.92
Comm | 0.032807 | 0.14565 | 0.27684 | 25.4 | 14.59
Output | 0.025572 | 0.032272 | 0.035355 | 2.2 | 3.23
Modify | 0.31519 | 0.35781 | 0.375 | 4.1 | 35.84
Other | | 0.05632 | | | 5.64
Nlocal: 693.75 ave 805 max 582 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 255.5 ave 312 max 199 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 6091.5 ave 7423 max 4780 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 24366
Ave neighs/atom = 8.78054
Neighbor list builds = 72
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation
Total wall time: 0:00:01

View File

@ -8,7 +8,7 @@
0.00000000 64.00000000 xlo xhi
0.00000000 1.00000000 ylo yhi
0.00000000 1.00000000 zlo zhi
-0.50000000 0.50000000 zlo zhi
Atoms

View File

@ -1,4 +1,5 @@
# 3D simple cubic lattice simulation
# 2D slice of 3D simple cubic lattice simulation
dimension 2
boundary p f p

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,206 +0,0 @@
############################################################
# group name of the atoms under study : all
# total number of atoms in the group : 64
# dimension of the system : 1 D
# number of atoms per unit cell : 2
# dimension of the FFT mesh : 32 x 1 x 1
# number of wait steps before measurement : 500000
# frequency of the measurement : 10
# output result after this many measurement: 50000
# number of processors used by this run : 1
############################################################
# mapping information between lattice index and atom id
# nx ny nz nucell
32 1 1 2
# l1 l2 l3 k atom_id
0 0 0 0 1
0 0 0 1 2
1 0 0 0 3
1 0 0 1 4
2 0 0 0 5
2 0 0 1 6
3 0 0 0 7
3 0 0 1 8
4 0 0 0 9
4 0 0 1 10
5 0 0 0 11
5 0 0 1 12
6 0 0 0 13
6 0 0 1 14
7 0 0 0 15
7 0 0 1 16
8 0 0 0 17
8 0 0 1 18
9 0 0 0 19
9 0 0 1 20
10 0 0 0 21
10 0 0 1 22
11 0 0 0 23
11 0 0 1 24
12 0 0 0 25
12 0 0 1 26
13 0 0 0 27
13 0 0 1 28
14 0 0 0 29
14 0 0 1 30
15 0 0 0 31
15 0 0 1 32
16 0 0 0 33
16 0 0 1 34
17 0 0 0 35
17 0 0 1 36
18 0 0 0 37
18 0 0 1 38
19 0 0 0 39
19 0 0 1 40
20 0 0 0 41
20 0 0 1 42
21 0 0 0 43
21 0 0 1 44
22 0 0 0 45
22 0 0 1 46
23 0 0 0 47
23 0 0 1 48
24 0 0 0 49
24 0 0 1 50
25 0 0 0 51
25 0 0 1 52
26 0 0 0 53
26 0 0 1 54
27 0 0 0 55
27 0 0 1 56
28 0 0 0 57
28 0 0 1 58
29 0 0 0 59
29 0 0 1 60
30 0 0 0 61
30 0 0 1 62
31 0 0 0 63
31 0 0 1 64
############################################################
############################################################
# Current time step : 1000000
# Total number of measurements : 50000
# Average temperature of the measurement : 0.00499889
# Boltzmann constant under current units : 1
# basis vector A1 = [2 0 0]
# basis vector A2 = [0 1 0]
# basis vector A3 = [0 0 1]
############################################################
# qx qy qz Phi(q)
0 0 0 2.0269 0 -1.43323 0 -1.43323 0 1.01345 0
0.03125 0 0 2.06958 0 -1.44367 0.144297 -1.44367 -0.144297 1.03745 0
0.0625 0 0 2.00734 -7.10386e-17 -1.36818 0.273607 -1.36818 -0.273607 1.02097 0
0.09375 0 0 2.06033 7.36546e-16 -1.32894 0.389454 -1.32894 -0.389454 1.00889 3.19674e-16
0.125 0 0 2.04516 7.25738e-16 -1.20961 0.516478 -1.20961 -0.516478 1.0073 2.84154e-16
0.15625 0 0 2.05756 0 -1.12954 0.615757 -1.12954 -0.615757 1.02862 0
0.1875 0 0 2.01319 0 -0.970491 0.627631 -0.970491 -0.627631 0.998014 0
0.21875 0 0 1.92269 1.42077e-16 -0.863486 0.66779 -0.863486 -0.66779 1.00343 8.73509e-17
0.25 0 0 1.99044 1.71855e-16 -0.671658 0.661397 -0.671658 -0.661397 0.956893 7.10386e-17
0.28125 0 0 1.96341 -7.10386e-17 -0.556809 0.66713 -0.556809 -0.66713 0.987126 4.2268e-17
0.3125 0 0 2.04354 0 -0.442943 0.661601 -0.442943 -0.661601 0.961726 1.77596e-17
0.34375 0 0 1.98412 0 -0.313464 0.632666 -0.313464 -0.632666 1.01134 -2.21836e-17
0.375 0 0 2.00509 2.17993e-17 -0.187554 0.499349 -0.187554 -0.499349 0.953607 -8.87982e-18
0.40625 0 0 1.91679 0 -0.0962947 0.408121 -0.0962947 -0.408121 1.02919 0
0.4375 0 0 1.98963 0 -0.0137565 0.277826 -0.0137565 -0.277826 1.01624 0
0.46875 0 0 2.08228 0 -0.0312083 0.0872272 -0.0312083 -0.0872272 0.991567 0
0.5 0 0 1.95481 0 0.0542224 0 0.0542224 0 1.00583 0
0.53125 0 0 2.08228 0 -0.0312083 -0.0872272 -0.0312083 0.0872272 0.991567 0
0.5625 0 0 1.98963 0 -0.0137565 -0.277826 -0.0137565 0.277826 1.01624 0
0.59375 0 0 1.91679 0 -0.0962947 -0.408121 -0.0962947 0.408121 1.02919 0
0.625 0 0 2.00509 -2.17993e-17 -0.187554 -0.499349 -0.187554 0.499349 0.953607 8.87982e-18
0.65625 0 0 1.98412 0 -0.313464 -0.632666 -0.313464 0.632666 1.01134 2.21836e-17
0.6875 0 0 2.04354 0 -0.442943 -0.661601 -0.442943 0.661601 0.961726 -1.77596e-17
0.71875 0 0 1.96341 7.10386e-17 -0.556809 -0.66713 -0.556809 0.66713 0.987126 -4.2268e-17
0.75 0 0 1.99044 -1.71855e-16 -0.671658 -0.661397 -0.671658 0.661397 0.956893 -7.10386e-17
0.78125 0 0 1.92269 -1.42077e-16 -0.863486 -0.66779 -0.863486 0.66779 1.00343 -8.73509e-17
0.8125 0 0 2.01319 0 -0.970491 -0.627631 -0.970491 0.627631 0.998014 0
0.84375 0 0 2.05756 0 -1.12954 -0.615757 -1.12954 0.615757 1.02862 0
0.875 0 0 2.04516 -7.25738e-16 -1.20961 -0.516478 -1.20961 0.516478 1.0073 -2.84154e-16
0.90625 0 0 2.06033 -7.36546e-16 -1.32894 -0.389454 -1.32894 0.389454 1.00889 -3.19674e-16
0.9375 0 0 2.00734 7.10386e-17 -1.36818 -0.273607 -1.36818 0.273607 1.02097 0
0.96875 0 0 2.06958 0 -1.44367 -0.144297 -1.44367 0.144297 1.03745 0
############################################################
# Current time step : 1500000
# Total number of measurements : 100000
# Average temperature of the measurement : 0.00499969
# Boltzmann constant under current units : 1
# basis vector A1 = [2 0 0]
# basis vector A2 = [0 1 0]
# basis vector A3 = [0 0 1]
############################################################
# qx qy qz Phi(q)
0 0 0 2.00227 0 -1.41582 0 -1.41582 0 1.00114 0
0.03125 0 0 2.06839 -2.94857e-15 -1.44775 0.141336 -1.44775 -0.141336 1.03568 -1.48867e-15
0.0625 0 0 1.99449 0 -1.35985 0.267438 -1.35985 -0.267438 0.997747 0
0.09375 0 0 2.01906 7.07225e-16 -1.30258 0.390432 -1.30258 -0.390432 1.00279 3.55249e-16
0.125 0 0 2.0047 0 -1.19787 0.503497 -1.19787 -0.503497 1.00067 -3.55249e-17
0.15625 0 0 2.05042 4.26299e-16 -1.12849 0.613659 -1.12849 -0.613659 1.03457 1.85685e-16
0.1875 0 0 1.99151 0 -0.971684 0.625667 -0.971684 -0.625667 0.990665 0
0.21875 0 0 1.96519 -7.10498e-17 -0.861495 0.687109 -0.861495 -0.687109 1.0008 0
0.25 0 0 2.01865 0 -0.687312 0.684014 -0.687312 -0.684014 0.977055 0
0.28125 0 0 1.9933 0 -0.560168 0.698726 -0.560168 -0.698726 1.00805 -4.40715e-17
0.3125 0 0 2.01323 0 -0.446505 0.648764 -0.446505 -0.648764 1.00283 -1.77625e-17
0.34375 0 0 2.00398 0 -0.313827 0.630741 -0.313827 -0.630741 0.996834 0
0.375 0 0 2.0191 0 -0.216211 0.499651 -0.216211 -0.499651 0.978322 0
0.40625 0 0 1.97734 -4.44061e-18 -0.102328 0.398954 -0.102328 -0.398954 1.03793 0
0.4375 0 0 1.99332 -2.22031e-18 -0.0639782 0.238226 -0.0639782 -0.238226 1.00811 -1.3774e-18
0.46875 0 0 2.02854 0 -0.0151203 0.0911116 -0.0151203 -0.0911116 1.00593 0
0.5 0 0 1.99466 0 0.0671755 0 0.0671755 0 0.967275 0
0.53125 0 0 2.02854 0 -0.0151203 -0.0911116 -0.0151203 0.0911116 1.00593 0
0.5625 0 0 1.99332 2.22031e-18 -0.0639782 -0.238226 -0.0639782 0.238226 1.00811 1.3774e-18
0.59375 0 0 1.97734 4.44061e-18 -0.102328 -0.398954 -0.102328 0.398954 1.03793 0
0.625 0 0 2.0191 0 -0.216211 -0.499651 -0.216211 0.499651 0.978322 0
0.65625 0 0 2.00398 0 -0.313827 -0.630741 -0.313827 0.630741 0.996834 0
0.6875 0 0 2.01323 0 -0.446505 -0.648764 -0.446505 0.648764 1.00283 1.77625e-17
0.71875 0 0 1.9933 0 -0.560168 -0.698726 -0.560168 0.698726 1.00805 4.40715e-17
0.75 0 0 2.01865 0 -0.687312 -0.684014 -0.687312 0.684014 0.977055 0
0.78125 0 0 1.96519 7.10498e-17 -0.861495 -0.687109 -0.861495 0.687109 1.0008 0
0.8125 0 0 1.99151 0 -0.971684 -0.625667 -0.971684 0.625667 0.990665 0
0.84375 0 0 2.05042 -4.26299e-16 -1.12849 -0.613659 -1.12849 0.613659 1.03457 -1.85685e-16
0.875 0 0 2.0047 0 -1.19787 -0.503497 -1.19787 0.503497 1.00067 3.55249e-17
0.90625 0 0 2.01906 -7.07225e-16 -1.30258 -0.390432 -1.30258 0.390432 1.00279 -3.55249e-16
0.9375 0 0 1.99449 0 -1.35985 -0.267438 -1.35985 0.267438 0.997747 0
0.96875 0 0 2.06839 2.94857e-15 -1.44775 -0.141336 -1.44775 0.141336 1.03568 1.48867e-15
############################################################
# Current time step : 2000000
# Total number of measurements : 150000
# Average temperature of the measurement : 0.00499897
# Boltzmann constant under current units : 1
# basis vector A1 = [2 0 0]
# basis vector A2 = [0 1 0]
# basis vector A3 = [0 0 1]
############################################################
# qx qy qz Phi(q)
0 0 0 1.99479 0 -1.41053 0 -1.41053 0 0.997396 0
0.03125 0 0 2.03068 0 -1.41965 0.138345 -1.41965 -0.138345 1.0155 0
0.0625 0 0 1.99892 7.10396e-17 -1.36162 0.269053 -1.36162 -0.269053 1.00066 0
0.09375 0 0 2.00599 0 -1.29893 0.389829 -1.29893 -0.389829 0.995323 0
0.125 0 0 1.991 6.87803e-16 -1.20232 0.495552 -1.20232 -0.495552 0.991252 2.84159e-16
0.15625 0 0 2.05187 1.42079e-16 -1.12612 0.617447 -1.12612 -0.617447 1.02736 0
0.1875 0 0 1.97476 7.10396e-17 -0.972012 0.630423 -0.972012 -0.630423 0.996946 0
0.21875 0 0 2.00314 0 -0.862555 0.695244 -0.862555 -0.695244 0.999215 0
0.25 0 0 1.9755 0 -0.69573 0.680591 -0.69573 -0.680591 0.988546 0
0.28125 0 0 1.99393 0 -0.560979 0.692292 -0.560979 -0.692292 0.995507 -3.55198e-17
0.3125 0 0 2.00817 0 -0.436753 0.642127 -0.436753 -0.642127 0.989051 0
0.34375 0 0 2.02348 0 -0.310766 0.620888 -0.310766 -0.620888 1.01631 0
0.375 0 0 2.01177 0 -0.213987 0.483325 -0.213987 -0.483325 0.98933 0
0.40625 0 0 1.97394 0 -0.116509 0.382146 -0.116509 -0.382146 1.03672 0
0.4375 0 0 1.98656 0 -0.0609164 0.250798 -0.0609164 -0.250798 1.01266 1.39007e-18
0.46875 0 0 2.03013 0 -0.0242785 0.120597 -0.0242785 -0.120597 1.02741 1.78858e-19
0.5 0 0 1.98872 0 0.0648313 0 0.0648313 0 0.973791 0
0.53125 0 0 2.03013 0 -0.0242785 -0.120597 -0.0242785 0.120597 1.02741 -1.78858e-19
0.5625 0 0 1.98656 0 -0.0609164 -0.250798 -0.0609164 0.250798 1.01266 -1.39007e-18
0.59375 0 0 1.97394 0 -0.116509 -0.382146 -0.116509 0.382146 1.03672 0
0.625 0 0 2.01177 0 -0.213987 -0.483325 -0.213987 0.483325 0.98933 0
0.65625 0 0 2.02348 0 -0.310766 -0.620888 -0.310766 0.620888 1.01631 0
0.6875 0 0 2.00817 0 -0.436753 -0.642127 -0.436753 0.642127 0.989051 0
0.71875 0 0 1.99393 0 -0.560979 -0.692292 -0.560979 0.692292 0.995507 3.55198e-17
0.75 0 0 1.9755 0 -0.69573 -0.680591 -0.69573 0.680591 0.988546 0
0.78125 0 0 2.00314 0 -0.862555 -0.695244 -0.862555 0.695244 0.999215 0
0.8125 0 0 1.97476 -7.10396e-17 -0.972012 -0.630423 -0.972012 0.630423 0.996946 0
0.84375 0 0 2.05187 -1.42079e-16 -1.12612 -0.617447 -1.12612 0.617447 1.02736 0
0.875 0 0 1.991 -6.87803e-16 -1.20232 -0.495552 -1.20232 0.495552 0.991252 -2.84159e-16
0.90625 0 0 2.00599 0 -1.29893 -0.389829 -1.29893 0.389829 0.995323 0
0.9375 0 0 1.99892 -7.10396e-17 -1.36162 -0.269053 -1.36162 0.269053 1.00066 0
0.96875 0 0 2.03068 0 -1.41965 -0.138345 -1.41965 0.138345 1.0155 0

View File

@ -115,6 +115,7 @@ tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
template: examples for using atom_style template and comparing to atom style molecular
tersoff: regression test input for Tersoff variants
threebody: regression test input for a variety of threebody potentials
triclinic: general triclinic simulation boxes versus orthogonal boxes
ttm: two-temeperature model examples
vashishta: models using the Vashishta potential
voronoi: Voronoi tesselation via compute voronoi/atom command

110
examples/triclinic/README Normal file
View File

@ -0,0 +1,110 @@
* Various input scripts for systems with general triclinic boxes
versus orthogonal boxes
in.bcc.primitive = 1 atom for bcc lattice with primitive unit cell
in.fcc.primitive = 1 atom for fcc lattice with primitive unit cell
in.hex.primitive = 1 atom for 2d hex lattice with primitive unit cell
in.sq2.primitive = 1 atom for 2d sq2 lattice with primitive unit cell
in.bcc.orthog = 2 atoms for bcc lattice with orthogonal unit cell
in.fcc.orthog = 4 atoms for fcc lattice with orthogonal unit cell
in.hex.orthog = 2 atoms for 2d hex ;attice with orthogonal unit cell
in.sq2.orthog = 2 atoms for 2d sq2 lattice with orthogonal unit cell
energy and pressure should be same for primitive and orthogonal unit cells
in.data.general = read a data file in general triclinic format
* Run all the scripts on 1 proc
lmp_mpi < in.bcc.primitive
mv log.lammps log.compare.bcc.primitive.g++.1
mv tmp.data.bcc.primitive data.compare.bcc.primitive.g++.1
mv tmp.dump.bcc.primitive dump.compare.bcc.primitive.g++.1
lmp_mpi < in.fcc.primitive
mv log.lammps log.compare.fcc.primitive.g++.1
mv tmp.data.fcc.primitive data.compare.fcc.primitive.g++.1
mv tmp.dump.fcc.primitive dump.compare.fcc.primitive.g++.1
lmp_mpi < in.hex.primitive
mv log.lammps log.compare.hex.primitive.g++.1
mv tmp.data.hex.primitive data.compare.hex.primitive.g++.1
mv tmp.dump.hex.primitive dump.compare.hex.primitive.g++.1
lmp_mpi < in.sq2.primitive
mv log.lammps log.compare.sq2.primitive.g++.1
mv tmp.data.sq2.primitive data.compare.sq2.primitive.g++.1
mv tmp.dump.sq2.primitive dump.compare.sq2.primitive.g++.1
lmp_mpi < in.bcc.orthog
mv log.lammps log.compare.bcc.orthog.g++.1
mv tmp.data.bcc.orthog data.compare.bcc.orthog.g++.1
mv tmp.dump.bcc.orthog dump.compare.bcc.orthog.g++.1
lmp_mpi < in.fcc.orthog
mv log.lammps log.compare.fcc.orthog.g++.1
mv tmp.data.fcc.orthog data.compare.fcc.orthog.g++.1
mv tmp.dump.fcc.orthog dump.compare.fcc.orthog.g++.1
lmp_mpi < in.hex.orthog
mv log.lammps log.compare.hex.orthog.g++.1
mv tmp.data.hex.orthog data.compare.hex.orthog.g++.1
mv tmp.dump.hex.orthog dump.compare.hex.orthog.g++.1
lmp_mpi < in.sq2.orthog
mv log.lammps log.compare.sq2.orthog.g++.1
mv tmp.data.sq2.orthog data.compare.sq2.orthog.g++.1
mv tmp.dump.sq2.orthog dump.compare.sq2.orthog.g++.1
lmp_mpi < in.data.general
mv log.lammps log.compare.data.general.g++.1
mv tmp.data.general data.compare.general.g++.1
mv tmp.dump.general dump.compare.general.g++.1
* Run all the scripts on 4 procs
mpirun -np 4 lmp_mpi < in.bcc.primitive
mv log.lammps log.compare.bcc.primitive.g++.4
mv tmp.data.bcc.primitive data.compare.bcc.primitive.g++.4
mv tmp.dump.bcc.primitive dump.compare.bcc.primitive.g++.4
mpirun -np 4 lmp_mpi < in.fcc.primitive
mv log.lammps log.compare.fcc.primitive.g++.4
mv tmp.data.fcc.primitive data.compare.fcc.primitive.g++.4
mv tmp.dump.fcc.primitive dump.compare.fcc.primitive.g++.4
mpirun -np 4 lmp_mpi < in.hex.primitive
mv log.lammps log.compare.hex.primitive.g++.4
mv tmp.data.hex.primitive data.compare.hex.primitive.g++.4
mv tmp.dump.hex.primitive dump.compare.hex.primitive.g++.4
mpirun -np 4 lmp_mpi < in.sq2.primitive
mv log.lammps log.compare.sq2.primitive.g++.4
mv tmp.data.sq2.primitive data.compare.sq2.primitive.g++.4
mv tmp.dump.sq2.primitive dump.compare.sq2.primitive.g++.4
mpirun -np 4 lmp_mpi < in.bcc.orthog
mv log.lammps log.compare.bcc.orthog.g++.4
mv tmp.data.bcc.orthog data.compare.bcc.orthog.g++.4
mv tmp.dump.bcc.orthog dump.compare.bcc.orthog.g++.4
mpirun -np 4 lmp_mpi < in.fcc.orthog
mv log.lammps log.compare.fcc.orthog.g++.4
mv tmp.data.fcc.orthog data.compare.fcc.orthog.g++.4
mv tmp.dump.fcc.orthog dump.compare.fcc.orthog.g++.4
mpirun -np 4 lmp_mpi < in.hex.orthog
mv log.lammps log.compare.hex.orthog.g++.4
mv tmp.data.hex.orthog data.compare.hex.orthog.g++.4
mv tmp.dump.hex.orthog dump.compare.hex.orthog.g++.4
mpirun -np 4 lmp_mpi < in.sq2.orthog
mv log.lammps log.compare.sq2.orthog.g++.4
mv tmp.data.sq2.orthog data.compare.sq2.orthog.g++.4
mv tmp.dump.sq2.orthog dump.compare.sq2.orthog.g++.4
mpirun -np 4 lmp_mpi < in.data.general
mv log.lammps log.compare.data.general.g++.4
mv tmp.data.general data.compare.general.g++.4
mv tmp.dump.general dump.compare.general.g++.4

View File

@ -0,0 +1,22 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
2 atoms
1 atom types
0 1.2599210498948732 xlo xhi
0 1.2599210498948732 ylo yhi
0 1.2599210498948732 zlo zhi
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
2 1 0.6299605249474366 0.6299605249474366 0.6299605249474366 0 0 0
Velocities
1 0 0 0
2 0 0 0

View File

@ -0,0 +1,22 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
2 atoms
1 atom types
0 1.2599210498948732 xlo xhi
0 1.2599210498948732 ylo yhi
0 1.2599210498948732 zlo zhi
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
2 1 0.6299605249474366 0.6299605249474366 0.6299605249474366 0 0 0
Velocities
1 0 0 0
2 0 0 0

View File

@ -0,0 +1,21 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
1 atoms
1 atom types
-0.6299605249474365 0.6299605249474365 0.6299605249474364 avec
0.6299605249474367 -0.6299605249474365 0.6299605249474365 bvec
0.6299605249474363 0.6299605249474365 -0.6299605249474363 cvec
0 0 0 abc origin
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
Velocities
1 0 0 0

View File

@ -0,0 +1,21 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
1 atoms
1 atom types
-0.6299605249474365 0.6299605249474365 0.6299605249474364 avec
0.6299605249474367 -0.6299605249474365 0.6299605249474365 bvec
0.6299605249474363 0.6299605249474365 -0.6299605249474363 cvec
0 0 0 abc origin
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
Velocities
1 0 0 0

View File

@ -0,0 +1,26 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
4 atoms
1 atom types
0 1.5377619196572583 xlo xhi
0 1.5377619196572583 ylo yhi
0 1.5377619196572583 zlo zhi
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
2 1 0.7688809598286291 0.7688809598286291 0 0 0 0
3 1 0.7688809598286291 0 0.7688809598286291 0 0 0
4 1 0 0.7688809598286291 0.7688809598286291 0 0 0
Velocities
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0

View File

@ -0,0 +1,26 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
4 atoms
1 atom types
0 1.5377619196572583 xlo xhi
0 1.5377619196572583 ylo yhi
0 1.5377619196572583 zlo zhi
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
2 1 0 0.7688809598286291 0.7688809598286291 0 0 0
3 1 0.7688809598286291 0.7688809598286291 0 0 0 0
4 1 0.7688809598286291 0 0.7688809598286291 0 0 0
Velocities
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0

View File

@ -0,0 +1,21 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
1 atoms
1 atom types
0.7688809598286291 0.7688809598286293 -6.036070983262366e-17 avec
-5.551115123125783e-17 0.7688809598286293 0.7688809598286293 bvec
0.768880959828629 0 0.768880959828629 cvec
0 0 0 abc origin
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
Velocities
1 0 0 0

View File

@ -0,0 +1,21 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
1 atoms
1 atom types
0.7688809598286291 0.7688809598286293 -6.036070983262366e-17 avec
-5.551115123125783e-17 0.7688809598286293 0.7688809598286293 bvec
0.768880959828629 0 0.768880959828629 cvec
0 0 0 abc origin
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
Velocities
1 0 0 0

View File

@ -0,0 +1,23 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
2 atoms
1 atom types
0.9999999999999998 -1 0 avec
0.9999999999999999 0.9999999999999999 0 bvec
0.9999999999999999 0.9999999999999999 1 cvec
0 0 0 abc origin
Masses
1 1
Atoms # atomic
1 1 0.2 -1.3877787807814457e-17 0.1 0 0 0
2 1 0.8 -1.1102230246251565e-16 0.3 0 0 0
Velocities
1 0 0 0
2 0 0 0

View File

@ -0,0 +1,23 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
2 atoms
1 atom types
0.9999999999999998 -1 0 avec
0.9999999999999999 0.9999999999999999 0 bvec
0.9999999999999999 0.9999999999999999 1 cvec
0 0 0 abc origin
Masses
1 1
Atoms # atomic
1 1 0.2 -1.3877787807814457e-17 0.1 0 0 0
2 1 0.8 -1.1102230246251565e-16 0.3 0 0 0
Velocities
1 0 0 0
2 0 0 0

View File

@ -0,0 +1,22 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
2 atoms
1 atom types
0 1.074569931823542 xlo xhi
0 1.8612097182041991 ylo yhi
-0.537284965911771 0.537284965911771 zlo zhi
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
2 1 0.537284965911771 0.9306048591020996 0 0 0 0
Velocities
1 0 0 0
2 0 0 0

View File

@ -0,0 +1,22 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
2 atoms
1 atom types
0 1.074569931823542 xlo xhi
0 1.8612097182041991 ylo yhi
-0.537284965911771 0.537284965911771 zlo zhi
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
2 1 0.537284965911771 0.9306048591020996 0 0 0 0
Velocities
1 0 0 0
2 0 0 0

View File

@ -0,0 +1,21 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
1 atoms
1 atom types
1.0745699318262956 0 0 avec
0.5372849659131478 0.9306048590997147 0 bvec
0 0 1.0745699318262956 cvec
0 0 -0.5372849659131478 abc origin
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
Velocities
1 0 0 0

View File

@ -0,0 +1,21 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
1 atoms
1 atom types
1.0745699318262956 0 0 avec
0.5372849659131478 0.9306048590997147 0 bvec
0 0 1.0745699318262956 cvec
0 0 -0.5372849659131478 abc origin
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
Velocities
1 0 0 0

View File

@ -0,0 +1,22 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
2 atoms
1 atom types
0 1.348399724926484 xlo xhi
0 1.348399724926484 ylo yhi
-0.674199862463242 0.674199862463242 zlo zhi
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
2 1 0.674199862463242 0.674199862463242 0 0 0 0
Velocities
1 0 0 0
2 0 0 0

View File

@ -0,0 +1,22 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
2 atoms
1 atom types
0 1.348399724926484 xlo xhi
0 1.348399724926484 ylo yhi
-0.674199862463242 0.674199862463242 zlo zhi
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
2 1 0.674199862463242 0.674199862463242 0 0 0 0
Velocities
1 0 0 0
2 0 0 0

View File

@ -0,0 +1,21 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
1 atoms
1 atom types
0.6741998624632419 -0.674199862463242 0 avec
0.6741998624632419 0.674199862463242 0 bvec
0 0 1.348399724926484 cvec
0 0 -0.674199862463242 abc origin
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
Velocities
1 0 0 0

View File

@ -0,0 +1,21 @@
LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj
1 atoms
1 atom types
0.6741998624632419 -0.674199862463242 0 avec
0.6741998624632419 0.674199862463242 0 bvec
0 0 1.348399724926484 cvec
0 0 -0.674199862463242 abc origin
Masses
1 1
Atoms # atomic
1 1 0 0 0 0 0 0
Velocities
1 0 0 0

View File

@ -0,0 +1,13 @@
# simple general triclinic simulation box with 2 atoms
2 atoms
1 atom types
1 -1 0 avec
1 1 0 bvec
1 1 1 cvec
0 0 0 abc origin
Atoms
1 1 0.2 0.0 0.1
2 1 0.8 0.0 0.3

View File

@ -0,0 +1,11 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
2
ITEM: BOX BOUNDS pp pp pp
0.0000000000000000e+00 1.2599210498948732e+00
0.0000000000000000e+00 1.2599210498948732e+00
0.0000000000000000e+00 1.2599210498948732e+00
ITEM: ATOMS id type x y z
1 1 0 0 0
2 1 0.629961 0.629961 0.629961

View File

@ -0,0 +1,11 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
2
ITEM: BOX BOUNDS pp pp pp
0.0000000000000000e+00 1.2599210498948732e+00
0.0000000000000000e+00 1.2599210498948732e+00
0.0000000000000000e+00 1.2599210498948732e+00
ITEM: ATOMS id type x y z
1 1 0 0 0
2 1 0.629961 0.629961 0.629961

View File

@ -0,0 +1,10 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
1
ITEM: BOX BOUNDS abc origin pp pp pp
-6.2996052494743648e-01 6.2996052494743648e-01 6.2996052494743637e-01 0.0000000000000000e+00
6.2996052494743671e-01 -6.2996052494743648e-01 6.2996052494743648e-01 0.0000000000000000e+00
6.2996052494743626e-01 6.2996052494743648e-01 -6.2996052494743626e-01 0.0000000000000000e+00
ITEM: ATOMS id type x y z
1 1 0 0 0

View File

@ -0,0 +1,10 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
1
ITEM: BOX BOUNDS abc origin pp pp pp
-6.2996052494743648e-01 6.2996052494743648e-01 6.2996052494743637e-01 0.0000000000000000e+00
6.2996052494743671e-01 -6.2996052494743648e-01 6.2996052494743648e-01 0.0000000000000000e+00
6.2996052494743626e-01 6.2996052494743648e-01 -6.2996052494743626e-01 0.0000000000000000e+00
ITEM: ATOMS id type x y z
1 1 0 0 0

View File

@ -0,0 +1,13 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
4
ITEM: BOX BOUNDS pp pp pp
0.0000000000000000e+00 1.5377619196572583e+00
0.0000000000000000e+00 1.5377619196572583e+00
0.0000000000000000e+00 1.5377619196572583e+00
ITEM: ATOMS id type x y z
1 1 0 0 0
2 1 0.768881 0.768881 0
3 1 0.768881 0 0.768881
4 1 0 0.768881 0.768881

View File

@ -0,0 +1,13 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
4
ITEM: BOX BOUNDS pp pp pp
0.0000000000000000e+00 1.5377619196572583e+00
0.0000000000000000e+00 1.5377619196572583e+00
0.0000000000000000e+00 1.5377619196572583e+00
ITEM: ATOMS id type x y z
1 1 0 0 0
2 1 0 0.768881 0.768881
3 1 0.768881 0.768881 0
4 1 0.768881 0 0.768881

View File

@ -0,0 +1,10 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
1
ITEM: BOX BOUNDS abc origin pp pp pp
7.6888095982862914e-01 7.6888095982862925e-01 -6.0360709832623663e-17 0.0000000000000000e+00
-5.5511151231257827e-17 7.6888095982862925e-01 7.6888095982862925e-01 0.0000000000000000e+00
7.6888095982862903e-01 0.0000000000000000e+00 7.6888095982862903e-01 0.0000000000000000e+00
ITEM: ATOMS id type x y z
1 1 0 0 0

View File

@ -0,0 +1,10 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
1
ITEM: BOX BOUNDS abc origin pp pp pp
7.6888095982862914e-01 7.6888095982862925e-01 -6.0360709832623663e-17 0.0000000000000000e+00
-5.5511151231257827e-17 7.6888095982862925e-01 7.6888095982862925e-01 0.0000000000000000e+00
7.6888095982862903e-01 0.0000000000000000e+00 7.6888095982862903e-01 0.0000000000000000e+00
ITEM: ATOMS id type x y z
1 1 0 0 0

View File

@ -0,0 +1,11 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
2
ITEM: BOX BOUNDS abc origin pp pp pp
9.9999999999999978e-01 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
9.9999999999999989e-01 9.9999999999999989e-01 0.0000000000000000e+00 0.0000000000000000e+00
9.9999999999999989e-01 9.9999999999999989e-01 1.0000000000000000e+00 0.0000000000000000e+00
ITEM: ATOMS id type x y z
1 1 0.141421 0.141421 0.1
2 1 0.565685 0.565685 0.3

View File

@ -0,0 +1,11 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
2
ITEM: BOX BOUNDS abc origin pp pp pp
9.9999999999999978e-01 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
9.9999999999999989e-01 9.9999999999999989e-01 0.0000000000000000e+00 0.0000000000000000e+00
9.9999999999999989e-01 9.9999999999999989e-01 1.0000000000000000e+00 0.0000000000000000e+00
ITEM: ATOMS id type x y z
1 1 0.141421 0.141421 0.1
2 1 0.565685 0.565685 0.3

View File

@ -0,0 +1,11 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
2
ITEM: BOX BOUNDS pp pp pp
0.0000000000000000e+00 1.0745699318235420e+00
0.0000000000000000e+00 1.8612097182041991e+00
-5.3728496591177100e-01 5.3728496591177100e-01
ITEM: ATOMS id type x y z
1 1 0 0 0
2 1 0.537285 0.930605 0

View File

@ -0,0 +1,11 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
2
ITEM: BOX BOUNDS pp pp pp
0.0000000000000000e+00 1.0745699318235420e+00
0.0000000000000000e+00 1.8612097182041991e+00
-5.3728496591177100e-01 5.3728496591177100e-01
ITEM: ATOMS id type x y z
1 1 0 0 0
2 1 0.537285 0.930605 0

View File

@ -0,0 +1,10 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
1
ITEM: BOX BOUNDS abc origin pp pp pp
1.0745699318262956e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
5.3728496591314778e-01 9.3060485909971469e-01 0.0000000000000000e+00 0.0000000000000000e+00
0.0000000000000000e+00 0.0000000000000000e+00 1.0745699318262956e+00 -5.3728496591314778e-01
ITEM: ATOMS id type x y z
1 1 0 0 0

View File

@ -0,0 +1,10 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
1
ITEM: BOX BOUNDS abc origin pp pp pp
1.0745699318262956e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
5.3728496591314778e-01 9.3060485909971469e-01 0.0000000000000000e+00 0.0000000000000000e+00
0.0000000000000000e+00 0.0000000000000000e+00 1.0745699318262956e+00 -5.3728496591314778e-01
ITEM: ATOMS id type x y z
1 1 0 0 0

View File

@ -0,0 +1,11 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
2
ITEM: BOX BOUNDS pp pp pp
0.0000000000000000e+00 1.3483997249264841e+00
0.0000000000000000e+00 1.3483997249264841e+00
-6.7419986246324204e-01 6.7419986246324204e-01
ITEM: ATOMS id type x y z
1 1 0 0 0
2 1 0.6742 0.6742 0

View File

@ -0,0 +1,11 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
2
ITEM: BOX BOUNDS pp pp pp
0.0000000000000000e+00 1.3483997249264841e+00
0.0000000000000000e+00 1.3483997249264841e+00
-6.7419986246324204e-01 6.7419986246324204e-01
ITEM: ATOMS id type x y z
1 1 0 0 0
2 1 0.6742 0.6742 0

View File

@ -0,0 +1,10 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
1
ITEM: BOX BOUNDS abc origin pp pp pp
6.7419986246324193e-01 -6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00
6.7419986246324193e-01 6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00
0.0000000000000000e+00 0.0000000000000000e+00 1.3483997249264841e+00 -6.7419986246324204e-01
ITEM: ATOMS id type x y z
1 1 0 0 0

View File

@ -0,0 +1,10 @@
ITEM: TIMESTEP
0
ITEM: NUMBER OF ATOMS
1
ITEM: BOX BOUNDS abc origin pp pp pp
6.7419986246324193e-01 -6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00
6.7419986246324193e-01 6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00
0.0000000000000000e+00 0.0000000000000000e+00 1.3483997249264841e+00 -6.7419986246324204e-01
ITEM: ATOMS id type x y z
1 1 0 0 0

View File

@ -0,0 +1,23 @@
# orthogonal box for bcc lattice unit cell
lattice bcc 1.0
region mybox block 0 1 0 1 0 1
create_box 1 mybox
create_atoms 1 box
mass * 1.0
write_data tmp.data.bcc.orthog
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz &
cvecx cvecy cvecz pxx pyy pzz vol
dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z
run 0

View File

@ -0,0 +1,25 @@
# general triclinic box for bcc lattice primitive cell
lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 &
basis 0.0 0.0 0.0 triclinic/general
create_box 1 NULL 0 1 0 1 0 1
create_atoms 1 box
mass * 1.0
write_data tmp.data.bcc.primitive triclinic/general
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz &
cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0

View File

@ -0,0 +1,21 @@
# read a general triclinic data file
read_data data.general
mass * 1.0
write_data tmp.data.general triclinic/general
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz &
cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.general id type x y z
dump_modify 1 triclinic/general yes
run 0

View File

@ -0,0 +1,23 @@
# orthogonal box for fcc lattice unit cell
lattice fcc 1.1
region mybox block 0 1 0 1 0 1
create_box 1 mybox
create_atoms 1 box
mass * 1.0
write_data tmp.data.fcc.orthog
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz &
cvecx cvecy cvecz pxx pyy pzz vol
dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z
run 0

View File

@ -0,0 +1,25 @@
# general triclinic box for fcc lattice primitive cell
lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 &
basis 0.0 0.0 0.0 triclinic/general
create_box 1 NULL 0 1 0 1 0 1
create_atoms 1 box
mass * 1.0
write_data tmp.data.fcc.primitive triclinic/general
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz &
cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0

View File

@ -0,0 +1,24 @@
# orthogonal box for 2d hex lattice unit cell
dimension 2
lattice hex 1.0
region mybox block 0 1 0 1 -0.5 0.5
create_box 1 mybox
create_atoms 1 box
mass * 1.0
write_data tmp.data.hex.orthog
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
dump 1 all custom 100 tmp.dump.hex.orthog id type x y z
run 0

View File

@ -0,0 +1,26 @@
# general triclinic box for 2d hex lattice primitive cell
dimension 2
lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 &
a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general
create_box 1 NULL 0 1 0 1 -0.5 0.5
create_atoms 1 box
mass * 1.0
write_data tmp.data.hex.primitive triclinic/general
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.hex.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0

View File

@ -0,0 +1,24 @@
# orthogonal box for 2d sq2 lattice unit cell
dimension 2
lattice sq2 1.1
region mybox block 0 1 0 1 -0.5 0.5
create_box 1 mybox
create_atoms 1 box
mass * 1.0
write_data tmp.data.sq2.orthog
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z
run 0

View File

@ -0,0 +1,26 @@
# general triclinic box for 2d sq2 lattice primitive cell
dimension 2
lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 &
basis 0.0 0.0 0.0 triclinic/general
create_box 1 NULL 0 1 0 1 -0.5 0.5
create_atoms 1 box
mass * 1.0
write_data tmp.data.sq2.primitive triclinic/general
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0

View File

@ -0,0 +1,74 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# orthogonal box for bcc lattice unit cell
lattice bcc 1.0
Lattice spacing in x,y,z = 1.259921 1.259921 1.259921
region mybox block 0 1 0 1 0 1
create_box 1 mybox
Created orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 2 atoms
using lattice units in orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.bcc.orthog
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 3 3 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.058 | 3.058 | 3.058 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 -3.8628258 1.259921 0 0 0 1.259921 0 0 0 1.259921 3.5116598 3.5116598 3.5116598 2
Loop time of 8.27e-07 on 1 procs for 0 steps with 2 atoms
120.9% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 8.27e-07 | | |100.00
Nlocal: 2 ave 2 max 2 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 33 ave 33 max 33 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 8 ave 8 max 8 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 8
Ave neighs/atom = 4
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,75 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# orthogonal box for bcc lattice unit cell
lattice bcc 1.0
Lattice spacing in x,y,z = 1.259921 1.259921 1.259921
region mybox block 0 1 0 1 0 1
create_box 1 mybox
Created orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 2 atoms
using lattice units in orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.bcc.orthog
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 3 3 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.948 | 3.011 | 3.073 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 -3.8628258 1.259921 0 0 0 1.259921 0 0 0 1.259921 3.5116598 3.5116598 3.5116598 2
Loop time of 1.3815e-06 on 4 procs for 0 steps with 2 atoms
54.3% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 1.382e-06 | | |100.00
Nlocal: 0.5 ave 1 max 0 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 19.5 ave 20 max 19 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 2 ave 4 max 0 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 8
Ave neighs/atom = 4
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,76 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# general triclinic box for bcc lattice primitive cell
lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 basis 0.0 0.0 0.0 triclinic/general
Lattice spacing in x,y,z = 1.8185394 1.5430818 0.89089872
create_box 1 NULL 0 1 0 1 0 1
Created triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 1 atoms
using lattice units in triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.bcc.primitive triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 4 3 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/3d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.084 | 3.084 | 3.084 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 -3.8628258 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 3.5116598 3.5116598 3.5116598 1
Loop time of 6.86e-07 on 1 procs for 0 steps with 1 atoms
145.8% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 6.86e-07 | | |100.00
Nlocal: 1 ave 1 max 1 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 63 ave 63 max 63 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 4 ave 4 max 4 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 4
Ave neighs/atom = 4
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,77 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# general triclinic box for bcc lattice primitive cell
lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 basis 0.0 0.0 0.0 triclinic/general
Lattice spacing in x,y,z = 1.8185394 1.5430818 0.89089872
create_box 1 NULL 0 1 0 1 0 1
Created triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221)
2 by 1 by 2 MPI processor grid
create_atoms 1 box
Created 1 atoms
using lattice units in triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.bcc.primitive triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 4 3 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/3d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.973 | 3.005 | 3.098 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 -3.8628258 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 3.5116598 3.5116598 3.5116598 1
Loop time of 2.1275e-06 on 4 procs for 0 steps with 1 atoms
70.5% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 2.127e-06 | | |100.00
Nlocal: 0.25 ave 1 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Nghost: 35.75 ave 36 max 35 min
Histogram: 1 0 0 0 0 0 0 0 0 3
Neighs: 1 ave 4 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Total # of neighbors = 4
Ave neighs/atom = 4
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,73 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# read a general triclinic data file
read_data data.general
Reading data file ...
triclinic box = (0 0 0) to (1.4142136 1.4142136 1) with tilt (-1.110223e-16 -1.110223e-16 1.4142136)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221)
1 by 1 by 1 MPI processor grid
reading atoms ...
2 atoms
read_data CPU = 0.001 seconds
mass * 1.0
write_data tmp.data.general triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.general id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 3 5 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/3d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.076 | 3.076 | 3.076 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 456.05603 1 -1 0 1 1 0 1 1 1 2555.5604 2555.5604 598.94037 2
Loop time of 7.31e-07 on 1 procs for 0 steps with 2 atoms
136.8% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 7.31e-07 | | |100.00
Nlocal: 2 ave 2 max 2 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 66 ave 66 max 66 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 6 ave 6 max 6 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 6
Ave neighs/atom = 3
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,74 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# read a general triclinic data file
read_data data.general
Reading data file ...
triclinic box = (0 0 0) to (1.4142136 1.4142136 1) with tilt (-1.110223e-16 -1.110223e-16 1.4142136)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221)
2 by 1 by 2 MPI processor grid
reading atoms ...
2 atoms
read_data CPU = 0.001 seconds
mass * 1.0
write_data tmp.data.general triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.general id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 3 5 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/3d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.966 | 2.997 | 3.091 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 456.05603 1 -1 0 1 1 0 1 1 1 2555.5604 2555.5604 598.94037 2
Loop time of 2.13e-06 on 4 procs for 0 steps with 2 atoms
70.4% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 2.13e-06 | | |100.00
Nlocal: 0.5 ave 2 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Nghost: 47.5 ave 48 max 46 min
Histogram: 1 0 0 0 0 0 0 0 0 3
Neighs: 1.5 ave 6 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Total # of neighbors = 6
Ave neighs/atom = 3
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,74 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# orthogonal box for fcc lattice unit cell
lattice fcc 1.1
Lattice spacing in x,y,z = 1.5377619 1.5377619 1.5377619
region mybox block 0 1 0 1 0 1
create_box 1 mybox
Created orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 4 atoms
using lattice units in orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.fcc.orthog
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 3 3 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.059 | 3.059 | 3.059 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 -5.7354 1.5377619 0 0 0 1.5377619 0 0 0 1.5377619 6.70824 6.70824 6.70824 3.6363636
Loop time of 8.53e-07 on 1 procs for 0 steps with 4 atoms
0.0% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 8.53e-07 | | |100.00
Nlocal: 4 ave 4 max 4 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 58 ave 58 max 58 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 24 ave 24 max 24 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 24
Ave neighs/atom = 6
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,75 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# orthogonal box for fcc lattice unit cell
lattice fcc 1.1
Lattice spacing in x,y,z = 1.5377619 1.5377619 1.5377619
region mybox block 0 1 0 1 0 1
create_box 1 mybox
Created orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619)
2 by 1 by 2 MPI processor grid
create_atoms 1 box
Created 4 atoms
using lattice units in orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.fcc.orthog
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 3 3 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.074 | 3.074 | 3.074 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 -5.7354 1.5377619 0 0 0 1.5377619 0 0 0 1.5377619 6.70824 6.70824 6.70824 3.6363636
Loop time of 3.291e-06 on 4 procs for 0 steps with 4 atoms
76.0% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 3.291e-06 | | |100.00
Nlocal: 1 ave 1 max 1 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Nghost: 39 ave 39 max 39 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Neighs: 6 ave 6 max 6 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 24
Ave neighs/atom = 6
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,76 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# general triclinic box for fcc lattice primitive cell
lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general
Lattice spacing in x,y,z = 2.1747238 1.2555773 0.88782726
create_box 1 NULL 0 1 0 1 0 1
Created triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 1 atoms
using lattice units in triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.fcc.primitive triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 4 3 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/3d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.084 | 3.084 | 3.084 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 -5.7354 0.76888096 0.76888096 -6.036071e-17 -5.5511151e-17 0.76888096 0.76888096 0.76888096 0 0.76888096 6.70824 6.70824 6.70824 0.90909091
Loop time of 8.83e-07 on 1 procs for 0 steps with 1 atoms
0.0% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 8.83e-07 | | |100.00
Nlocal: 1 ave 1 max 1 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 63 ave 63 max 63 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 6 ave 6 max 6 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 6
Ave neighs/atom = 6
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,77 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# general triclinic box for fcc lattice primitive cell
lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general
Lattice spacing in x,y,z = 2.1747238 1.2555773 0.88782726
create_box 1 NULL 0 1 0 1 0 1
Created triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221)
1 by 2 by 2 MPI processor grid
create_atoms 1 box
Created 1 atoms
using lattice units in triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.fcc.primitive triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.2
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.2
ghost atom cutoff = 1.2
binsize = 0.6, bins = 4 3 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/3d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.973 | 3.005 | 3.098 Mbytes
Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume
0 -5.7354 0.76888096 0.76888096 -6.036071e-17 -5.5511151e-17 0.76888096 0.76888096 0.76888096 0 0.76888096 6.70824 6.70824 6.70824 0.90909091
Loop time of 1.7905e-06 on 4 procs for 0 steps with 1 atoms
55.9% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 1.791e-06 | | |100.00
Nlocal: 0.25 ave 1 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Nghost: 35.75 ave 36 max 35 min
Histogram: 1 0 0 0 0 0 0 0 0 3
Neighs: 1.5 ave 6 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Total # of neighbors = 6
Ave neighs/atom = 6
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,76 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# orthogonal box for 2d hex lattice unit cell
dimension 2
lattice hex 1.0
Lattice spacing in x,y,z = 1.0745699 1.8612097 1.0745699
region mybox block 0 1 0 1 -0.5 0.5
create_box 1 mybox
Created orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 2 atoms
using lattice units in orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.hex.orthog
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
dump 1 all custom 100 tmp.dump.hex.orthog id type x y z
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 2 4 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.054 | 3.054 | 3.054 Mbytes
Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume
0 -2.7317286 1.0745699 0 0 1.8612097 6.9923141 6.9923141 2
Loop time of 9.26e-07 on 1 procs for 0 steps with 2 atoms
0.0% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 9.26e-07 | | |100.00
Nlocal: 2 ave 2 max 2 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 15 ave 15 max 15 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 6 ave 6 max 6 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 6
Ave neighs/atom = 3
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,77 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# orthogonal box for 2d hex lattice unit cell
dimension 2
lattice hex 1.0
Lattice spacing in x,y,z = 1.0745699 1.8612097 1.0745699
region mybox block 0 1 0 1 -0.5 0.5
create_box 1 mybox
Created orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497)
2 by 2 by 1 MPI processor grid
create_atoms 1 box
Created 2 atoms
using lattice units in orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.hex.orthog
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
dump 1 all custom 100 tmp.dump.hex.orthog id type x y z
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 2 4 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.945 | 2.945 | 2.945 Mbytes
Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume
0 -2.7317286 1.0745699 0 0 1.8612097 6.9923141 6.9923141 2
Loop time of 1.9155e-06 on 4 procs for 0 steps with 2 atoms
52.2% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 1.915e-06 | | |100.00
Nlocal: 0.5 ave 1 max 0 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 11.5 ave 12 max 11 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 1.5 ave 3 max 0 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 6
Ave neighs/atom = 3
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,78 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# general triclinic box for 2d hex lattice primitive cell
dimension 2
lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general
Lattice spacing in x,y,z = 1.6118549 0.93060486 1.0745699
create_box 1 NULL 0 1 0 1 -0.5 0.5
Created triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 1 atoms
using lattice units in triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.hex.primitive triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.hex.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 3 2 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/2d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.062 | 3.062 | 3.062 Mbytes
Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume
0 -2.7317286 1.0745699 0 0.53728497 0.93060486 6.9923141 6.9923141 1
Loop time of 1.03e-06 on 1 procs for 0 steps with 1 atoms
97.1% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 1.03e-06 | | |100.00
Nlocal: 1 ave 1 max 1 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 15 ave 15 max 15 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 3
Ave neighs/atom = 3
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,79 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# general triclinic box for 2d hex lattice primitive cell
dimension 2
lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general
Lattice spacing in x,y,z = 1.6118549 0.93060486 1.0745699
create_box 1 NULL 0 1 0 1 -0.5 0.5
Created triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221)
2 by 2 by 1 MPI processor grid
create_atoms 1 box
Created 1 atoms
using lattice units in triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.hex.primitive triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.hex.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 3 2 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/2d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.953 | 2.953 | 2.953 Mbytes
Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume
0 -2.7317286 1.0745699 0 0.53728497 0.93060486 6.9923141 6.9923141 1
Loop time of 2.45225e-06 on 4 procs for 0 steps with 1 atoms
61.2% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 2.452e-06 | | |100.00
Nlocal: 0.25 ave 1 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Nghost: 8.75 ave 9 max 8 min
Histogram: 1 0 0 0 0 0 0 0 0 3
Neighs: 0.75 ave 3 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Total # of neighbors = 3
Ave neighs/atom = 3
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,76 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# orthogonal box for 2d sq2 lattice unit cell
dimension 2
lattice sq2 1.1
Lattice spacing in x,y,z = 1.3483997 1.3483997 1.3483997
region mybox block 0 1 0 1 -0.5 0.5
create_box 1 mybox
Created orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 2 atoms
using lattice units in orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.sq2.orthog
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 3 3 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.046 | 3.046 | 3.046 Mbytes
Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume
0 3.524488 1.3483997 0 0 1.3483997 58.400021 58.400021 1.8181818
Loop time of 9.37e-07 on 1 procs for 0 steps with 2 atoms
106.7% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 9.37e-07 | | |100.00
Nlocal: 2 ave 2 max 2 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 11 ave 11 max 11 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 4 ave 4 max 4 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 4
Ave neighs/atom = 2
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,77 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# orthogonal box for 2d sq2 lattice unit cell
dimension 2
lattice sq2 1.1
Lattice spacing in x,y,z = 1.3483997 1.3483997 1.3483997
region mybox block 0 1 0 1 -0.5 0.5
create_box 1 mybox
Created orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986)
2 by 2 by 1 MPI processor grid
create_atoms 1 box
Created 2 atoms
using lattice units in orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.sq2.orthog
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 3 3 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.937 | 2.937 | 2.937 Mbytes
Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume
0 3.524488 1.3483997 0 0 1.3483997 58.400021 58.400021 1.8181818
Loop time of 1.703e-06 on 4 procs for 0 steps with 2 atoms
29.4% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 1.703e-06 | | |100.00
Nlocal: 0.5 ave 1 max 0 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 7.5 ave 8 max 7 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 1 ave 2 max 0 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 4
Ave neighs/atom = 2
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,77 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
# general triclinic box for 2d sq2 lattice primitive cell
dimension 2
lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general
Lattice spacing in x,y,z = 0.95346259 0.95346259 1.3483997
create_box 1 NULL 0 1 0 1 -0.5 0.5
Created triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 1 atoms
using lattice units in triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.sq2.primitive triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 2 2 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/2d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.937 | 2.937 | 2.937 Mbytes
Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume
0 3.524488 0.67419986 -0.67419986 0.67419986 0.67419986 58.400021 58.400021 0.90909091
Loop time of 8.38e-07 on 1 procs for 0 steps with 1 atoms
119.3% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 8.38e-07 | | |100.00
Nlocal: 1 ave 1 max 1 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 15 ave 15 max 15 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 2 ave 2 max 2 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 2
Ave neighs/atom = 2
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,78 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# general triclinic box for 2d sq2 lattice primitive cell
dimension 2
lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general
Lattice spacing in x,y,z = 0.95346259 0.95346259 1.3483997
create_box 1 NULL 0 1 0 1 -0.5 0.5
Created triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0)
2 by 2 by 1 MPI processor grid
create_atoms 1 box
Created 1 atoms
using lattice units in triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0)
create_atoms CPU = 0.000 seconds
mass * 1.0
write_data tmp.data.sq2.primitive triclinic/general
System init for write_data ...
WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210)
pair_style lj/cut 1.1
pair_coeff * * 1.0 1.0
neighbor 0.0 bin
thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol
thermo_modify triclinic/general yes
dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z
dump_modify 1 triclinic/general yes
run 0
WARNING: No fixes with time integration, atoms won't move (../verlet.cpp:60)
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.1
ghost atom cutoff = 1.1
binsize = 0.55, bins = 2 2 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/2d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 2.953 | 2.953 | 2.953 Mbytes
Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume
0 3.524488 0.67419986 -0.67419986 0.67419986 0.67419986 58.400021 58.400021 0.90909091
Loop time of 1.91525e-06 on 4 procs for 0 steps with 1 atoms
52.2% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 1.915e-06 | | |100.00
Nlocal: 0.25 ave 1 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Nghost: 8.75 ave 9 max 8 min
Histogram: 1 0 0 0 0 0 0 0 0 3
Neighs: 0.5 ave 2 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1
Total # of neighbors = 2
Ave neighs/atom = 2
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -15,7 +15,7 @@ lattice hex 1.0 origin 0.5 0.5 0.0
atom_style atomic
region box block 0 ${len} 0 ${len} 0.0 ${lenz}
region box block 0 ${len} 0 ${len} -0.5 0.5
region atoms block 0 ${len} 0 ${len} 0.0 0.0
create_box 1 box
create_atoms 1 region atoms

View File

@ -11,7 +11,7 @@ lattice hex 1.0 origin 0.25 0.25 0.0
atom_style atomic
region box block 0 ${len} 0 ${len} 0.0 ${lenz}
region box block 0 ${len} 0 ${len} -0.5 0.5
region atoms block 0 ${len} 0 ${len} 0.0 0.0
create_box 1 box
create_atoms 1 region atoms

Some files were not shown because too many files have changed in this diff Show More