Merge branch 'develop' into dpd-exclusions
This commit is contained in:
2
.github/workflows/compile-msvc.yml
vendored
2
.github/workflows/compile-msvc.yml
vendored
@ -54,4 +54,4 @@ jobs:
|
||||
- name: Run Unit Tests
|
||||
working-directory: build
|
||||
shell: bash
|
||||
run: ctest -V -C Release
|
||||
run: ctest -V -C Release -E FixTimestep:python_move_nve
|
||||
|
||||
@ -124,7 +124,7 @@ set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp
|
||||
|
||||
if(PKG_KSPACE)
|
||||
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/fft3d_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/grid3d_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp)
|
||||
if(Kokkos_ENABLE_CUDA)
|
||||
if(NOT (FFT STREQUAL "KISS"))
|
||||
|
||||
@ -45,7 +45,7 @@ SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocess
|
||||
# we only want to use explicitly listed files.
|
||||
DOXYFILES = $(shell sed -n -e 's/\#.*$$//' -e '/^ *INPUT \+=/,/^[A-Z_]\+ \+=/p' doxygen/Doxyfile.in | sed -e 's/@LAMMPS_SOURCE_DIR@/..\/src/g' -e 's/\\//g' -e 's/ \+/ /' -e 's/[A-Z_]\+ \+= *\(YES\|NO\|\)//')
|
||||
|
||||
.PHONY: help clean-all clean clean-spelling epub mobi html pdf spelling anchor_check style_check char_check xmlgen fasthtml
|
||||
.PHONY: help clean-all clean clean-spelling epub mobi html pdf spelling anchor_check style_check char_check role_check xmlgen fasthtml
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
@ -96,6 +96,7 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
|
||||
rst_anchor_check src/*.rst ;\
|
||||
python $(BUILDDIR)/utils/check-packages.py -s ../src -d src ;\
|
||||
env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\
|
||||
env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\
|
||||
python $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\
|
||||
echo "############################################" ;\
|
||||
deactivate ;\
|
||||
@ -175,6 +176,7 @@ pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
|
||||
rst_anchor_check src/*.rst ;\
|
||||
python utils/check-packages.py -s ../src -d src ;\
|
||||
env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\
|
||||
env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\
|
||||
python utils/check-styles.py -s ../src -d src ;\
|
||||
echo "############################################" ;\
|
||||
deactivate ;\
|
||||
@ -220,6 +222,9 @@ package_check : $(VENV)
|
||||
char_check :
|
||||
@( env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst && exit 1 || : )
|
||||
|
||||
role_check :
|
||||
@( env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst && exit 1 || : )
|
||||
|
||||
xmlgen : doxygen/xml/index.xml
|
||||
|
||||
doxygen/Doxyfile: doxygen/Doxyfile.in
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
.TH LAMMPS "1" "3 November 2022" "2022-11-3"
|
||||
.TH LAMMPS "1" "22 December 2022" "2022-12-22"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator. Version 3 November 2022
|
||||
\- Molecular Dynamics Simulator. Version 22 December 2022
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B lmp
|
||||
|
||||
@ -107,6 +107,7 @@ KOKKOS, o = OPENMP, t = OPT.
|
||||
* :doc:`pressure/uef <compute_pressure_uef>`
|
||||
* :doc:`property/atom <compute_property_atom>`
|
||||
* :doc:`property/chunk <compute_property_chunk>`
|
||||
* :doc:`property/grid <compute_property_grid>`
|
||||
* :doc:`property/local <compute_property_local>`
|
||||
* :doc:`ptm/atom <compute_ptm_atom>`
|
||||
* :doc:`rdf <compute_rdf>`
|
||||
|
||||
@ -36,7 +36,8 @@ An alphabetic list of all LAMMPS :doc:`dump <dump>` commands.
|
||||
* :doc:`custom/mpiio <dump>`
|
||||
* :doc:`custom/zstd <dump>`
|
||||
* :doc:`dcd <dump>`
|
||||
* :doc:`deprecated <dump>`
|
||||
* :doc:`grid <dump>`
|
||||
* :doc:`grid/vtk <dump>`
|
||||
* :doc:`h5md <dump_h5md>`
|
||||
* :doc:`image <dump_image>`
|
||||
* :doc:`local <dump>`
|
||||
|
||||
@ -38,6 +38,7 @@ OPT.
|
||||
* :doc:`ave/chunk <fix_ave_chunk>`
|
||||
* :doc:`ave/correlate <fix_ave_correlate>`
|
||||
* :doc:`ave/correlate/long <fix_ave_correlate_long>`
|
||||
* :doc:`ave/grid <fix_ave_grid>`
|
||||
* :doc:`ave/histo <fix_ave_histo>`
|
||||
* :doc:`ave/histo/weight <fix_ave_histo>`
|
||||
* :doc:`ave/time <fix_ave_time>`
|
||||
|
||||
@ -23,7 +23,7 @@ Please refer to the :doc:`chunk HOWTO <Howto_chunk>` section for an overview.
|
||||
Box command
|
||||
-----------
|
||||
|
||||
.. deprecated:: TBD
|
||||
.. deprecated:: 22Dec2022
|
||||
|
||||
The *box* command has been removed and the LAMMPS code changed so it won't
|
||||
be needed. If present, LAMMPS will ignore the command and print a warning.
|
||||
@ -31,7 +31,7 @@ be needed. If present, LAMMPS will ignore the command and print a warning.
|
||||
Reset_ids, reset_atom_ids, reset_mol_ids commands
|
||||
-------------------------------------------------
|
||||
|
||||
.. deprecated:: TBD
|
||||
.. deprecated:: 22Dec2022
|
||||
|
||||
The *reset_ids*, *reset_atom_ids*, and *reset_mol_ids* commands have
|
||||
been folded into the :doc:`reset_atoms <reset_atoms>` command. If
|
||||
|
||||
@ -23,3 +23,4 @@ of time and requests from the LAMMPS user community.
|
||||
Classes
|
||||
Developer_platform
|
||||
Developer_utils
|
||||
Developer_grid
|
||||
|
||||
846
doc/src/Developer_grid.rst
Normal file
846
doc/src/Developer_grid.rst
Normal file
@ -0,0 +1,846 @@
|
||||
Use of distributed grids within style classes
|
||||
---------------------------------------------
|
||||
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
The LAMMPS source code includes two classes which facilitate the
|
||||
creation and use of distributed grids. These are the Grid2d and
|
||||
Grid3d classes in the src/grid2d.cpp.h and src/grid3d.cpp.h files
|
||||
respectively. As the names imply, they are used for 2d or 3d
|
||||
simulations, as defined by the :doc:`dimension <dimension>` command.
|
||||
|
||||
The :doc:`Howto_grid <Howto_grid>` page gives an overview of how
|
||||
distributed grids are defined from a user perspective, lists LAMMPS
|
||||
commands which use them, and explains how grid cell data is referenced
|
||||
from an input script. Please read that page first as it motivates the
|
||||
coding details discussed here.
|
||||
|
||||
This doc page is for users who wish to write new styles (input script
|
||||
commands) which use distributed grids. There are a variety of
|
||||
material models and analysis methods which use atoms (or
|
||||
coarse-grained particles) and grids in tandem.
|
||||
|
||||
A *distributed* grid means each processor owns a subset of the grid
|
||||
cells. In LAMMPS, the subset for each processor will be a sub-block
|
||||
of grid cells with low and high index bounds in each dimension of the
|
||||
grid. The union of the sub-blocks across all processors is the global
|
||||
grid.
|
||||
|
||||
More specifically, a grid point is defined for each cell (by default
|
||||
the center point), and a processor owns a grid cell if its point is
|
||||
within the processor's spatial sub-domain. The union of processor
|
||||
sub-domains is the global simulation box. If a grid point is on the
|
||||
boundary of two sub-domains, the lower processor owns the grid cell. A
|
||||
processor may also store copies of ghost cells which surround its
|
||||
owned cells.
|
||||
|
||||
----------
|
||||
|
||||
Style commands
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
Style commands which can define and use distributed grids include the
|
||||
:doc:`compute <compute>`, :doc:`fix <fix>`, :doc:`pair <pair_style>`,
|
||||
and :doc:`kspace <kspace_style>` styles. If you wish grid cell data
|
||||
to persist across timesteps, then use a fix. If you wish grid cell
|
||||
data to be accessible by other commands, then use a fix or compute.
|
||||
Currently in LAMMPS, the :doc:`pair_style amoeba <pair_amoeba>`,
|
||||
:doc:`kspace_style pppm <kspace_style>`, and :doc:`kspace_style msm
|
||||
<kspace_style>` commands use distributed grids but do not require
|
||||
either of these capabilities; they thus create and use distributed
|
||||
grids internally. Note that a pair style which needs grid cell data
|
||||
to persist could be coded to work in tandem with a fix style which
|
||||
provides that capability.
|
||||
|
||||
The *size* of a grid is specified by the number of grid cells in each
|
||||
dimension of the simulation domain. In any dimension the size can be
|
||||
any value >= 1. Thus a 10x10x1 grid for a 3d simulation is
|
||||
effectively a 2d grid, where each grid cell spans the entire
|
||||
z-dimension. A 1x100x1 grid for a 3d simulation is effectively a 1d
|
||||
grid, where grid cells are a series of thin xz slabs in the
|
||||
y-dimension. It is even possible to define a 1x1x1 3d grid, though it
|
||||
may be inefficient to use it in a computational sense.
|
||||
|
||||
Note that the choice of grid size is independent of the number of
|
||||
processors or their layout in a grid of processor sub-domains which
|
||||
overlays the simulations domain. Depending on the distributed grid
|
||||
size, a single processor may own many 1000s or no grid cells.
|
||||
|
||||
A command can define multiple grids, each of a different size. Each
|
||||
grid is an instantiation of the Grid2d or Grid3d class.
|
||||
|
||||
The command also defines what data it will store for each grid it
|
||||
creates and it allocates the multi-dimensional array(s) needed to
|
||||
store the data. No grid cell data is stored within the Grid2d or
|
||||
Grid3d classes.
|
||||
|
||||
If a single value per grid cell is needed, the data array will have
|
||||
the same dimension as the grid, i.e. a 2d array for a 2d grid,
|
||||
likewise for 3d. If multiple values per grid cell are needed, the
|
||||
data array will have one more dimension than the grid, i.e. a 3d array
|
||||
for a 2d grid, or 4d array for a 3d grid. A command can choose to
|
||||
define multiple data arrays for each grid it defines.
|
||||
|
||||
----------
|
||||
|
||||
Grid data allocation and access
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The simplest way for a command to allocate and access grid cell data
|
||||
is to use the *create_offset()* methods provided by the Memory class.
|
||||
Arguments for these methods can be values returned by the
|
||||
*setup_grid()* method (described below), which define the extent of
|
||||
the grid cells (owned+ghost) the processor owns. These 4 methods
|
||||
allocate memory for 2d (first two) and 3d (second two) grid data. The
|
||||
two methods that end in "_one" allocate an array which stores a single
|
||||
value per grid cell. The two that end in "_multi" allocate an array
|
||||
which stores *Nvalues* per grid cell.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
// single value per cell for a 2d grid = 2d array
|
||||
memory->create2d_offset(data2d_one, nylo_out, nyhi_out,
|
||||
nxlo_out, nxhi_out, "data2d_one");
|
||||
|
||||
// nvalues per cell for a 2d grid = 3d array
|
||||
memory->create3d_offset_last(data2d_multi, nylo_out, nyhi_out,
|
||||
nxlo_out, nxhi_out, nvalues, "data2d_multi");
|
||||
|
||||
// single value per cell for a 3d grid = 3d array
|
||||
memory->create3d_offset(data3d_one, nzlo_out, nzhi_out, nylo_out,
|
||||
nyhi_out, nxlo_out, nxhi_out, "data3d_one");
|
||||
|
||||
// nvalues per cell for a 3d grid = 4d array
|
||||
memory->create4d_offset_last(data3d_multi, nzlo_out, nzhi_out, nylo_out,
|
||||
nyhi_out, nxlo_out, nxhi_out, nvalues,
|
||||
"data3d_multi");
|
||||
|
||||
Note that these multi-dimensional arrays are allocated as contiguous
|
||||
chunks of memory where the x-index of the grid varies fastest, then y,
|
||||
and the z-index slowest. For multiple values per grid cell, the
|
||||
Nvalues are contiguous, so their index varies even faster than the
|
||||
x-index.
|
||||
|
||||
The key point is that the "offset" methods create arrays which are
|
||||
indexed by the range of indices which are the bounds of the sub-block
|
||||
of the global grid owned by this processor. This means loops like
|
||||
these can be written in the caller code to loop over owned grid cells,
|
||||
where the "i" loop bounds are the range of owned grid cells for the
|
||||
processor. These are the bounds returned by the *setup_grid()*
|
||||
method:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
for (int iy = iylo; iy <= iyhi; iy++)
|
||||
for (int ix = ixlo; ix <= ixhi; ix++)
|
||||
data2d_one[iy][ix] = 0.0;
|
||||
|
||||
for (int iy = iylo; iy <= iyhi; iy++)
|
||||
for (int ix = ixlo; ix <= ixhi; ix++)
|
||||
for (int m = 0; m < nvalues; m++)
|
||||
data2d_multi[iy][ix][m] = 0.0;
|
||||
|
||||
for (int iz = izlo; iz <= izhi; iz++)
|
||||
for (int iy = iylo; iy <= iyhi; iy++)
|
||||
for (int ix = ixlo; ix <= ixhi; ix++)
|
||||
data3d_one[iz][iy][ix] = 0.0;
|
||||
|
||||
for (int iz = izlo; iz <= izhi; iz++)
|
||||
for (int iy = iylo; iy <= iyhi; iy++)
|
||||
for (int ix = ixlo; ix <= ixhi; ix++)
|
||||
for (int m = 0; m < nvalues; m++)
|
||||
data3d_multi[iz][iy][ix][m] = 0.0;
|
||||
|
||||
Simply replacing the "i" bounds with "o" bounds, also returned by the
|
||||
*setup_grid()* method, would alter this code to loop over owned+ghost
|
||||
cells (the entire allocated grid).
|
||||
|
||||
----------
|
||||
|
||||
Grid class constructors
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following sub-sections describe the public methods of the Grid3d
|
||||
class which a style command can invoke. The Grid2d methods are
|
||||
similar; simply remove arguments which refer to the z-dimension.
|
||||
|
||||
There are 2 constructors which can be used. They differ in the extra
|
||||
i/o xyz lo/hi arguments:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
Grid3d(class LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz)
|
||||
Grid3d(class LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz,
|
||||
int ixlo, int ixhi, int iylo, int iyhi, int izlo, int izhi,
|
||||
int oxlo, int oxhi, int oylo, int oyhi, int ozlo, int ozhi)
|
||||
|
||||
Both constructors take the LAMMPS instance pointer and a communicator
|
||||
over which the grid will be distributed. Typically this is the
|
||||
*world* communicator the LAMMPS instance is using. The
|
||||
:doc:`kspace_style msm <kspace_style>` command creates a series of
|
||||
grids, each of different size, which are partitioned across different
|
||||
sub-communicators of processors. Both constructors are also passed
|
||||
the global grid size: *gnx* by *gny* by *gnz*.
|
||||
|
||||
The first constructor is used when the caller wants the Grid class to
|
||||
partition the global grid across processors; the Grid class defines
|
||||
which grid cells each processor owns and also which it stores as ghost
|
||||
cells. A subsequent call to *setup_grid()*, discussed below, returns
|
||||
this info to the caller.
|
||||
|
||||
The second constructor allows the caller to define the extent of owned
|
||||
and ghost cells, and pass them to the Grid class. The 6 arguments
|
||||
which start with "i" are the inclusive lower and upper index bounds of
|
||||
the owned (inner) grid cells this processor owns in each of the 3
|
||||
dimensions within the global grid. Owned grid cells are indexed from
|
||||
0 to N-1 in each dimension.
|
||||
|
||||
The 6 arguments which start with "o" are the inclusive bounds of the
|
||||
owned+ghost (outer) grid cells it stores. If the ghost cells are on
|
||||
the other side of a periodic boundary, then these indices may be < 0
|
||||
or >= N in any dimension, so that oxlo <= ixlo and ixhi >= ixhi is
|
||||
always the case.
|
||||
|
||||
For example, if Nx = 100, then a processor might pass ixlo=50,
|
||||
ixhi=60, oxlo=48, oxhi=62 to the Grid class. Or ixlo=0, ixhi=10,
|
||||
oxlo=-2, oxhi=13. If a processor owns no grid cells in a dimension,
|
||||
then the ihi value should be specified as one less than the ilo value.
|
||||
|
||||
Note that the only reason to use the second constructor is if the
|
||||
logic for assigning ghost cells is too complex for the Grid class to
|
||||
compute, using the various set() methods described next. Currently
|
||||
only the kspace_style pppm/electrode and kspace_style msm commands use
|
||||
the second constructor.
|
||||
|
||||
----------
|
||||
|
||||
Grid class set methods
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following methods affect how the Grid class computes which owned
|
||||
and ghost cells are assigned to each processor. *Set_shift_grid()* is
|
||||
the only method which influences owned cell assignment; all the rest
|
||||
influence ghost cell assignment. These methods are only used with the
|
||||
first constructor; they are ignored if the second constructor is used.
|
||||
These methods must be called before the *setup_grid()* method is
|
||||
invoked, because they influence its operation.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void set_shift_grid(double shift);
|
||||
void set_distance(double distance);
|
||||
void set_stencil_atom(int lo, int hi);
|
||||
void set_shift_atom(double shift_lo, double shift_hi);
|
||||
void set_stencil_grid(int lo, int hi);
|
||||
void set_zfactor(double factor);
|
||||
|
||||
Processors own a grid cell if a point within the grid cell is inside
|
||||
the processor's sub-domain. By default this is the center point of the
|
||||
grid cell. The *set_shift_grid()* method can change this. The *shift*
|
||||
argument is a value from 0.0 to 1.0 (inclusive) which is the offset of
|
||||
the point within the grid cell in each dimension. The default is 0.5
|
||||
for the center of the cell. A value of 0.0 is the lower left corner
|
||||
point; a value of 1.0 is the upper right corner point. There is
|
||||
typically no need to change the default as it is optimal for
|
||||
minimizing the number of ghost cells needed.
|
||||
|
||||
If a processor maps its particles to grid cells, it needs to allow for
|
||||
its particles being outside its sub-domain between reneighboring. The
|
||||
*distance* argument of the *set_distance()* method sets the furthest
|
||||
distance outside a processor's sub-domain which a particle can move.
|
||||
Typically this is half the neighbor skin distance, assuming
|
||||
reneighboring is done appropriately. This distance is used in
|
||||
determining how many ghost cells a processor needs to store to enable
|
||||
its particles to be mapped to grid cells. The default value is 0.0.
|
||||
|
||||
Some commands, like the :doc:`kspace_style pppm <kspace_style>`
|
||||
command, map values (charge in the case of PPPM) to a stencil of grid
|
||||
cells beyond the grid cell the particle is in. The stencil extent may
|
||||
be different in the low and high directions. The *set_stencil_atom()*
|
||||
method defines the maximum values of those 2 extents, assumed to be
|
||||
the same in each of the 3 dimensions. Both the lo and hi values are
|
||||
specified as positive integers. The default values are both 0.
|
||||
|
||||
Some commands, like the :doc:`kspace_style pppm <kspace_style>`
|
||||
command, shift the position of an atom when mapping it to a grid cell,
|
||||
based on the size of the stencil used to map values to the grid
|
||||
(charge in the case of PPPM). The lo and hi arguments of the
|
||||
*set_shift_atom()* method are the minimum shift in the low direction
|
||||
and the maximum shift in the high direction, assumed to be the same in
|
||||
each of the 3 dimensions. The shifts should be fractions of a grid
|
||||
cell size with values between 0.0 and 1.0 inclusive. The default
|
||||
values are both 0.0. See the src/pppm.cpp file for examples of these
|
||||
lo/hi values for regular and staggered grids.
|
||||
|
||||
Some methods like the :doc:`fix ttm/grid <fix_ttm>` command, perform
|
||||
finite difference kinds of operations on the grid, to diffuse electron
|
||||
heat in the case of the two-temperature model (TTM). This operation
|
||||
uses ghost grid values beyond the owned grid values the processor
|
||||
updates. The *set_stencil_grid()* method defines the extent of this
|
||||
stencil in both directions, assumed to be the same in each of the 3
|
||||
dimensions. Both the lo and hi values are specified as positive
|
||||
integers. The default values are both 0.
|
||||
|
||||
The kspace_style pppm commands allow a grid to be defined which
|
||||
overlays a volume which extends beyond the simulation box in the z
|
||||
dimension. This is for the purpose of modeling a 2d-periodic slab
|
||||
(non-periodic in z) as if it were a larger 3d periodic system,
|
||||
extended (with empty space) in the z dimension. The
|
||||
:doc:`kspace_modify slab <kspace_modify>` command is used to specify
|
||||
the ratio of the larger volume to the simulation volume; a volume
|
||||
ratio of ~3 is typical. For this kind of model, the PPPM caller sets
|
||||
the global grid size *gnz* ~3x larger than it would be otherwise.
|
||||
This same ratio is passed by the PPPM caller as the *factor* argument
|
||||
to the Grid class via the *set_zfactor()* method (*set_yfactor()* for
|
||||
2d grids). The Grid class will then assign ownership of the 1/3 of
|
||||
grid cells that overlay the simulation box to the processors which
|
||||
also overlay the simulation box. The remaining 2/3 of the grid cells
|
||||
are assigned to processors whose sub-domains are adjacent to the upper
|
||||
z boundary of the simulation box.
|
||||
|
||||
----------
|
||||
|
||||
Grid class setup_grid method
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The *setup_grid()* method is called after the first constructor
|
||||
(above) to partition the grid across processors, which determines
|
||||
which grid cells each processor owns. It also calculates how many
|
||||
ghost grid cells in each dimension and each direction each processor
|
||||
needs to store.
|
||||
|
||||
Note that this method is NOT called if the second constructor above is
|
||||
used. In that case, the caller assigns owned and ghost cells to each
|
||||
processor.
|
||||
|
||||
Also note that this method must be invoked after any *set_*()* methods have
|
||||
been used, since they can influence the assignment of owned and ghost
|
||||
cells.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void setup_grid(int &ixlo, int &ixhi, int &iylo, int &iyhi, int &izlo, int &izhi,
|
||||
int &oxlo, int &oxhi, int &oylo, int &oyhi, int &ozlo, int &ozhi)
|
||||
|
||||
The 6 return arguments which start with "i" are the inclusive lower
|
||||
and upper index bounds of the owned (inner) grid cells this processor
|
||||
owns in each of the 3 dimensions within the global grid. Owned grid
|
||||
cells are indexed from 0 to N-1 in each dimension.
|
||||
|
||||
The 6 return arguments which start with "o" are the inclusive bounds of
|
||||
the owned+ghost cells it owns. If the ghost cells are on the other
|
||||
side of a periodic boundary, then these indices may be < 0 or >= N in
|
||||
any dimension, so that oxlo <= ixlo and ixhi >= ixhi is always the
|
||||
case.
|
||||
|
||||
----------
|
||||
|
||||
More grid class set methods
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following 2 methods can be used to override settings made by the
|
||||
constructors above. If used, they must be called called before the
|
||||
*setup_comm()* method is invoked, since it uses the settings that
|
||||
these methods override. In LAMMPS these methods are called by by the
|
||||
:doc:`kspace_style msm <kspace_style>` command for the grids it
|
||||
instantiates using the 2nd constructor above.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void set_proc_neighs(int pxlo, int pxhi, int pylo, int pyhi, int pzlo, int pzhi)
|
||||
void set_caller_grid(int fxlo, int fxhi, int fylo, int fyhi, int fzlo, int fzhi)
|
||||
|
||||
The *set_proc_neighs()* method sets the processor IDs of the 6
|
||||
neighboring processors for each processor. Normally these would match
|
||||
the processor grid neighbors which LAMMPS creates to overlay the
|
||||
simulation box (the default). However, MSM excludes non-participating
|
||||
processors from coarse grid communication when less processors are
|
||||
used. This method allows MSM to override the default values.
|
||||
|
||||
The *set_caller_grid()* method species the size of the data arrays the
|
||||
caller allocates. Normally these would match the extent of the ghost
|
||||
grid cells (the default). However the MSM caller allocates a larger
|
||||
data array (more ghost cells) for its finest-level grid, for use in
|
||||
other operations besides owned/ghost cell communication. This method
|
||||
allows MSM to override the default values.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
Grid class get methods
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following methods allow the caller to query the settings for a
|
||||
specific grid, whether it created the grid or another command created
|
||||
it.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void get_size(int &nxgrid, int &nygrid, int &nzgrid);
|
||||
void get_bounds_owned(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, int &zhi)
|
||||
void get_bounds_ghost(int &xlo, int &xhi, int &ylo, int &yhi, int &zlo, int &zhi)
|
||||
|
||||
The *get_size()* method returns the size of the global grid in each dimension.
|
||||
|
||||
The *get_bounds_owned()* method return the inclusive index bounds of
|
||||
the grid cells this processor owns. The values range from 0 to N-1 in
|
||||
each dimension. These values are the same as the "i" values returned
|
||||
by *setup_grid()*.
|
||||
|
||||
The *get_bounds_ghost()* method return the inclusive index bounds of
|
||||
the owned+ghost grid cells this processor stores. The owned cell
|
||||
indices range from 0 to N-1, so these indices may be less than 0 or
|
||||
greater than or equal to N in each dimension. These values are the
|
||||
same as the "o" values returned by *setup_grid()*.
|
||||
|
||||
----------
|
||||
|
||||
Grid class owned/ghost communication
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If needed by the command, the following methods setup and perform
|
||||
communication of grid data to/from neighboring processors. The
|
||||
*forward_comm()* method sends owned grid cell data to the
|
||||
corresponding ghost grid cells on other processors. The
|
||||
*reverse_comm()* method sends ghost grid cell data to the
|
||||
corresponding owned grid cells on another processor. The caller can
|
||||
choose to sum ghost grid cell data to the owned grid cell or simply
|
||||
copy it.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void setup_comm(int &nbuf1, int &nbuf2)
|
||||
void forward_comm(int caller, void *ptr, int which, int nper, int nbyte,
|
||||
void *buf1, void *buf2, MPI_Datatype datatype);
|
||||
void reverse_comm(int caller, void *ptr, int which, int nper, int nbyte,
|
||||
void *buf1, void *buf2, MPI_Datatype datatype)
|
||||
int ghost_adjacent();
|
||||
|
||||
The *setup_comm()* method must be called one time before performing
|
||||
*forward* or *reverse* communication (multiple times if needed). It
|
||||
returns two integers, which should be used to allocate two buffers.
|
||||
The *nbuf1* and *nbuf2* values are the number of grid cells whose data
|
||||
will be stored in two buffers by the Grid class when *forward* or
|
||||
*reverse* communication is performed. The caller should thus allocate
|
||||
them to a size large enough to hold all the data used in any single
|
||||
forward or reverse communication operation it performs. Note that the
|
||||
caller may allocate and communicate multiple data arrays for a grid it
|
||||
instantiates. This size includes the bytes needed for the data type
|
||||
of the grid data it stores, e.g. double precision values.
|
||||
|
||||
The *forward_comm()* and *reverse_comm()* methods send grid cell data
|
||||
from owned to ghost cells, or ghost to owned cells, respectively, as
|
||||
described above. The *caller* argument should be one of these values
|
||||
-- Grid3d::COMPUTE, Grid3d::FIX, Grid3d::KSPACE, Grid3d::PAIR --
|
||||
depending on the style of the caller class. The *ptr* argument is the
|
||||
"this" pointer to the caller class. These 2 arguments are used to
|
||||
call back to pack()/unpack() functions in the caller class, as
|
||||
explained below.
|
||||
|
||||
The *which* argument is a flag the caller can set which is passed to
|
||||
the caller's pack()/unpack() methods. This allows a single callback
|
||||
method to pack/unpack data for several different flavors of
|
||||
forward/reverse communication, e.g. operating on different grids or
|
||||
grid data.
|
||||
|
||||
The *nper* argument is the number of values per grid cell to be
|
||||
communicated. The *nbyte* argument is the number of bytes per value,
|
||||
e.g. 8 for double-precision values. The *buf1* and *buf2* arguments
|
||||
are the two allocated buffers described above. So long as they are
|
||||
allocated for the maximum size communication, they can be re-used for
|
||||
any *forward_comm()/reverse_comm()* call. The *datatype* argument is
|
||||
the MPI_Datatype setting, which should match the buffer allocation and
|
||||
the *nbyte* argument. E.g. MPI_DOUBLE for buffers storing double
|
||||
precision values.
|
||||
|
||||
To use the *forward_grid()* method, the caller must provide two
|
||||
callback functions; likewise for use of the *reverse_grid()* methods.
|
||||
These are the 4 functions, their arguments are all the same.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void pack_forward_grid(int which, void *vbuf, int nlist, int *list);
|
||||
void unpack_forward_grid(int which, void *vbuf, int nlist, int *list);
|
||||
void pack_reverse_grid(int which, void *vbuf, int nlist, int *list);
|
||||
void unpack_reverse_grid(int which, void *vbuf, int nlist, int *list);
|
||||
|
||||
The *which* argument is set to the *which* value of the
|
||||
*forward_comm()* or *reverse_comm()* calls. It allows the pack/unpack
|
||||
function to select what data values to pack/unpack. *Vbuf* is the
|
||||
buffer to pack/unpack the data to/from. It is a void pointer so that
|
||||
the caller can cast it to whatever data type it chooses, e.g. double
|
||||
precision values. *Nlist* is the number of grid cells to pack/unpack
|
||||
and *list* is a vector (nlist in length) of offsets to where the data
|
||||
for each grid cell resides in the caller's data arrays, which is best
|
||||
illustrated with an example from the src/EXTRA-FIX/fix_ttm_grid.cpp
|
||||
class which stores the scalar electron temperature for 3d system in a
|
||||
3d grid (one value per grid cell):
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void FixTTMGrid::pack_forward_grid(int /*which*/, void *vbuf, int nlist, int *list)
|
||||
{
|
||||
auto buf = (double *) vbuf;
|
||||
double *src = &T_electron[nzlo_out][nylo_out][nxlo_out];
|
||||
for (int i = 0; i < nlist; i++) buf[i] = src[list[i]];
|
||||
}
|
||||
|
||||
In this case, the *which* argument is not used, *vbuf* points to a
|
||||
buffer of doubles, and the electron temperature is stored by the
|
||||
FixTTMGrid class in a 3d array of owned+ghost cells called T_electron.
|
||||
That array is allocated by the *memory->create_3d_offset()* method
|
||||
described above so that the first grid cell it stores is indexed as
|
||||
T_electron[nzlo_out][nylo_out][nxlo_out]. The *nlist* values in
|
||||
*list* are integer offsets from that first grid cell. Setting *src*
|
||||
to the address of the first cell allows those offsets to be used to
|
||||
access the temperatures to pack into the buffer.
|
||||
|
||||
Here is a similar portion of code from the src/fix_ave_grid.cpp class
|
||||
which can store two kinds of data, a scalar count of atoms in a grid
|
||||
cell, and one or more grid-cell-averaged atom properties. The code
|
||||
from its *unpack_reverse_grid()* function for 2d grids and multiple
|
||||
per-atom properties per grid cell (*nvalues*) is shown here:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void FixAveGrid::unpack_reverse_grid(int /*which*/, void *vbuf, int nlist, int *list)
|
||||
{
|
||||
auto buf = (double *) vbuf;
|
||||
double *count,*data,*values;
|
||||
count = &count2d[nylo_out][nxlo_out];
|
||||
data = &array2d[nylo_out][nxlo_out][0];
|
||||
m = 0;
|
||||
for (i = 0; i < nlist; i++) {
|
||||
count[list[i]] += buf[m++];
|
||||
values = &data[nvalues*list[i]];
|
||||
for (j = 0; j < nvalues; j++)
|
||||
values[j] += buf[m++];
|
||||
}
|
||||
}
|
||||
|
||||
Both the count and the multiple values per grid cell are communicated
|
||||
in *vbuf*. Note that *data* is now a pointer to the first value in
|
||||
the first grid cell. And *values* points to where the first value in
|
||||
*data* is for an offset of grid cells, calculated by multiplying
|
||||
*nvalues* by *list[i]*. Finally, because this is reverse
|
||||
communication, the communicated buffer values are summed to the caller
|
||||
values.
|
||||
|
||||
The *ghost_adjacent()* method returns a 1 if every processor can
|
||||
perform the necessary owned/ghost communication with only its nearest
|
||||
neighbor processors (4 in 2d, 6 in 3d). It returns a 0 if any
|
||||
processor's ghost cells extend further than nearest neighbor
|
||||
processors.
|
||||
|
||||
This can be checked by callers who have the option to change the
|
||||
global grid size to insure more efficient nearest-neighbor-only
|
||||
communication if they wish. In this case, they instantiate a grid of
|
||||
a given size (resolution), then invoke *setup_comm()* followed by
|
||||
*ghost_adjacent()*. If the ghost cells are not adjacent, they destroy
|
||||
the grid instance and start over with a higher-resolution grid.
|
||||
Several of the :doc:`kspace_style pppm <kspace_style>` command
|
||||
variants have this option.
|
||||
|
||||
----------
|
||||
|
||||
Grid class remap methods for load balancing
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following methods are used when a load-balancing operation,
|
||||
triggered by the :doc:`balance <balance>` or :doc:`fix balance
|
||||
<fix_balance>` commands, changes the partitioning of the simulation
|
||||
domain into processor sub-domains.
|
||||
|
||||
In order to work with load-balancing, any style command (compute, fix,
|
||||
pair, or kspace style) which allocates a grid and stores per-grid data
|
||||
should define a *reset_grid()* method; it takes no arguments. It will
|
||||
be called by the two balance commands after they have reset processor
|
||||
sub-domains and migrated atoms (particles) to new owning processors.
|
||||
The *reset_grid()* method will typically perform some or all of the
|
||||
following operations. See the src/fix_ave_grid.cpp and
|
||||
src/EXTRA_FIX/fix_ttm_grid.cpp files for examples of *reset_grid()*
|
||||
methods, as well as the *pack_remap_grid()* and *unpack_remap_grid()*
|
||||
functions.
|
||||
|
||||
First, the *reset_grid()* method can instantiate new grid(s) of the
|
||||
same global size, then call *setup_grid()* to partition them via the
|
||||
new processor sub-domains. At this point, it can invoke the
|
||||
*identical()* method which compares the owned and ghost grid cell
|
||||
index bounds between two grids, the old grid passed as a pointer
|
||||
argument, and the new grid whose *identical()* method is being called.
|
||||
It returns 1 if the indices match on all processors, otherwise 0. If
|
||||
they all match, then the new grids can be deleted; the command can
|
||||
continue to use the old grids.
|
||||
|
||||
If not, then the command should allocate new grid data array(s) which
|
||||
depend on the new partitioning. If the command does not need to
|
||||
persist its grid data from the old partitioning to the new one, then
|
||||
the command can simply delete the old data array(s) and grid
|
||||
instance(s). It can then return.
|
||||
|
||||
If the grid data does need to persist, then the data for each grid
|
||||
needs to be "remapped" from the old grid partitioning to the new grid
|
||||
partitioning. The *setup_remap()* and *remap()* methods are used for
|
||||
that purpose.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
int identical(Grid3d *old);
|
||||
void setup_remap(Grid3d *old, int &nremap_buf1, int &nremap_buf2)
|
||||
void remap(int caller, void *ptr, int which, int nper, int nbyte,
|
||||
void *buf1, void *buf2, MPI_Datatype datatype)
|
||||
|
||||
The arguments to these methods are identical to those for
|
||||
the *setup_comm()* and *forward_comm()* or *reverse_comm()* methods.
|
||||
However the returned *nremap_buf1* and *nremap2_buf* values will be
|
||||
different than the *nbuf1* and *nbuf2* values. They should be used to
|
||||
allocate two different remap buffers, separate from the owned/ghost
|
||||
communication buffers.
|
||||
|
||||
To use the *remap()* method, the caller must provide two
|
||||
callback functions:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void pack_remap_grid(int which, void *vbuf, int nlist, int *list);
|
||||
void unpack_remap_grid(int which, void *vbuf, int list, int *list);
|
||||
|
||||
Their arguments are identical to those for the *pack_forward_grid()*
|
||||
and *unpack_forward_grid()* callback functions (or the reverse
|
||||
variants) discussed above. Normally, both these methods pack/unpack
|
||||
all the data arrays for a given grid. The *which* argument of the
|
||||
*remap()* method sets the *which* value for the pack/unpack functions.
|
||||
If the command instantiates multiple grids (of different sizes), it
|
||||
can be used within the pack/unpack methods to select which grid's data
|
||||
is being remapped.
|
||||
|
||||
Note that the *pack_remap_grid()* function must copy values from the
|
||||
OLD grid data arrays into the *vbuf* buffer. The *unpack_remap_grid()*
|
||||
function must copy values from the *vbuf* buffer into the NEW grid
|
||||
data arrays.
|
||||
|
||||
After the remap operation for grid cell data has been performed, the
|
||||
*reset_grid()* method can deallocate the two remap buffers it created,
|
||||
and can then exit.
|
||||
|
||||
----------
|
||||
|
||||
Grid class I/O methods
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
There are two I/O methods in the Grid classes which can be used to
|
||||
read and write grid cell data to files. The caller can decide on the
|
||||
precise format of each file, e.g. whether header lines are prepended
|
||||
or comment lines are allowed. Fundamentally, the file should contain
|
||||
one line per grid cell for the entire global grid. Each line should
|
||||
contain identifying info as to which grid cell it is, e.g. a unique
|
||||
grid cell ID or the ix,iy,iz indices of the cell within a 3d grid.
|
||||
The line should also contain one or more data values which are stored
|
||||
within the grid data arrays created by the command
|
||||
|
||||
For grid cell IDs, the LAMMPS convention is that the IDs run from 1 to
|
||||
N, where N = Nx * Ny for 2d grids and N = Nx * Ny * Nz for 3d grids.
|
||||
The x-index of the grid cell varies fastest, then y, and the z-index
|
||||
varies slowest. So for a 10x10x10 grid the cell IDs from 901-1000
|
||||
would be in the top xy layer of the z dimension.
|
||||
|
||||
The *read_file()* method does something simple. It reads a chunk of
|
||||
consecutive lines from the file and passes them back to the caller to
|
||||
process. The caller provides a *unpack_read_grid()* function for this
|
||||
purpose. The function checks the grid cell ID or indices and only
|
||||
stores grid cell data for the grid cells it owns.
|
||||
|
||||
The *write_file()* method does something slightly more complex. Each
|
||||
processor packs the data for its owned grid cells into a buffer. The
|
||||
caller provides a *pack_write_grid()* function for this purpose. The
|
||||
*write_file()* method then loops over all processors and each sends
|
||||
its buffer one at a time to processor 0, along with the 3d (or 2d)
|
||||
index bounds of its grid cell data within the global grid. Processor
|
||||
0 calls back to the *unpack_write_grid()* function provided by the
|
||||
caller with the buffer. The function writes one line per grid cell to
|
||||
the file.
|
||||
|
||||
See the src/EXTRA_FIX/fix_ttm_grid.cpp file for examples of now both
|
||||
these methods are used to read/write electron temperature values
|
||||
from/to a file, as well as for implementations of the the pack/unpack
|
||||
functions described below.
|
||||
|
||||
Here are the details of the two I/O methods and the 3 callback
|
||||
functions. See the src/fix_ave_grid.cpp file for examples of all of
|
||||
them.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
void read_file(int caller, void *ptr, FILE *fp, int nchunk, int maxline)
|
||||
void write_file(int caller, void *ptr, int which,
|
||||
int nper, int nbyte, MPI_Datatype datatype
|
||||
|
||||
The *caller* argument in both methods should be one of these values --
|
||||
Grid3d::COMPUTE, Grid3d::FIX, Grid3d::KSPACE, Grid3d::PAIR --
|
||||
depending on the style of the caller class. The *ptr* argument in
|
||||
both methods is the "this" pointer to the caller class. These 2
|
||||
arguments are used to call back to pack()/unpack() functions in the
|
||||
caller class, as explained below.
|
||||
|
||||
For the *read_file()* method, the *fp* argument is a file pointer to
|
||||
the file to be read from, opened on processor 0 by the caller.
|
||||
*Nchunk* is the number of lines to read per chunk, and *maxline* is
|
||||
the maximum number of characters per line. The Grid class will
|
||||
allocate a buffer for storing chunks of lines based on these values.
|
||||
|
||||
For the *write_file()* method, the *which* argument is a flag the
|
||||
caller can set which is passed back to the caller's pack()/unpack()
|
||||
methods. If the command instantiates multiple grids (of different
|
||||
sizes), this flag can be used within the pack/unpack methods to select
|
||||
which grid's data is being written out (presumably to different
|
||||
files). the *nper* argument is the number of values per grid cell to
|
||||
be written out. The *nbyte* argument is the number of bytes per
|
||||
value, e.g. 8 for double-precision values. The *datatype* argument is
|
||||
the MPI_Datatype setting, which should match the *nbyte* argument.
|
||||
E.g. MPI_DOUBLE for double precision values.
|
||||
|
||||
To use the *read_grid()* method, the caller must provide one callback
|
||||
function. To use the *write_grid()* method, it provides two callback
|
||||
functions:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
int unpack_read_grid(int nlines, char *buffer)
|
||||
void pack_write_grid(int which, void *vbuf)
|
||||
void unpack_write_grid(int which, void *vbuf, int *bounds)
|
||||
|
||||
For *unpack_read_grid()* the *nlines* argument is the number of lines
|
||||
of character data read from the file and contained in *buffer*. The
|
||||
lines each include a newline character at the end. When the function
|
||||
processes the lines, it may choose to skip some of them (header or
|
||||
comment lines). It returns an integer count of the number of grid
|
||||
cell lines it processed. This enables the Grid class *read_file()*
|
||||
method to know when it has read the correct number of lines.
|
||||
|
||||
For *pack_write_grid()* and *unpack_write_grid()*, the *vbuf* argument
|
||||
is the buffer to pack/unpack data to/from. It is a void pointer so
|
||||
that the caller can cast it to whatever data type it chooses,
|
||||
e.g. double precision values. the *which* argument is set to the
|
||||
*which* value of the *write_file()* method. It allows the caller to
|
||||
choose which grid data to operate on.
|
||||
|
||||
For *unpack_write_grid()*, the *bounds* argument is a vector of 4 or 6
|
||||
integer grid indices (4 for 2d, 6 for 3d). They are the
|
||||
xlo,xhi,ylo,yhi,zlo,zhi index bounds of the portion of the global grid
|
||||
which the *vbuf* holds owned grid cell data values for. The caller
|
||||
should loop over the values in *vbuf* with a double loop (2d) or
|
||||
triple loop (3d), similar to the code snippets listed above. The
|
||||
x-index varies fastest, then y, and the z-index slowest. If there are
|
||||
multiple values per grid cell, the index for those values varies
|
||||
fastest of all. The caller can add the x,y,z indices of the grid cell
|
||||
(or the corresponding grid cell ID) to the data value(s) written as
|
||||
one line to the output file.
|
||||
|
||||
----------
|
||||
|
||||
Style class grid access methods
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
A style command can enable its grid cell data to be accessible from
|
||||
other commands. For example :doc:`fix ave/grid <fix_ave_grid>` or
|
||||
:doc:`dump grid <dump>` or :doc:`dump grid/vtk <dump>`. Those
|
||||
commands access the grid cell data by using a *grid reference* in
|
||||
their input script syntax, as described on the :doc:`Howto_grid
|
||||
<Howto_grid>` doc page. They look like this:
|
||||
|
||||
* c_ID:gname:dname
|
||||
* c_ID:gname:dname[I]
|
||||
* f_ID:gname:dname
|
||||
* f_ID:gname:dname[I]
|
||||
|
||||
Each grid a command instantiates has a unique *gname*, defined by the
|
||||
command. Likewise each grid cell data structure (scalar or vector)
|
||||
associated with a grid has a unique *dname*, also defined by the
|
||||
command.
|
||||
|
||||
To provide access to its grid cell data, a style command needs to
|
||||
implement the following 4 methods:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
int get_grid_by_name(const std::string &name, int &dim);
|
||||
void *get_grid_by_index(int index);
|
||||
int get_griddata_by_name(int igrid, const std::string &name, int &ncol);
|
||||
void *get_griddata_by_index(int index);
|
||||
|
||||
Currently only computes and fixes can implement these methods. If it
|
||||
does so, the compute of fix should also set the variable
|
||||
*pergrid_flag* to 1. See any of the compute or fix commands which set
|
||||
"pergrid_flag = 1" for examples of how these 4 functions can be
|
||||
implemented.
|
||||
|
||||
The *get_grid_by_name()* method takes a grid name as input and returns
|
||||
two values. The *dim* argument is returned as 2 or 3 for the
|
||||
dimensionality of the grid. The function return is a grid index from
|
||||
0 to G-1 where *G* is the number of grids the command instantiates. A
|
||||
value of -1 is returned if the grid name is not recognized.
|
||||
|
||||
The *get_grid_by_index()* method is called after the
|
||||
*get_grid_by_name()* method, using the grid index it returned as its
|
||||
argument. This method will return a pointer to the Grid2d or Grid3d
|
||||
class. The caller can use this to query grid attributes, such as the
|
||||
global size of the grid. The :doc:`dump grid <dump>` to insure each
|
||||
its grid reference arguments are for grids of the same size.
|
||||
|
||||
The *get_griddata_by_name()* method takes a grid index *igrid* and a
|
||||
data name as input. It returns two values. The *ncol* argument is
|
||||
returned as a 0 if the grid data is a single value (scalar) per grid
|
||||
cell, or an integer M > 0 if there are M values (vector) per grid
|
||||
cell. Note that even if M = 1, it is still a 1-length vector, not a
|
||||
scalar. The function return is a data index from 0 to D-1 where *D*
|
||||
is the number of data sets associated with that grid by the command.
|
||||
A value of -1 is returned if the data name is not recognized.
|
||||
|
||||
The *get_griddata_by_index()* method is called after the
|
||||
*get_griddata_by_name()* method, using the data index it returned as
|
||||
its argument. This method will return a pointer to the
|
||||
multi-dimensional array which stores the requested data.
|
||||
|
||||
As in the discussion above of the Memory class *create_offset()*
|
||||
methods, the dimensionality of the array associated with the returned
|
||||
pointer depends on whether it is a 2d or 3d grid and whether there is
|
||||
a single or multiple values stored for each grid cell:
|
||||
|
||||
* single value per cell for a 2d grid = 2d array pointer
|
||||
* multiple values per cell for a 2d grid = 3d array pointer
|
||||
* single value per cell for a 3d grid = 3d array pointer
|
||||
* multiple values per cell for a 3d grid = 4d array pointer
|
||||
|
||||
The caller will typically access the data by casting the void pointer
|
||||
to the corresponding array pointer and using nested loops in x,y,z
|
||||
between owned or ghost index bounds returned by the
|
||||
*get_bounds_owned()* or *get_bounds_ghost()* methods to index into the
|
||||
array. Example code snippets with this logic were listed above,
|
||||
|
||||
----------
|
||||
|
||||
Final notes
|
||||
^^^^^^^^^^^
|
||||
|
||||
Finally, here are some additional issues to pay attention to for
|
||||
writing any style command which uses distributed grids via the Grid2d
|
||||
or Grid3d class.
|
||||
|
||||
The command destructor should delete all instances of the Grid class,
|
||||
any buffers it allocated for forward/reverse or remap communication,
|
||||
and any data arrays it allocated to store grid cell data.
|
||||
|
||||
If a command is intended to work for either 2d or 3d simulations, then
|
||||
it should have logic to instantiate either 2d or 3d grids and their
|
||||
associated data arrays, depending on the dimension of the simulation
|
||||
box. The :doc:`fix ave/grid <fix_ave_grid>` command is an example of
|
||||
such a command.
|
||||
|
||||
When a command maps its particles to the grid and updates grid cell
|
||||
values, it should check that it is not updating or accessing a grid
|
||||
cell value outside the range of its owned+ghost cells, and generate an
|
||||
error message if that is the case. This could happen, for example, if
|
||||
a particle has moved further than half the neighbor skin distance,
|
||||
because the neighbor list update criterion are not adequate to prevent
|
||||
it from happening. See the src/KSPACE/pppm.cpp file and its
|
||||
*particle_map()* method for an example of this kind of error check.
|
||||
@ -25,6 +25,7 @@ Available topics in mostly chronological order are:
|
||||
- `Simplified and more compact neighbor list requests`_
|
||||
- `Split of fix STORE into fix STORE/GLOBAL and fix STORE/PERATOM`_
|
||||
- `Use Output::get_dump_by_id() instead of Output::find_dump()`_
|
||||
- `Refactored grid communication using Grid3d/Grid2d classes instead of GridComm`_
|
||||
|
||||
----
|
||||
|
||||
@ -423,3 +424,56 @@ New:
|
||||
if (dumpflag) for (auto idump : dumplist) idump->write();
|
||||
|
||||
This change is **required** or else the code will not compile.
|
||||
|
||||
Refactored grid communication using Grid3d/Grid2d classes instead of GridComm
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. versionchanged:: 22Dec2022
|
||||
|
||||
The ``GridComm`` class was for creating and communicating distributed
|
||||
grids was replaced by the ``Grid3d`` class with added functionality.
|
||||
A ``Grid2d`` class was also added for additional flexibility.
|
||||
|
||||
The new functionality and commands using the two grid classes are
|
||||
discussed on the following documentation pages:
|
||||
|
||||
- :doc:`Howto_grid`
|
||||
- :doc:`Developer_grid`
|
||||
|
||||
If you have custom LAMMPS code, which uses the GridComm class, here are some notes
|
||||
on how to adapt it for using the Grid3d class.
|
||||
|
||||
(1) The constructor has changed to allow the ``Grid3d`` / ``Grid2d``
|
||||
classes to partition the global grid across processors, both for
|
||||
owned and ghost grid cells. Previously any class which called
|
||||
``GridComm`` performed the partitioning itself and that information
|
||||
was passed in the ``GridComm::GridComm()`` constructor. There are
|
||||
several "set" functions which can be called to alter how ``Grid3d``
|
||||
/ ``Grid2d`` perform the partitioning. They should be sufficient
|
||||
for most use cases of the grid classes.
|
||||
|
||||
(2) The partitioning is triggered by the ``setup_grid()`` method.
|
||||
|
||||
(3) The ``setup()`` method of the ``GridComm`` class has been replaced
|
||||
by the ``setup_comm()`` method in the new grid classes. The syntax
|
||||
for the ``forward_comm()`` and ``reverse_comm()`` methods is
|
||||
slightly altered as is the syntax of the associated pack/unpack
|
||||
callback methods. But the functionality of these operations is the
|
||||
same as before.
|
||||
|
||||
(4) The new ``Grid3d`` / ``Grid2d`` classes have additional
|
||||
functionality for dynamic load-balancing of grids and their
|
||||
associated data across processors. This did not exist in the
|
||||
``GridComm`` class.
|
||||
|
||||
This and more is explained in detail on the :doc:`Developer_grid` page.
|
||||
The following LAMMPS source files can be used as illustrative examples
|
||||
for how the new grid classes are used by computes, fixes, and various
|
||||
KSpace solvers which use distributed FFT grids:
|
||||
|
||||
- ``src/fix_ave_grid.cpp``
|
||||
- ``src/compute_property_grid.cpp``
|
||||
- ``src/EXTRA-FIX/fix_ttm_grid.cpp``
|
||||
- ``src/KSPACE/pppm.cpp``
|
||||
|
||||
This change is **required** or else the code will not compile.
|
||||
|
||||
@ -214,6 +214,9 @@ Argument processing
|
||||
.. doxygenfunction:: expand_args
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: parse_grid_id
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: expand_type
|
||||
:project: progguide
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -51,6 +51,7 @@ Analysis howto
|
||||
|
||||
Howto_output
|
||||
Howto_chunk
|
||||
Howto_grid
|
||||
Howto_temperature
|
||||
Howto_elastic
|
||||
Howto_kappa
|
||||
|
||||
102
doc/src/Howto_grid.rst
Normal file
102
doc/src/Howto_grid.rst
Normal file
@ -0,0 +1,102 @@
|
||||
Using distributed grids
|
||||
=======================
|
||||
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
LAMMPS has internal capabilities to create uniformly spaced grids
|
||||
which overlay the simulation domain. For 2d and 3d simulations these
|
||||
are 2d and 3d grids respectively. Conceptually a grid can be thought
|
||||
of as a collection of grid cells. Each grid cell can store one or
|
||||
more values (data).
|
||||
|
||||
The grid cells and data they store are distributed across processors.
|
||||
Each processor owns the grid cells (and data) whose center points lie
|
||||
within the spatial sub-domain of the processor. If needed for its
|
||||
computations, a processor may also store ghost grid cells with their
|
||||
data.
|
||||
|
||||
Distributed grids can overlay orthogonal or triclinic simulation
|
||||
boxes; see the :doc:`Howto triclinic <Howto_triclinic>` doc page for
|
||||
an explanation of the latter. For a triclinic box, the grid cell
|
||||
shape conforms to the shape of the simulation domain,
|
||||
e.g. parallelograms instead of rectangles in 2d.
|
||||
|
||||
If the box size or shape changes during a simulation, the grid changes
|
||||
with it, so that it always overlays the entire simulation domain. For
|
||||
non-periodic dimensions, the grid size in that dimension matches the
|
||||
box size, as set by the :doc:`boundary <boundary>` command for fixed
|
||||
or shrink-wrapped boundaries.
|
||||
|
||||
If load-balancing is invoked by the :doc:`balance <balance>` or
|
||||
:doc:`fix balance <fix_balance>` commands, then the sub-domain owned
|
||||
by a processor can change which may also change which grid cells they
|
||||
own.
|
||||
|
||||
Post-processing and visualization of grid cell data can be enabled by
|
||||
the :doc:`dump grid <dump>`, :doc:`dump grid/vtk <dump>`, and
|
||||
:doc:`dump image <dump_image>` commands. The latter has an optional
|
||||
*grid* keyword. The `OVITO visualization tool
|
||||
<https://www.ovito.org>`_ also plans (as of Nov 2022) to add support
|
||||
for visualizing grid cell data (along with atoms) using :doc:`dump
|
||||
grid <dump>` output files as input.
|
||||
|
||||
.. note::
|
||||
|
||||
For developers, distributed grids are implemented within the code via
|
||||
two classes: Grid2d and Grid3d. These partition the grid across
|
||||
processors and have methods which allow forward and reverse
|
||||
communication of ghost grid data as well as load balancing. If you
|
||||
write a new compute or fix which needs a distributed grid, these are
|
||||
the classes to look at. A new pair style could use a distributed
|
||||
grid by having a fix define it. Please see the section on
|
||||
:doc:`using distributed grids within style classes <Developer_grid>`
|
||||
for a detailed description.
|
||||
|
||||
----------
|
||||
|
||||
These are the commands which currently define or use distributed
|
||||
grids:
|
||||
|
||||
* :doc:`fix ttm/grid <fix_ttm>` - store electron temperature on grid
|
||||
* :doc:`fix ave/grid <fix_ave_grid>` - time average per-atom or per-grid values
|
||||
* :doc:`compute property/grid <compute_property_grid>` - generate grid IDs and coords
|
||||
* :doc:`dump grid <dump>` - output per-grid values in LAMMPS format
|
||||
* :doc:`dump grid/vtk <dump>` - output per-grid values in VTK format
|
||||
* :doc:`dump image grid <dump_image>` - include colored grid in output images
|
||||
* :doc:`pair_style amoeba <pair_amoeba>` - FFT grids
|
||||
* :doc:`kspace_style pppm <kspace_style>` (and variants) - FFT grids
|
||||
* :doc:`kspace_style msm <kspace_style>` (and variants) - MSM grids
|
||||
|
||||
The grids used by the :doc:`kspace_style <kspace_style>` can not be
|
||||
referenced by an input script. However the grids and data created and
|
||||
used by the other commands can be.
|
||||
|
||||
A compute or fix command may create one or more grids (of different
|
||||
sizes). Each grid can store one or more data fields. A data field
|
||||
can be a single value per grid point (per-grid vector) or multiple
|
||||
values per grid point (per-grid array). See the :doc:`Howto output
|
||||
<Howto_output>` doc page for an explanation of how per-grid data can
|
||||
be generated by some commands and used by other commands.
|
||||
|
||||
A command accesses grid data from a compute or fix using a *grid
|
||||
reference* with the following syntax:
|
||||
|
||||
* c_ID:gname:dname
|
||||
* c_ID:gname:dname[I]
|
||||
* f_ID:gname:dname
|
||||
* f_ID:gname:dname[I]
|
||||
|
||||
The prefix "c\_" or "f\_" refers to the ID of the compute or fix; gname is
|
||||
the name of the grid, which is assigned by the compute or fix; dname is
|
||||
the name of the data field, which is also assigned by the compute or
|
||||
fix.
|
||||
|
||||
If the data field is a per-grid vector (one value per grid point),
|
||||
then no brackets are used to access the values. If the data field is
|
||||
a per-grid array (multiple values per grid point), then brackets are
|
||||
used to specify the column I of the array. I ranges from 1 to Ncol
|
||||
inclusive, where Ncol is the number of columns in the array and is
|
||||
defined by the compute or fix.
|
||||
|
||||
Currently, there are no per-grid variables implemented in LAMMPS. We
|
||||
may add this feature at some point.
|
||||
@ -22,14 +22,17 @@ commands you specify.
|
||||
As discussed below, LAMMPS gives you a variety of ways to determine
|
||||
what quantities are computed and printed when the thermodynamics,
|
||||
dump, or fix commands listed above perform output. Throughout this
|
||||
discussion, note that users can also :doc:`add their own computes and fixes to LAMMPS <Modify>` which can then generate values that can then be
|
||||
output with these commands.
|
||||
discussion, note that users can also :doc:`add their own computes and
|
||||
fixes to LAMMPS <Modify>` which can then generate values that can then
|
||||
be output with these commands.
|
||||
|
||||
The following sub-sections discuss different LAMMPS command related
|
||||
The following sub-sections discuss different LAMMPS commands related
|
||||
to output and the kind of data they operate on and produce:
|
||||
|
||||
* :ref:`Global/per-atom/local data <global>`
|
||||
* :ref:`Global/per-atom/local/per-grid data <global>`
|
||||
* :ref:`Scalar/vector/array data <scalar>`
|
||||
* :ref:`Per-grid data <grid>`
|
||||
* :ref:`Disambiguation <disambiguation>`
|
||||
* :ref:`Thermodynamic output <thermo>`
|
||||
* :ref:`Dump file output <dump>`
|
||||
* :ref:`Fixes that write output files <fixoutput>`
|
||||
@ -42,27 +45,32 @@ to output and the kind of data they operate on and produce:
|
||||
|
||||
.. _global:
|
||||
|
||||
Global/per-atom/local data
|
||||
--------------------------
|
||||
Global/per-atom/local/per-grid data
|
||||
-----------------------------------
|
||||
|
||||
Various output-related commands work with three different styles of
|
||||
data: global, per-atom, or local. A global datum is one or more
|
||||
system-wide values, e.g. the temperature of the system. A per-atom
|
||||
datum is one or more values per atom, e.g. the kinetic energy of each
|
||||
atom. Local datums are calculated by each processor based on the
|
||||
atoms it owns, but there may be zero or more per atom, e.g. a list of
|
||||
bond distances.
|
||||
Various output-related commands work with four different styles of
|
||||
data: global, per-atom, local, and per-grid. A global datum is one or
|
||||
more system-wide values, e.g. the temperature of the system. A
|
||||
per-atom datum is one or more values per atom, e.g. the kinetic energy
|
||||
of each atom. Local datums are calculated by each processor based on
|
||||
the atoms it owns, but there may be zero or more per atom, e.g. a list
|
||||
of bond distances.
|
||||
|
||||
A per-grid datum is one or more values per grid cell, for a grid which
|
||||
overlays the simulation domain. The grid cells and the data they
|
||||
store are distributed across processors; each processor owns the grid
|
||||
cells whose center point falls within its sub-domain.
|
||||
|
||||
.. _scalar:
|
||||
|
||||
Scalar/vector/array data
|
||||
------------------------
|
||||
|
||||
Global, per-atom, and local datums can each come in three kinds: a
|
||||
single scalar value, a vector of values, or a 2d array of values. The
|
||||
doc page for a "compute" or "fix" or "variable" that generates data
|
||||
will specify both the style and kind of data it produces, e.g. a
|
||||
per-atom vector.
|
||||
Global, per-atom, and local datums can come in three kinds: a single
|
||||
scalar value, a vector of values, or a 2d array of values. The doc
|
||||
page for a "compute" or "fix" or "variable" that generates data will
|
||||
specify both the style and kind of data it produces, e.g. a per-atom
|
||||
vector.
|
||||
|
||||
When a quantity is accessed, as in many of the output commands
|
||||
discussed below, it can be referenced via the following bracket
|
||||
@ -83,6 +91,18 @@ the dimension twice (array -> scalar). Thus a command that uses
|
||||
scalar values as input can typically also process elements of a vector
|
||||
or array.
|
||||
|
||||
.. _grid:
|
||||
|
||||
Per-grid data
|
||||
------------------------
|
||||
|
||||
Per-grid data can come in two kinds: a vector of values (one per grid
|
||||
cekk), or a 2d array of values (multiple values per grid ckk). The
|
||||
doc page for a "compute" or "fix" that generates data will specify
|
||||
names for both the grid(s) and datum(s) it produces, e.g. per-grid
|
||||
vectors or arrays, which can be referenced by other commands. See the
|
||||
:doc:`Howto grid <Howto_grid>` doc page for more details.
|
||||
|
||||
.. _disambiguation:
|
||||
|
||||
Disambiguation
|
||||
@ -90,15 +110,15 @@ Disambiguation
|
||||
|
||||
Some computes and fixes produce data in multiple styles, e.g. a global
|
||||
scalar and a per-atom vector. Usually the context in which the input
|
||||
script references the data determines which style is meant. Example: if
|
||||
a compute provides both a global scalar and a per-atom vector, the
|
||||
script references the data determines which style is meant. Example:
|
||||
if a compute provides both a global scalar and a per-atom vector, the
|
||||
former will be accessed by using ``c_ID`` in an equal-style variable,
|
||||
while the latter will be accessed by using ``c_ID`` in an atom-style
|
||||
variable. Note that atom-style variable formulas can also access global
|
||||
scalars, but in this case it is not possible to do directly because of
|
||||
the ambiguity. Instead, an equal-style variable can be defined which
|
||||
accesses the global scalar, and that variable used in the atom-style
|
||||
variable formula in place of ``c_ID``.
|
||||
variable. Note that atom-style variable formulas can also access
|
||||
global scalars, but in this case it is not possible to do this
|
||||
directly because of the ambiguity. Instead, an equal-style variable
|
||||
can be defined which accesses the global scalar, and that variable can
|
||||
be used in the atom-style variable formula in place of ``c_ID``.
|
||||
|
||||
.. _thermo:
|
||||
|
||||
@ -107,15 +127,14 @@ Thermodynamic output
|
||||
|
||||
The frequency and format of thermodynamic output is set by the
|
||||
:doc:`thermo <thermo>`, :doc:`thermo_style <thermo_style>`, and
|
||||
:doc:`thermo_modify <thermo_modify>` commands. The
|
||||
:doc:`thermo_style <thermo_style>` command also specifies what values
|
||||
are calculated and written out. Pre-defined keywords can be specified
|
||||
(e.g. press, etotal, etc). Three additional kinds of keywords can
|
||||
also be specified (c_ID, f_ID, v_name), where a :doc:`compute <compute>`
|
||||
or :doc:`fix <fix>` or :doc:`variable <variable>` provides the value to be
|
||||
output. In each case, the compute, fix, or variable must generate
|
||||
global values for input to the :doc:`thermo_style custom <dump>`
|
||||
command.
|
||||
:doc:`thermo_modify <thermo_modify>` commands. The :doc:`thermo_style
|
||||
<thermo_style>` command also specifies what values are calculated and
|
||||
written out. Pre-defined keywords can be specified (e.g. press, etotal,
|
||||
etc). Three additional kinds of keywords can also be specified (c_ID,
|
||||
f_ID, v_name), where a :doc:`compute <compute>` or :doc:`fix <fix>` or
|
||||
:doc:`variable <variable>` provides the value to be output. In each
|
||||
case, the compute, fix, or variable must generate global values for
|
||||
input to the :doc:`thermo_style custom <dump>` command.
|
||||
|
||||
Note that thermodynamic output values can be "extensive" or
|
||||
"intensive". The former scale with the number of atoms in the system
|
||||
@ -141,9 +160,10 @@ There is also a :doc:`dump custom <dump>` format where the user
|
||||
specifies what values are output with each atom. Pre-defined atom
|
||||
attributes can be specified (id, x, fx, etc). Three additional kinds
|
||||
of keywords can also be specified (c_ID, f_ID, v_name), where a
|
||||
:doc:`compute <compute>` or :doc:`fix <fix>` or :doc:`variable <variable>`
|
||||
provides the values to be output. In each case, the compute, fix, or
|
||||
variable must generate per-atom values for input to the :doc:`dump custom <dump>` command.
|
||||
:doc:`compute <compute>` or :doc:`fix <fix>` or :doc:`variable
|
||||
<variable>` provides the values to be output. In each case, the
|
||||
compute, fix, or variable must generate per-atom values for input to
|
||||
the :doc:`dump custom <dump>` command.
|
||||
|
||||
There is also a :doc:`dump local <dump>` format where the user specifies
|
||||
what local values to output. A pre-defined index keyword can be
|
||||
@ -154,18 +174,23 @@ provides the values to be output. In each case, the compute or fix
|
||||
must generate local values for input to the :doc:`dump local <dump>`
|
||||
command.
|
||||
|
||||
There is also a :doc:`dump grid <dump>` format where the user
|
||||
specifies what per-grid values to output from computes or fixes that
|
||||
generate per-grid data.
|
||||
|
||||
.. _fixoutput:
|
||||
|
||||
Fixes that write output files
|
||||
-----------------------------
|
||||
|
||||
Several fixes take various quantities as input and can write output
|
||||
files: :doc:`fix ave/time <fix_ave_time>`, :doc:`fix ave/chunk <fix_ave_chunk>`, :doc:`fix ave/histo <fix_ave_histo>`,
|
||||
:doc:`fix ave/correlate <fix_ave_correlate>`, and :doc:`fix print <fix_print>`.
|
||||
files: :doc:`fix ave/time <fix_ave_time>`, :doc:`fix ave/chunk
|
||||
<fix_ave_chunk>`, :doc:`fix ave/histo <fix_ave_histo>`, :doc:`fix
|
||||
ave/correlate <fix_ave_correlate>`, and :doc:`fix print <fix_print>`.
|
||||
|
||||
The :doc:`fix ave/time <fix_ave_time>` command enables direct output to
|
||||
a file and/or time-averaging of global scalars or vectors. The user
|
||||
specifies one or more quantities as input. These can be global
|
||||
The :doc:`fix ave/time <fix_ave_time>` command enables direct output
|
||||
to a file and/or time-averaging of global scalars or vectors. The
|
||||
user specifies one or more quantities as input. These can be global
|
||||
:doc:`compute <compute>` values, global :doc:`fix <fix>` values, or
|
||||
:doc:`variables <variable>` of any style except the atom style which
|
||||
produces per-atom values. Since a variable can refer to keywords used
|
||||
@ -184,8 +209,14 @@ atoms, e.g. individual molecules. The per-atom quantities can be atom
|
||||
density (mass or number) or atom attributes such as position,
|
||||
velocity, force. They can also be per-atom quantities calculated by a
|
||||
:doc:`compute <compute>`, by a :doc:`fix <fix>`, or by an atom-style
|
||||
:doc:`variable <variable>`. The chunk-averaged output of this fix can
|
||||
also be used as input to other output commands.
|
||||
:doc:`variable <variable>`. The chunk-averaged output of this fix is
|
||||
global and can also be used as input to other output commands.
|
||||
|
||||
Note that the :doc:`fix ave/grid <fix_ave_grid>` command can also
|
||||
average the same per-atom quantities within spatial bins, but it does
|
||||
this for a distributed grid whose grid cells are owned by different
|
||||
processors. It outputs per-grid data, not global data, so it is more
|
||||
efficient for large numbers of averaging bins.
|
||||
|
||||
The :doc:`fix ave/histo <fix_ave_histo>` command enables direct output
|
||||
to a file of histogrammed quantities, which can be global or per-atom
|
||||
@ -202,38 +233,53 @@ written to the screen and log file or to a separate file, periodically
|
||||
during a running simulation. The line can contain one or more
|
||||
:doc:`variable <variable>` values for any style variable except the
|
||||
vector or atom styles). As explained above, variables themselves can
|
||||
contain references to global values generated by :doc:`thermodynamic keywords <thermo_style>`, :doc:`computes <compute>`,
|
||||
:doc:`fixes <fix>`, or other :doc:`variables <variable>`, or to per-atom
|
||||
values for a specific atom. Thus the :doc:`fix print <fix_print>`
|
||||
command is a means to output a wide variety of quantities separate
|
||||
from normal thermodynamic or dump file output.
|
||||
contain references to global values generated by :doc:`thermodynamic
|
||||
keywords <thermo_style>`, :doc:`computes <compute>`, :doc:`fixes
|
||||
<fix>`, or other :doc:`variables <variable>`, or to per-atom values
|
||||
for a specific atom. Thus the :doc:`fix print <fix_print>` command is
|
||||
a means to output a wide variety of quantities separate from normal
|
||||
thermodynamic or dump file output.
|
||||
|
||||
.. _computeoutput:
|
||||
|
||||
Computes that process output quantities
|
||||
---------------------------------------
|
||||
|
||||
The :doc:`compute reduce <compute_reduce>` and :doc:`compute reduce/region <compute_reduce>` commands take one or more per-atom
|
||||
or local vector quantities as inputs and "reduce" them (sum, min, max,
|
||||
The :doc:`compute reduce <compute_reduce>` and :doc:`compute
|
||||
reduce/region <compute_reduce>` commands take one or more per-atom or
|
||||
local vector quantities as inputs and "reduce" them (sum, min, max,
|
||||
ave) to scalar quantities. These are produced as output values which
|
||||
can be used as input to other output commands.
|
||||
|
||||
The :doc:`compute slice <compute_slice>` command take one or more global
|
||||
vector or array quantities as inputs and extracts a subset of their
|
||||
values to create a new vector or array. These are produced as output
|
||||
values which can be used as input to other output commands.
|
||||
The :doc:`compute slice <compute_slice>` command take one or more
|
||||
global vector or array quantities as inputs and extracts a subset of
|
||||
their values to create a new vector or array. These are produced as
|
||||
output values which can be used as input to other output commands.
|
||||
|
||||
The :doc:`compute property/atom <compute_property_atom>` command takes a
|
||||
list of one or more pre-defined atom attributes (id, x, fx, etc) and
|
||||
The :doc:`compute property/atom <compute_property_atom>` command takes
|
||||
a list of one or more pre-defined atom attributes (id, x, fx, etc) and
|
||||
stores the values in a per-atom vector or array. These are produced
|
||||
as output values which can be used as input to other output commands.
|
||||
The list of atom attributes is the same as for the :doc:`dump custom <dump>` command.
|
||||
The list of atom attributes is the same as for the :doc:`dump custom
|
||||
<dump>` command.
|
||||
|
||||
The :doc:`compute property/local <compute_property_local>` command takes
|
||||
a list of one or more pre-defined local attributes (bond info, angle
|
||||
info, etc) and stores the values in a local vector or array. These
|
||||
are produced as output values which can be used as input to other
|
||||
output commands.
|
||||
The :doc:`compute property/local <compute_property_local>` command
|
||||
takes a list of one or more pre-defined local attributes (bond info,
|
||||
angle info, etc) and stores the values in a local vector or array.
|
||||
These are produced as output values which can be used as input to
|
||||
other output commands.
|
||||
|
||||
The :doc:`compute property/grid <compute_property_grid>` command takes
|
||||
a list of one or more pre-defined per-grid attributes (id, grid cell
|
||||
coords, etc) and stores the values in a per-grid vector or array.
|
||||
These are produced as output values which can be used as input to the
|
||||
:doc:`dump grid <dump>` command.
|
||||
|
||||
The :doc:`compute property/chunk <compute_property_chunk>` command
|
||||
takes a list of one or more pre-defined chunk attributes (id, count,
|
||||
coords for spatial bins) and stores the values in a global vector or
|
||||
array. These are produced as output values which can be used as input
|
||||
to other output commands.
|
||||
|
||||
.. _fixprocoutput:
|
||||
|
||||
@ -247,18 +293,42 @@ a time.
|
||||
The :doc:`fix ave/atom <fix_ave_atom>` command performs time-averaging
|
||||
of per-atom vectors. The per-atom quantities can be atom attributes
|
||||
such as position, velocity, force. They can also be per-atom
|
||||
quantities calculated by a :doc:`compute <compute>`, by a
|
||||
:doc:`fix <fix>`, or by an atom-style :doc:`variable <variable>`. The
|
||||
quantities calculated by a :doc:`compute <compute>`, by a :doc:`fix
|
||||
<fix>`, or by an atom-style :doc:`variable <variable>`. The
|
||||
time-averaged per-atom output of this fix can be used as input to
|
||||
other output commands.
|
||||
|
||||
The :doc:`fix store/state <fix_store_state>` command can archive one or
|
||||
more per-atom attributes at a particular time, so that the old values
|
||||
can be used in a future calculation or output. The list of atom
|
||||
attributes is the same as for the :doc:`dump custom <dump>` command,
|
||||
including per-atom quantities calculated by a :doc:`compute <compute>`,
|
||||
by a :doc:`fix <fix>`, or by an atom-style :doc:`variable <variable>`.
|
||||
The output of this fix can be used as input to other output commands.
|
||||
The :doc:`fix store/state <fix_store_state>` command can archive one
|
||||
or more per-atom attributes at a particular time, so that the old
|
||||
values can be used in a future calculation or output. The list of
|
||||
atom attributes is the same as for the :doc:`dump custom <dump>`
|
||||
command, including per-atom quantities calculated by a :doc:`compute
|
||||
<compute>`, by a :doc:`fix <fix>`, or by an atom-style :doc:`variable
|
||||
<variable>`. The output of this fix can be used as input to other
|
||||
output commands.
|
||||
|
||||
The :doc:`fix ave/grid <fix_ave_grid>` command performs time-averaging
|
||||
of either per-atom or per-grid data.
|
||||
|
||||
For per-atom data it performs averaging for the atoms within each grid
|
||||
cell, similar to the :doc:`fix ave/chunk <fix_ave_chunk>` command when
|
||||
its chunks are defined as regular 2d or 3d bins. The per-atom
|
||||
quantities can be atom density (mass or number) or atom attributes
|
||||
such as position, velocity, force. They can also be per-atom
|
||||
quantities calculated by a :doc:`compute <compute>`, by a :doc:`fix
|
||||
<fix>`, or by an atom-style :doc:`variable <variable>`.
|
||||
|
||||
The chief difference between the :doc:`fix ave/grid <fix_ave_grid>`
|
||||
and :doc:`fix ave/chunk <fix_ave_chunk>` commands when used in this
|
||||
context is that the former uses a distributed grid, while the latter
|
||||
uses a global grid. Distributed means that each processor owns the
|
||||
subset of grid cells within its sub-domain. Global means that each
|
||||
processor owns a copy of the entire grid. The :doc:`fix ave/grid
|
||||
<fix_ave_grid>` command is thus more efficient for large grids.
|
||||
|
||||
For per-grid data, the :doc:`fix ave/grid <fix_ave_grid>` command
|
||||
takes inputs for grid data produced by other computes or fixes and
|
||||
averages the values for each grid point over time.
|
||||
|
||||
.. _compute:
|
||||
|
||||
@ -266,24 +336,25 @@ Computes that generate values to output
|
||||
---------------------------------------
|
||||
|
||||
Every :doc:`compute <compute>` in LAMMPS produces either global or
|
||||
per-atom or local values. The values can be scalars or vectors or
|
||||
arrays of data. These values can be output using the other commands
|
||||
described in this section. The page for each compute command
|
||||
per-atom or local or per-grid values. The values can be scalars or
|
||||
vectors or arrays of data. These values can be output using the other
|
||||
commands described in this section. The page for each compute command
|
||||
describes what it produces. Computes that produce per-atom or local
|
||||
values have the word "atom" or "local" in their style name. Computes
|
||||
without the word "atom" or "local" produce global values.
|
||||
or per-grid values have the word "atom" or "local" or "grid as the
|
||||
last word in their style name. Computes without the word "atom" or
|
||||
"local" or "grid" produce global values.
|
||||
|
||||
.. _fix:
|
||||
|
||||
Fixes that generate values to output
|
||||
------------------------------------
|
||||
|
||||
Some :doc:`fixes <fix>` in LAMMPS produces either global or per-atom or
|
||||
local values which can be accessed by other commands. The values can
|
||||
be scalars or vectors or arrays of data. These values can be output
|
||||
using the other commands described in this section. The page for
|
||||
each fix command tells whether it produces any output quantities and
|
||||
describes them.
|
||||
Some :doc:`fixes <fix>` in LAMMPS produces either global or per-atom
|
||||
or local or per-grid values which can be accessed by other commands.
|
||||
The values can be scalars or vectors or arrays of data. These values
|
||||
can be output using the other commands described in this section. The
|
||||
page for each fix command tells whether it produces any output
|
||||
quantities and describes them.
|
||||
|
||||
.. _variable:
|
||||
|
||||
@ -300,6 +371,8 @@ computes, fixes, and other variables. The values generated by
|
||||
variables can be used as input to and thus output by the other
|
||||
commands described in this section.
|
||||
|
||||
Per-grid variables have not (yet) been implemented.
|
||||
|
||||
.. _table:
|
||||
|
||||
Summary table of output options and data flow between commands
|
||||
@ -319,44 +392,52 @@ Also note that, as described above, when a command takes a scalar as
|
||||
input, that could be an element of a vector or array. Likewise a
|
||||
vector input could be a column of an array.
|
||||
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| Command | Input | Output |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`thermo_style custom <thermo_style>` | global scalars | screen, log file |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`dump custom <dump>` | per-atom vectors | dump file |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`dump local <dump>` | local vectors | dump file |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`dump grid <dump>` | per-grid vectors | dump file |
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix print <fix_print>` | global scalar from variable | screen, file |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`print <print>` | global scalar from variable | screen |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
| :doc:`computes <compute>` | N/A | global/per-atom/local scalar/vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
| :doc:`fixes <fix>` | N/A | global/per-atom/local scalar/vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`computes <compute>` | N/A | global/per-atom/local/per-grid scalar/vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fixes <fix>` | N/A | global/per-atom/local/per-grid scalar/vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`variables <variable>` | global scalars and vectors, per-atom vectors | global scalar and vector, per-atom vector |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`compute reduce <compute_reduce>` | per-atom/local vectors | global scalar/vector |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`compute slice <compute_slice>` | global vectors/arrays | global vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
| :doc:`compute property/atom <compute_property_atom>` | per-atom vectors | per-atom vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
| :doc:`compute property/local <compute_property_local>` | local vectors | local vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`compute property/atom <compute_property_atom>` | N/A | per-atom vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`compute property/local <compute_property_local>` | N/A | local vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`compute property/grid <compute_property_grid>` | N/A | per-grid vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`compute property/chunk <compute_property_chunk>` | N/A | global vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix vector <fix_vector>` | global scalars | global vector |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix ave/atom <fix_ave_atom>` | per-atom vectors | per-atom vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix ave/time <fix_ave_time>` | global scalars/vectors | global scalar/vector/array, file |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix ave/chunk <fix_ave_chunk>` | per-atom vectors | global array, file |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix ave/grid <fix_ave_grid>` | per-atom vectors or per-grid vectors | per-grid vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix ave/histo <fix_ave_histo>` | global/per-atom/local scalars and vectors | global array, file |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix ave/correlate <fix_ave_correlate>` | global scalars | global array, file |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
| :doc:`fix store/state <fix_store_state>` | per-atom vectors | per-atom vector/array |
|
||||
+--------------------------------------------------------+----------------------------------------------+-------------------------------------------+
|
||||
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+
|
||||
|
||||
@ -7,6 +7,7 @@ functions. They do not directly call the LAMMPS library.
|
||||
- :cpp:func:`lammps_encode_image_flags`
|
||||
- :cpp:func:`lammps_decode_image_flags`
|
||||
- :cpp:func:`lammps_set_fix_external_callback`
|
||||
- :cpp:func:`lammps_fix_external_get_force`
|
||||
- :cpp:func:`lammps_fix_external_set_energy_global`
|
||||
- :cpp:func:`lammps_fix_external_set_energy_peratom`
|
||||
- :cpp:func:`lammps_fix_external_set_virial_global`
|
||||
@ -44,6 +45,11 @@ where such memory buffers were allocated that require the use of
|
||||
|
||||
-----------------------
|
||||
|
||||
.. doxygenfunction:: lammps_fix_external_get_force
|
||||
:project: progguide
|
||||
|
||||
-----------------------
|
||||
|
||||
.. doxygenfunction:: lammps_fix_external_set_energy_global
|
||||
:project: progguide
|
||||
|
||||
|
||||
@ -1816,7 +1816,7 @@ fitting the potentials natively in LAMMPS.
|
||||
|
||||
Ngoc Cuong Nguyen (MIT), Andrew Rohskopf (Sandia)
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
**Install:**
|
||||
|
||||
|
||||
@ -444,7 +444,7 @@ the LAMMPS simulation domain.
|
||||
|
||||
.. _restart2data:
|
||||
|
||||
**-restart2data restartfile [remap] datafile keyword value ...**
|
||||
**-restart2data restartfile datafile keyword value ...**
|
||||
|
||||
Convert the restart file into a data file and immediately exit. This
|
||||
is the same operation as if the following 2-line input script were
|
||||
@ -452,7 +452,7 @@ run:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
read_restart restartfile [remap]
|
||||
read_restart restartfile
|
||||
write_data datafile keyword value ...
|
||||
|
||||
The specified restartfile and/or datafile name may contain the wild-card
|
||||
@ -464,28 +464,21 @@ Note that a filename such as file.\* may need to be enclosed in quotes or
|
||||
the "\*" character prefixed with a backslash ("\") to avoid shell
|
||||
expansion of the "\*" character.
|
||||
|
||||
Following restartfile argument, the optional word "remap" may be used.
|
||||
This has the same effect like adding it to a
|
||||
:doc:`read_restart <read_restart>` command, and operates as explained on
|
||||
its doc page. This is useful if reading the restart file triggers an
|
||||
error that atoms have been lost. In that case, use of the remap flag
|
||||
should allow the data file to still be produced.
|
||||
|
||||
The syntax following restartfile (or remap), namely
|
||||
The syntax following restartfile, namely
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
datafile keyword value ...
|
||||
|
||||
is identical to the arguments of the :doc:`write_data <write_data>`
|
||||
command. See its page for details. This includes its
|
||||
command. See its documentation page for details. This includes its
|
||||
optional keyword/value settings.
|
||||
|
||||
----------
|
||||
|
||||
.. _restart2dump:
|
||||
|
||||
**-restart2dump restartfile [remap] group-ID dumpstyle dumpfile arg1 arg2 ...**
|
||||
**-restart2dump restartfile group-ID dumpstyle dumpfile arg1 arg2 ...**
|
||||
|
||||
Convert the restart file into a dump file and immediately exit. This
|
||||
is the same operation as if the following 2-line input script were
|
||||
@ -493,7 +486,7 @@ run:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
read_restart restartfile [remap]
|
||||
read_restart restartfile
|
||||
write_dump group-ID dumpstyle dumpfile arg1 arg2 ...
|
||||
|
||||
Note that the specified restartfile and dumpfile names may contain
|
||||
@ -505,24 +498,17 @@ such as file.\* may need to be enclosed in quotes or the "\*" character
|
||||
prefixed with a backslash ("\") to avoid shell expansion of the "\*"
|
||||
character.
|
||||
|
||||
Note that following the restartfile argument, the optional word "remap"
|
||||
can be used. This has the effect as adding it to the
|
||||
:doc:`read_restart <read_restart>` command, as explained on its doc page.
|
||||
This is useful if reading the restart file triggers an error that atoms
|
||||
have been lost. In that case, use of the remap flag should allow the
|
||||
dump file to still be produced.
|
||||
|
||||
The syntax following restartfile (or remap), namely
|
||||
The syntax following restartfile, namely
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
group-ID dumpstyle dumpfile arg1 arg2 ...
|
||||
|
||||
is identical to the arguments of the :doc:`write_dump <write_dump>`
|
||||
command. See its page for details. This includes what per-atom
|
||||
fields are written to the dump file and optional dump_modify settings,
|
||||
including ones that affect how parallel dump files are written, e.g.
|
||||
the *nfile* and *fileper* keywords. See the
|
||||
command. See its documentation page for details. This includes what
|
||||
per-atom fields are written to the dump file and optional dump_modify
|
||||
settings, including ones that affect how parallel dump files are written,
|
||||
e.g. the *nfile* and *fileper* keywords. See the
|
||||
:doc:`dump_modify <dump_modify>` page for details.
|
||||
|
||||
----------
|
||||
|
||||
@ -212,14 +212,15 @@ threads/task as Nt. The product of these two values should be N, i.e.
|
||||
.. note::
|
||||
|
||||
The default for the :doc:`package kokkos <package>` command when
|
||||
running on KNL is to use "half" neighbor lists and set the Newton flag
|
||||
to "on" for both pairwise and bonded interactions. This will typically
|
||||
be best for many-body potentials. For simpler pairwise potentials, it
|
||||
may be faster to use a "full" neighbor list with Newton flag to "off".
|
||||
Use the "-pk kokkos" :doc:`command-line switch <Run_options>` to change
|
||||
the default :doc:`package kokkos <package>` options. See its page for
|
||||
details and default settings. Experimenting with its options can provide
|
||||
a speed-up for specific calculations. For example:
|
||||
running on KNL is to use "half" neighbor lists and set the Newton
|
||||
flag to "on" for both pairwise and bonded interactions. This will
|
||||
typically be best for many-body potentials. For simpler pairwise
|
||||
potentials, it may be faster to use a "full" neighbor list with
|
||||
Newton flag to "off". Use the "-pk kokkos" :doc:`command-line switch
|
||||
<Run_options>` to change the default :doc:`package kokkos <package>`
|
||||
options. See its documentation page for details and default
|
||||
settings. Experimenting with its options can provide a speed-up for
|
||||
specific calculations. For example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@ -271,17 +272,18 @@ one or more nodes, each with two GPUs:
|
||||
.. note::
|
||||
|
||||
The default for the :doc:`package kokkos <package>` command when
|
||||
running on GPUs is to use "full" neighbor lists and set the Newton flag
|
||||
to "off" for both pairwise and bonded interactions, along with threaded
|
||||
communication. When running on Maxwell or Kepler GPUs, this will
|
||||
typically be best. For Pascal GPUs and beyond, using "half" neighbor lists and
|
||||
setting the Newton flag to "on" may be faster. For many pair styles,
|
||||
setting the neighbor binsize equal to twice the CPU default value will
|
||||
give speedup, which is the default when running on GPUs. Use the "-pk
|
||||
kokkos" :doc:`command-line switch <Run_options>` to change the default
|
||||
:doc:`package kokkos <package>` options. See its page for details and
|
||||
default settings. Experimenting with its options can provide a speed-up
|
||||
for specific calculations. For example:
|
||||
running on GPUs is to use "full" neighbor lists and set the Newton
|
||||
flag to "off" for both pairwise and bonded interactions, along with
|
||||
threaded communication. When running on Maxwell or Kepler GPUs, this
|
||||
will typically be best. For Pascal GPUs and beyond, using "half"
|
||||
neighbor lists and setting the Newton flag to "on" may be faster. For
|
||||
many pair styles, setting the neighbor binsize equal to twice the CPU
|
||||
default value will give speedup, which is the default when running on
|
||||
GPUs. Use the "-pk kokkos" :doc:`command-line switch <Run_options>`
|
||||
to change the default :doc:`package kokkos <package>` options. See
|
||||
its documentation page for details and default
|
||||
settings. Experimenting with its options can provide a speed-up for
|
||||
specific calculations. For example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
||||
@ -1164,7 +1164,7 @@ For illustration purposes below is a part of the Tcl example script.
|
||||
tabulate tool
|
||||
--------------
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
The ``tabulate`` folder contains Python scripts scripts to generate tabulated
|
||||
potential files for LAMMPS. The bulk of the code is in the ``tabulate`` module
|
||||
|
||||
@ -43,29 +43,38 @@ underscores.
|
||||
|
||||
----------
|
||||
|
||||
Computes calculate one of three styles of quantities: global,
|
||||
per-atom, or local. A global quantity is one or more system-wide
|
||||
values (e.g., the temperature of the system). A per-atom quantity is
|
||||
one or more values per atom (e.g., the kinetic energy of each atom).
|
||||
Per-atom values are set to 0.0 for atoms not in the specified compute
|
||||
group. Local quantities are calculated by each processor based on the
|
||||
atoms it owns, but there may be zero or more per atom (e.g., a list of
|
||||
bond distances). Computes that produce per-atom quantities have the
|
||||
word "atom" in their style (e.g., *ke/atom*\ ). Computes that produce
|
||||
local quantities have the word "local" in their style
|
||||
(e.g., *bond/local*\ ). Styles with neither "atom" or "local" in their
|
||||
style produce global quantities.
|
||||
Computes calculate one or more of four styles of quantities: global,
|
||||
per-atom, local, or per-atom. A global quantity is one or more
|
||||
system-wide values, e.g. the temperature of the system. A per-atom
|
||||
quantity is one or more values per atom, e.g. the kinetic energy of
|
||||
each atom. Per-atom values are set to 0.0 for atoms not in the
|
||||
specified compute group. Local quantities are calculated by each
|
||||
processor based on the atoms it owns, but there may be zero or more
|
||||
per atom, e.g. a list of bond distances. Per-grid quantities are
|
||||
calculated on a regular 2d or 3d grid which overlays a 2d or 3d
|
||||
simulation domain. The grid points and the data they store are
|
||||
distributed across processors; each processor owns the grid points
|
||||
which fall within its sub-domain.
|
||||
|
||||
Note that a single compute can produce either global or per-atom or
|
||||
local quantities, but not both global and per-atom. It can produce
|
||||
local quantities in tandem with global or per-atom quantities. The
|
||||
compute page will explain.
|
||||
Computes that produce per-atom quantities have the word "atom" at the
|
||||
end of their style, e.g. *ke/atom*\ . Computes that produce local
|
||||
quantities have the word "local" at the end of their style,
|
||||
e.g. *bond/local*\ . Computes that produce per-grid quantities have
|
||||
the word "grid" at the end of their style, e.g. *property/grid*\ .
|
||||
Styles with neither "atom" or "local" or "grid" at the end of their
|
||||
style name produce global quantities.
|
||||
|
||||
Global, per-atom, and local quantities each come in three kinds: a
|
||||
single scalar value, a vector of values, or a 2d array of values. The
|
||||
doc page for each compute describes the style and kind of values it
|
||||
produces (e.g., a per-atom vector). Some computes produce more than one
|
||||
kind of a single style (e.g., a global scalar and a global vector).
|
||||
Note that a single compute typically produces either global or
|
||||
per-atom or local or per-grid values. It does not compute both global
|
||||
and per-atom values. It can produce local values or per-grid values
|
||||
in tandem with global or per-atom quantities. The compute doc page
|
||||
will explain the details.
|
||||
|
||||
Global, per-atom, local, and per-grid quantities come in three kinds:
|
||||
a single scalar value, a vector of values, or a 2d array of values.
|
||||
The doc page for each compute describes the style and kind of values
|
||||
it produces, e.g. a per-atom vector. Some computes produce more than
|
||||
one kind of a single style, e.g. a global scalar and a global vector.
|
||||
|
||||
When a compute quantity is accessed, as in many of the output commands
|
||||
discussed below, it can be referenced via the following bracket
|
||||
@ -252,6 +261,7 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
|
||||
* :doc:`pressure/uef <compute_pressure_uef>` - pressure tensor in the reference frame of an applied flow field
|
||||
* :doc:`property/atom <compute_property_atom>` - convert atom attributes to per-atom vectors/arrays
|
||||
* :doc:`property/chunk <compute_property_chunk>` - extract various per-chunk attributes
|
||||
* :doc:`property/grid <compute_property_grid>` - convert per-grid attributes to per-grid vectors/arrays
|
||||
* :doc:`property/local <compute_property_local>` - convert local attributes to local vectors/arrays
|
||||
* :doc:`ptm/atom <compute_ptm_atom>` - determines the local lattice structure based on the Polyhedral Template Matching method
|
||||
* :doc:`rdf <compute_rdf>` - radial distribution function :math:`g(r)` histogram of group of atoms
|
||||
|
||||
@ -37,27 +37,29 @@ Description
|
||||
Modify one or more parameters of a previously defined compute. Not
|
||||
all compute styles support all parameters.
|
||||
|
||||
The *extra/dof* or *extra* keyword refers to how many degrees of freedom are
|
||||
subtracted (typically from :math:`3N`) as a normalizing
|
||||
The *extra/dof* or *extra* keyword refers to how many degrees of
|
||||
freedom are subtracted (typically from :math:`3N`) as a normalizing
|
||||
factor in a temperature computation. Only computes that compute a
|
||||
temperature use this option. The default is 2 or 3 for
|
||||
:doc:`2d or 3d systems <dimension>`, which is a correction factor for an
|
||||
ensemble of velocities with zero total linear momentum. For compute
|
||||
temp/partial, if one or more velocity components are excluded, the
|
||||
value used for *extra* is scaled accordingly. You can use a negative
|
||||
number for the *extra* parameter if you need to add
|
||||
degrees-of-freedom. See the :doc:`compute temp/asphere <compute_temp_asphere>` command for an example.
|
||||
temperature use this option. The default is 2 or 3 for :doc:`2d or 3d
|
||||
systems <dimension>` which is a correction factor for an ensemble of
|
||||
velocities with zero total linear momentum. For compute temp/partial,
|
||||
if one or more velocity components are excluded, the value used for
|
||||
*extra* is scaled accordingly. You can use a negative number for the
|
||||
*extra* parameter if you need to add degrees-of-freedom. See the
|
||||
:doc:`compute temp/asphere <compute_temp_asphere>` command for an
|
||||
example.
|
||||
|
||||
The *dynamic/dof* or *dynamic* keyword determines whether the number
|
||||
of atoms :math:`N` in the compute group and their associated degrees of
|
||||
freedom (DOF) are re-computed each time a temperature is computed. Only
|
||||
compute styles that calculate a temperature use this option. By
|
||||
default, :math:`N` and their DOF are assumed to be constant. If you are
|
||||
adding atoms or molecules to the system (see the :doc:`fix pour <fix_pour>`,
|
||||
:doc:`fix deposit <fix_deposit>`, and :doc:`fix gcmc <fix_gcmc>` commands) or
|
||||
expect atoms or molecules to be lost (e.g., due to exiting the simulation box
|
||||
or via :doc:`fix evaporate <fix_evaporate>`), then this option should be used
|
||||
to ensure the temperature is correctly normalized.
|
||||
of atoms :math:`N` in the compute group and their associated degrees
|
||||
of freedom (DOF) are re-computed each time a temperature is computed.
|
||||
Only compute styles that calculate a temperature use this option. By
|
||||
default, :math:`N` and their DOF are assumed to be constant. If you
|
||||
are adding atoms or molecules to the system (see the :doc:`fix pour
|
||||
<fix_pour>`, :doc:`fix deposit <fix_deposit>`, and :doc:`fix gcmc
|
||||
<fix_gcmc>` commands) or expect atoms or molecules to be lost
|
||||
(e.g. due to exiting the simulation box or via :doc:`fix evaporate
|
||||
<fix_evaporate>`), then this option should be used to insure the
|
||||
temperature is correctly normalized.
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@ -12,7 +12,8 @@ Syntax
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* property/chunk = style name of this compute command
|
||||
* input = one or more attributes
|
||||
* chunkID = ID of :doc:`compute chunk/atom <compute_chunk_atom>` command that defines the chunks
|
||||
* input1,etc = one or more attributes
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -26,8 +27,8 @@ Examples
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 1 all property/chunk count
|
||||
compute 1 all property/chunk ID coord1
|
||||
compute 1 all property/chunk bin2d id count
|
||||
compute 1 all property/chunk myChunks id coord1
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
@ -35,29 +36,28 @@ Description
|
||||
Define a computation that stores the specified attributes of chunks of
|
||||
atoms.
|
||||
|
||||
In LAMMPS, chunks are collections of atoms defined by a
|
||||
:doc:`compute chunk/atom <compute_chunk_atom>` command, which assigns each atom
|
||||
to a single chunk (or no chunk). The ID for this command is specified
|
||||
as chunkID. For example, a single chunk could be the atoms in a molecule or
|
||||
atoms in a spatial bin. See the :doc:`compute chunk/atom <compute_chunk_atom>`
|
||||
and :doc:`Howto chunk <Howto_chunk>` doc pages for details of how chunks can be
|
||||
defined and examples of how they can be used to measure properties of a system.
|
||||
In LAMMPS, chunks are collections of atoms defined by a :doc:`compute
|
||||
chunk/atom <compute_chunk_atom>` command, which assigns each atom to a
|
||||
single chunk (or no chunk). The ID for this command is specified as
|
||||
chunkID. For example, a single chunk could be the atoms in a molecule
|
||||
or atoms in a spatial bin. See the :doc:`compute chunk/atom
|
||||
<compute_chunk_atom>` and :doc:`Howto chunk <Howto_chunk>` doc pages
|
||||
for details of how chunks can be defined and examples of how they can
|
||||
be used to measure properties of a system.
|
||||
|
||||
This compute calculates and stores the specified attributes of chunks
|
||||
as global data so they can be accessed by other
|
||||
:doc:`output commands <Howto_output>` and used in conjunction with other
|
||||
commands that generate per-chunk data, such as
|
||||
:doc:`compute com/chunk <compute_com_chunk>` or
|
||||
:doc:`compute msd/chunk <compute_msd_chunk>`.
|
||||
as global data so they can be accessed by other :doc:`output commands
|
||||
<Howto_output>` and used in conjunction with other commands that
|
||||
generate per-chunk data, such as :doc:`compute com/chunk
|
||||
<compute_com_chunk>` or :doc:`compute msd/chunk <compute_msd_chunk>`.
|
||||
|
||||
Note that only atoms in the specified group contribute to the
|
||||
calculation of the *count* attribute. The
|
||||
:doc:`compute chunk/atom <compute_chunk_atom>` command defines its own group;
|
||||
atoms will have a chunk ID = 0 if they are not in that group,
|
||||
signifying they are not assigned to a chunk, and will thus also not
|
||||
contribute to this calculation. You can specify the "all" group for
|
||||
this command if you simply want to include atoms with non-zero chunk
|
||||
IDs.
|
||||
calculation of the *count* attribute. The :doc:`compute chunk/atom
|
||||
<compute_chunk_atom>` command defines its own group; atoms will have a
|
||||
chunk ID = 0 if they are not in that group, signifying they are not
|
||||
assigned to a chunk, and will thus also not contribute to this
|
||||
calculation. You can specify the "all" group for this command if you
|
||||
simply want to include atoms with non-zero chunk IDs.
|
||||
|
||||
The *count* attribute is the number of atoms in the chunk.
|
||||
|
||||
@ -66,21 +66,24 @@ can only be used if the *compress* keyword was set to *yes* for the
|
||||
:doc:`compute chunk/atom <compute_chunk_atom>` command referenced by
|
||||
chunkID. This means that the original chunk IDs (e.g., molecule IDs)
|
||||
will have been compressed to remove chunk IDs with no atoms assigned
|
||||
to them. Thus a compressed chunk ID of 3 may correspond to an original
|
||||
chunk ID (molecule ID in this case) of 415. The *id* attribute will
|
||||
then be 415 for the third chunk.
|
||||
to them. Thus a compressed chunk ID of 3 may correspond to an
|
||||
original chunk ID (molecule ID in this case) of 415. The *id*
|
||||
attribute will then be 415 for the third chunk.
|
||||
|
||||
The *coordN* attributes can only be used if a *binning* style was used
|
||||
in the :doc:`compute chunk/atom <compute_chunk_atom>` command referenced
|
||||
by chunkID. For *bin/1d*, *bin/2d*, and *bin/3d* styles the attribute
|
||||
is the center point of the bin in the corresponding dimension. Style
|
||||
*bin/1d* only defines a *coord1* attribute. Style *bin/2d* adds a
|
||||
*coord2* attribute. Style *bin/3d* adds a *coord3* attribute.
|
||||
|
||||
Note that if the value of the *units* keyword used in the :doc:`compute chunk/atom command <compute_chunk_atom>` is *box* or *lattice*, the
|
||||
*coordN* attributes will be in distance :doc:`units <units>`. If the
|
||||
value of the *units* keyword is *reduced*, the *coordN* attributes
|
||||
will be in unitless reduced units (0--1).
|
||||
in the :doc:`compute chunk/atom <compute_chunk_atom>` command
|
||||
referenced by chunkID. For *bin/1d*, *bin/2d*, and *bin/3d* styles
|
||||
the attribute is the center point of the bin in the corresponding
|
||||
dimension. Style *bin/1d* only defines a *coord1* attribute. Style
|
||||
*bin/2d* adds a *coord2* attribute. Style *bin/3d* adds a *coord3*
|
||||
attribute.
|
||||
|
||||
Note that if the value of the *units* keyword used in the
|
||||
:doc:`compute chunk/atom command <compute_chunk_atom>` is *box* or
|
||||
*lattice*, the *coordN* attributes will be in distance :doc:`units
|
||||
<units>`. If the value of the *units* keyword is *reduced*, the
|
||||
*coordN* attributes will be in unitless reduced units (0-1).
|
||||
|
||||
The simplest way to output the results of the compute property/chunk
|
||||
calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>`
|
||||
|
||||
114
doc/src/compute_property_grid.rst
Normal file
114
doc/src/compute_property_grid.rst
Normal file
@ -0,0 +1,114 @@
|
||||
.. index:: compute property/grid
|
||||
|
||||
compute property/grid command
|
||||
=============================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
compute ID group-ID property/grid Nx Ny Nz input1 input2 ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* property/grid = style name of this compute command
|
||||
* Nx, Ny, Nz = grid size in each dimension
|
||||
* input1,etc = one or more attributes
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
attributes = id, ix, iy, iz, x, y, z, xs, ys, zs, xc, yc, zc, xsc, ysc, zsc
|
||||
id = ID of grid cell, x fastest, y next, z slowest
|
||||
ix,iy,iz = grid indices in each dimension (1 to N inclusive)
|
||||
x,y,z = coords of lower left corner of grid cell
|
||||
xs,ys,zs = scaled coords of lower left corner of grid cell (0.0 to 1.0)
|
||||
xc,yc,zc = coords of center point of grid cell
|
||||
xsc,ysc,zsc = scaled coords of center point of grid cell (0.0 to 1.0)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 1 all property/grid id ix iy iz
|
||||
compute 1 all property/grid id xc yc zc
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that stores the specified attributes of a
|
||||
distributed grid. In LAMMPS, distributed grids are regular 2d or 3d
|
||||
grids which overlay a 2d or 3d simulation domain. Each processor owns
|
||||
the grid cells whose center points lie within its sub-domain. See the
|
||||
:doc:`Howto grid <Howto_grid>` doc page for details of how distributed
|
||||
grids can be defined by various commands and referenced.
|
||||
|
||||
This compute stores the specified attributes of grids as per-grid data
|
||||
so they can be accessed by other :doc:`output commands <Howto_output>`
|
||||
such as :doc:`dump grid <dump>`.
|
||||
|
||||
*Nx*, *Ny*, and *Nz* define the size of the grid. For a 2d simulation
|
||||
*Nz* must be 1. When this compute is used by :doc:`dump grid <dump>`,
|
||||
to output per-grid values from other computes of fixes, the grid size
|
||||
specified for this command must be consistent with the grid sizes
|
||||
used by the other commands.
|
||||
|
||||
The *id* attribute stores the grid ID for each grid cell. For a
|
||||
global grid of size Nx by Ny by Nz (in 3d simulations) the grid IDs
|
||||
range from 1 to Nx*Ny*Nz. They are ordered with the X index of the 3d
|
||||
grid varying fastest, then Y, then Z slowest. For 2d grids (in 2d
|
||||
simulations), the grid IDs range from 1 to Nx*Ny, with X varying
|
||||
fastest and Y slowest.
|
||||
|
||||
The *ix*, *iy*, *iz* attributes are the indices of a grid cell in
|
||||
each dimension. They range from 1 to Nx inclusive in the X dimension,
|
||||
and similar for Y and Z.
|
||||
|
||||
The *x*, *y*, *z* attributes are the coordinates of the lower left
|
||||
corner point of each grid cell.
|
||||
|
||||
The *xs*, *ys*, *zs* attributes are also coordinates of the lower left
|
||||
corner point of each grid cell, except in scaled coordinates, where
|
||||
the lower-left corner of the entire simulation box is (0,0,0) and the
|
||||
upper right corner is (1,1,1).
|
||||
|
||||
The *xc*, *yc*, *zc* attributes are the coordinates of the center
|
||||
point of each grid cell.
|
||||
|
||||
The *xsc*, *ysc*, *zsc* attributes are also coordinates of the center
|
||||
point each grid cell, except in scaled coordinates, where the
|
||||
lower-left corner of the entire simulation box is (0,0,0) and the upper
|
||||
right corner is (1,1,1).
|
||||
|
||||
For :doc:`triclinic simulation boxes <Howto_triclinic>`, the grid
|
||||
point coordinates for (x,y,z) and (xc,yc,zc) will reflect the
|
||||
triclinic geometry. For (xs,yz,zs) and (xsc,ysc,zsc), the coordinates
|
||||
are the same for orthogonal versus triclinic boxes.
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
This compute calculates a per-grid vector or array depending on the
|
||||
number of input values. The length of the vector or number of array
|
||||
rows (distributed across all processors) is Nx * Ny * Nz. For access
|
||||
by other commands, the name of the single grid produced by this
|
||||
command is "grid". The name of its per-grid data is "data".
|
||||
|
||||
The (x,y,z) and (xc,yc,zc) coordinates are in distance :doc:`units
|
||||
<units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
For 2d simulations, the attributes which refer to
|
||||
the Z dimension cannot be used.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`dump grid <dump>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
@ -85,10 +85,11 @@ Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that stores the specified attributes as local
|
||||
data so it can be accessed by other :doc:`output commands <Howto_output>`. If the input attributes refer to bond
|
||||
information, then the number of datums generated, aggregated across
|
||||
all processors, equals the number of bonds in the system. Ditto for
|
||||
pairs, angles, etc.
|
||||
data so it can be accessed by other :doc:`output commands
|
||||
<Howto_output>`. If the input attributes refer to bond information,
|
||||
then the number of datums generated, aggregated across all processors,
|
||||
equals the number of bonds in the system. Ditto for pairs, angles,
|
||||
etc.
|
||||
|
||||
If multiple attributes are specified then they must all generate the
|
||||
same amount of information, so that the resulting local array has the
|
||||
@ -129,17 +130,20 @@ specified compute group. Likewise for angles, dihedrals, etc.
|
||||
For bonds and angles, a bonds/angles that have been broken by setting
|
||||
their bond/angle type to 0 will not be included. Bonds/angles that
|
||||
have been turned off (see the :doc:`fix shake <fix_shake>` or
|
||||
:doc:`delete_bonds <delete_bonds>` commands) by setting their bond/angle
|
||||
type negative are written into the file. This is consistent with the
|
||||
:doc:`compute bond/local <compute_bond_local>` and :doc:`compute angle/local <compute_angle_local>` commands
|
||||
:doc:`delete_bonds <delete_bonds>` commands) by setting their
|
||||
bond/angle type negative are written into the file. This is
|
||||
consistent with the :doc:`compute bond/local <compute_bond_local>` and
|
||||
:doc:`compute angle/local <compute_angle_local>` commands
|
||||
|
||||
Note that as atoms migrate from processor to processor, there will be
|
||||
no consistent ordering of the entries within the local vector or array
|
||||
from one timestep to the next. The only consistency that is
|
||||
guaranteed is that the ordering on a particular timestep will be the
|
||||
same for local vectors or arrays generated by other compute commands.
|
||||
For example, output from the :doc:`compute bond/local <compute_bond_local>` command can be combined with bond
|
||||
atom indices from this command and output by the :doc:`dump local <dump>` command in a consistent way.
|
||||
For example, output from the :doc:`compute bond/local
|
||||
<compute_bond_local>` command can be combined with bond atom indices
|
||||
from this command and output by the :doc:`dump local <dump>` command
|
||||
in a consistent way.
|
||||
|
||||
The *natom1* and *natom2* or *patom1* and *patom2* attributes refer
|
||||
to the atom IDs of the 2 atoms in each pairwise interaction computed
|
||||
@ -177,9 +181,8 @@ the array is the number of bonds, angles, etc. If a single input is
|
||||
specified, a local vector is produced. If two or more inputs are
|
||||
specified, a local array is produced where the number of columns = the
|
||||
number of inputs. The vector or array can be accessed by any command
|
||||
that uses local values from a compute as input. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
that uses local values from a compute as input. See the :doc:`Howto
|
||||
output <Howto_output>` page for an overview of LAMMPS output options.
|
||||
|
||||
The vector or array values will be integers that correspond to the
|
||||
specified attribute.
|
||||
|
||||
@ -29,8 +29,9 @@ Description
|
||||
|
||||
Define a computation that calculates the temperature of a group of
|
||||
atoms. A compute of this style can be used by any command that
|
||||
computes a temperature (e.g., :doc:`thermo_modify <thermo_modify>`,
|
||||
:doc:`fix temp/rescale <fix_temp_rescale>`, :doc:`fix npt <fix_nh>`)
|
||||
computes a temperature, e.g. :doc:`thermo_modify <thermo_modify>`,
|
||||
:doc:`fix temp/rescale <fix_temp_rescale>`, :doc:`fix npt <fix_nh>`,
|
||||
etc.
|
||||
|
||||
The temperature is calculated by the formula
|
||||
|
||||
@ -39,17 +40,17 @@ The temperature is calculated by the formula
|
||||
\text{KE} = \frac{\text{dim}}{2} N k_B T,
|
||||
|
||||
where KE = total kinetic energy of the group of atoms (sum of
|
||||
:math:`\frac12 m v^2`), dim = 2 or 3 is the dimensionality of the simulation,
|
||||
:math:`N` is the number of atoms in the group, :math:`k_B` is the Boltzmann
|
||||
constant, and :math:`T` is the absolute temperature.
|
||||
:math:`\frac12 m v^2`), dim = 2 or 3 is the dimensionality of the
|
||||
simulation, :math:`N` is the number of atoms in the group, :math:`k_B`
|
||||
is the Boltzmann constant, and :math:`T` is the absolute temperature.
|
||||
|
||||
A kinetic energy tensor, stored as a six-element vector, is also
|
||||
calculated by this compute for use in the computation of a pressure
|
||||
tensor. The formula for the components of the tensor is the same as
|
||||
the above formula, except that :math:`v^2` is replaced by
|
||||
:math:`v_x v_y` for the :math:`xy` component, and so on.
|
||||
The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
the above formula, except that :math:`v^2` is replaced by :math:`v_x
|
||||
v_y` for the :math:`xy` component, and so on. The six components of
|
||||
the vector are ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`,
|
||||
:math:`xz`, :math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the *dynamic* option of the
|
||||
@ -85,11 +86,10 @@ Output info
|
||||
"""""""""""
|
||||
|
||||
This compute calculates a global scalar (the temperature) and a global
|
||||
vector of length six (KE tensor), which can be accessed by indices 1--6.
|
||||
These values can be used by any command that uses global scalar or
|
||||
vector values from a compute as input. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
vector of length six (KE tensor), which can be accessed by indices
|
||||
1--6. These values can be used by any command that uses global scalar
|
||||
or vector values from a compute as input. See the :doc:`Howto output
|
||||
<Howto_output>` page for an overview of LAMMPS output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
@ -104,7 +104,9 @@ Restrictions
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute temp/partial <compute_temp_partial>`, :doc:`compute temp/region <compute_temp_region>`, :doc:`compute pressure <compute_pressure>`
|
||||
:doc:`compute temp/partial <compute_temp_partial>`,
|
||||
:doc:`compute temp/region <compute_temp_region>`,
|
||||
:doc:`compute pressure <compute_pressure>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
656
doc/src/dump.rst
656
doc/src/dump.rst
@ -3,6 +3,8 @@
|
||||
.. index:: dump cfg
|
||||
.. index:: dump custom
|
||||
.. index:: dump dcd
|
||||
.. index:: dump grid
|
||||
.. index:: dump grid/vtk
|
||||
.. index:: dump local
|
||||
.. index:: dump xtc
|
||||
.. index:: dump yaml
|
||||
@ -57,46 +59,48 @@ Syntax
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
dump ID group-ID style N file args
|
||||
dump ID group-ID style N file attribute1 attribute2 ...
|
||||
|
||||
* ID = user-assigned name for the dump
|
||||
* group-ID = ID of the group of atoms to be dumped
|
||||
* style = *atom* or *atom/adios* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *custom/adios* or *dcd* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml*
|
||||
* style = *atom* or *atom/adios* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *custom/adios* or *dcd* or *grid* or *grid/vtk* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml*
|
||||
* N = dump on timesteps which are multiples of N
|
||||
* file = name of file to write dump info to
|
||||
* args = list of arguments for a particular style
|
||||
* attribute1,attribute2,... = list of attributes for a particular style
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*atom* args = none
|
||||
*atom/adios* args = none, discussed on :doc:`dump atom/adios <dump_adios>` page
|
||||
*atom/gz* args = none
|
||||
*atom/zstd* args = none
|
||||
*atom/mpiio* args = none
|
||||
*cfg* args = same as *custom* args, see below
|
||||
*cfg/gz* args = same as *custom* args, see below
|
||||
*cfg/zstd* args = same as *custom* args, see below
|
||||
*cfg/mpiio* args = same as *custom* args, see below
|
||||
*cfg/uef* args = same as *custom* args, discussed on :doc:`dump cfg/uef <dump_cfg_uef>` page
|
||||
*custom*, *custom/gz*, *custom/zstd*, *custom/mpiio* args = see below
|
||||
*custom/adios* args = same as *custom* args, discussed on :doc:`dump custom/adios <dump_adios>` page
|
||||
*dcd* args = none
|
||||
*h5md* args = discussed on :doc:`dump h5md <dump_h5md>` page
|
||||
*image* args = discussed on :doc:`dump image <dump_image>` page
|
||||
*local*, *local/gz*, *local/zstd* args = see below
|
||||
*molfile* args = discussed on :doc:`dump molfile <dump_molfile>` page
|
||||
*movie* args = discussed on :doc:`dump image <dump_image>` page
|
||||
*netcdf* args = discussed on :doc:`dump netcdf <dump_netcdf>` page
|
||||
*netcdf/mpiio* args = discussed on :doc:`dump netcdf <dump_netcdf>` page
|
||||
*vtk* args = same as *custom* args, see below, also :doc:`dump vtk <dump_vtk>` page
|
||||
*xtc* args = none
|
||||
*xyz* args = none
|
||||
*xyz/gz* args = none
|
||||
*xyz/zstd* args = none
|
||||
*xyz/mpiio* args = none
|
||||
*yaml* args = same as *custom* args, see below
|
||||
*atom* attributes = none
|
||||
*atom/adios* attributes = none, discussed on :doc:`dump atom/adios <dump_adios>` page
|
||||
*atom/gz* attributes = none
|
||||
*atom/zstd* attributes = none
|
||||
*atom/mpiio* attributes = none
|
||||
*cfg* attributes = same as *custom* attributes, see below
|
||||
*cfg/gz* attributes = same as *custom* attributes, see below
|
||||
*cfg/zstd* attributes = same as *custom* attributes, see below
|
||||
*cfg/mpiio* attributes = same as *custom* attributes, see below
|
||||
*cfg/uef* attributes = same as *custom* attributes, discussed on :doc:`dump cfg/uef <dump_cfg_uef>` page
|
||||
*custom*, *custom/gz*, *custom/zstd*, *custom/mpiio* attributes = see below
|
||||
*custom/adios* attributes = same as *custom* attributes, discussed on :doc:`dump custom/adios <dump_adios>` page
|
||||
*dcd* attributes = none
|
||||
*h5md* attributes = discussed on :doc:`dump h5md <dump_h5md>` page
|
||||
*grid* attributes = see below
|
||||
*grid/vtk* attributes = see below
|
||||
*image* attributes = discussed on :doc:`dump image <dump_image>` page
|
||||
*local*, *local/gz*, *local/zstd* attributes = see below
|
||||
*molfile* attributes = discussed on :doc:`dump molfile <dump_molfile>` page
|
||||
*movie* attributes = discussed on :doc:`dump image <dump_image>` page
|
||||
*netcdf* attributes = discussed on :doc:`dump netcdf <dump_netcdf>` page
|
||||
*netcdf/mpiio* attributes = discussed on :doc:`dump netcdf <dump_netcdf>` page
|
||||
*vtk* attributes = same as *custom* attributes, see below, also :doc:`dump vtk <dump_vtk>` page
|
||||
*xtc* attributes = none
|
||||
*xyz* attributes = none
|
||||
*xyz/gz* attributes = none
|
||||
*xyz/zstd* attributes = none
|
||||
*xyz/mpiio* attributes = none
|
||||
*yaml* attributes = same as *custom* attributes, see below
|
||||
|
||||
* *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *netcdf* or *netcdf/mpiio* or *yaml* args = list of atom attributes
|
||||
* *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *netcdf* or *netcdf/mpiio* or *yaml* attributes:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -143,7 +147,7 @@ Syntax
|
||||
i2_name[I] = Ith column of custom integer array with name, I can include wildcard (see below)
|
||||
d2_name[I] = Ith column of custom floating point vector with name, I can include wildcard (see below)
|
||||
|
||||
* *local* or *local/gz* or *local/zstd* args = list of local attributes
|
||||
* *local* or *local/gz* or *local/zstd* attributes:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -154,6 +158,18 @@ Syntax
|
||||
f_ID = local vector calculated by a fix with ID
|
||||
f_ID[I] = Ith column of local array calculated by a fix with ID, I can include wildcard (see below)
|
||||
|
||||
* *grid* or *grid/vtk* attributes:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
possible attributes = c_ID:gname:dname, c_ID:gname:dname[I], f_ID:gname:dname, f_ID:gname:dname[I]
|
||||
gname = name of grid defined by compute or fix
|
||||
dname = name of data field defined by compute or fix
|
||||
c_ID = per-grid vector calculated by a compute with ID
|
||||
c_ID[I] = Ith column of per-grid array calculated by a compute with ID, I can include wildcard (see below)
|
||||
f_ID = per-grid vector calculated by a fix with ID
|
||||
f_ID[I] = Ith column of per-grid array calculated by a fix with ID, I can include wildcard (see below)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
@ -176,24 +192,32 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Dump a snapshot of atom quantities to one or more files once every
|
||||
:math:`N` timesteps in one of several styles. The *image* and *movie*
|
||||
styles are the exception: the *image* style renders a JPG, PNG, or PPM
|
||||
image file of the atom configuration every :math:`N` timesteps while
|
||||
the *movie* style combines and compresses them into a movie file; both
|
||||
are discussed in detail on the :doc:`dump image <dump_image>` page.
|
||||
The timesteps on which dump output is written can also be controlled
|
||||
by a variable. See the :doc:`dump_modify every <dump_modify>`
|
||||
command.
|
||||
Dump a snapshot of quantities to one or more files once every
|
||||
:math:`N` timesteps in one of several styles. The timesteps on which
|
||||
dump output is written can also be controlled by a variable. See the
|
||||
:doc:`dump_modify every <dump_modify>` command.
|
||||
|
||||
Almost all the styles output per-atom data, i.e. one or more values
|
||||
per atom. The exceptions are as follows. The *local* styles output
|
||||
one or more values per bond (angle, dihedral, improper) or per pair of
|
||||
interacting atoms (force or neighbor interactions). The *grid* styles
|
||||
output one or more values per grid cell, which are produced by other
|
||||
commands which overlay the simulation domain with a regular grid. See
|
||||
the :doc:`Howto grid <Howto_grid>` doc page for details. The *image*
|
||||
style renders a JPG, PNG, or PPM image file of the system for each
|
||||
snapshot, while the *movie* style combines and compresses the series
|
||||
of images into a movie file; both styles are discussed in detail on
|
||||
the :doc:`dump image <dump_image>` page.
|
||||
|
||||
Only information for atoms in the specified group is dumped. The
|
||||
:doc:`dump_modify thresh and region and refresh <dump_modify>` commands
|
||||
can also alter what atoms are included. Not all styles support
|
||||
these options; see details on the :doc:`dump_modify <dump_modify>` doc page.
|
||||
:doc:`dump_modify thresh and region and refresh <dump_modify>`
|
||||
commands can also alter what atoms are included. Not all styles
|
||||
support these options; see details on the :doc:`dump_modify
|
||||
<dump_modify>` doc page.
|
||||
|
||||
As described below, the filename determines the kind of output (text
|
||||
or binary or gzipped, one big file or one per timestep, one big file
|
||||
or multiple smaller files).
|
||||
As described below, the filename determines the kind of output: text
|
||||
or binary or gzipped, one big file or one per timestep, one file for
|
||||
all the processors or multiple smaller files.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -207,74 +231,61 @@ or multiple smaller files).
|
||||
|
||||
.. note::
|
||||
|
||||
Unless the :doc:`dump_modify sort <dump_modify>` option is
|
||||
invoked, the lines of atom information written to dump files
|
||||
(typically one line per atom) will be in an indeterminate order for
|
||||
each snapshot. This is even true when running on a single processor,
|
||||
if the :doc:`atom_modify sort <atom_modify>` option is on, which it is
|
||||
by default. In this case atoms are re-ordered periodically during a
|
||||
simulation, due to spatial sorting. It is also true when running in
|
||||
parallel, because data for a single snapshot is collected from
|
||||
multiple processors, each of which owns a subset of the atoms.
|
||||
Unless the :doc:`dump_modify sort <dump_modify>` option is invoked,
|
||||
the lines of atom or grid information written to dump files
|
||||
(typically one line per atom or grid cell) will be in an
|
||||
indeterminate order for each snapshot. This is even true when
|
||||
running on a single processor, if the :doc:`atom_modify sort
|
||||
<atom_modify>` option is on, which it is by default. In this case
|
||||
atoms are re-ordered periodically during a simulation, due to
|
||||
spatial sorting. It is also true when running in parallel, because
|
||||
data for a single snapshot is collected from multiple processors,
|
||||
each of which owns a subset of the atoms.
|
||||
|
||||
For the *atom*, *custom*, *cfg*, and *local* styles, sorting is off by
|
||||
default. For the *dcd*, *xtc*, *xyz*, and *molfile* styles, sorting
|
||||
by atom ID is on by default. See the :doc:`dump_modify <dump_modify>`
|
||||
page for details.
|
||||
For the *atom*, *custom*, *cfg*, *grid*, and *local* styles, sorting
|
||||
is off by default. For the *dcd*, *grid/vtk*, *xtc*, *xyz*, and
|
||||
*molfile* styles, sorting by atom ID or grid ID is on by default. See
|
||||
the :doc:`dump_modify <dump_modify>` page for details.
|
||||
|
||||
The *atom/gz*, *cfg/gz*, *custom/gz*, *local/gz*, and *xyz/gz* styles
|
||||
are identical in command syntax to the corresponding styles without
|
||||
"gz", however, they generate compressed files using the zlib
|
||||
library. Thus the filename suffix ".gz" is mandatory. This is an
|
||||
alternative approach to writing compressed files via a pipe, as done by
|
||||
the regular dump styles, which may be required on clusters where the
|
||||
interface to the high-speed network disallows using the fork() library
|
||||
call (which is needed for a pipe). For the remainder of this page, you
|
||||
should thus consider the *atom* and *atom/gz* styles (etc.) to be
|
||||
inter-changeable, with the exception of the required filename suffix.
|
||||
The *style* keyword determines what kind of data is written to the
|
||||
dump file(s) and in what format.
|
||||
|
||||
Similarly, the *atom/zstd*, *cfg/zstd*, *custom/zstd*, *local/zstd*, and
|
||||
*xyz/zstd* styles are identical to the gz styles, but use the Zstd
|
||||
compression library instead and require the ".zst" suffix. See the
|
||||
:doc:`dump_modify <dump_modify>` page for details on how to control the
|
||||
compression level in both variants.
|
||||
Note that *atom*, *custom*, *dcd*, *xtc*, *xyz*, and *yaml* style dump
|
||||
files can be read directly by `VMD <https://www.ks.uiuc.edu/Research/vmd>`_,
|
||||
a popular tool for visualizing and analyzing trajectories from atomic
|
||||
and molecular systems. For reading *netcdf* style dump files, the
|
||||
netcdf plugin needs to be recompiled from source using a NetCDF version
|
||||
compatible with the one used by LAMMPS. The bundled plugin binary
|
||||
uses a very old version of NetCDF that is not compatible with LAMMPS.
|
||||
|
||||
As explained below, the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and
|
||||
*xyz/mpiio* styles are identical in command syntax and in the format of
|
||||
the dump files they create, to the corresponding styles without "mpiio",
|
||||
except the single dump file they produce is written in parallel via the
|
||||
MPI-IO library. For the remainder of this page, you should thus
|
||||
consider the *atom* and *atom/mpiio* styles (etc.) to be
|
||||
inter-changeable. The one exception is how the filename is specified
|
||||
for the MPI-IO styles, as explained below.
|
||||
Likewise the `OVITO visualization package <https://www.ovito.org>`_,
|
||||
popular for materials modeling, can read the *atom*, *custom*,
|
||||
*local*, *xtc*, *cfg*, *netcdf*, and *xyz* style atom dump files
|
||||
directly. With version 3.8 and above, OVITO can also read and
|
||||
visualize *grid* style dump files with grid cell data, including
|
||||
iso-surface images of the grid cell values.
|
||||
|
||||
.. warning::
|
||||
|
||||
The MPIIO package is currently unmaintained and has become
|
||||
unreliable. Use with caution.
|
||||
|
||||
The precision of values output to text-based dump files can be
|
||||
controlled by the :doc:`dump_modify format <dump_modify>` command and
|
||||
its options.
|
||||
Note that settings made via the :doc:`dump_modify <dump_modify>`
|
||||
command can also alter the format of individual values and content of
|
||||
the dump file itself. This includes the precision of values output to
|
||||
text-based dump files which is controlled by the :doc:`dump_modify
|
||||
format <dump_modify>` command and its options.
|
||||
|
||||
----------
|
||||
|
||||
The *style* keyword determines what atom quantities are written to the
|
||||
file and in what format. Settings made via the
|
||||
:doc:`dump_modify <dump_modify>` command can also alter the format of
|
||||
individual values and the file itself.
|
||||
Format of native LAMMPS format dump files:
|
||||
|
||||
The *atom*, *local*, and *custom* styles create files in a simple text
|
||||
format that is self-explanatory when viewing a dump file. Some of the
|
||||
LAMMPS post-processing tools described on the :doc:`Tools <Tools>` doc
|
||||
page, including `Pizza.py <https://lammps.github.io/pizza>`_,
|
||||
work with this format, as does the :doc:`rerun <rerun>` command.
|
||||
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
|
||||
: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 post-processing purposes the *atom*, *local*, and *custom* text
|
||||
files are self-describing in the following sense.
|
||||
|
||||
The dimensions of the simulation box are included in each snapshot.
|
||||
For an orthogonal simulation box this information is formatted as:
|
||||
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:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -316,10 +327,13 @@ 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.
|
||||
|
||||
The "ITEM: ATOMS" line in each snapshot lists column descriptors for
|
||||
the per-atom lines that follow. For example, the descriptors would be
|
||||
"id type xs ys zs" for the default *atom* style, and would be the atom
|
||||
attributes you specify in the dump command for the *custom* style.
|
||||
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
|
||||
lines that follow. For example, the descriptors would be "id type xs
|
||||
ys zs" for the default *atom* style, and would be the atom attributes
|
||||
you specify in the dump command for the *custom* style. Each
|
||||
subsequent line will list the data for a single atom.
|
||||
|
||||
For style *atom*, atom coordinates are written to the file, along with
|
||||
the atom ID and atom type. By default, atom coords are written in a
|
||||
@ -332,12 +346,31 @@ added for each atom via dump_modify.
|
||||
Style *custom* allows you to specify a list of atom attributes to be
|
||||
written to the dump file for each atom. Possible attributes are
|
||||
listed above and will appear in the order specified. You cannot
|
||||
specify a quantity that is not defined for a particular simulation---such as
|
||||
*q* for atom style *bond*, since that atom style does not
|
||||
assign charges. Dumps occur at the very end of a timestep, so atom
|
||||
attributes will include effects due to fixes that are applied during
|
||||
the timestep. An explanation of the possible dump custom attributes
|
||||
is given below.
|
||||
specify a quantity that is not defined for a particular
|
||||
simulation---such as *q* for atom style *bond*, since that atom style
|
||||
does not assign charges. Dumps occur at the very end of a timestep,
|
||||
so atom attributes will include effects due to fixes that are applied
|
||||
during the timestep. An explanation of the possible dump custom
|
||||
attributes is given below.
|
||||
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
For style *grid* the extent of the Nx by Ny by Nz grid that overlays
|
||||
the simulation domain is output with each snapshot:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
ITEM: GRID EXTENT
|
||||
nx ny nz
|
||||
|
||||
For 2d simulations, nz will be 1. There will also be an "ITEM: GRID
|
||||
DATA" line which includes column descriptors for the per grid cell
|
||||
data. Each subsequent line (Nx * Ny * Nz lines) will list the data
|
||||
for a single grid cell. If grid cell IDs are included in the output
|
||||
via the :doc:`compute property/grid <compute_property_grid>` command,
|
||||
then the IDs will range from 1 to N = Nx*Ny*Nz. The ordering of IDs
|
||||
is with the x index varying fastest, then the y index, and the z index
|
||||
varying slowest.
|
||||
|
||||
For style *local*, local output generated by :doc:`computes <compute>`
|
||||
and :doc:`fixes <fix>` is used to generate lines of output that is
|
||||
@ -351,6 +384,17 @@ generate information on bonds, angles, etc. that can be cut and pasted
|
||||
directly into a data file read by the :doc:`read_data <read_data>`
|
||||
command.
|
||||
|
||||
----------
|
||||
|
||||
Dump files in other popular formats:
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
This section only discusses file formats relevant to this doc page.
|
||||
The top of this page has links to other dump commands (with their
|
||||
own pages) which write files in additional popular formats.
|
||||
|
||||
Style *cfg* has the same command syntax as style *custom* and writes
|
||||
extended CFG format files, as used by the `AtomEye
|
||||
<http://li.mit.edu/Archive/Graphics/A/>`_ visualization package.
|
||||
@ -387,15 +431,15 @@ periodic box. Note that these coordinates may thus be far outside
|
||||
the box size stored with the snapshot.
|
||||
|
||||
The *xtc* style writes XTC files, a compressed trajectory format used
|
||||
by the GROMACS molecular dynamics package, and described
|
||||
`here <https://manual.gromacs.org/current/reference-manual/file-formats.html#xtc>`_.
|
||||
by the GROMACS molecular dynamics package, and described `here
|
||||
<https://manual.gromacs.org/current/reference-manual/file-formats.html#xtc>`_.
|
||||
The precision used in XTC files can be adjusted via the
|
||||
:doc:`dump_modify <dump_modify>` command. The default value of 1000
|
||||
means that coordinates are stored to 1/1000 nanometer accuracy. XTC
|
||||
files are portable binary files written in the NFS XDR data format,
|
||||
so that any machine which supports XDR should be able to read them.
|
||||
The number of atoms per snapshot cannot change with the *xtc* style.
|
||||
The *unwrap* option of the :doc:`dump_modify <dump_modify>` command allows
|
||||
files are portable binary files written in the NFS XDR data format, so
|
||||
that any machine which supports XDR should be able to read them. The
|
||||
number of atoms per snapshot cannot change with the *xtc* style. The
|
||||
*unwrap* option of the :doc:`dump_modify <dump_modify>` command allows
|
||||
XTC coordinates to be written "unwrapped" by the image flags for each
|
||||
atom. Unwrapped means that if the atom has passed through a periodic
|
||||
boundary one or more times, the value is printed for what the
|
||||
@ -404,27 +448,41 @@ box. Note that these coordinates may thus be far outside the box size
|
||||
stored with the snapshot.
|
||||
|
||||
The *xyz* style writes XYZ files, which is a simple text-based
|
||||
coordinate format that many codes can read. Specifically it has
|
||||
a line with the number of atoms, then a comment line that is
|
||||
usually ignored followed by one line per atom with the atom type
|
||||
and the :math:`x`-, :math:`y`-, and :math:`z`-coordinate of that atom.
|
||||
You can use the :doc:`dump_modify element <dump_modify>` option to change the
|
||||
output from using the (numerical) atom type to an element name (or some other
|
||||
label). This will help many visualization programs to guess bonds and colors.
|
||||
coordinate format that many codes can read. Specifically it has a line
|
||||
with the number of atoms, then a comment line that is usually ignored
|
||||
followed by one line per atom with the atom type and the :math:`x`-,
|
||||
:math:`y`-, and :math:`z`-coordinate of that atom. You can use the
|
||||
:doc:`dump_modify element <dump_modify>` option to change the output
|
||||
from using the (numerical) atom type to an element name (or some other
|
||||
label). This will help many visualization programs to guess bonds and
|
||||
colors.
|
||||
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
The *grid/vtk* style writes VTK files for grid data on a regular
|
||||
rectilinear grid. Its content is conceptually similar to that of the
|
||||
text file produced by the *grid* style, except that it in an XML-based
|
||||
format which visualization programs which support the VTK format can
|
||||
read, e.g. the `ParaView tool <https://www.paraview.org>`_. For this
|
||||
style, there can only be 1 or 3 per grid cell attributes specified.
|
||||
If it is a single value, it is a scalar quantity. If 3 values are
|
||||
specified it is encoded in the VTK file as a vector quantity (for each
|
||||
grid cell). The filename for this style must include a "\*" wildcard
|
||||
character to produce one file per snapshot; see details below.
|
||||
|
||||
.. versionadded:: 4May2022
|
||||
|
||||
Dump style *yaml* has the same command syntax as style *custom* and
|
||||
writes YAML format files that can be easily parsed by a variety of data
|
||||
processing tools and programming languages. Each timestep will be
|
||||
written as a YAML "document" (i.e., starts with "---" and ends with
|
||||
writes YAML format files that can be easily parsed by a variety of
|
||||
data processing tools and programming languages. Each timestep will
|
||||
be written as a YAML "document" (i.e., starts with "---" and ends with
|
||||
"..."). The style supports writing one file per timestep through the
|
||||
"\*" wildcard but not multi-processor outputs with the "%" token in the
|
||||
filename. In addition to per-atom data, :doc:`thermo <thermo>` data can
|
||||
be included in the *yaml* style dump file using the :doc:`dump_modify
|
||||
thermo yes <dump_modify>`. The data included in the dump file uses the
|
||||
"thermo" tag and is otherwise identical to data specified by the
|
||||
:doc:`thermo_style <thermo_style>` command.
|
||||
"\*" wildcard but not multi-processor outputs with the "%" token in
|
||||
the filename. In addition to per-atom data, :doc:`thermo <thermo>`
|
||||
data can be included in the *yaml* style dump file using the
|
||||
:doc:`dump_modify thermo yes <dump_modify>`. The data included in the
|
||||
dump file uses the "thermo" tag and is otherwise identical to data
|
||||
specified by the :doc:`thermo_style <thermo_style>` command.
|
||||
|
||||
Below is an example for a YAML format dump created by the following commands.
|
||||
|
||||
@ -435,13 +493,13 @@ Below is an example for a YAML format dump created by the following commands.
|
||||
|
||||
The tags "time", "units", and "thermo" are optional and enabled by the
|
||||
dump_modify command. The list under the "box" tag has three lines for
|
||||
orthogonal boxes and four lines for triclinic boxes, where the first three are
|
||||
the box boundaries and the fourth the three tilt factors (:math:`xy`,
|
||||
:math:`xz`, :math:`yz`). The "thermo" data follows the format of the *yaml*
|
||||
thermo style. The "keywords" tag lists the per-atom properties contained in
|
||||
the "data" columns, which contain a list with one line per atom. The keywords
|
||||
may be renamed using the dump_modify command same as for the *custom* dump
|
||||
style.
|
||||
orthogonal boxes and four lines for triclinic boxes, where the first
|
||||
three are the box boundaries and the fourth the three tilt factors
|
||||
(:math:`xy`, :math:`xz`, :math:`yz`). The "thermo" data follows the
|
||||
format of the *yaml* thermo style. The "keywords" tag lists the
|
||||
per-atom properties contained in the "data" columns, which contain a
|
||||
list with one line per atom. The keywords may be renamed using the
|
||||
dump_modify command same as for the *custom* dump style.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -479,11 +537,7 @@ style.
|
||||
|
||||
----------
|
||||
|
||||
Note that *atom*, *custom*, *dcd*, *xtc*, and *xyz* style dump files
|
||||
can be read directly by `VMD <https://www.ks.uiuc.edu/Research/vmd>`_, a
|
||||
popular molecular viewing program.
|
||||
|
||||
----------
|
||||
Frequency of dump output:
|
||||
|
||||
Dumps are performed on timesteps that are a multiple of :math:`N`
|
||||
(including timestep 0) and on the last timestep of a minimization if
|
||||
@ -508,29 +562,35 @@ every/time <dump_modify>` command can be used. This can be useful
|
||||
when the timestep size varies during a simulation run, e.g. by use of
|
||||
the :doc:`fix dt/reset <fix_dt_reset>` command.
|
||||
|
||||
The specified filename determines how the dump file(s) is written.
|
||||
The default is to write one large text file, which is opened when the
|
||||
dump command is invoked and closed when an :doc:`undump <undump>`
|
||||
command is used or when LAMMPS exits. For the *dcd* and *xtc* styles,
|
||||
this is a single large binary file.
|
||||
----------
|
||||
|
||||
Dump filenames can contain two wildcard characters. If a "\*"
|
||||
character appears in the filename, then one file per snapshot is
|
||||
written and the "\*" character is replaced with the timestep value.
|
||||
For example, tmp.dump.\* becomes tmp.dump.0, tmp.dump.10000,
|
||||
tmp.dump.20000, etc. This option is not available for the *dcd* and
|
||||
*xtc* styles. Note that the :doc:`dump_modify pad <dump_modify>`
|
||||
command can be used to insure all timestep numbers are the same length
|
||||
(e.g., 00010), which can make it easier to read a series of dump files
|
||||
in order with some post-processing tools.
|
||||
Dump filenames:
|
||||
|
||||
The specified dump filename determines how the dump file(s) is
|
||||
written. The default is to write one large text file, which is opened
|
||||
when the dump command is invoked and closed when an :doc:`undump
|
||||
<undump>` command is used or when LAMMPS exits. For the *dcd* and
|
||||
*xtc* styles, this is a single large binary file.
|
||||
|
||||
Many of the styles allow dump filenames to contain either or both of
|
||||
two wildcard characters. If a "\*" character appears in the filename,
|
||||
then one file per snapshot is written and the "\*" character is
|
||||
replaced with the timestep value. For example, tmp.dump.\* becomes
|
||||
tmp.dump.0, tmp.dump.10000, tmp.dump.20000, etc. This option is not
|
||||
available for the *dcd* and *xtc* styles. Note that the
|
||||
:doc:`dump_modify pad <dump_modify>` command can be used to insure all
|
||||
timestep numbers are the same length (e.g., 00010), which can make it
|
||||
easier to read a series of dump files in order with some
|
||||
post-processing tools.
|
||||
|
||||
If a "%" character appears in the filename, then each of P processors
|
||||
writes a portion of the dump file, and the "%" character is replaced
|
||||
with the processor ID from :math:`0` to :math:`P-1`. For example, tmp.dump.%
|
||||
becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.:math:`P-1`, etc. This creates
|
||||
smaller files and can be a fast mode of output on parallel machines that
|
||||
support parallel I/O for output. This option is **not** available for the
|
||||
*dcd*, *xtc*, *xyz*, and *yaml* styles.
|
||||
with the processor ID from :math:`0` to :math:`P-1`. For example,
|
||||
tmp.dump.% becomes tmp.dump.0, tmp.dump.1, ... tmp.dump.:math:`P-1`,
|
||||
etc. This creates smaller files and can be a fast mode of output on
|
||||
parallel machines that support parallel I/O for output. This option is
|
||||
**not** available for the *dcd*, *xtc*, *xyz*, *grid/vtk*, and *yaml*
|
||||
styles.
|
||||
|
||||
By default, :math:`P` is the the number of processors, meaning one file per
|
||||
processor, but :math:`P` can be set to a smaller value via the *nfile* or
|
||||
@ -541,47 +601,41 @@ when running on large numbers of processors.
|
||||
Note that using the "\*" and "%" characters together can produce a
|
||||
large number of small dump files!
|
||||
|
||||
For the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and *xyz/mpiio*
|
||||
styles, a single dump file is written in parallel via the MPI-IO
|
||||
library, which is part of the MPI standard for versions 2.0 and above.
|
||||
Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO
|
||||
package installed, viz.,
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make yes-mpiio # installs the MPIIO package
|
||||
make mpi # build LAMMPS for your platform
|
||||
|
||||
Second, use a dump filename which contains ".mpiio". Note that it does
|
||||
not have to end in ".mpiio", just contain those characters. Unlike
|
||||
MPI-IO restart files, which must be both written and read using MPI-IO,
|
||||
the dump files produced by these MPI-IO styles are identical in format
|
||||
to the files produced by their non-MPI-IO style counterparts. This
|
||||
means you can write a dump file using MPI-IO and use the :doc:`read_dump
|
||||
For styles that end with *mpiio* an ".mpiio" must appear somewhere in
|
||||
the specified filename. These styles write their dump file in
|
||||
parallel via the MPI-IO library, which is part of the MPI standard for
|
||||
versions 2.0 and above. Note these styles are identical in command
|
||||
syntax to the corresponding styles without "mpiio". Likewise, the
|
||||
dump files produced by these MPI-IO styles are identical in format to
|
||||
the files produced by their non-MPI-IO style counterparts. This means
|
||||
you can write a dump file using MPI-IO and use the :doc:`read_dump
|
||||
<read_dump>` command or perform other post-processing, just as if the
|
||||
dump file was not written using MPI-IO.
|
||||
|
||||
Because MPI-IO dump files are one large file which all processors
|
||||
write to, you cannot use the "%" wildcard character described above in
|
||||
the filename. However you can use the ".bin" or ".lammpsbin" suffix
|
||||
described below. Again, this file will be written in parallel and
|
||||
have the same binary format as if it were written without MPI-IO.
|
||||
|
||||
.. warning::
|
||||
|
||||
The MPIIO package is currently unmaintained and has become
|
||||
unreliable. Use with caution.
|
||||
The MPIIO package within LAMMPS is currently unmaintained and has
|
||||
become unreliable. Use with caution.
|
||||
|
||||
Note that MPI-IO dump files are one large file which all processors
|
||||
write to. You thus cannot use the "%" wildcard character described
|
||||
above in the filename since that specifies generation of multiple files.
|
||||
You can use the ".bin" or ".lammpsbin" suffix described below in an
|
||||
MPI-IO dump file; again this file will be written in parallel and have
|
||||
the same binary format as if it were written without MPI-IO.
|
||||
----------
|
||||
|
||||
If the filename ends with ".bin" or ".lammpsbin", the dump file (or
|
||||
files, if "\*" or "%" is also used) is written in binary format. A
|
||||
binary dump file will be about the same size as a text version, but will
|
||||
typically write out much faster. Of course, when post-processing, you
|
||||
will need to convert it back to text format (see the :ref:`binary2txt
|
||||
tool <binary>`) or write your own code to read the binary file. The
|
||||
format of the binary file can be understood by looking at the
|
||||
:file:`tools/binary2txt.cpp` file. This option is only available for
|
||||
the *atom* and *custom* styles.
|
||||
Compression of dump file data:
|
||||
|
||||
If the specified filename ends with ".bin" or ".lammpsbin", the dump
|
||||
file (or files, if "\*" or "%" is also used) is written in binary
|
||||
format. A binary dump file will be about the same size as a text
|
||||
version, but will typically write out much faster. Of course, when
|
||||
post-processing, you will need to convert it back to text format (see
|
||||
the :ref:`binary2txt tool <binary>`) or write your own code to read
|
||||
the binary file. The format of the binary file can be understood by
|
||||
looking at the :file:`tools/binary2txt.cpp` file. This option is only
|
||||
available for the *atom* and *custom* styles.
|
||||
|
||||
If the filename ends with ".gz", the dump file (or files, if "\*" or "%"
|
||||
is also used) is written in gzipped format. A gzipped dump file will be
|
||||
@ -589,19 +643,40 @@ about :math:`3\times` smaller than the text version, but will also take
|
||||
longer to write. This option is not available for the *dcd* and *xtc*
|
||||
styles.
|
||||
|
||||
Note that styles that end with *gz* are identical in command syntax to
|
||||
the corresponding styles without "gz", however, they generate
|
||||
compressed files using the zlib library. Thus the filename suffix
|
||||
".gz" is mandatory. This is an alternative approach to writing
|
||||
compressed files via a pipe, as done by the regular dump styles, which
|
||||
may be required on clusters where the interface to the high-speed
|
||||
network disallows using the fork() library call (which is needed for a
|
||||
pipe). For the remainder of this page, you should thus consider the
|
||||
*atom* and *atom/gz* styles (etc.) to be inter-changeable, with the
|
||||
exception of the required filename suffix.
|
||||
|
||||
Similarly, styles that end with *zstd* are identical to the gz styles,
|
||||
but use the Zstd compression library instead and require a ".zst"
|
||||
suffix. See the :doc:`dump_modify <dump_modify>` page for details on
|
||||
how to control the compression level in both variants.
|
||||
|
||||
----------
|
||||
|
||||
Note that in the discussion which follows, for styles which can
|
||||
reference values from a compute or fix or custom atom property, like the
|
||||
*custom*\ , *cfg*\ , or *local* styles, the bracketed index :math:`i`
|
||||
can be specified using a wildcard asterisk with the index to effectively
|
||||
specify multiple values. This takes the form "\*" or "\*n" or "m\*" or
|
||||
"m\*n". If :math:`N` is the number of columns in the array, then an
|
||||
asterisk with no numeric values means all column indices from 1 to
|
||||
:math:`N`. A leading asterisk means all indices from 1 to n
|
||||
(inclusive). A trailing asterisk means all indices from m to :math:`N`
|
||||
(inclusive). A middle asterisk means all indices from m to n
|
||||
(inclusive).
|
||||
Arguments for different styles:
|
||||
|
||||
The sections below describe per-atom, local, and per grid cell
|
||||
attributes which can be used as arguments to the various styles.
|
||||
|
||||
Note that in the discussion below, for styles which can reference
|
||||
values from a compute or fix or custom atom property, like the
|
||||
*custom*\ , *cfg*\ , *grid* or *local* styles, the bracketed index
|
||||
:math:`i` can be specified using a wildcard asterisk with the index to
|
||||
effectively specify multiple values. This takes the form "\*" or
|
||||
"\*n" or "m\*" or "m\*n". If :math:`N` is the number of columns in
|
||||
the array, then an asterisk with no numeric values means all column
|
||||
indices from 1 to :math:`N`. A leading asterisk means all indices
|
||||
from 1 to n (inclusive). A trailing asterisk means all indices from m
|
||||
to :math:`N` (inclusive). A middle asterisk means all indices from m
|
||||
to n (inclusive).
|
||||
|
||||
Using a wildcard is the same as if the individual columns of the array
|
||||
had been listed one by one. For example, these two dump commands are
|
||||
@ -617,63 +692,7 @@ command creates a per-atom array with six columns:
|
||||
|
||||
----------
|
||||
|
||||
This section explains the local attributes that can be specified as
|
||||
part of the *local* style.
|
||||
|
||||
The *index* attribute can be used to generate an index number from 1
|
||||
to :math:`N` for each line written into the dump file, where :math:`N` is the
|
||||
total number of local datums from all processors, or lines of output that
|
||||
will appear in the snapshot. Note that because data from different
|
||||
processors depend on what atoms they currently own, and atoms migrate
|
||||
between processor, there is no guarantee that the same index will be
|
||||
used for the same info (e.g., a particular bond) in successive snapshots.
|
||||
|
||||
The *c_ID* and *c_ID[I]* attributes allow local vectors or arrays
|
||||
calculated by a :doc:`compute <compute>` to be output. The ID in the
|
||||
attribute should be replaced by the actual ID of the compute that has
|
||||
been defined previously in the input script. See the
|
||||
:doc:`compute <compute>` command for details. There are computes for
|
||||
calculating local information such as indices, types, and energies for
|
||||
bonds and angles.
|
||||
|
||||
Note that computes which calculate global or per-atom quantities, as
|
||||
opposed to local quantities, cannot be output in a dump local command.
|
||||
Instead, global quantities can be output by the :doc:`thermo_style
|
||||
custom <thermo_style>` command, and per-atom quantities can be output
|
||||
by the dump custom command.
|
||||
|
||||
If *c_ID* is used as a attribute, then the local vector calculated by
|
||||
the compute is printed. If *c_ID[i]* is used, then :math:`i` must be in the
|
||||
range from :math:`1-M`, which will print the Ith column of the local array
|
||||
with :math:`M` columns calculated by the compute. See the discussion above
|
||||
for how :math:`i` can be specified with a wildcard asterisk to effectively
|
||||
specify multiple values.
|
||||
|
||||
The *f_ID* and *f_ID[I]* attributes allow local vectors or arrays
|
||||
calculated by a :doc:`fix <fix>` to be output. The ID in the attribute
|
||||
should be replaced by the actual ID of the fix that has been defined
|
||||
previously in the input script.
|
||||
|
||||
If *f_ID* is used as a attribute, then the local vector calculated by
|
||||
the fix is printed. If *f_ID[i]* is used, then :math:`i` must be in the
|
||||
range :math:`1`--:math:`M`, which will print the :math:`i`\ th column of the
|
||||
local with :math:`M` columns calculated by the fix. See the discussion above
|
||||
for how :math:`i` can be specified with a wildcard asterisk to effectively
|
||||
specify multiple values.
|
||||
|
||||
Here is an example of how to dump bond info for a system, including
|
||||
the distance and energy of each bond:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 1 all property/local batom1 batom2 btype
|
||||
compute 2 all bond/local dist eng
|
||||
dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2]
|
||||
|
||||
----------
|
||||
|
||||
This section explains the atom attributes that can be specified as
|
||||
part of the *custom* and *cfg* styles.
|
||||
Per-atom attributes used as arguments to the *custom* and *cfg* styles:
|
||||
|
||||
The *id*, *mol*, *proc*, *procp1*, *type*, *element*, *mass*, *vx*,
|
||||
*vy*, *vz*, *fx*, *fy*, *fz*, *q* attributes are self-explanatory.
|
||||
@ -808,6 +827,97 @@ which could then be output into dump files.
|
||||
|
||||
----------
|
||||
|
||||
Attributes used as arguments to the *local* style:
|
||||
|
||||
The *index* attribute can be used to generate an index number from 1
|
||||
to N for each line written into the dump file, where N is the total
|
||||
number of local datums from all processors, or lines of output that
|
||||
will appear in the snapshot. Note that because data from different
|
||||
processors depend on what atoms they currently own, and atoms migrate
|
||||
between processor, there is no guarantee that the same index will be
|
||||
used for the same info (e.g. a particular bond) in successive
|
||||
snapshots.
|
||||
|
||||
The *c_ID* and *c_ID[I]* attributes allow local vectors or arrays
|
||||
calculated by a :doc:`compute <compute>` to be output. The ID in the
|
||||
attribute should be replaced by the actual ID of the compute that has
|
||||
been defined previously in the input script. See the
|
||||
:doc:`compute <compute>` command for details. There are computes for
|
||||
calculating local information such as indices, types, and energies for
|
||||
bonds and angles.
|
||||
|
||||
Note that computes which calculate global or per-atom quantities, as
|
||||
opposed to local quantities, cannot be output in a dump local command.
|
||||
Instead, global quantities can be output by the :doc:`thermo_style
|
||||
custom <thermo_style>` command, and per-atom quantities can be output
|
||||
by the dump custom command.
|
||||
|
||||
If *c_ID* is used as a attribute, then the local vector calculated by
|
||||
the compute is printed. If *c_ID[I]* is used, then I must be in the
|
||||
range from 1-M, which will print the Ith column of the local array
|
||||
with M columns calculated by the compute. See the discussion above
|
||||
for how I can be specified with a wildcard asterisk to effectively
|
||||
specify multiple values.
|
||||
|
||||
The *f_ID* and *f_ID[I]* attributes allow local vectors or arrays
|
||||
calculated by a :doc:`fix <fix>` to be output. The ID in the attribute
|
||||
should be replaced by the actual ID of the fix that has been defined
|
||||
previously in the input script.
|
||||
|
||||
If *f_ID* is used as a attribute, then the local vector calculated by
|
||||
the fix is printed. If *f_ID[I]* is used, then I must be in the
|
||||
range from 1-M, which will print the Ith column of the local with M
|
||||
columns calculated by the fix. See the discussion above for how I can
|
||||
be specified with a wildcard asterisk to effectively specify multiple
|
||||
values.
|
||||
|
||||
Here is an example of how to dump bond info for a system, including
|
||||
the distance and energy of each bond:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 1 all property/local batom1 batom2 btype
|
||||
compute 2 all bond/local dist eng
|
||||
dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2]
|
||||
|
||||
----------
|
||||
|
||||
Attributes used as arguments to the *grid* and *grid/vtk* styles:
|
||||
|
||||
The attributes that begin with *c_ID* and *f_ID* both take
|
||||
colon-separated fields *gname* and *dname*. These refer to a grid
|
||||
name and data field name which is defined by the compute or fix. Note
|
||||
that a compute or fix can define one or more grids (of different
|
||||
sizes) and one or more data fields for each of those grids. The sizes
|
||||
of all grids output in a single dump grid command must be the same.
|
||||
|
||||
The *c_ID:gname:dname* and *c_ID:gname:dname[I]* attributes allow
|
||||
per-grid vectors or arrays calculated by a :doc:`compute <compute>` to
|
||||
be output. The ID in the attribute should be replaced by the actual
|
||||
ID of the compute that has been defined previously in the input
|
||||
script.
|
||||
|
||||
If *c_ID:gname:dname* is used as a attribute, then the per-grid vector
|
||||
calculated by the compute is printed. If *c_ID:gname:dname[I]* is
|
||||
used, then I must be in the range from 1-M, which will print the Ith
|
||||
column of the per-grid array with M columns calculated by the compute.
|
||||
See the discussion above for how I can be specified with a wildcard
|
||||
asterisk to effectively specify multiple values.
|
||||
|
||||
The *f_ID:gname:dname* and *f_ID:gname:dname[I]* attributes allow
|
||||
per-grid vectors or arrays calculated by a :doc:`fix <fix>` to be
|
||||
output. The ID in the attribute should be replaced by the actual ID
|
||||
of the fix that has been defined previously in the input script.
|
||||
|
||||
If *f_ID:gname:dname* is used as a attribute, then the per-grid vector
|
||||
calculated by the fix is printed. If *f_ID:gname:dname[I]* is used,
|
||||
then I must be in the range from 1-M, which will print the Ith column
|
||||
of the per-grid with M columns calculated by the fix. See the
|
||||
discussion above for how I can be specified with a wildcard asterisk
|
||||
to effectively specify multiple values.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -816,9 +926,9 @@ To write gzipped dump files, you must either compile LAMMPS with the
|
||||
See the :doc:`Build settings <Build_settings>` page for details.
|
||||
|
||||
While a dump command is active (i.e., has not been stopped by using
|
||||
the :doc:`undump command <undump>`), no commands may be used that will change
|
||||
the timestep (e.g., :doc:`reset_timestep <reset_timestep>`). LAMMPS
|
||||
will terminate with an error otherwise.
|
||||
the :doc:`undump command <undump>`), no commands may be used that will
|
||||
change the timestep (e.g., :doc:`reset_timestep <reset_timestep>`).
|
||||
LAMMPS will terminate with an error otherwise.
|
||||
|
||||
The *atom/gz*, *cfg/gz*, *custom/gz*, and *xyz/gz* styles are part of
|
||||
the COMPRESS package. They are only enabled if LAMMPS was built with
|
||||
|
||||
@ -24,7 +24,7 @@ Syntax
|
||||
* color = atom attribute that determines color of each atom
|
||||
* diameter = atom attribute that determines size of each atom
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *atom* or *adiam* or *bond* or *line* or *tri* or *body* or *fix* or *size* or *view* or *center* or *up* or *zoom* or *box* or *axes* or *subbox* or *shiny* or *ssao*
|
||||
* keyword = *atom* or *adiam* or *bond* or *grid* or *line* or *tri* or *body* or *fix* or *size* or *view* or *center* or *up* or *zoom* or *box* or *axes* or *subbox* or *shiny* or *ssao*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -34,6 +34,14 @@ Syntax
|
||||
color = *atom* or *type* or *none*
|
||||
width = number or *atom* or *type* or *none*
|
||||
number = numeric value for bond width (distance units)
|
||||
*grid* = per-grid value to use when coloring each grid cell
|
||||
per-grid value = c_ID:gname:dname, c_ID:gname:dname[I], f_ID:gname:dname, f_ID:gname:dname[I]
|
||||
gname = name of grid defined by compute or fix
|
||||
dname = name of data field defined by compute or fix
|
||||
c_ID = per-grid vector calculated by a compute with ID
|
||||
c_ID[I] = Ith column of per-grid array calculated by a compute with ID
|
||||
f_ID = per-grid vector calculated by a fix with ID
|
||||
f_ID[I] = Ith column of per-grid array calculated by a fix with ID
|
||||
*line* = color width
|
||||
color = *type*
|
||||
width = numeric value for line width (distance units)
|
||||
@ -95,7 +103,7 @@ Syntax
|
||||
dump_modify dump-ID keyword values ...
|
||||
|
||||
* these keywords apply only to the *image* and *movie* styles and are documented on this page
|
||||
* keyword = *acolor* or *adiam* or *amap* or *backcolor* or *bcolor* or *bdiam* or *boxcolor* or *color* or *bitrate* or *framerate*
|
||||
* keyword = *acolor* or *adiam* or *amap* or *gmap* or *backcolor* or *bcolor* or *bdiam* or *bitrate* or *boxcolor* or *color* or *framerate* or *gmap*
|
||||
* see the :doc:`dump modify <dump_modify>` doc page for more general keywords
|
||||
|
||||
.. parsed-literal::
|
||||
@ -134,15 +142,16 @@ Syntax
|
||||
*bdiam* args = type diam
|
||||
type = bond type or range of types (see below)
|
||||
diam = diameter of bonds of that type (distance units)
|
||||
*bitrate* arg = rate
|
||||
rate = target bitrate for movie in kbps
|
||||
*boxcolor* arg = color
|
||||
color = name of color for simulation box lines and processor sub-domain lines
|
||||
*color* args = name R G B
|
||||
name = name of color
|
||||
R,G,B = red/green/blue numeric values from 0.0 to 1.0
|
||||
*bitrate* arg = rate
|
||||
rate = target bitrate for movie in kbps
|
||||
*framerate* arg = fps
|
||||
fps = frames per second for movie
|
||||
*gmap* args = identical to *amap* args
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -214,7 +223,7 @@ Similarly, the format of the resulting movie is chosen with the
|
||||
and thus details have to be looked up in the `FFmpeg documentation
|
||||
<https://ffmpeg.org/ffmpeg.html>`_. Typical examples are: .avi, .mpg,
|
||||
.m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie
|
||||
compression like bitrate and framerate can be set using the
|
||||
compression like *bitrate* and *framerate* can be set using the
|
||||
dump_modify command as described below.
|
||||
|
||||
To write out JPEG and PNG format files, you must build LAMMPS with
|
||||
@ -300,13 +309,13 @@ settings, they are interpreted in the following way.
|
||||
If "vx", for example, is used as the *color* setting, then the color
|
||||
of the atom will depend on the x-component of its velocity. The
|
||||
association of a per-atom value with a specific color is determined by
|
||||
a "color map", which can be specified via the dump_modify command, as
|
||||
described below. The basic idea is that the atom-attribute will be
|
||||
within a range of values, and every value within the range is mapped
|
||||
to a specific color. Depending on how the color map is defined, that
|
||||
mapping can take place via interpolation so that a value of -3.2 is
|
||||
halfway between "red" and "blue", or discretely so that the value of
|
||||
-3.2 is "orange".
|
||||
a "color map", which can be specified via the dump_modify amap
|
||||
command, as described below. The basic idea is that the
|
||||
atom-attribute will be within a range of values, and every value
|
||||
within the range is mapped to a specific color. Depending on how the
|
||||
color map is defined, that mapping can take place via interpolation so
|
||||
that a value of -3.2 is halfway between "red" and "blue", or
|
||||
discretely so that the value of -3.2 is "orange".
|
||||
|
||||
If "vx", for example, is used as the *diameter* setting, then the atom
|
||||
will be rendered using the x-component of its velocity as the
|
||||
@ -948,6 +957,17 @@ frequently.
|
||||
|
||||
----------
|
||||
|
||||
The *gmap* keyword can be used with the dump image command, with its
|
||||
*grid* keyword, to setup a color map. The color map is used to assign
|
||||
a specific RGB (red/green/blue) color value to an individual grid cell
|
||||
when it is drawn, based on the grid cell value, which is a numeric
|
||||
quantity specified with the *grid* keyword.
|
||||
|
||||
The arguments for the *gmap* keyword are identical to those for the
|
||||
*amap* keyword (for atom coloring) described above.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -1031,6 +1051,7 @@ The defaults for the dump_modify keywords specific to dump image and dump movie
|
||||
* boxcolor = yellow
|
||||
* color = 140 color names are pre-defined as listed below
|
||||
* framerate = 24
|
||||
* gmap = min max cf 0.0 2 min blue max red
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -90,8 +90,8 @@ hexahedrons in either legacy .vtk or .vtu XML format.
|
||||
|
||||
Style *vtk* allows you to specify a list of atom attributes to be
|
||||
written to the dump file for each atom. The list of possible attributes
|
||||
is the same as for the :doc:`dump_style custom <dump>` command; see
|
||||
its page for a listing and an explanation of each attribute.
|
||||
is the same as for the :doc:`dump_style custom <dump>` command; see its
|
||||
documentation page for a listing and an explanation of each attribute.
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ Examples
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
Fit a machine-learning interatomic potential (ML-IAP) based on proper
|
||||
orthogonal descriptors (POD). Two input files are required for this
|
||||
|
||||
@ -77,26 +77,31 @@ for individual fixes for info on which ones can be restarted.
|
||||
|
||||
----------
|
||||
|
||||
Some fixes calculate one of three styles of quantities: global,
|
||||
per-atom, or local, which can be used by other commands or output as
|
||||
described below. A global quantity is one or more system-wide values
|
||||
(e.g., the energy of a wall interacting with particles). A per-atom
|
||||
quantity is one or more values per atom (e.g., the displacement vector
|
||||
for each atom since time 0). Per-atom values are set to 0.0 for atoms
|
||||
not in the specified fix group. Local quantities are calculated by
|
||||
each processor based on the atoms it owns, but there may be zero or
|
||||
more per atoms.
|
||||
Some fixes calculate one or more of four styles of quantities: global,
|
||||
per-atom, local, or per-grid, which can be used by other commands or
|
||||
output as described below. A global quantity is one or more
|
||||
system-wide values, e.g. the energy of a wall interacting with
|
||||
particles. A per-atom quantity is one or more values per atom,
|
||||
e.g. the displacement vector for each atom since time 0. Per-atom
|
||||
values are set to 0.0 for atoms not in the specified fix group. Local
|
||||
quantities are calculated by each processor based on the atoms it
|
||||
owns, but there may be zero or more per atoms. Per-grid quantities
|
||||
are calculated on a regular 2d or 3d grid which overlays a 2d or 3d
|
||||
simulation domain. The grid points and the data they store are
|
||||
distributed across processors; each processor owns the grid points
|
||||
which fall within its sub-domain.
|
||||
|
||||
Note that a single fix can produce either global or per-atom or local
|
||||
quantities (or none at all), but not both global and per-atom. It can
|
||||
produce local quantities in tandem with global or per-atom quantities.
|
||||
The fix page will explain.
|
||||
Note that a single fix typically produces either global or per-atom or
|
||||
local or per-grid values (or none at all). It does not produce both
|
||||
global and per-atom. It can produce local or per-grid values in
|
||||
tandem with global or per-atom values. The fix doc page will explain
|
||||
the details.
|
||||
|
||||
Global, per-atom, and local quantities each come in three kinds: a
|
||||
single scalar value, a vector of values, or a 2d array of values. The
|
||||
doc page for each fix describes the style and kind of values it
|
||||
produces (e.g., a per-atom vector). Some fixes produce more than one
|
||||
kind of a single style (e.g., a global scalar and a global vector).
|
||||
Global, per-atom, local, and per-grid quantities come in three kinds:
|
||||
a single scalar value, a vector of values, or a 2d array of values.
|
||||
The doc page for each fix describes the style and kind of values it
|
||||
produces, e.g. a per-atom vector. Some fixes produce more than one
|
||||
kind of a single style, e.g. a global scalar and a global vector.
|
||||
|
||||
When a fix quantity is accessed, as in many of the output commands
|
||||
discussed below, it can be referenced via the following bracket
|
||||
@ -185,6 +190,7 @@ accelerated styles exist.
|
||||
* :doc:`ave/chunk <fix_ave_chunk>` - compute per-chunk time-averaged quantities
|
||||
* :doc:`ave/correlate <fix_ave_correlate>` - compute/output time correlations
|
||||
* :doc:`ave/correlate/long <fix_ave_correlate_long>` - alternative to :doc:`ave/correlate <fix_ave_correlate>` that allows efficient calculation over long time windows
|
||||
* :doc:`ave/grid <fix_ave_grid>` - compute per-grid time-averaged quantities
|
||||
* :doc:`ave/histo <fix_ave_histo>` - compute/output time-averaged histograms
|
||||
* :doc:`ave/histo/weight <fix_ave_histo>` - weighted version of fix ave/histo
|
||||
* :doc:`ave/time <fix_ave_time>` - compute/output global time-averaged quantities
|
||||
|
||||
@ -63,7 +63,8 @@ be needed when running such a hybrid simulation, especially if the
|
||||
swapped atoms are not well equilibrated.
|
||||
|
||||
The *types* keyword is required. At least two atom types must be
|
||||
specified.
|
||||
specified. If not using *semi-grand*, exactly two atom types
|
||||
are required.
|
||||
|
||||
The *ke* keyword can be set to *no* to turn off kinetic energy
|
||||
conservation for swaps. The default is *yes*, which means that swapped
|
||||
|
||||
@ -112,6 +112,17 @@ or atoms in a spatial bin. See the :doc:`compute chunk/atom
|
||||
page for details of how chunks can be defined and examples of how they
|
||||
can be used to measure properties of a system.
|
||||
|
||||
Note that if the :doc:`compute chunk/atom <compute_chunk_atom>`
|
||||
command defines spatial bins, the fix ave/chunk command performs a
|
||||
similar computation as the :doc:`fix ave/grid <fix_ave_grid>` command.
|
||||
However, the per-bin outputs from the fix ave/chunk command are
|
||||
global; each processor stores a copy of the entire set of bin data.
|
||||
By contrast, the :doc:`fix ave/grid <fix_ave_grid>` command uses a
|
||||
distributed grid where each processor owns a subset of the bins. Thus
|
||||
it is more efficient to use the :doc:`fix ave/grid <fix_ave_grid>`
|
||||
command when the grid is large and a simulation is run on many
|
||||
processors.
|
||||
|
||||
Note that only atoms in the specified group contribute to the summing
|
||||
and averaging calculations. The :doc:`compute chunk/atom
|
||||
<compute_chunk_atom>` command defines its own group as well as an
|
||||
@ -141,10 +152,11 @@ quantities. :doc:`Variables <variable>` of style *atom* are the only
|
||||
ones that can be used with this fix since all other styles of variable
|
||||
produce global quantities.
|
||||
|
||||
Note that for values from a compute or fix, the bracketed index I can
|
||||
be specified using a wildcard asterisk with the index to effectively
|
||||
specify multiple values. This takes the form "\*" or "\*n" or "m\*" or
|
||||
"m\*n". If :math:`N` is the size of the vector (for *mode* = scalar) or the
|
||||
Note that for values from a compute or fix that produces a per-atom
|
||||
array (multiple values per atom), the bracketed index I can be
|
||||
specified using a wildcard asterisk with the index to effectively
|
||||
specify multiple values. This takes the form "\*" or "\*n" or "n\*"
|
||||
or "m\*n". If :math:`N` = the size of the vector (for *mode* = scalar) or the
|
||||
number of columns in the array (for *mode* = vector), then an asterisk
|
||||
with no numeric values means all indices from 1 to :math:`N`. A leading
|
||||
asterisk means all indices from 1 to n (inclusive). A trailing
|
||||
@ -359,6 +371,8 @@ For the *density/number* and *density/mass* values, the
|
||||
volume (bin volume or system volume) used in the per-sample sum
|
||||
normalization will be the current volume at each sampling step.
|
||||
|
||||
----------
|
||||
|
||||
The *ave* keyword determines how the per-chunk values produced every
|
||||
:math:`N_\text{freq}` steps are averaged with values produced on previous steps
|
||||
that were multiples of :math:`N_\text{freq}`, before they are accessed by
|
||||
@ -385,6 +399,8 @@ of the individual chunk values on time steps 8000, 9000, and 10000. Outputs on
|
||||
early steps will average over less than :math:`M` values if they are not
|
||||
available.
|
||||
|
||||
----------
|
||||
|
||||
The *bias* keyword specifies the ID of a temperature compute that
|
||||
removes a "bias" velocity from each atom, specified as *bias-ID*\ .
|
||||
It is only used when the *temp* value is calculated, to compute the
|
||||
@ -415,6 +431,8 @@ set to the remaining degrees of freedom for the entire molecule
|
||||
(entire chunk in this case), that is, 6 for 3d or 3 for 2d for a rigid
|
||||
molecule.
|
||||
|
||||
----------
|
||||
|
||||
The *file* keyword allows a filename to be specified. Every
|
||||
:math:`N_\text{freq}` timesteps, a section of chunk info will be written to a
|
||||
text file in the following format. A line with the timestep and number of
|
||||
@ -523,12 +541,14 @@ Restrictions
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute <compute>`, :doc:`fix ave/atom <fix_ave_atom>`,
|
||||
:doc:`fix ave/histo <fix_ave_histo>`, :doc:`fix ave/time <fix_ave_time>`,
|
||||
:doc:`variable <variable>`, :doc:`fix ave/correlate <fix_ave_correlate>`
|
||||
:doc:`compute <compute>`, :doc:`fix ave/atom <fix_ave_atom>`, `fix
|
||||
:doc:ave/histo <fix_ave_histo>`, :doc:`fix ave/time <fix_ave_time>`,
|
||||
:doc:`variable <variable>`, :doc:`fix ave/correlate
|
||||
:doc:<fix_ave_correlate>`, `fix ave/atogrid <fix_ave_grid>`
|
||||
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option defaults are norm = all, ave = one, bias = none, no file output, and
|
||||
title 1,2,3 = strings as described above.
|
||||
The option defaults are norm = all, ave = one, bias = none, no file
|
||||
output, and title 1,2,3 = strings as described above.
|
||||
|
||||
509
doc/src/fix_ave_grid.rst
Normal file
509
doc/src/fix_ave_grid.rst
Normal file
@ -0,0 +1,509 @@
|
||||
.. index:: fix ave/grid
|
||||
|
||||
fix ave/grid command
|
||||
=====================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID ave/grid Nevery Nrepeat Nfreq Nx Ny Nz value1 value2 ... keyword args ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* ave/grid = style name of this fix command
|
||||
* Nevery = use input values every this many timesteps
|
||||
* Nrepeat = # of times to use input values for calculating averages
|
||||
* Nfreq = calculate averages every this many timesteps
|
||||
* Nx, Ny, Nz = grid size in each dimension
|
||||
* one or more per-atom or per-grid input values can be listed
|
||||
* per-atom value = vx, vy, vz, fx, fy, fz, density/mass, density/number, mass, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
vx,vy,vz,fx,fy,fz,mass = atom attribute (velocity, force component, mass)
|
||||
density/number, density/mass = number or mass density (per volume)
|
||||
temp = temperature
|
||||
c_ID = per-atom vector calculated by a compute with ID
|
||||
c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below)
|
||||
f_ID = per-atom vector calculated by a fix with ID
|
||||
f_ID[I] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below)
|
||||
v_name = per-atom vector calculated by an atom-style variable with name
|
||||
|
||||
* per-grid value = c_ID:gname:dname, c_ID:gname:dname[I], f_ID:gname:dname, f_ID:gname:dname[I]
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
gname = name of grid defined by compute or fix
|
||||
dname = name of data field defined by compute or fix
|
||||
c_ID = per-grid vector calculated by a compute with ID
|
||||
c_ID[I] = Ith column of per-grid array calculated by a compute with ID, I can include wildcard (see below)
|
||||
f_ID = per-grid vector calculated by a fix with ID
|
||||
f_ID[I] = Ith column of per-grid array calculated by a fix with ID, I can include wildcard (see below)
|
||||
|
||||
* zero or more keyword/arg pairs may be appended
|
||||
* keyword = *discard* or *norm* or *ave* or *bias* or *adof* or *cdof*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*discard* arg = *yes* or *no*
|
||||
yes = discard an atom outside grid in a non-periodic dimension
|
||||
no = remap an atom outside grid in a non-periodic dimension to first or last grid cell
|
||||
*norm* arg = *all* or *sample* or *none* = how output on *Nfreq* steps is normalized
|
||||
all = output is sum of atoms across all *Nrepeat* samples, divided by atom count
|
||||
sample = output is sum of *Nrepeat* sample averages, divided by *Nrepeat*
|
||||
none = output is sum of *Nrepeat* sample sums, divided by *Nrepeat*
|
||||
*ave* args = *one* or *running* or *window M*
|
||||
one = output new average value every Nfreq steps
|
||||
running = output cumulative average of all previous Nfreq steps
|
||||
window M = output average of M most recent Nfreq steps
|
||||
*bias* arg = bias-ID
|
||||
bias-ID = ID of a temperature compute that removes a velocity bias for temperature calculation
|
||||
*adof* value = dof_per_atom
|
||||
dof_per_atom = define this many degrees-of-freedom per atom for temperature calculation
|
||||
*cdof* value = dof_per_grid_cell
|
||||
dof_per_grid_cell = add this many degrees-of-freedom per grid_cell for temperature calculation
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 1 all ave/grid 10000 1 10000 10 10 10 fx fy fz c_myMSD[*]
|
||||
fix 1 flow ave/grid 100 10 1000 20 20 30 f_TTM:grid:data
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Overlay the 2d or 3d simulation box with a uniformly spaced 2d or 3d
|
||||
grid and use it to either (a) time-average per-atom quantities for the
|
||||
atoms in each grid cell, or to (b) time-average per-grid quantities
|
||||
produced by other computes or fixes. This fix operates in either
|
||||
"per-atom mode" (all input values are per-atom) or in "per-grid mode"
|
||||
(all input values are per-grid). You cannot use both per-atom and
|
||||
per-grid inputs in the same command.
|
||||
|
||||
The grid created by this command is distributed; each processor owns
|
||||
the grid points that are within its sub-domain. This is similar to
|
||||
the :doc:`fix ave/chunk <fix_ave_chunk>` command when it uses chunks
|
||||
from the :doc:`compute chunk/atom <compute_chunk_atom>` command which
|
||||
are 2d or 3d regular bins. However, the per-bin outputs in that case
|
||||
are global; each processor stores a copy of the entire set of bin
|
||||
data. Thus it more efficient to use the fix ave/grid command when the
|
||||
grid is large and a simulation is run on many processors.
|
||||
|
||||
For per-atom mode, only atoms in the specified group contribute to the
|
||||
summing and averaging calculations. For per-grid mode, the specified
|
||||
group is ignored.
|
||||
|
||||
----------
|
||||
|
||||
The *Nevery*, *Nrepeat*, and *Nfreq* arguments specify on what
|
||||
timesteps the input values will be accessed and contribute to the
|
||||
average. The final averaged quantities are generated on timesteps
|
||||
that are a multiples of *Nfreq*\ . The average is over *Nrepeat*
|
||||
quantities, computed in the preceding portion of the simulation every
|
||||
*Nevery* timesteps. *Nfreq* must be a multiple of *Nevery* and
|
||||
*Nevery* must be non-zero even if *Nrepeat* is 1. Also, the timesteps
|
||||
contributing to the average value cannot overlap, i.e. Nrepeat\*Nevery
|
||||
can not exceed Nfreq.
|
||||
|
||||
For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on
|
||||
timesteps 90,92,94,96,98,100 will be used to compute the final average
|
||||
on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on
|
||||
timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time
|
||||
averaging is done; values are simply generated on timesteps
|
||||
100,200,etc.
|
||||
|
||||
In per-atom mode, each input value can also be averaged over the atoms
|
||||
in each grid cell. The way the averaging is done across the *Nrepeat*
|
||||
timesteps to produce output on the *Nfreq* timesteps, and across
|
||||
multiple *Nfreq* outputs, is determined by the *norm* and *ave*
|
||||
keyword settings, as discussed below.
|
||||
|
||||
----------
|
||||
|
||||
The *Nx*, *Ny*, and *Nz* arguments specify the size of the grid that
|
||||
overlays the simulation box. For 2d simulations, *Nz* must be 1. The
|
||||
*Nx*, *Ny*, *Nz* values can be any positive integer. The grid can be
|
||||
very coarse compared to the particle count, or very fine. If one or
|
||||
more of the values = 1, then bins are 2d planes or 1d slices of the
|
||||
simulation domain. Note that if the total number of grid cells is
|
||||
small, it may be more efficient to use the doc:`fix ave/chunk
|
||||
<fix_ave_chunk>` command which can treat a grid defined by the
|
||||
:doc:`compute chunk/atom <compute_chunk_atom>` command as a global
|
||||
grid where each processor owns a copy of all the grid cells. If *Nx*
|
||||
= *Ny* = *Nz* = 1 is used, the same calculation would be more
|
||||
efficiently performed by the doc:`fix ave/atom <fix_ave_atom>`
|
||||
command.
|
||||
|
||||
If the simulation box size or shape changes during a simulation, the
|
||||
grid always conforms to the size/shape of the current simulation box.
|
||||
If one more dimensions have non-periodic shrink-wrapped boundary
|
||||
conditions, as defined by the :doc:`boundary <boundary>` command, then
|
||||
the grid will extend over the (dynamic) shrink-wrapped extent in each
|
||||
dimension. If the box shape is triclinic, as explained in :doc:`Howto
|
||||
triclinic <Howto_triclinic>`, then the grid is also triclinic; each
|
||||
grid cell is a small triclinic cell with the same shape as the
|
||||
simulation box.
|
||||
|
||||
----------
|
||||
|
||||
In both per-atom and per-grid mode, input values from a compute or fix
|
||||
that produces an array of values (multiple values per atom or per grid
|
||||
point), the bracketed index I can be specified using a wildcard
|
||||
asterisk with the index to effectively specify multiple values. This
|
||||
takes the form "\*" or "\*n" or "n\*" or "m\*n". If N = the number of
|
||||
columns in the array (for *mode* = vector), then an asterisk with no
|
||||
numeric values means all indices from 1 to N. A leading asterisk
|
||||
means all indices from 1 to n (inclusive). A trailing asterisk means
|
||||
all indices from n to N (inclusive). A middle asterisk means all
|
||||
indices from m to n (inclusive).
|
||||
|
||||
Using a wildcard is the same as if the individual columns of the array
|
||||
had been listed one by one. E.g. if there were a compute fft/grid
|
||||
command which produced 3 values for each grid point, these two fix
|
||||
ave/grid commands would be equivalent:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute myFFT all fft/grid 10 10 10 ...
|
||||
fix 1 all ave/grid 100 1 100 10 10 10 c_myFFT:grid:data[*]
|
||||
fix 2 all ave/grid 100 1 100 10 10 10 c_myFFT:grid:data[*][1] c_myFFT:grid:data[*][2] c_myFFT:grid:data[3]
|
||||
|
||||
----------
|
||||
|
||||
*Per-atom mode*:
|
||||
|
||||
Each specified per-atom value can be an atom attribute (velocity,
|
||||
force component), a number or mass density, a mass or temperature, or
|
||||
the result of a :doc:`compute <compute>` or :doc:`fix <fix>` or the
|
||||
evaluation of an atom-style :doc:`variable <variable>`. In the latter
|
||||
cases, the compute, fix, or variable must produce a per-atom quantity,
|
||||
not a global quantity. Note that the :doc:`compute property/atom
|
||||
<compute_property_atom>` command provides access to any attribute
|
||||
defined and stored by atoms.
|
||||
|
||||
The per-atom values of each input vector are summed and averaged
|
||||
independently of the per-atom values in other input vectors.
|
||||
|
||||
:doc:`Computes <compute>` that produce per-atom quantities are those
|
||||
which have the word *atom* in their style name. See the doc pages for
|
||||
individual :doc:`fixes <fix>` to determine which ones produce per-atom
|
||||
quantities. :doc:`Variables <variable>` of style *atom* are the only
|
||||
ones that can be used with this fix since all other styles of variable
|
||||
produce global quantities.
|
||||
|
||||
----------
|
||||
|
||||
The atom attribute values (vx,vy,vz,fx,fy,fz,mass) are
|
||||
self-explanatory. As noted above, any other atom attributes can be
|
||||
used as input values to this fix by using the :doc:`compute
|
||||
property/atom <compute_property_atom>` command and then specifying an
|
||||
input value from that compute.
|
||||
|
||||
The *density/number* value means the number density is computed for
|
||||
each grid cell, i.e. number/volume. The *density/mass* value means
|
||||
the mass density is computed for each grid/cell,
|
||||
i.e. total-mass/volume. The output values are in units of 1/volume or
|
||||
density (mass/volume). See the :doc:`units <units>` command page for
|
||||
the definition of density for each choice of units, e.g. gram/cm\^3.
|
||||
|
||||
The *temp* value computes the temperature for each grid cell, by the
|
||||
formula
|
||||
|
||||
.. math::
|
||||
|
||||
\text{KE} = \frac{\text{DOF}}{2} k_B T,
|
||||
|
||||
where KE = total kinetic energy of the atoms in the grid cell (
|
||||
:math:`\frac{1}{2} m v^2`), DOF = the total number of degrees of
|
||||
freedom for all atoms in the grid cell, :math:`k_B` = Boltzmann
|
||||
constant, and :math:`T` = temperature.
|
||||
|
||||
The DOF is calculated as N\*adof + cdof, where N = number of atoms in
|
||||
the grid cell, adof = degrees of freedom per atom, and cdof = degrees
|
||||
of freedom per grid cell. By default adof = 2 or 3 = dimensionality
|
||||
of system, as set via the :doc:`dimension <dimension>` command, and
|
||||
cdof = 0.0. This gives the usual formula for temperature.
|
||||
|
||||
Note that currently this temperature only includes translational
|
||||
degrees of freedom for each atom. No rotational degrees of freedom
|
||||
are included for finite-size particles. Also no degrees of freedom
|
||||
are subtracted for any velocity bias or constraints that are applied,
|
||||
such as :doc:`compute temp/partial <compute_temp_partial>`, or
|
||||
:doc:`fix shake <fix_shake>` or :doc:`fix rigid <fix_rigid>`. This is
|
||||
because those degrees of freedom (e.g. a constrained bond) could apply
|
||||
to sets of atoms that are both inside and outside a specific grid
|
||||
cell, and hence the concept is somewhat ill-defined. In some cases,
|
||||
you can use the *adof* and *cdof* keywords to adjust the calculated
|
||||
degrees of freedom appropriately, as explained below.
|
||||
|
||||
Also note that a bias can be subtracted from atom velocities before
|
||||
they are used in the above formula for KE, by using the *bias*
|
||||
keyword. This allows, for example, a thermal temperature to be
|
||||
computed after removal of a flow velocity profile.
|
||||
|
||||
Note that the per-grid-cell temperature calculated by this fix and the
|
||||
:doc:`compute temp/chunk <compute_temp_chunk>` command (using bins)
|
||||
can be different. The compute calculates the temperature for each
|
||||
chunk for a single snapshot. This fix can do that but can also time
|
||||
average those values over many snapshots, or it can compute a
|
||||
temperature as if the atoms in the grid cell on different timesteps
|
||||
were collected together as one set of atoms to calculate their
|
||||
temperature. The compute allows the center-of-mass velocity of each
|
||||
chunk to be subtracted before calculating the temperature; this fix
|
||||
does not.
|
||||
|
||||
If a value begins with "c\_", a compute ID must follow which has been
|
||||
previously defined in the input script. If no bracketed integer is
|
||||
appended, the per-atom vector calculated by the compute is used. If a
|
||||
bracketed integer is appended, the Ith column of the per-atom array
|
||||
calculated by the compute is used. Users can also write code for
|
||||
their own compute styles and :doc:`add them to LAMMPS <Modify>`. See
|
||||
the discussion above for how I can be specified with a wildcard
|
||||
asterisk to effectively specify multiple values.
|
||||
|
||||
If a value begins with "f\_", a fix ID must follow which has been
|
||||
previously defined in the input script. If no bracketed integer is
|
||||
appended, the per-atom vector calculated by the fix is used. If a
|
||||
bracketed integer is appended, the Ith column of the per-atom array
|
||||
calculated by the fix is used. Note that some fixes only produce
|
||||
their values on certain timesteps, which must be compatible with
|
||||
*Nevery*, else an error results. Users can also write code for their
|
||||
own fix styles and :doc:`add them to LAMMPS <Modify>`. See the
|
||||
discussion above for how I can be specified with a wildcard asterisk
|
||||
to effectively specify multiple values.
|
||||
|
||||
If a value begins with "v\_", a variable name must follow which has
|
||||
been previously defined in the input script. Variables of style
|
||||
*atom* can reference thermodynamic keywords and various per-atom
|
||||
attributes, or invoke other computes, fixes, or variables when they
|
||||
are evaluated, so this is a very general means of generating per-atom
|
||||
quantities to average within grid cells.
|
||||
|
||||
----------
|
||||
|
||||
*Per-grid mode*:
|
||||
|
||||
The attributes that begin with *c_ID* and *f_ID* both take
|
||||
colon-separated fields *gname* and *dname*. These refer to a grid
|
||||
name and data field name which is defined by the compute or fix. Note
|
||||
that a compute or fix can define one or more grids (of different
|
||||
sizes) and one or more data fields for each of those grids. The sizes
|
||||
of all grids used as values for one instance of this fix must be the
|
||||
same.
|
||||
|
||||
The *c_ID:gname:dname* and *c_ID:gname:dname[I]* attributes allow
|
||||
per-grid vectors or arrays calculated by a :doc:`compute <compute>` to
|
||||
be accessed. The ID in the attribute should be replaced by the actual
|
||||
ID of the compute that has been defined previously in the input
|
||||
script.
|
||||
|
||||
If *c_ID:gname:dname* is used as a attribute, then the per-grid vector
|
||||
calculated by the compute is accessed. If *c_ID:gname:dname[I]* is
|
||||
used, then I must be in the range from 1-M, which will access the Ith
|
||||
column of the per-grid array with M columns calculated by the compute.
|
||||
See the discussion above for how I can be specified with a wildcard
|
||||
asterisk to effectively specify multiple values.
|
||||
|
||||
The *f_ID:gname:dname* and *f_ID:gname:dname[I]* attributes allow
|
||||
per-grid vectors or arrays calculated by a :doc:`fix <fix>` to be
|
||||
output. The ID in the attribute should be replaced by the actual ID
|
||||
of the fix that has been defined previously in the input script.
|
||||
|
||||
If *f_ID:gname:dname* is used as a attribute, then the per-grid vector
|
||||
calculated by the fix is printed. If *f_ID:gname:dname[I]* is used,
|
||||
then I must be in the range from 1-M, which will print the Ith column
|
||||
of the per-grid with M columns calculated by the fix. See the
|
||||
discussion above for how I can be specified with a wildcard asterisk
|
||||
to effectively specify multiple values.
|
||||
|
||||
----------
|
||||
|
||||
Additional optional keywords also affect the operation of this fix and
|
||||
its outputs. Some are only applicable to per-atom mode. Some are
|
||||
applicable to both per-atom and per-grid mode.
|
||||
|
||||
The *discard* keyword is only applicable to per-atom mode. If a
|
||||
dimension of the system is non-periodic, then grid cells will only
|
||||
span the box dimension (fixed or shrink-wrap boundaries as set by the
|
||||
:doc:`boundary` command). An atom may thus be slightly outside the
|
||||
range of grid cells on a particular timestep. If *discard* is set to
|
||||
*yes* (the default), then the atom will be assigned to the closest
|
||||
grid cell (lowest or highest) in that dimension. If *discard* is set
|
||||
to *no* the atom will be ignored.
|
||||
|
||||
----------
|
||||
|
||||
The *norm* keyword is only applicable to per-atom mode. In per-grid
|
||||
mode, the *norm* keyword setting is ignored. The output grid value on
|
||||
an *Nfreq* timestep is the sum of the grid values in each of the
|
||||
*Nrepeat* samples, divided by *Nrepeat*.
|
||||
|
||||
In per-atom mode, the *norm" keywod affects how averaging is done for
|
||||
the per-grid values that are output on an *Nfreq* timestep. *Nrepeat*
|
||||
samples contribute to the output. The *norm* keyword has 3 possible
|
||||
settings: *all* or *sample* or *none*. *All* is the default.
|
||||
|
||||
In the formulas that follow, SumI is the sum of a per-atom property
|
||||
over the CountI atoms in a grid cell for a single sample I, where I
|
||||
varies from 1 to N, and N = Nrepeat. These formulas are used for any
|
||||
per-atom input value listed above, except *density/number*,
|
||||
*density/mass*, and *temp*. Those input values are discussed below.
|
||||
|
||||
In per-atom mode, for *norm all* the output grid value on the *Nfreq*
|
||||
timestep is an average over atoms across the entire *Nfreq* timescale:
|
||||
|
||||
Output = (Sum1 + Sum2 + ... + SumN) / (Count1 + Count2 + ... + CountN)
|
||||
|
||||
In per-atom mode, for *norm sample* the output grid value on the
|
||||
*Nfreq* timestep is an average of an average:
|
||||
|
||||
Output = (Sum1/Count1 + Sum2/Count2 + ... + SumN/CountN) / Nrepeat
|
||||
|
||||
In per-atom mode, for *norm none* the output grid value on the
|
||||
*Nfreq* timestep is not normalized by the atom counts:
|
||||
|
||||
Output = (Sum1 + Sum2 + ... SumN) / Nrepeat
|
||||
|
||||
For *density/number* and *density/mass*, the output value is the same
|
||||
as in the formulas above for *norm all* and *norm sample*, except that
|
||||
the result is also divided by the grid cell volume. For *norm all*,
|
||||
this will be the volume at the final *Nfreq* timestep. For *norm
|
||||
sample*, the divide-by-volume is done for each sample, using the grid
|
||||
cell volume at the sample timestep. For *norm none*, the output is
|
||||
the same as for *norm all*.
|
||||
|
||||
For *temp*, the output temperature uses the formula for kinetic energy
|
||||
KE listed above, and is normalized similarly to the formulas above for
|
||||
*norm all* and *norm sample*, except for the way the degrees of
|
||||
freedom (DOF) are calculated. For *norm none*, the output is the same
|
||||
as for *norm all*.
|
||||
|
||||
For *norm all*, the DOF = *Nrepeat* times *cdof* plus *Count* times
|
||||
*adof*, where *Count* = (Count1 + Count2 + ... + CountN). The *cdof*
|
||||
and *adof* keywords are discussed below. The output temperature is
|
||||
computed with all atoms across all samples contributing.
|
||||
|
||||
For *norm sample*, the DOF for a single sample = *cdof* plus *Count*
|
||||
times *adof*, where *Count* = CountI for a single sample. The output
|
||||
temperature is the average of *Nsample* temperatures calculated for
|
||||
each sample.
|
||||
|
||||
Finally, for all 3 *norm* settings the output count of atoms per grid
|
||||
cell is:
|
||||
|
||||
Output count = (Count1 + Count2 + ... CountN) / Nrepeat
|
||||
|
||||
This count is the same for all per-atom input values, including
|
||||
*density/number*, *density/mass*, and *temp*.
|
||||
|
||||
----------
|
||||
|
||||
The *ave* keyword is applied to both per-atom and per-grid mode. It
|
||||
determines how the per-grid values produced once every *Nfreq* steps
|
||||
are averaged with values produced on previous steps that were
|
||||
multiples of *Nfreq*, before they are accessed by another output
|
||||
command.
|
||||
|
||||
If the *ave* setting is *one*, which is the default, then the grid
|
||||
values produced on *Nfreq* timesteps are independent of each other;
|
||||
they are output as-is without further averaging.
|
||||
|
||||
If the *ave* setting is *running*, then the grid values produced on
|
||||
*Nfreq* timesteps are summed and averaged in a cumulative sense before
|
||||
being output. Each output grid value is thus the average of the grid
|
||||
value produced on that timestep with all preceding values for the same
|
||||
grid value. This running average begins when the fix is defined; it
|
||||
can only be restarted by deleting the fix via the :doc:`unfix <unfix>`
|
||||
command, or re-defining the fix by re-specifying it.
|
||||
|
||||
If the *ave* setting is *window*, then the grid values produced on
|
||||
*Nfreq* timesteps are summed and averaged within a moving "window" of
|
||||
time, so that the last M values for the same grid are used to produce
|
||||
the output. E.g. if M = 3 and Nfreq = 1000, then the grid value
|
||||
output on step 10000 will be the average of the grid values on steps
|
||||
8000,9000,10000. Outputs on early steps will average over less than M
|
||||
values if they are not available.
|
||||
|
||||
----------
|
||||
|
||||
The *bias*, *adof*, and *cdof* keywords are only applicable to
|
||||
per-atom mode.
|
||||
|
||||
The *bias* keyword specifies the ID of a temperature compute that
|
||||
removes a "bias" velocity from each atom, specified as *bias-ID*\ .
|
||||
It is only used when the *temp* value is calculated, to compute the
|
||||
thermal temperature of each grid cell after the translational kinetic
|
||||
energy components have been altered in a prescribed way, e.g. to
|
||||
remove a flow velocity profile. See the doc pages for individual
|
||||
computes that calculate a temperature to see which ones implement a
|
||||
bias.
|
||||
|
||||
The *adof* and *cdof* keywords define the values used in the degree of
|
||||
freedom (DOF) formula described above for temperature calculation for
|
||||
each grid cell. They are only used when the *temp* value is
|
||||
calculated. They can be used to calculate a more appropriate
|
||||
temperature in some cases. Here are 3 examples:
|
||||
|
||||
If grid cells contain some number of water molecules and :doc:`fix
|
||||
shake <fix_shake>` is used to make each molecule rigid, then you could
|
||||
calculate a temperature with 6 degrees of freedom (DOF) (3
|
||||
translational, 3 rotational) per molecule by setting *adof* to 2.0.
|
||||
|
||||
If :doc:`compute temp/partial <compute_temp_partial>` is used with the
|
||||
*bias* keyword to only allow the x component of velocity to contribute
|
||||
to the temperature, then *adof* = 1.0 would be appropriate.
|
||||
|
||||
Using *cdof* = -2 or -3 (for 2d or 3d simulations) will subtract out 2
|
||||
or 3 degrees of freedom for each grid cell, similar to how the
|
||||
:doc:`compute temp <compute_temp>` command subtracts out 3 DOF for the
|
||||
entire system.
|
||||
|
||||
----------
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
No information about this fix is written to :doc:`binary restart files
|
||||
<restart>`. None of the :doc:`fix_modify <fix_modify>` options are
|
||||
relevant to this fix.
|
||||
|
||||
This fix calculates a per-grid array which has one column for each of
|
||||
the specified input values. The units for each column with be in the
|
||||
:doc:`units <units>` for the per-atom or per-grid quantity for the
|
||||
corresponding input value. If the fix is used in per-atom mode, it
|
||||
also calculates a per-grid vector with the count of atoms in each grid
|
||||
cell. The number of rows in the per-grid array and number of values
|
||||
in the per-grid vector (distributed across all processors) is Nx *
|
||||
Ny * Nz.
|
||||
|
||||
For access by other commands, the name of the single grid produced by
|
||||
this fix is "grid". The names of its two per-grid datums are "data"
|
||||
for the per-grid array and "count" for the per-grid vector (if using
|
||||
per-atom values). Both datums can be accessed by various :doc:`output
|
||||
commands <Howto_output>`.
|
||||
|
||||
In per-atom mode, the per-grid array values calculated by this fix are
|
||||
treated as "intensive", since they are typically already normalized by
|
||||
the count of atoms in each grid cell.
|
||||
|
||||
No parameter of this fix can be used with the *start/stop* keywords of
|
||||
the :doc:`run <run>` command. This fix is not invoked during
|
||||
:doc:`energy minimization <minimize>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fix ave/atom <fix_ave_atom>`, :doc:`fix ave/chunk <fix_ave_chunk>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option defaults are discard = yes, norm = all, ave = one, and bias
|
||||
= none.
|
||||
@ -520,7 +520,7 @@ example, the molecule fragment could consist of only the backbone
|
||||
atoms of a polymer chain. This constraint can be used to enforce a
|
||||
specific relative position and orientation between reacting molecules.
|
||||
|
||||
.. versionchanged:: TBD
|
||||
.. versionchanged:: 22Dec2022
|
||||
|
||||
The constraint of type "custom" has the following syntax:
|
||||
|
||||
@ -637,7 +637,7 @@ eligible reaction only occurs if the random number is less than the
|
||||
fraction. Up to :math:`N` reactions are permitted to occur, as optionally
|
||||
specified by the *max_rxn* keyword.
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
The *rate_limit* keyword can enforce an upper limit on the overall
|
||||
rate of the reaction. The number of reaction occurrences is limited to
|
||||
@ -664,7 +664,7 @@ charges are updated to those specified by the post-reaction template
|
||||
fragment defined in the pre-reaction molecule template. In this case,
|
||||
only the atomic charges of atoms in the molecule fragment are updated.
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
The *rescale_charges* keyword can be used to ensure the total charge
|
||||
of the system does not change as reactions occur. When the argument is
|
||||
|
||||
@ -94,12 +94,9 @@ insert (delete) a proton (atom type 2). Besides, the fix implements
|
||||
self-ionization reaction of water :math:`\emptyset \rightleftharpoons
|
||||
\mathrm{H}^++\mathrm{OH}^-`.
|
||||
|
||||
|
||||
|
||||
However, this approach is highly
|
||||
inefficient at :math:`\mathrm{pH} \approx 7` when the concentration of
|
||||
both protons and hydroxyl ions is low, resulting in a relatively low
|
||||
acceptance rate of MC moves.
|
||||
However, this approach is highly inefficient at :math:`\mathrm{pH}
|
||||
\approx 7` when the concentration of both protons and hydroxyl ions is
|
||||
low, resulting in a relatively low acceptance rate of MC moves.
|
||||
|
||||
A more efficient way is to allow salt ions to participate in ionization
|
||||
reactions, which can be easily achieved via
|
||||
@ -108,10 +105,13 @@ reactions, which can be easily achieved via
|
||||
|
||||
fix acid_reaction2 all charge/regulation 4 5 acid_type 1 pH 7.0 pKa 5.0 pIp 2.0 pIm 2.0
|
||||
|
||||
where particles of atom type 4 and 5 are the salt cations and anions, both at activity (effective concentration) of :math:`10^{-2}` mol/l, see :ref:`(Curk1) <Curk1>` and
|
||||
:ref:`(Landsgesell) <Landsgesell>` for more details.
|
||||
where particles of atom type 4 and 5 are the salt cations and anions,
|
||||
both at activity (effective concentration) of :math:`10^{-2}` mol/l, see
|
||||
:ref:`(Curk1) <Curk1>` and :ref:`(Landsgesell) <Landsgesell>` for more
|
||||
details.
|
||||
|
||||
We could have simultaneously added a base ionization reaction (:math:`\mathrm{B} \rightleftharpoons \mathrm{B}^++\mathrm{OH}^-`)
|
||||
We could have simultaneously added a base ionization reaction
|
||||
(:math:`\mathrm{B} \rightleftharpoons \mathrm{B}^++\mathrm{OH}^-`)
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
@ -122,7 +122,18 @@ where the fix will attempt to charge :math:`\mathrm{B}` (discharge
|
||||
insert (delete) a hydroxyl ion :math:`\mathrm{OH}^-` of atom type 3.
|
||||
|
||||
|
||||
Dissociated ions and salt ions can be combined into a single particle type, which reduces the number of necessary MC moves and increases sampling performance, see :ref:`(Curk1) <Curk1>`. The :math:`\mathrm{H}^+` and monovalent salt cation (:math:`\mathrm{S}^+`) are combined into a single particle type, :math:`\mathrm{X}^+ = \{\mathrm{H}^+, \mathrm{S}^+\}`. In this case "pIp" refers to the effective concentration of the combined cation type :math:`\mathrm{X}^+` and its value is determined by :math:`10^{-\mathrm{pIp}} = 10^{-\mathrm{pH}} + 10^{-\mathrm{pSp}}`, where :math:`10^{-\mathrm{pSp}}` is the effective concentration of salt cations. For example, at pH=7 and pSp=6 we would find pIp~5.958 and the command that performs reactions with combined ions could read,
|
||||
Dissociated ions and salt ions can be combined into a single particle
|
||||
type, which reduces the number of necessary MC moves and increases
|
||||
sampling performance, see :ref:`(Curk1) <Curk1>`. The
|
||||
:math:`\mathrm{H}^+` and monovalent salt cation (:math:`\mathrm{S}^+`)
|
||||
are combined into a single particle type, :math:`\mathrm{X}^+ =
|
||||
\{\mathrm{H}^+, \mathrm{S}^+\}`. In this case "pIp" refers to the
|
||||
effective concentration of the combined cation type :math:`\mathrm{X}^+`
|
||||
and its value is determined by :math:`10^{-\mathrm{pIp}} =
|
||||
10^{-\mathrm{pH}} + 10^{-\mathrm{pSp}}`, where
|
||||
:math:`10^{-\mathrm{pSp}}` is the effective concentration of salt
|
||||
cations. For example, at pH=7 and pSp=6 we would find pIp~5.958 and the
|
||||
command that performs reactions with combined ions could read,
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
@ -138,16 +149,16 @@ If neither the acid or the base type is specified, for example,
|
||||
|
||||
the fix simply inserts or deletes an ion pair of a free cation (atom
|
||||
type 4) and a free anion (atom type 5) as done in a conventional
|
||||
grand-canonical MC simulation. Multivalent ions can be inserted (deleted) by using the *onlysalt* keyword.
|
||||
grand-canonical MC simulation. Multivalent ions can be inserted
|
||||
(deleted) by using the *onlysalt* keyword.
|
||||
|
||||
|
||||
The fix is compatible with LAMMPS sub-packages such as *molecule* or
|
||||
*rigid*. The acid and base particles can be part of larger
|
||||
molecules or rigid bodies. Free ions that are inserted to or deleted
|
||||
from the system must be defined as single particles (no bonded
|
||||
interactions allowed) and cannot be part of larger molecules or rigid
|
||||
bodies. If *molecule* package is used, all inserted ions have a molecule
|
||||
ID equal to zero.
|
||||
This fix is compatible with LAMMPS packages such as MOLECULE or
|
||||
RIGID. The acid and base particles can be part of larger molecules or
|
||||
rigid bodies. Free ions that are inserted to or deleted from the system
|
||||
must be defined as single particles (no bonded interactions allowed) and
|
||||
cannot be part of larger molecules or rigid bodies. If an atom style
|
||||
with molecule IDs is used, all inserted ions have a molecule ID equal to
|
||||
zero.
|
||||
|
||||
Note that LAMMPS implicitly assumes a constant number of particles
|
||||
(degrees of freedom). Since using this fix alters the total number of
|
||||
@ -164,14 +175,15 @@ Langevin thermostat:
|
||||
fix fT all langevin 1.0 1.0 1.0 123
|
||||
fix_modify fT temp dtemp
|
||||
|
||||
The units of pH, pKa, pKb, pIp, pIm are considered to be in the standard -log10
|
||||
representation assuming reference concentration :math:`\rho_0 =
|
||||
\mathrm{mol}/\mathrm{l}`. For example, in the dilute
|
||||
The units of pH, pKa, pKb, pIp, pIm are considered to be in the
|
||||
standard -log10 representation assuming reference concentration
|
||||
:math:`\rho_0 = \mathrm{mol}/\mathrm{l}`. For example, in the dilute
|
||||
ideal solution limit, the concentration of free cations will be
|
||||
:math:`c_\mathrm{I} = 10^{-\mathrm{pIp}}\mathrm{mol}/\mathrm{l}`. To perform the internal unit
|
||||
conversion, the the value of the LAMMPS unit length must be
|
||||
specified in nanometers via *lunit_nm*. The default value is set to the Bjerrum length in water
|
||||
at room temperature (0.71 nm), *lunit_nm* = 0.71.
|
||||
:math:`c_\mathrm{I} = 10^{-\mathrm{pIp}}\mathrm{mol}/\mathrm{l}`. To
|
||||
perform the internal unit conversion, the the value of the LAMMPS unit
|
||||
length must be specified in nanometers via *lunit_nm*. The default value
|
||||
is set to the Bjerrum length in water at room temperature (0.71 nm),
|
||||
*lunit_nm* = 0.71.
|
||||
|
||||
The temperature used in MC acceptance probability is set by *temp*. This
|
||||
temperature should be the same as the temperature set by the molecular
|
||||
@ -236,9 +248,9 @@ quantities:
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This fix is part of the MC package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
This fix is part of the MC package. It is only enabled if LAMMPS was
|
||||
built with that package. See the :doc:`Build package <Build_package>`
|
||||
page for more info.
|
||||
|
||||
The :doc:`atom_style <atom_style>`, used must contain the charge
|
||||
property, for example, the style could be *charge* or *full*. Only
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
.. index:: fix dt/reset
|
||||
.. index:: fix dt/reset/kk
|
||||
|
||||
fix dt/reset command
|
||||
====================
|
||||
|
||||
@ -125,7 +125,7 @@ usually modelled as a Gaussian distribution to make the charge-charge
|
||||
interaction matrix invertible (:ref:`Gingrich <Gingrich>`). The keyword
|
||||
*eta* specifies the distribution's width in units of inverse length.
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
Three algorithms are available to minimize the energy, varying in how
|
||||
matrices are pre-calculated before a run to provide computational
|
||||
@ -234,7 +234,7 @@ issue an error with any other number of electrodes. This keyword
|
||||
requires electroneutrality to be imposed (*symm on*) and will issue an
|
||||
error otherwise.
|
||||
|
||||
.. versionchanged:: TBD
|
||||
.. versionchanged:: 22Dec2022
|
||||
|
||||
For all versions of the fix, the keyword-value *etypes on* enables
|
||||
type-based optimized neighbor lists. With this feature enabled, LAMMPS
|
||||
|
||||
@ -44,7 +44,7 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
This command allows to carry out parallel hybrid molecular
|
||||
dynamics/Monte Carlo (MD/MC) simulations using the algorithms described
|
||||
|
||||
@ -183,29 +183,32 @@ embedded within a larger continuum representation of the electronic
|
||||
subsystem.
|
||||
|
||||
The *set* keyword specifies a *Tinit* temperature value to initialize
|
||||
the value stored on all grid points.
|
||||
the value stored on all grid points. By default the temperatures
|
||||
are all zero when the grid is created.
|
||||
|
||||
The *infile* keyword specifies an input file of electronic temperatures
|
||||
for each grid point to be read in to initialize the grid. By default
|
||||
the temperatures are all zero when the grid is created. The input file
|
||||
is a text file which may have comments starting with the '#' character.
|
||||
Each line contains four numeric columns: ix,iy,iz,Temperature. Empty
|
||||
or comment-only lines will be ignored. The
|
||||
number of lines must be equal to the number of user-specified grid
|
||||
points (Nx by Ny by Nz). The ix,iy,iz are grid point indices ranging
|
||||
from 0 to nxnodes-1 inclusive in each dimension. The lines can appear
|
||||
in any order. For example, the initial electronic temperatures on a 1
|
||||
by 2 by 3 grid could be specified in the file as follows:
|
||||
for each grid point to be read in to initialize the grid, as an alternative
|
||||
to using the *set* keyword.
|
||||
|
||||
The input file is a text file which may have comments starting with
|
||||
the '#' character. Each line contains four numeric columns:
|
||||
ix,iy,iz,Temperature. Empty or comment-only lines will be
|
||||
ignored. The number of lines must be equal to the number of
|
||||
user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are grid
|
||||
point indices ranging from 1 to Nxyz inclusive in each dimension. The
|
||||
lines can appear in any order. For example, the initial electronic
|
||||
temperatures on a 1 by 2 by 3 grid could be specified in the file as
|
||||
follows:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
# UNITS: metal COMMENT: initial electron temperature
|
||||
0 0 0 1.0
|
||||
0 0 1 1.0
|
||||
0 0 2 1.0
|
||||
0 1 0 2.0
|
||||
0 1 1 2.0
|
||||
0 1 2 2.0
|
||||
1 1 1 1.0
|
||||
1 1 2 1.0
|
||||
1 1 3 1.0
|
||||
1 2 1 2.0
|
||||
1 2 2 2.0
|
||||
1 2 3 2.0
|
||||
|
||||
where the electronic temperatures along the y=0 plane have been set to
|
||||
1.0, and the electronic temperatures along the y=1 plane have been set
|
||||
@ -223,17 +226,31 @@ units used.
|
||||
|
||||
The *outfile* keyword has 2 values. The first value *Nout* triggers
|
||||
output of the electronic temperatures for each grid point every Nout
|
||||
timesteps. The second value is the filename for output which will
|
||||
be suffixed by the timestep. The format of each output file is exactly
|
||||
timesteps. The second value is the filename for output, which will be
|
||||
suffixed by the timestep. The format of each output file is exactly
|
||||
the same as the input temperature file. It will contain a comment in
|
||||
the first line reporting the date the file was created, the LAMMPS
|
||||
units setting in use, grid size and the current timestep.
|
||||
|
||||
Note that the atomic temperature for atoms in each grid cell can also
|
||||
be computed and output by the :doc:`fix ave/chunk <fix_ave_chunk>`
|
||||
command using the :doc:`compute chunk/atom <compute_chunk_atom>`
|
||||
command to create a 3d array of chunks consistent with the grid used
|
||||
by this fix.
|
||||
.. note::
|
||||
|
||||
The fix ttm/grid command does not support the *outfile* keyword.
|
||||
Instead you can use the :doc:`dump grid <dump>` command to output
|
||||
the electronic temperature on the distributed grid to a dump file or
|
||||
the :doc:`restart <restart>` command which creates a file specific
|
||||
to this fix which the :doc:`read restart <read_restart>` command
|
||||
reads. The file has the same format as the file the *infile* option
|
||||
reads.
|
||||
|
||||
For the fix ttm and fix ttm/mod commands, the corresponding atomic
|
||||
temperature for atoms in each grid cell can be computed and output by
|
||||
the :doc:`fix ave/chunk <fix_ave_chunk>` command using the
|
||||
:doc:`compute chunk/atom <compute_chunk_atom>` command to create a 3d
|
||||
array of chunks consistent with the grid used by this fix.
|
||||
|
||||
For the fix ttm/grid command the same thing can be done using the
|
||||
:doc:`fix ave/grid <fix_ave_grid>` command and its per-grid values can
|
||||
be output via the :doc:`dump grid <dump>` command.
|
||||
|
||||
----------
|
||||
|
||||
@ -339,19 +356,25 @@ ignored. The lines with the even numbers are treated as follows:
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
These fixes write the state of the electronic subsystem and the energy
|
||||
exchange between the subsystems to :doc:`binary restart files
|
||||
<restart>`. See the :doc:`read_restart <read_restart>` command for
|
||||
info on how to re-specify a fix in an input script that reads a
|
||||
restart file, so that the operation of the fix continues in an
|
||||
uninterrupted fashion. Note that the restart script must define the
|
||||
same size grid as the original script.
|
||||
The fix ttm and fix ttm/mod commands write the state of the electronic
|
||||
subsystem and the energy exchange between the subsystems to
|
||||
:doc:`binary restart files <restart>`. The fix ttm/grid command does
|
||||
not yet support writing of its distributed grid to a restart file.
|
||||
|
||||
Because the state of the random number generator is not saved in the
|
||||
restart files, this means you cannot do "exact" restarts with this
|
||||
fix, where the simulation continues on the same as if no restart had
|
||||
taken place. However, in a statistical sense, a restarted simulation
|
||||
should produce the same behavior.
|
||||
See the :doc:`read_restart <read_restart>` command for info on how to
|
||||
re-specify a fix in an input script that reads a restart file, so that
|
||||
the operation of the fix continues in an uninterrupted fashion. Note
|
||||
that the restart script must define the same size grid as the original
|
||||
script.
|
||||
|
||||
The fix ttm/grid command also outputs an auxiliary file each time a
|
||||
restart file is written, with the electron temperatures for each grid
|
||||
cell. The format of this file is the same as that read by the
|
||||
*infile* option explained above. The filename is the same as the
|
||||
restart filename with ".ttm" appended. This auxiliary file can be
|
||||
read in for a restarted run by using the *infile* option for the fix
|
||||
ttm/grid command, following the :doc:`read_restart <read_restart>`
|
||||
command.
|
||||
|
||||
None of the :doc:`fix_modify <fix_modify>` options are relevant to
|
||||
these fixes.
|
||||
@ -371,6 +394,14 @@ electronic subsystem energies reported at the end of the timestep.
|
||||
|
||||
The vector values calculated are "extensive".
|
||||
|
||||
The fix ttm/grid command also outputs a per-grid vector which stores
|
||||
the electron temperature for each grid cell in temperature :doc:`units
|
||||
<units>`. which can be accessed by various :doc:`output commands
|
||||
<Howto_output>`. The length of the vector (distributed across all
|
||||
processors) is Nx * Ny * Nz. For access by other commands, the name
|
||||
of the single grid produced by fix ttm/grid is "grid". The name of
|
||||
its per-grid data is "data".
|
||||
|
||||
No parameter of the fixes can be used with the *start/stop* keywords
|
||||
of the :doc:`run <run>` command. The fixes are not invoked during
|
||||
:doc:`energy minimization <minimize>`.
|
||||
@ -385,6 +416,15 @@ package <Build_package>` page for more info.
|
||||
As mentioned above, these fixes require 3d simulations and orthogonal
|
||||
simulation boxes periodic in all 3 dimensions.
|
||||
|
||||
These fixes used a random number generator to Langevin thermostat the
|
||||
electron temperature. This means you will not get identical answers
|
||||
when running on different numbers of processors or when restarting a
|
||||
simulation (even on the same number of processors). However, in a
|
||||
statistical sense, simulations on different processor counts and
|
||||
restarted simulation should produce results which are statistically
|
||||
the same.
|
||||
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
.. index:: fix viscous
|
||||
.. index:: fix viscous/kk
|
||||
|
||||
fix viscous command
|
||||
===================
|
||||
|
||||
@ -1333,13 +1333,13 @@ For example,
|
||||
Citation of OpenKIM IMs
|
||||
"""""""""""""""""""""""
|
||||
|
||||
When publishing results obtained using OpenKIM IMs researchers are requested
|
||||
to cite the OpenKIM project :ref:`(Tadmor) <kim-mainpaper>`, KIM API
|
||||
:ref:`(Elliott) <kim-api>`, and the specific IM codes used in the simulations,
|
||||
in addition to the relevant scientific references for the IM. The citation
|
||||
format for an IM is displayed on its page on
|
||||
`OpenKIM <https://openkim.org>`_ along with the corresponding BibTex file, and
|
||||
is automatically added to the LAMMPS citation reminder.
|
||||
When publishing results obtained using OpenKIM IMs researchers are
|
||||
requested to cite the OpenKIM project :ref:`(Tadmor) <kim-mainpaper>`,
|
||||
KIM API :ref:`(Elliott) <kim-api>`, and the specific IM codes used in
|
||||
the simulations, in addition to the relevant scientific references for
|
||||
the IM. The citation format for an IM is displayed on its page on
|
||||
`OpenKIM <https://openkim.org>`_ along with the corresponding BibTex
|
||||
file, and is automatically added to the LAMMPS citation reminder.
|
||||
|
||||
Citing the IM software (KIM infrastructure and specific PM or SM codes) used in
|
||||
the simulation gives credit to the researchers who developed them and enables
|
||||
@ -1348,15 +1348,15 @@ open source efforts like OpenKIM to function.
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
The *kim* command is part of the KIM package. It is only enabled if LAMMPS is
|
||||
built with that package. A requirement for the KIM package, is the KIM API
|
||||
library that must be downloaded from the
|
||||
`OpenKIM website <https://openkim.org/kim-api/>`_ and installed before LAMMPS is
|
||||
The *kim* command is part of the KIM package. It is only enabled if
|
||||
LAMMPS is built with that package. A requirement for the KIM package,
|
||||
is the KIM API library that must be downloaded from the `OpenKIM website
|
||||
<https://openkim.org/kim-api/>`_ and installed before LAMMPS is
|
||||
compiled. When installing LAMMPS from binary, the kim-api package is a
|
||||
dependency that is automatically downloaded and installed. The *kim query*
|
||||
command requires the *libcurl* library to be installed. The *kim property*
|
||||
command requires *Python* 3.6 or later and the *kim-property* python package to
|
||||
be installed. See the KIM section of the
|
||||
dependency that is automatically downloaded and installed. The *kim
|
||||
query* command requires the *libcurl* library to be installed. The *kim
|
||||
property* command requires *Python* 3.6 or later and the *kim-property*
|
||||
python package to be installed. See the KIM section of the
|
||||
:doc:`Packages details <Packages_details>` for details.
|
||||
|
||||
Furthermore, when using *kim* command to run KIM SMs, any packages required by
|
||||
|
||||
@ -51,7 +51,6 @@ Syntax
|
||||
*slab* value = volfactor or *nozforce*
|
||||
volfactor = ratio of the total extended volume used in the
|
||||
2d approximation compared with the volume of the simulation domain
|
||||
*ew2d* EW2D correction (available with ELECTRODE package)
|
||||
*nozforce* turns off kspace forces in the z direction
|
||||
*splittol* value = tol
|
||||
tol = relative size of two eigenvalues (see discussion below)
|
||||
@ -381,18 +380,22 @@ solver is set up.
|
||||
|
||||
The *slab* keyword allows an Ewald or PPPM solver to be used for a
|
||||
systems that are periodic in x,y but non-periodic in z - a
|
||||
:doc:`boundary <boundary>` setting of "boundary p p f". This is done by
|
||||
treating the system as if it were periodic in z, but inserting empty
|
||||
volume between atom slabs and removing dipole inter-slab interactions
|
||||
so that slab-slab interactions are effectively turned off. The
|
||||
volfactor value sets the ratio of the extended dimension in z divided
|
||||
by the actual dimension in z. The recommended value is 3.0. A larger
|
||||
value is inefficient; a smaller value introduces unwanted slab-slab
|
||||
:doc:`boundary <boundary>` setting of "boundary p p f". This is done
|
||||
by treating the system as if it were periodic in z, but inserting
|
||||
empty volume between atom slabs and removing dipole inter-slab
|
||||
interactions so that slab-slab interactions are effectively turned
|
||||
off. The volfactor value sets the ratio of the extended dimension in
|
||||
z divided by the actual dimension in z. It must be a value >= 1.0. A
|
||||
value of 1.0 (the default) means the slab approximation is not used.
|
||||
|
||||
The recommended value for volfactor is 3.0. A larger value is
|
||||
inefficient; a smaller value introduces unwanted slab-slab
|
||||
interactions. The use of fixed boundaries in z means that the user
|
||||
must prevent particle migration beyond the initial z-bounds, typically
|
||||
by providing a wall-style fix. The methodology behind the *slab*
|
||||
option is explained in the paper by :ref:`(Yeh) <Yeh>`. The *slab* option
|
||||
is also extended to non-neutral systems :ref:`(Ballenegger) <Ballenegger>`.
|
||||
option is explained in the paper by :ref:`(Yeh) <Yeh>`. The *slab*
|
||||
option is also extended to non-neutral systems :ref:`(Ballenegger)
|
||||
<Ballenegger>`.
|
||||
|
||||
An alternative slab option can be invoked with the *nozforce* keyword
|
||||
in lieu of the volfactor. This turns off all kspace forces in the z
|
||||
@ -402,8 +405,8 @@ boundaries can be set using :doc:`boundary <boundary>` (the slab
|
||||
approximation in not needed). The *slab* keyword is not currently
|
||||
supported by Ewald or PPPM when using a triclinic simulation cell. The
|
||||
slab correction has also been extended to point dipole interactions
|
||||
:ref:`(Klapp) <Klapp>` in :doc:`kspace_style <kspace_style>` *ewald/disp*,
|
||||
*ewald/dipole*, and *pppm/dipole*\ .
|
||||
:ref:`(Klapp) <Klapp>` in :doc:`kspace_style <kspace_style>`
|
||||
*ewald/disp*, *ewald/dipole*, and *pppm/dipole*\ .
|
||||
|
||||
.. note::
|
||||
|
||||
@ -448,15 +451,32 @@ Related commands
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp =
|
||||
5 (PPPM), order = 10 (MSM), minorder = 2, overlap = yes, force = -1.0,
|
||||
gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust =
|
||||
yes (MSM), pressure/scalar = yes (MSM), fftbench = no (PPPM), diff =
|
||||
ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace
|
||||
= -1.0, split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel,
|
||||
order = order/disp = 7. For scafacos settings, the scafacos tolerance
|
||||
option depends on the method chosen, as documented above. The
|
||||
scafacos fmm_tuning default = 0.
|
||||
The option defaults are as follows:
|
||||
|
||||
* compute = yes
|
||||
* cutoff/adjust = yes (MSM)
|
||||
* diff = ik (PPPM)
|
||||
* disp/auto = no
|
||||
* fftbench = no (PPPM)
|
||||
* force = -1.0,
|
||||
* force/disp/kspace = -1.0
|
||||
* force/disp/real = -1.0
|
||||
* gewald = gewald/disp = 0.0
|
||||
* mesh = mesh/disp = 0 0 0
|
||||
* minorder = 2
|
||||
* mix/disp = pair
|
||||
* order = 10 (MSM)
|
||||
* order = order/disp = 5 (PPPM)
|
||||
* order = order/disp = 7 (PPPM/intel)
|
||||
* overlap = yes
|
||||
* pressure/scalar = yes (MSM)
|
||||
* slab = 1.0
|
||||
* split = 0
|
||||
* tol = 1.0e-6
|
||||
|
||||
For scafacos settings, the scafacos tolerance option depends on the
|
||||
method chosen, as documented above. The scafacos fmm_tuning default
|
||||
= 0.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -115,10 +115,10 @@ each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command
|
||||
as in the examples above:
|
||||
|
||||
* A (force units)
|
||||
* :math:`\gamma_{\perp}` (force/velocity units)
|
||||
* :math:`\gamma_{\parallel}` (force/velocity units)
|
||||
* :math:`s_{\perp}` (unitless)
|
||||
* :math:`\gamma_{\perp}` (force/velocity units)
|
||||
* :math:`s_{\parallel}` (unitless)
|
||||
* :math:`s_{\perp}` (unitless)
|
||||
* :math:`r_c` (distance units)
|
||||
|
||||
The last coefficient is optional. If not specified, the global DPD
|
||||
|
||||
@ -21,7 +21,7 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
Pair style *pod* defines the proper orthogonal descriptor (POD)
|
||||
potential :ref:`(Nguyen) <Nguyen20221>`. The mathematical definition of
|
||||
|
||||
@ -129,7 +129,7 @@ The first argument of the *python* command is either the *source*
|
||||
keyword or the name of a Python function. This defines the mode
|
||||
of the python command.
|
||||
|
||||
.. versionchanged:: TBD
|
||||
.. versionchanged:: 22Dec2022
|
||||
|
||||
If the *source* keyword is used, it is followed by either a file name or
|
||||
the *here* keyword. No other keywords can be used. The *here* keyword
|
||||
|
||||
@ -8,7 +8,7 @@ Syntax
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
read_restart file flag
|
||||
read_restart file
|
||||
|
||||
* file = name of binary restart file to read in
|
||||
|
||||
@ -37,6 +37,13 @@ processors in the current simulation and the settings of the
|
||||
changed by the :doc:`balance <balance>` or :doc:`fix balance
|
||||
<fix_balance>` commands.
|
||||
|
||||
.. deprecated:: 23Jun2022
|
||||
|
||||
Atom coordinates that are found to be outside the simulation box when
|
||||
reading the restart will be remapped back into the box and their image
|
||||
flags updated accordingly. This previously required specifying the
|
||||
*remap* option, but that is no longer required.
|
||||
|
||||
Restart files are saved in binary format to enable exact restarts,
|
||||
meaning that the trajectories of a restarted run will precisely match
|
||||
those produced by the original run had it continued on.
|
||||
|
||||
@ -192,13 +192,12 @@ calculated which saves time. The :doc:`comm_modify cutoff
|
||||
acquired from far enough away for operations like bond and angle
|
||||
evaluations, if no pair style is being used.
|
||||
|
||||
Every time a snapshot is read, the timestep for the simulation is
|
||||
reset, as if the :doc:`reset_timestep <reset_timestep>` command were
|
||||
used. This command has some restrictions as to what fixes can be
|
||||
defined. See its page for details. For example, the :doc:`fix
|
||||
deposit <fix_deposit>` and :doc:`fix dt/reset <fix_dt_reset>` fixes
|
||||
are in this category. They also make no sense to use with a rerun
|
||||
command.
|
||||
Every time a snapshot is read, the timestep for the simulation is reset,
|
||||
as if the :doc:`reset_timestep <reset_timestep>` command were used.
|
||||
This command has some restrictions as to what fixes can be defined. See
|
||||
its documentation page for details. For example, the :doc:`fix deposit
|
||||
<fix_deposit>` and :doc:`fix dt/reset <fix_dt_reset>` fixes are in this
|
||||
category. They also make no sense to use with a rerun command.
|
||||
|
||||
If time-averaging fixes like :doc:`fix ave/time <fix_ave_time>` are
|
||||
used, they are invoked on timesteps that are a function of their
|
||||
|
||||
@ -63,7 +63,7 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
The *reset_atoms* command resets the values of a specified atom
|
||||
property. In contrast to the set command, it does this in a
|
||||
|
||||
@ -154,7 +154,8 @@ temperature using a compute that is defined internally as follows:
|
||||
|
||||
where group-ID is the same ID used in the velocity command. i.e. the
|
||||
group of atoms whose velocity is being altered. This compute is
|
||||
deleted when the velocity command is finished. See the :doc:`compute temp <compute_temp>` command for details. If the calculated
|
||||
deleted when the velocity command is finished. See the :doc:`compute
|
||||
temp <compute_temp>` command for details. If the calculated
|
||||
temperature should have degrees-of-freedom removed due to fix
|
||||
constraints (e.g. SHAKE or rigid-body constraints), then the
|
||||
appropriate fix command must be specified before the velocity command
|
||||
@ -163,13 +164,13 @@ is issued.
|
||||
The *bias* keyword with a *yes* setting is used by *create* and
|
||||
*scale*, but only if the *temp* keyword is also used to specify a
|
||||
:doc:`compute <compute>` that calculates temperature in a desired way.
|
||||
If the temperature compute also calculates a velocity bias, the
|
||||
bias is subtracted from atom velocities before the *create* and
|
||||
*scale* operations are performed. After the operations, the bias is
|
||||
added back to the atom velocities. See the :doc:`Howto thermostat <Howto_thermostat>` page for more discussion of
|
||||
temperature computes with biases. Note that the velocity bias is only
|
||||
applied to atoms in the temperature compute specified with the *temp*
|
||||
keyword.
|
||||
If the temperature compute also calculates a velocity bias, the bias
|
||||
is subtracted from atom velocities before the *create* and *scale*
|
||||
operations are performed. After the operations, the bias is added
|
||||
back to the atom velocities. See the :doc:`Howto thermostat
|
||||
<Howto_thermostat>` page for more discussion of temperature computes
|
||||
with biases. Note that the velocity bias is only applied to atoms in
|
||||
the temperature compute specified with the *temp* keyword.
|
||||
|
||||
As an example, assume atoms are currently streaming in a flow
|
||||
direction (which could be separately initialized with the *ramp*
|
||||
@ -218,7 +219,8 @@ coordinate as stored on a particular machine.
|
||||
----------
|
||||
|
||||
The *rigid* keyword only has meaning when used with the *zero* style.
|
||||
It allows specification of a fix-ID for one of the :doc:`rigid-body fix <fix_rigid>` variants which defines a set of rigid bodies. The
|
||||
It allows specification of a fix-ID for one of the :doc:`rigid-body
|
||||
fix <fix_rigid>` variants which defines a set of rigid bodies. The
|
||||
zeroing of linear or angular momentum is then performed for each rigid
|
||||
body defined by the fix, as described above.
|
||||
|
||||
@ -235,16 +237,18 @@ command must have been previously used to define the lattice spacing.
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
Assigning a temperature via the *create* style to a system with :doc:`rigid bodies <fix_rigid>` or :doc:`SHAKE constraints <fix_shake>` may not
|
||||
have the desired outcome for two reasons. First, the velocity command
|
||||
can be invoked before all of the relevant fixes are created and
|
||||
initialized and the number of adjusted degrees of freedom (DOFs) is
|
||||
known. Thus it is not possible to compute the target temperature
|
||||
correctly. Second, the assigned velocities may be partially canceled
|
||||
when constraints are first enforced, leading to a different
|
||||
temperature than desired. A workaround for this is to perform a :doc:`run 0 <run>` command, which insures all DOFs are accounted for
|
||||
properly, and then rescale the temperature to the desired value before
|
||||
performing a simulation. For example:
|
||||
Assigning a temperature via the *create* style to a system with
|
||||
:doc:`rigid bodies <fix_rigid>` or :doc:`SHAKE constraints
|
||||
<fix_shake>` may not have the desired outcome for two reasons. First,
|
||||
the velocity command can be invoked before all of the relevant fixes
|
||||
are created and initialized and the number of adjusted degrees of
|
||||
freedom (DOFs) is known. Thus it is not possible to compute the
|
||||
target temperature correctly. Second, the assigned velocities may be
|
||||
partially canceled when constraints are first enforced, leading to a
|
||||
different temperature than desired. A workaround for this is to
|
||||
perform a :doc:`run 0 <run>` command, which insures all DOFs are
|
||||
accounted for properly, and then rescale the temperature to the
|
||||
desired value before performing a simulation. For example:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
|
||||
@ -414,6 +414,7 @@ cdennist
|
||||
cdof
|
||||
ceil
|
||||
Ceil
|
||||
cekk
|
||||
centerline
|
||||
centro
|
||||
centroid
|
||||
@ -473,6 +474,7 @@ Cij
|
||||
cis
|
||||
civ
|
||||
CKD
|
||||
ckk
|
||||
Clang
|
||||
clearstore
|
||||
Cleary
|
||||
@ -562,6 +564,8 @@ Coulombic
|
||||
Coulombics
|
||||
counterion
|
||||
counterions
|
||||
CountI
|
||||
CountN
|
||||
Courant
|
||||
covalent
|
||||
covalently
|
||||
@ -779,6 +783,7 @@ dmax
|
||||
Dmax
|
||||
dmg
|
||||
dmi
|
||||
dname
|
||||
dnf
|
||||
DNi
|
||||
Dobnikar
|
||||
@ -1253,10 +1258,12 @@ Glosli
|
||||
Glotzer
|
||||
gmail
|
||||
gmake
|
||||
gmap
|
||||
gmask
|
||||
Gmask
|
||||
GMock
|
||||
gmres
|
||||
gname
|
||||
gneb
|
||||
GNEB
|
||||
Goldfarb
|
||||
@ -1452,6 +1459,7 @@ ieni
|
||||
ifdefs
|
||||
iff
|
||||
ifort
|
||||
ihi
|
||||
Ihle
|
||||
ij
|
||||
ijk
|
||||
@ -1462,6 +1470,7 @@ ilabel
|
||||
Ilie
|
||||
ilmenau
|
||||
Ilmenau
|
||||
ilo
|
||||
ilp
|
||||
Ilya
|
||||
im
|
||||
@ -1566,6 +1575,8 @@ Iw
|
||||
Iwers
|
||||
iwyu
|
||||
ixcm
|
||||
ixhi
|
||||
ixlo
|
||||
ixx
|
||||
Ixx
|
||||
ixy
|
||||
@ -2413,6 +2424,7 @@ nlen
|
||||
Nlimit
|
||||
nlines
|
||||
Nlines
|
||||
nlist
|
||||
nlo
|
||||
nlocal
|
||||
Nlocal
|
||||
@ -2544,11 +2556,15 @@ Nwait
|
||||
nwchem
|
||||
nx
|
||||
Nx
|
||||
nxlo
|
||||
nxnodes
|
||||
Nxyz
|
||||
ny
|
||||
Ny
|
||||
nylo
|
||||
nz
|
||||
Nz
|
||||
nzlo
|
||||
ocl
|
||||
octahedral
|
||||
octants
|
||||
@ -2618,6 +2634,8 @@ overlayed
|
||||
Ovito
|
||||
oxdna
|
||||
oxDNA
|
||||
oxhi
|
||||
oxlo
|
||||
oxrna
|
||||
oxRNA
|
||||
packings
|
||||
@ -2686,6 +2704,7 @@ Peng
|
||||
peptide
|
||||
peratom
|
||||
Pergamon
|
||||
pergrid
|
||||
peri
|
||||
peridynamic
|
||||
Peridynamic
|
||||
@ -3407,6 +3426,8 @@ Sugaku
|
||||
Suhai
|
||||
Sukumaran
|
||||
Sulc
|
||||
SumI
|
||||
SumN
|
||||
sumsq
|
||||
Sunderland
|
||||
supercell
|
||||
@ -3887,6 +3908,7 @@ xa
|
||||
xAVX
|
||||
xb
|
||||
Xc
|
||||
xc
|
||||
xcm
|
||||
Xcm
|
||||
Xcode
|
||||
@ -3918,6 +3940,7 @@ xplane
|
||||
XPlor
|
||||
xrd
|
||||
xs
|
||||
xsc
|
||||
xstk
|
||||
xsu
|
||||
xtc
|
||||
@ -3941,6 +3964,7 @@ Yazdani
|
||||
Ybar
|
||||
ybox
|
||||
Yc
|
||||
yc
|
||||
ycm
|
||||
Yeh
|
||||
yellowgreen
|
||||
@ -3957,6 +3981,7 @@ ymin
|
||||
yml
|
||||
Yoshida
|
||||
ys
|
||||
ysc
|
||||
ysu
|
||||
yu
|
||||
Yu
|
||||
@ -3974,6 +3999,7 @@ Zavattieri
|
||||
zbl
|
||||
ZBL
|
||||
Zc
|
||||
zc
|
||||
zcm
|
||||
zeeman
|
||||
Zeeman
|
||||
@ -4001,6 +4027,7 @@ zmin
|
||||
zmq
|
||||
zN
|
||||
zs
|
||||
zsc
|
||||
zst
|
||||
Zstandard
|
||||
zstd
|
||||
|
||||
@ -199,7 +199,7 @@ int liblammpsplugin_release(liblammpsplugin_t *lmp)
|
||||
if (lmp->handle == NULL) return 2;
|
||||
|
||||
#ifdef _WIN32
|
||||
FreeLibrary((HINSTANCE) handle);
|
||||
FreeLibrary((HINSTANCE) lmp->handle);
|
||||
#else
|
||||
dlclose(lmp->handle);
|
||||
#endif
|
||||
|
||||
@ -1,63 +0,0 @@
|
||||
DATE: 2012-02-01 CONTRIBUTOR: Alexander Stukowski, stukowski@mm.tu-darmstadt.de CITATION: Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter and Kress, Modell Simul Mater Sci Eng, 8, 825 (2000) COMMENT: Spline-based MEAM potential for Si. Reference: T. J. Lenosky, B. Sadigh, E. Alonso, V. V. Bulatov, T. D. de la Rubia, J. Kim, A. F. Voter, and J. D. Kress, Modell. Simul. Mater. Sci. Eng. 8, 825 (2000)
|
||||
10
|
||||
-4.266966781858503300e+01 0.000000000000000000e+00
|
||||
1 0 1 0
|
||||
1.500000000000000000e+00 6.929943430771341000e+00 1.653321602557917600e+02
|
||||
1.833333333333333300e+00 -4.399503747408950400e-01 3.941543472528634600e+01
|
||||
2.166666666666666500e+00 -1.701233725061446700e+00 6.871065423413908100e+00
|
||||
2.500000000000000000e+00 -1.624732919215791800e+00 5.340648014033163800e+00
|
||||
2.833333333333333000e+00 -9.969641728342462100e-01 1.534811309391571000e+00
|
||||
3.166666666666667000e+00 -2.739141845072665100e-01 -6.334706186546093900e+00
|
||||
3.500000000000000000e+00 -2.499156963774082700e-02 -1.798864729909626500e+00
|
||||
3.833333333333333500e+00 -1.784331481529976400e-02 4.743496636420091500e-01
|
||||
4.166666666666666100e+00 -9.612303290166881000e-03 -4.006506271304824400e-02
|
||||
4.500000000000000000e+00 0.000000000000000000e+00 -2.394996574779807200e-01
|
||||
11
|
||||
-1.000000000000000000e+00 0.000000000000000000e+00
|
||||
1 0 0 0
|
||||
1.500000000000000000e+00 1.374674212682983900e-01 -3.227795813279568500e+00
|
||||
1.700000000000000000e+00 -1.483141815327918000e-01 -6.411648793604404900e+00
|
||||
1.899999999999999900e+00 -5.597204896096039700e-01 1.003068519633888300e+01
|
||||
2.100000000000000100e+00 -7.310964379372824100e-01 2.293461970618954700e+00
|
||||
2.299999999999999800e+00 -7.628287071954063000e-01 1.742018781618444500e+00
|
||||
2.500000000000000000e+00 -7.291769685066557000e-01 5.460640949384478700e-01
|
||||
2.700000000000000200e+00 -6.662022220044453400e-01 4.721760106467195500e-01
|
||||
2.899999999999999900e+00 -5.732830582550895200e-01 2.056894449546524200e+00
|
||||
3.100000000000000100e+00 -4.069014309729406300e-01 2.319615721086100800e+00
|
||||
3.299999999999999800e+00 -1.666155295956388300e-01 -2.497162196179187900e-01
|
||||
3.500000000000000000e+00 0.000000000000000000e+00 -1.237130660986393100e+01
|
||||
8
|
||||
7.351364478015182100e-01 6.165217237728655200e-01
|
||||
1 1 1 1
|
||||
-1.770934559908718700e+00 -1.074925682941420000e+00 -1.482768170233858500e-01
|
||||
-3.881557649503457600e-01 -2.004503493658201000e-01 -1.492100354067345500e-01
|
||||
9.946230300080272100e-01 4.142241371345077300e-01 -7.012475119623896900e-02
|
||||
2.377401824966400000e+00 8.793892953828742500e-01 -3.944355024164965900e-02
|
||||
3.760180619924772900e+00 1.266888024536562100e+00 -1.581431192239436000e-02
|
||||
5.142959414883146800e+00 1.629979548834614900e+00 2.611224310900800400e-02
|
||||
6.525738209841518900e+00 1.977379549636293600e+00 -1.378738550324104500e-01
|
||||
7.908517004799891800e+00 2.396177220616657200e+00 7.494253977092666400e-01
|
||||
10
|
||||
-3.618936018538757300e+00 0.000000000000000000e+00
|
||||
1 0 1 0
|
||||
1.500000000000000000e+00 1.250311510312851300e+00 2.790400588857243500e+01
|
||||
1.722222222222222300e+00 8.682060369372680600e-01 -4.522554291731776900e+00
|
||||
1.944444444444444400e+00 6.084604017544847900e-01 5.052931618779816800e+00
|
||||
2.166666666666666500e+00 4.875624808097850400e-01 1.180825096539679600e+00
|
||||
2.388888888888888800e+00 4.416345603457190700e-01 -6.673769465415171400e-01
|
||||
2.611111111111111200e+00 3.760976313325982700e-01 -8.938118490837722000e-01
|
||||
2.833333333333333000e+00 2.714524157414608400e-01 -5.090324763524399800e-01
|
||||
3.055555555555555400e+00 1.481440300150710900e-01 6.623665830603995300e-01
|
||||
3.277777777777777700e+00 4.854596610856590900e-02 7.403702452268122700e-01
|
||||
3.500000000000000000e+00 0.000000000000000000e+00 2.578982318481970500e+00
|
||||
8
|
||||
-1.395041572145673000e+01 1.134616739799360700e+00
|
||||
1 1 1 1
|
||||
-1.000000000000000900e+00 5.254163992149617700e+00 1.582685381253900500e+01
|
||||
-7.428367052748285900e-01 2.359149452448745100e+00 3.117611233789983400e+01
|
||||
-4.856734105496561800e-01 1.195946960915646100e+00 1.658962813584905800e+01
|
||||
-2.285101158244838800e-01 1.229952028074150000e+00 1.108360928564026400e+01
|
||||
2.865317890068852500e-02 2.035650777568434500e+00 9.088861456447702400e+00
|
||||
2.858164736258610400e-01 3.424741418405580000e+00 5.489943377538379500e+00
|
||||
5.429797683510331200e-01 4.948585892304984100e+00 -1.882291580187675700e+01
|
||||
8.001430630762056400e-01 5.617988713941801200e+00 -7.718625571850646200e+00
|
||||
1
examples/PACKAGES/meam_spline/Si_1.meam.spline
Symbolic link
1
examples/PACKAGES/meam_spline/Si_1.meam.spline
Symbolic link
@ -0,0 +1 @@
|
||||
../../../potentials/Si_1.meam.spline
|
||||
@ -1,130 +0,0 @@
|
||||
# Ti-O cubic spline potential where O is in the dilute limit. DATE: 2016-06-05 CONTRIBUTOR: Pinchao Zhang, Dallas R. Trinkle
|
||||
meam/spline 2 Ti O
|
||||
spline3eq
|
||||
13
|
||||
-20 0
|
||||
1.742692837 3.744277175966 99.4865081627958
|
||||
2.05580176725 0.910839730906 10.8702523265355
|
||||
2.3689106975 0.388045896634 -1.55322418749562
|
||||
2.68201962775 -0.018840906533 2.43630041329215
|
||||
2.995128558 -0.248098929639 2.67912713976835
|
||||
3.30823748825 -0.264489550297 -0.125056384603077
|
||||
3.6213464185 -0.227196189283 1.10662555360438
|
||||
3.93445534875 -0.129293090176 -0.592053676745914
|
||||
4.247564279 -0.059685366933 -0.470123414607672
|
||||
4.56067320925 -0.031100025561 -0.0380739973059663
|
||||
4.8737821395 -0.013847363202 -0.0711547960695406
|
||||
5.18689106975 -0.003203412728 -0.081768292420175
|
||||
5.5 0 -0.0571422964883619
|
||||
spline3eq
|
||||
5
|
||||
0.155001355787331 0
|
||||
1.9 0.533321679606674 0
|
||||
2.8 0.456402081843862 -1.60311717015859
|
||||
3.7 -0.324281383502201 1.19940299483249
|
||||
4.6 -0.474029826906675 1.47909794595154
|
||||
5.5 0 -2.49521499855605
|
||||
spline3eq
|
||||
13
|
||||
0 0
|
||||
1.742692837 0 0
|
||||
2.05580176725 0 0
|
||||
2.3689106975 0 0
|
||||
2.68201962775 0 0
|
||||
2.995128558 0 0
|
||||
3.30823748825 0 0
|
||||
3.6213464185 0 0
|
||||
3.93445534875 0 0
|
||||
4.247564279 0 0
|
||||
4.56067320925 0 0
|
||||
4.8737821395 0 0
|
||||
5.18689106975 0 0
|
||||
5.5 0 0
|
||||
spline3eq
|
||||
11
|
||||
-1 0
|
||||
2.055801767 1.7475279661 -525.869786904802
|
||||
2.2912215903 -5.8677963945 252.796316927755
|
||||
2.5266414136 -8.3376288737 71.7318388721015
|
||||
2.7620612369 -5.8398712842 -1.93587742753693
|
||||
2.9974810602 -3.1140648231 -39.2999192667503
|
||||
3.2329008835 -1.7257245065 14.3424136002004
|
||||
3.4683207068 -0.4428977017 -29.4925534559498
|
||||
3.7037405301 -0.1466643003 -3.18010534572236
|
||||
3.9391603534 -0.2095507945 3.33490838803603
|
||||
4.1745801767 -0.1442384563 3.71918691359508
|
||||
4.41 0 -9.66717019857564
|
||||
spline3eq
|
||||
5
|
||||
-61.9827585211652 0
|
||||
1.9 11.2293641315584 0
|
||||
2.8 -27.9976343076148 122.648031332411
|
||||
3.7 -8.32979773113248 -54.3340881766381
|
||||
4.6 -1.00863195297399 3.23150064581724
|
||||
5.5 0 -5.3514242228123
|
||||
spline3eq
|
||||
4
|
||||
0.00776934946045395 0.105197706160344
|
||||
-55.14233165 -0.29745568008 0.00152870603877451
|
||||
-44.7409899033333 -0.15449458722 0.00038933722543571
|
||||
-34.3396481566667 0.05098657168 0.00038124926922248
|
||||
-23.93830641 0.57342694704 0.0156639264890892
|
||||
spline3eq
|
||||
5
|
||||
-0.00676745157022662 -0.0159520381982146
|
||||
-23.9928 0.297607384684645 0
|
||||
-15.9241175 0.216691597077105 -0.0024248755353942
|
||||
-7.855435 0.0637598673719069 0.00306245895013358
|
||||
0.213247499999998 -0.00183450621970427 -0.00177588407633909
|
||||
8.28193 -0.111277018874367 0
|
||||
spline3eq
|
||||
10
|
||||
2.77327511656661 0
|
||||
2.055801767 -0.1485215264 72.2010867146919
|
||||
2.31737934844444 1.6845304918 -47.2744689053404
|
||||
2.57895692988889 2.0113365977 -15.1859578405326
|
||||
2.84053451133333 1.1444092747 3.33978204841873
|
||||
3.10211209277778 0.2861606803 2.587867603808
|
||||
3.36368967422222 -0.3459281126 6.14070694084556
|
||||
3.62526725566667 -0.6257480601 3.7397696717154
|
||||
3.88684483711111 -0.6119510826 4.64749084871402
|
||||
4.14842241855556 -0.3112059651 2.83275746415936
|
||||
4.41 0 -15.0612086827734
|
||||
spline3eq
|
||||
5
|
||||
12.3315547862781 0
|
||||
1.9 2.62105440156724 0
|
||||
2.8 10.2850803058354 -25.439802988016
|
||||
3.7 3.23933763743897 -7.20203673434025
|
||||
4.6 -5.79049355858613 39.5509978688682
|
||||
5.5 0 -41.221771373642
|
||||
spline3eq
|
||||
8
|
||||
8.33642274810572 -60.4024574736564
|
||||
-1 0.07651409193 -110.652321293778
|
||||
-0.724509054371429 0.14155824541 44.8853405500508
|
||||
-0.449018108742857 0.75788697341 -25.3065115342002
|
||||
-0.173527163114286 0.63011570378 -2.48510144915082
|
||||
0.101963782514286 0.09049597305 2.68769386908235
|
||||
0.377454728142857 -0.35741586657 -1.01558570129633
|
||||
0.652945673771428 -0.65293217647 13.4224786001212
|
||||
0.9284366194 -6.00912190653 -452.752542694929
|
||||
spline3eq
|
||||
5
|
||||
0.137191606537625 -1.55094230968985
|
||||
-1 0.0513843442016519 0
|
||||
-0.5 0.0179024412245673 -2.44986494990154
|
||||
0 -0.260650876879273 3.91774583656401
|
||||
0.5 -0.190163791764901 -4.84414871911743
|
||||
1 -0.763795416646599 0
|
||||
spline3eq
|
||||
8
|
||||
0 0
|
||||
-1 0 0
|
||||
-0.724509054371429 0 0
|
||||
-0.449018108742857 0 0
|
||||
-0.173527163114286 0 0
|
||||
0.101963782514286 0 0
|
||||
0.377454728142857 0 0
|
||||
0.652945673771428 0 0
|
||||
0.9284366194 0 0
|
||||
1
examples/PACKAGES/meam_spline/TiO.meam.spline
Symbolic link
1
examples/PACKAGES/meam_spline/TiO.meam.spline
Symbolic link
@ -0,0 +1 @@
|
||||
../../../potentials/TiO.meam.spline
|
||||
@ -0,0 +1,91 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 3.98
|
||||
Lattice spacing in x,y,z = 3.98 3.98 3.98
|
||||
region box block 0 5 0 5 0 5
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (19.9 19.9 19.9)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (19.9 19.9 19.9)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/spline
|
||||
pair_coeff * * Si_1.meam.spline Si
|
||||
Reading meam/spline potential file Si_1.meam.spline with DATE: 2012-02-01
|
||||
mass * 28.085
|
||||
|
||||
velocity all create 500.0 44226611
|
||||
|
||||
fix 1 all nvt temp 500.0 500.0 1.0
|
||||
|
||||
thermo 50
|
||||
run 500
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.5
|
||||
ghost atom cutoff = 6.5
|
||||
binsize = 3.25, bins = 7 7 7
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.902 | 3.902 | 3.902 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 500 -1847.729 0 -1815.4786 1813162.7
|
||||
50 1934.0932 -1940.8016 0 -1816.051 -48657.676
|
||||
100 2570.1286 -1984.8725 0 -1819.0971 8002.4248
|
||||
150 2566.7917 -1990.2724 0 -1824.7123 16819.447
|
||||
200 2555.1319 -1995.2233 0 -1830.4152 5891.5313
|
||||
250 2487.2881 -1995.8302 0 -1835.3981 -4339.7172
|
||||
300 2381.4836 -1994.2492 0 -1840.6415 16508.04
|
||||
350 2330.8663 -1996.6588 0 -1846.3161 24194.447
|
||||
400 2212.6035 -1994.9278 0 -1852.2131 -9856.3709
|
||||
450 2257.7531 -2003.8187 0 -1858.1918 -8029.6019
|
||||
500 2211.4385 -2006.9846 0 -1864.345 4152.4867
|
||||
Loop time of 3.06076 on 1 procs for 500 steps with 500 atoms
|
||||
|
||||
Performance: 14.114 ns/day, 1.700 hours/ns, 163.358 timesteps/s, 81.679 katom-step/s
|
||||
99.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 | 3.03 | 3.03 | 3.03 | 0.0 | 99.00
|
||||
Neigh | 0.020755 | 0.020755 | 0.020755 | 0.0 | 0.68
|
||||
Comm | 0.0045293 | 0.0045293 | 0.0045293 | 0.0 | 0.15
|
||||
Output | 0.00020334 | 0.00020334 | 0.00020334 | 0.0 | 0.01
|
||||
Modify | 0.0038919 | 0.0038919 | 0.0038919 | 0.0 | 0.13
|
||||
Other | | 0.001352 | | | 0.04
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1767 ave 1767 max 1767 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18059 ave 18059 max 18059 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 36118 ave 36118 max 36118 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 36118
|
||||
Ave neighs/atom = 72.236
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:03
|
||||
@ -0,0 +1,91 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 3.98
|
||||
Lattice spacing in x,y,z = 3.98 3.98 3.98
|
||||
region box block 0 5 0 5 0 5
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (19.9 19.9 19.9)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (19.9 19.9 19.9)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/spline
|
||||
pair_coeff * * Si_1.meam.spline Si
|
||||
Reading meam/spline potential file Si_1.meam.spline with DATE: 2012-02-01
|
||||
mass * 28.085
|
||||
|
||||
velocity all create 500.0 44226611
|
||||
|
||||
fix 1 all nvt temp 500.0 500.0 1.0
|
||||
|
||||
thermo 50
|
||||
run 500
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.5
|
||||
ghost atom cutoff = 6.5
|
||||
binsize = 3.25, bins = 7 7 7
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.866 | 3.866 | 3.866 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 500 -1847.729 0 -1815.4786 1813162.7
|
||||
50 1923.4262 -1940.0936 0 -1816.0311 -38700.835
|
||||
100 2535.2542 -1982.6249 0 -1819.0989 10216.821
|
||||
150 2592.8247 -1992.1569 0 -1824.9176 4839.3385
|
||||
200 2484.7391 -1990.8452 0 -1830.5775 14040.141
|
||||
250 2597.4401 -2003.1619 0 -1835.625 1261.5199
|
||||
300 2513.0793 -2002.942 0 -1840.8463 6690.9815
|
||||
350 2390.933 -2001.0761 0 -1846.859 -4880.1146
|
||||
400 2269.0782 -1999.3441 0 -1852.9867 -4921.4391
|
||||
450 2287.5096 -2006.8236 0 -1859.2774 -7313.6151
|
||||
500 2303.0918 -2014.0693 0 -1865.518 -9995.1789
|
||||
Loop time of 0.845261 on 4 procs for 500 steps with 500 atoms
|
||||
|
||||
Performance: 51.108 ns/day, 0.470 hours/ns, 591.533 timesteps/s, 295.767 katom-step/s
|
||||
99.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.82311 | 0.82403 | 0.82556 | 0.1 | 97.49
|
||||
Neigh | 0.0054304 | 0.0055826 | 0.0058949 | 0.2 | 0.66
|
||||
Comm | 0.0095108 | 0.011321 | 0.012448 | 1.0 | 1.34
|
||||
Output | 0.00019703 | 0.0002108 | 0.00024574 | 0.0 | 0.02
|
||||
Modify | 0.0026442 | 0.002759 | 0.0028243 | 0.1 | 0.33
|
||||
Other | | 0.001353 | | | 0.16
|
||||
|
||||
Nlocal: 125 ave 131 max 118 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 1 1
|
||||
Nghost: 979.25 ave 986 max 975 min
|
||||
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||
Neighs: 4541.75 ave 4712 max 4362 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
FullNghs: 9083.5 ave 9485 max 8601 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 36334
|
||||
Ave neighs/atom = 72.668
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
@ -0,0 +1,253 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
#
|
||||
|
||||
variable T_depart equal 300
|
||||
|
||||
variable dt equal 0.0002
|
||||
|
||||
variable a equal 4.5937
|
||||
variable c equal 2.9587
|
||||
variable ca equal ${c}/${a}
|
||||
variable ca equal 2.9587/${a}
|
||||
variable ca equal 2.9587/4.5937
|
||||
|
||||
variable nx equal 6
|
||||
variable ny equal 6
|
||||
variable nz equal 11
|
||||
|
||||
variable bx equal ${a}*${nx}
|
||||
variable bx equal 4.5937*${nx}
|
||||
variable bx equal 4.5937*6
|
||||
variable by equal ${a}*${ny}
|
||||
variable by equal 4.5937*${ny}
|
||||
variable by equal 4.5937*6
|
||||
variable bz equal ${c}*${nz}
|
||||
variable bz equal 2.9587*${nz}
|
||||
variable bz equal 2.9587*11
|
||||
# =======================================================================
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
|
||||
lattice sc 1.0
|
||||
Lattice spacing in x,y,z = 1 1 1
|
||||
region box_vide prism 0 ${bx} 0 ${by} 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 ${by} 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 27.5622 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 27.5622 0 32.5457 0.0 0.0 0.0
|
||||
create_box 2 box_vide
|
||||
Created triclinic box = (0 0 0) to (27.5622 27.5622 32.5457) with tilt (0 0 0)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
#lattice sc 1.0
|
||||
#region box_TiO2 block 0 ${bx} 0 ${by} 0 ${bz}
|
||||
|
||||
# titanium atoms
|
||||
lattice custom ${a} origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 0.644077758669482 basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
Lattice spacing in x,y,z = 4.5937 4.5937 2.9587
|
||||
|
||||
create_atoms 2 region box_vide
|
||||
Created 792 atoms
|
||||
using lattice units in triclinic box = (0 0 0) to (27.5622 27.5622 32.5457) with tilt (0 0 0)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
# Oxygen atoms
|
||||
lattice custom ${a} origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 0.644077758669482 basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
Lattice spacing in x,y,z = 4.5937 4.5937 2.9587
|
||||
|
||||
create_atoms 1 region box_vide
|
||||
Created 1584 atoms
|
||||
using lattice units in triclinic box = (0 0 0) to (27.5622 27.5622 32.5457) with tilt (0 0 0)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
|
||||
mass 1 16.00
|
||||
group Oxy type 1
|
||||
1584 atoms in group Oxy
|
||||
|
||||
mass 2 47.867
|
||||
group Ti type 2
|
||||
792 atoms in group Ti
|
||||
|
||||
velocity all create ${T_depart} 277387
|
||||
velocity all create 300 277387
|
||||
|
||||
pair_style meam/spline
|
||||
pair_coeff * * TiO.meam.spline O Ti
|
||||
Reading meam/spline potential file TiO.meam.spline with DATE: 2016-06-05
|
||||
|
||||
neighbor 0.5 bin
|
||||
neigh_modify every 2 delay 0 check yes
|
||||
|
||||
timestep ${dt}
|
||||
timestep 0.0002
|
||||
|
||||
thermo_style custom step temp press pe ke etotal lx ly lz vol
|
||||
thermo 10
|
||||
|
||||
|
||||
#dump 5 all custom 500 boxAlpha_alumina.lammpstrj id type q x y z
|
||||
|
||||
fix 3 all nve
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 2 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 10 10 11
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.175 | 5.175 | 5.175 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
0 300 22403.656 -14374.073 92.097853 -14281.975 27.5622 27.5622 32.5457 24724.15
|
||||
10 301.41345 23612.297 -14374.507 92.531772 -14281.975 27.5622 27.5622 32.5457 24724.15
|
||||
20 305.11674 25127.832 -14375.643 93.668657 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
30 313.28903 26655.89 -14378.151 96.17749 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
40 328.94567 26999.049 -14382.957 100.98397 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
50 354.05827 23023.294 -14390.667 108.69336 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
60 390.48404 13594.655 -14401.849 119.87581 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
70 442.69928 151.15709 -14417.877 135.90551 -14281.972 27.5622 27.5622 32.5457 24724.15
|
||||
80 516.89551 -14984.124 -14440.654 158.68322 -14281.971 27.5622 27.5622 32.5457 24724.15
|
||||
90 618.22135 -29948.066 -14471.76 189.78953 -14281.971 27.5622 27.5622 32.5457 24724.15
|
||||
100 747.6193 -41964.291 -14511.487 229.51378 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
Loop time of 25.3398 on 1 procs for 100 steps with 2376 atoms
|
||||
|
||||
Performance: 0.068 ns/day, 351.941 hours/ns, 3.946 timesteps/s, 9.377 katom-step/s
|
||||
99.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 | 25.324 | 25.324 | 25.324 | 0.0 | 99.94
|
||||
Neigh | 0.0079644 | 0.0079644 | 0.0079644 | 0.0 | 0.03
|
||||
Comm | 0.0030695 | 0.0030695 | 0.0030695 | 0.0 | 0.01
|
||||
Output | 0.00032829 | 0.00032829 | 0.00032829 | 0.0 | 0.00
|
||||
Modify | 0.0028312 | 0.0028312 | 0.0028312 | 0.0 | 0.01
|
||||
Other | | 0.00137 | | | 0.01
|
||||
|
||||
Nlocal: 2376 ave 2376 max 2376 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4479 ave 4479 max 4479 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 106396 ave 106396 max 106396 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 212792 ave 212792 max 212792 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 212792
|
||||
Ave neighs/atom = 89.558923
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
unfix 3
|
||||
fix 1 all box/relax tri 0.0 vmax 0.001
|
||||
minimize 1.0e-3 1.0e-5 1000 10000
|
||||
Switching to 'neigh_modify every 1 delay 0 check yes' setting during minimization
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.3 | 6.3 | 6.3 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
100 747.6193 -41964.291 -14511.487 229.51378 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
101 747.6193 -39284.65 -14517.424 229.51378 -14287.91 27.569615 27.569695 32.513154 24712.789
|
||||
Loop time of 0.515558 on 1 procs for 1 steps with 2376 atoms
|
||||
|
||||
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
-14511.4866189158 -14511.4866189158 -14517.4235162115
|
||||
Force two-norm initial, final = 5602.2481 5486.9746
|
||||
Force max component initial, final = 5232.0514 5109.4284
|
||||
Final line search alpha, max atom move = 1.9112962e-07 0.00097656312
|
||||
Iterations, force evaluations = 1 1
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.51518 | 0.51518 | 0.51518 | 0.0 | 99.93
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 6.888e-05 | 6.888e-05 | 6.888e-05 | 0.0 | 0.01
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.0003093 | | | 0.06
|
||||
|
||||
Nlocal: 2376 ave 2376 max 2376 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4449 ave 4449 max 4449 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 105639 ave 105639 max 105639 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 211278 ave 211278 max 211278 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 211278
|
||||
Ave neighs/atom = 88.921717
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
unfix 1
|
||||
reset_timestep 0
|
||||
thermo 50
|
||||
fix 3 all npt temp 300 300 0.1 aniso 1.0 1.0 1.0
|
||||
run 500
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.19 | 5.19 | 5.19 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
0 747.6193 -39284.65 -14517.424 229.51378 -14287.91 27.569615 27.569695 32.513154 24712.789
|
||||
50 1155.2878 30637.502 -14678.803 354.6651 -14324.138 27.608715 27.609165 32.375366 24678.238
|
||||
100 790.04907 99856.609 -14678.837 242.53941 -14436.297 27.777983 27.777976 32.017141 24704.942
|
||||
150 938.88715 -21502.296 -14803.769 288.23164 -14515.537 27.996567 27.995118 31.67022 24822.079
|
||||
200 420.1181 -791.77075 -14671.671 128.97325 -14542.698 28.126851 28.125845 31.431177 24864.936
|
||||
250 352.17802 -3234.483 -14664.99 108.11613 -14556.874 28.222575 28.223558 31.238791 24882.993
|
||||
300 622.92198 3667.4381 -14758.193 191.23259 -14566.96 28.301663 28.304917 31.072279 24891.264
|
||||
350 888.27299 26277.515 -14852.568 272.69345 -14579.875 28.370265 28.375054 30.937123 24904.626
|
||||
400 735.44199 63107.92 -14823.872 225.77543 -14598.097 28.44692 28.452281 30.838022 24959.67
|
||||
450 804.82182 6213.5499 -14861.115 247.07454 -14614.04 28.543993 28.548769 30.775738 25079.021
|
||||
500 628.1908 -33923.393 -14814.724 192.85008 -14621.874 28.612082 28.615255 30.740711 25168.712
|
||||
Loop time of 112.349 on 1 procs for 500 steps with 2376 atoms
|
||||
|
||||
Performance: 0.077 ns/day, 312.081 hours/ns, 4.450 timesteps/s, 10.574 katom-step/s
|
||||
99.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 | 112.15 | 112.15 | 112.15 | 0.0 | 99.82
|
||||
Neigh | 0.13243 | 0.13243 | 0.13243 | 0.0 | 0.12
|
||||
Comm | 0.01269 | 0.01269 | 0.01269 | 0.0 | 0.01
|
||||
Output | 0.00029334 | 0.00029334 | 0.00029334 | 0.0 | 0.00
|
||||
Modify | 0.053182 | 0.053182 | 0.053182 | 0.0 | 0.05
|
||||
Other | | 0.005153 | | | 0.00
|
||||
|
||||
Nlocal: 2376 ave 2376 max 2376 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4358 ave 4358 max 4358 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 102634 ave 102634 max 102634 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 205268 ave 205268 max 205268 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 205268
|
||||
Ave neighs/atom = 86.392256
|
||||
Neighbor list builds = 16
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:02:19
|
||||
@ -0,0 +1,253 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
#
|
||||
|
||||
variable T_depart equal 300
|
||||
|
||||
variable dt equal 0.0002
|
||||
|
||||
variable a equal 4.5937
|
||||
variable c equal 2.9587
|
||||
variable ca equal ${c}/${a}
|
||||
variable ca equal 2.9587/${a}
|
||||
variable ca equal 2.9587/4.5937
|
||||
|
||||
variable nx equal 6
|
||||
variable ny equal 6
|
||||
variable nz equal 11
|
||||
|
||||
variable bx equal ${a}*${nx}
|
||||
variable bx equal 4.5937*${nx}
|
||||
variable bx equal 4.5937*6
|
||||
variable by equal ${a}*${ny}
|
||||
variable by equal 4.5937*${ny}
|
||||
variable by equal 4.5937*6
|
||||
variable bz equal ${c}*${nz}
|
||||
variable bz equal 2.9587*${nz}
|
||||
variable bz equal 2.9587*11
|
||||
# =======================================================================
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
|
||||
lattice sc 1.0
|
||||
Lattice spacing in x,y,z = 1 1 1
|
||||
region box_vide prism 0 ${bx} 0 ${by} 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 ${by} 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 27.5622 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 27.5622 0 32.5457 0.0 0.0 0.0
|
||||
create_box 2 box_vide
|
||||
Created triclinic box = (0 0 0) to (27.5622 27.5622 32.5457) with tilt (0 0 0)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
|
||||
#lattice sc 1.0
|
||||
#region box_TiO2 block 0 ${bx} 0 ${by} 0 ${bz}
|
||||
|
||||
# titanium atoms
|
||||
lattice custom ${a} origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 0.644077758669482 basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
Lattice spacing in x,y,z = 4.5937 4.5937 2.9587
|
||||
|
||||
create_atoms 2 region box_vide
|
||||
Created 792 atoms
|
||||
using lattice units in triclinic box = (0 0 0) to (27.5622 27.5622 32.5457) with tilt (0 0 0)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
# Oxygen atoms
|
||||
lattice custom ${a} origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 0.644077758669482 basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
Lattice spacing in x,y,z = 4.5937 4.5937 2.9587
|
||||
|
||||
create_atoms 1 region box_vide
|
||||
Created 1584 atoms
|
||||
using lattice units in triclinic box = (0 0 0) to (27.5622 27.5622 32.5457) with tilt (0 0 0)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
|
||||
mass 1 16.00
|
||||
group Oxy type 1
|
||||
1584 atoms in group Oxy
|
||||
|
||||
mass 2 47.867
|
||||
group Ti type 2
|
||||
792 atoms in group Ti
|
||||
|
||||
velocity all create ${T_depart} 277387
|
||||
velocity all create 300 277387
|
||||
|
||||
pair_style meam/spline
|
||||
pair_coeff * * TiO.meam.spline O Ti
|
||||
Reading meam/spline potential file TiO.meam.spline with DATE: 2016-06-05
|
||||
|
||||
neighbor 0.5 bin
|
||||
neigh_modify every 2 delay 0 check yes
|
||||
|
||||
timestep ${dt}
|
||||
timestep 0.0002
|
||||
|
||||
thermo_style custom step temp press pe ke etotal lx ly lz vol
|
||||
thermo 10
|
||||
|
||||
|
||||
#dump 5 all custom 500 boxAlpha_alumina.lammpstrj id type q x y z
|
||||
|
||||
fix 3 all nve
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 2 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 10 10 11
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.934 | 3.934 | 3.934 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
0 300 22403.656 -14374.073 92.097853 -14281.975 27.5622 27.5622 32.5457 24724.15
|
||||
10 301.16725 23582.084 -14374.431 92.456192 -14281.975 27.5622 27.5622 32.5457 24724.15
|
||||
20 304.58237 25059.749 -14375.479 93.504609 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
30 312.41477 26504.358 -14377.883 95.9091 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
40 327.67099 26687.057 -14382.566 100.59265 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
50 352.32125 22677.292 -14390.134 108.1601 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
60 388.40592 12472.705 -14401.211 119.23784 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
70 439.97199 -1520.4694 -14417.04 135.06825 -14281.972 27.5622 27.5622 32.5457 24724.15
|
||||
80 513.34361 -16733.316 -14439.564 157.59282 -14281.971 27.5622 27.5622 32.5457 24724.15
|
||||
90 613.3542 -31099.591 -14470.267 188.29535 -14281.971 27.5622 27.5622 32.5457 24724.15
|
||||
100 741.02836 -42358.226 -14509.464 227.4904 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
Loop time of 6.2168 on 4 procs for 100 steps with 2376 atoms
|
||||
|
||||
Performance: 0.278 ns/day, 86.344 hours/ns, 16.085 timesteps/s, 38.219 katom-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 | 6.1958 | 6.2012 | 6.2089 | 0.2 | 99.75
|
||||
Neigh | 0.0021079 | 0.0021422 | 0.0021639 | 0.0 | 0.03
|
||||
Comm | 0.0038617 | 0.011586 | 0.017042 | 4.9 | 0.19
|
||||
Output | 0.00027671 | 0.00029064 | 0.00032183 | 0.0 | 0.00
|
||||
Modify | 0.00078288 | 0.0008221 | 0.00085066 | 0.0 | 0.01
|
||||
Other | | 0.0007406 | | | 0.01
|
||||
|
||||
Nlocal: 594 ave 599 max 589 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
Nghost: 2290.25 ave 2296 max 2282 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 1 1
|
||||
Neighs: 26671.5 ave 26934 max 26495 min
|
||||
Histogram: 1 0 0 2 0 0 0 0 0 1
|
||||
FullNghs: 53343 ave 53828 max 52922 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 213372
|
||||
Ave neighs/atom = 89.80303
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
unfix 3
|
||||
fix 1 all box/relax tri 0.0 vmax 0.001
|
||||
minimize 1.0e-3 1.0e-5 1000 10000
|
||||
Switching to 'neigh_modify every 1 delay 0 check yes' setting during minimization
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.059 | 5.059 | 5.059 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
100 741.02836 -42358.226 -14509.464 227.4904 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
101 741.02836 -39686.588 -14515.398 227.4904 -14287.907 27.569587 27.569656 32.513154 24712.729
|
||||
Loop time of 0.129231 on 4 procs for 1 steps with 2376 atoms
|
||||
|
||||
99.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
-14509.4635100091 -14509.4635100091 -14515.3978891321
|
||||
Force two-norm initial, final = 5602.6938 5487.7658
|
||||
Force max component initial, final = 5235.2654 5113.0611
|
||||
Final line search alpha, max atom move = 1.9101228e-07 0.00097665746
|
||||
Iterations, force evaluations = 1 1
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.12891 | 0.12896 | 0.129 | 0.0 | 99.79
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 5.5406e-05 | 9.5992e-05 | 0.00015051 | 0.0 | 0.07
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.0001737 | | | 0.13
|
||||
|
||||
Nlocal: 594 ave 601 max 586 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
Nghost: 2263.25 ave 2271 max 2251 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
Neighs: 26425.8 ave 26807 max 26121 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
FullNghs: 52851.5 ave 53580 max 52175 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 211406
|
||||
Ave neighs/atom = 88.975589
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
unfix 1
|
||||
reset_timestep 0
|
||||
thermo 50
|
||||
fix 3 all npt temp 300 300 0.1 aniso 1.0 1.0 1.0
|
||||
run 500
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.95 | 3.95 | 3.95 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
0 741.02836 -39686.588 -14515.398 227.4904 -14287.907 27.569587 27.569656 32.513154 24712.729
|
||||
50 1157.3495 29319.762 -14679.318 355.29803 -14324.02 27.609057 27.60935 32.375563 24678.86
|
||||
100 777.56728 101869.39 -14674.833 238.70759 -14436.125 27.778509 27.77736 32.017401 24705.064
|
||||
150 945.51255 -18319.494 -14806.675 290.26559 -14516.409 27.998296 27.995331 31.670366 24823.916
|
||||
200 427.47153 -4045.9984 -14674.872 131.2307 -14543.641 28.130223 28.127085 31.431723 24869.445
|
||||
250 362.817 -7274.2701 -14669.054 111.38222 -14557.672 28.225123 28.222595 31.238594 24884.233
|
||||
300 626.29209 7236.0808 -14760.119 192.26719 -14567.852 28.302278 28.299838 31.070157 24885.639
|
||||
350 859.86407 30087.808 -14845.065 263.97212 -14581.093 28.372301 28.369278 30.934494 24899.226
|
||||
400 755.2581 54745.968 -14830.701 231.85883 -14598.842 28.450314 28.448368 30.836162 24957.71
|
||||
450 802.52878 5682.9998 -14860.196 246.37059 -14613.826 28.542362 28.541716 30.773281 25069.392
|
||||
500 631.84048 -31484.881 -14816.098 193.97051 -14622.127 28.605943 28.605973 30.737856 25152.813
|
||||
Loop time of 27.3207 on 4 procs for 500 steps with 2376 atoms
|
||||
|
||||
Performance: 0.316 ns/day, 75.891 hours/ns, 18.301 timesteps/s, 43.484 katom-step/s
|
||||
99.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 | 27.21 | 27.221 | 27.237 | 0.2 | 99.64
|
||||
Neigh | 0.036501 | 0.036849 | 0.037083 | 0.1 | 0.13
|
||||
Comm | 0.02089 | 0.036492 | 0.047866 | 5.1 | 0.13
|
||||
Output | 0.00023096 | 0.00024391 | 0.00027788 | 0.0 | 0.00
|
||||
Modify | 0.022565 | 0.022706 | 0.022764 | 0.1 | 0.08
|
||||
Other | | 0.003102 | | | 0.01
|
||||
|
||||
Nlocal: 594 ave 606 max 582 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Nghost: 2226 ave 2238 max 2214 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Neighs: 25652.8 ave 26129 max 25153 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
FullNghs: 51305.5 ave 52398 max 50251 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 205222
|
||||
Ave neighs/atom = 86.372896
|
||||
Neighbor list builds = 16
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:33
|
||||
@ -1,88 +0,0 @@
|
||||
LAMMPS (13 Apr 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 3.98
|
||||
Lattice spacing in x,y,z = 3.98 3.98 3.98
|
||||
region box block 0 5 0 5 0 5
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (19.9 19.9 19.9)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
|
||||
pair_style meam/spline
|
||||
pair_coeff * * Si_1.meam.spline Si
|
||||
Reading potential file Si_1.meam.spline with DATE: 2012-02-01
|
||||
mass * 28.085
|
||||
|
||||
velocity all create 500.0 44226611
|
||||
|
||||
fix 1 all nvt temp 500.0 500.0 1.0
|
||||
|
||||
thermo 50
|
||||
run 500
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.5
|
||||
ghost atom cutoff = 6.5
|
||||
binsize = 3.25, bins = 7 7 7
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.892 | 3.892 | 3.892 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 500 -1847.729 0 -1815.4786 1813162.7
|
||||
50 1934.0932 -1940.8016 0 -1816.051 -48657.676
|
||||
100 2570.1286 -1984.8725 0 -1819.0971 8002.4248
|
||||
150 2566.7917 -1990.2724 0 -1824.7123 16819.447
|
||||
200 2555.1319 -1995.2233 0 -1830.4152 5891.5313
|
||||
250 2487.2881 -1995.8302 0 -1835.3981 -4339.7172
|
||||
300 2381.4836 -1994.2492 0 -1840.6415 16508.04
|
||||
350 2330.8663 -1996.6588 0 -1846.3161 24194.447
|
||||
400 2212.6035 -1994.9278 0 -1852.2131 -9856.3709
|
||||
450 2257.7531 -2003.8187 0 -1858.1918 -8029.6019
|
||||
500 2211.4385 -2006.9846 0 -1864.345 4152.4867
|
||||
Loop time of 5.13837 on 1 procs for 500 steps with 500 atoms
|
||||
|
||||
Performance: 8.407 ns/day, 2.855 hours/ns, 97.307 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 5.0952 | 5.0952 | 5.0952 | 0.0 | 99.16
|
||||
Neigh | 0.026447 | 0.026447 | 0.026447 | 0.0 | 0.51
|
||||
Comm | 0.0063307 | 0.0063307 | 0.0063307 | 0.0 | 0.12
|
||||
Output | 0.0001905 | 0.0001905 | 0.0001905 | 0.0 | 0.00
|
||||
Modify | 0.0082877 | 0.0082877 | 0.0082877 | 0.0 | 0.16
|
||||
Other | | 0.00187 | | | 0.04
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1767 ave 1767 max 1767 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18059 ave 18059 max 18059 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 36118 ave 36118 max 36118 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 36118
|
||||
Ave neighs/atom = 72.236
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:05
|
||||
@ -1,88 +0,0 @@
|
||||
LAMMPS (13 Apr 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 3.98
|
||||
Lattice spacing in x,y,z = 3.98 3.98 3.98
|
||||
region box block 0 5 0 5 0 5
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (19.9 19.9 19.9)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
|
||||
pair_style meam/spline
|
||||
pair_coeff * * Si_1.meam.spline Si
|
||||
Reading potential file Si_1.meam.spline with DATE: 2012-02-01
|
||||
mass * 28.085
|
||||
|
||||
velocity all create 500.0 44226611
|
||||
|
||||
fix 1 all nvt temp 500.0 500.0 1.0
|
||||
|
||||
thermo 50
|
||||
run 500
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.5
|
||||
ghost atom cutoff = 6.5
|
||||
binsize = 3.25, bins = 7 7 7
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.861 | 3.861 | 3.861 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 500 -1847.729 0 -1815.4786 1813162.7
|
||||
50 1923.4262 -1940.0936 0 -1816.0311 -38700.835
|
||||
100 2535.2542 -1982.6249 0 -1819.0989 10216.821
|
||||
150 2592.8247 -1992.1569 0 -1824.9176 4839.3385
|
||||
200 2484.7391 -1990.8452 0 -1830.5775 14040.141
|
||||
250 2597.4401 -2003.1619 0 -1835.625 1261.5199
|
||||
300 2513.0793 -2002.942 0 -1840.8463 6690.9815
|
||||
350 2390.933 -2001.0761 0 -1846.859 -4880.1146
|
||||
400 2269.0782 -1999.3441 0 -1852.9867 -4921.4391
|
||||
450 2287.5096 -2006.8236 0 -1859.2774 -7313.6151
|
||||
500 2303.0918 -2014.0693 0 -1865.518 -9995.1789
|
||||
Loop time of 1.46588 on 4 procs for 500 steps with 500 atoms
|
||||
|
||||
Performance: 29.470 ns/day, 0.814 hours/ns, 341.093 timesteps/s
|
||||
99.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 | 1.4273 | 1.4292 | 1.432 | 0.1 | 97.50
|
||||
Neigh | 0.0068567 | 0.0070301 | 0.0073655 | 0.2 | 0.48
|
||||
Comm | 0.019111 | 0.022127 | 0.024148 | 1.2 | 1.51
|
||||
Output | 0.00023174 | 0.00024784 | 0.00029206 | 0.0 | 0.02
|
||||
Modify | 0.005043 | 0.0052016 | 0.0054417 | 0.2 | 0.35
|
||||
Other | | 0.002066 | | | 0.14
|
||||
|
||||
Nlocal: 125 ave 131 max 118 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 1 1
|
||||
Nghost: 979.25 ave 986 max 975 min
|
||||
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||
Neighs: 4541.75 ave 4712 max 4362 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
FullNghs: 9083.5 ave 9485 max 8601 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 36334
|
||||
Ave neighs/atom = 72.668
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:01
|
||||
@ -1,248 +0,0 @@
|
||||
LAMMPS (13 Apr 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
#
|
||||
|
||||
variable T_depart equal 300
|
||||
|
||||
variable dt equal 0.0002
|
||||
|
||||
variable a equal 4.5937
|
||||
variable c equal 2.9587
|
||||
variable ca equal ${c}/${a}
|
||||
variable ca equal 2.9587/${a}
|
||||
variable ca equal 2.9587/4.5937
|
||||
|
||||
variable nx equal 6
|
||||
variable ny equal 6
|
||||
variable nz equal 11
|
||||
|
||||
variable bx equal ${a}*${nx}
|
||||
variable bx equal 4.5937*${nx}
|
||||
variable bx equal 4.5937*6
|
||||
variable by equal ${a}*${ny}
|
||||
variable by equal 4.5937*${ny}
|
||||
variable by equal 4.5937*6
|
||||
variable bz equal ${c}*${nz}
|
||||
variable bz equal 2.9587*${nz}
|
||||
variable bz equal 2.9587*11
|
||||
# =======================================================================
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
|
||||
lattice sc 1.0
|
||||
Lattice spacing in x,y,z = 1 1 1
|
||||
region box_vide prism 0 ${bx} 0 ${by} 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 ${by} 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 27.5622 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 27.5622 0 32.5457 0.0 0.0 0.0
|
||||
create_box 2 box_vide
|
||||
Created triclinic box = (0 0 0) to (27.5622 27.5622 32.5457) with tilt (0 0 0)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
|
||||
#lattice sc 1.0
|
||||
#region box_TiO2 block 0 ${bx} 0 ${by} 0 ${bz}
|
||||
|
||||
# titanium atoms
|
||||
lattice custom ${a} origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 0.644077758669482 basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
Lattice spacing in x,y,z = 4.5937 4.5937 2.9587
|
||||
|
||||
create_atoms 2 region box_vide
|
||||
Created 792 atoms
|
||||
|
||||
# Oxygen atoms
|
||||
lattice custom ${a} origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 0.644077758669482 basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
Lattice spacing in x,y,z = 4.5937 4.5937 2.9587
|
||||
|
||||
create_atoms 1 region box_vide
|
||||
Created 1584 atoms
|
||||
|
||||
|
||||
mass 1 16.00
|
||||
group Oxy type 1
|
||||
1584 atoms in group Oxy
|
||||
|
||||
mass 2 47.867
|
||||
group Ti type 2
|
||||
792 atoms in group Ti
|
||||
|
||||
velocity all create ${T_depart} 277387
|
||||
velocity all create 300 277387
|
||||
|
||||
pair_style meam/spline
|
||||
pair_coeff * * TiO.meam.spline O Ti
|
||||
Reading potential file TiO.meam.spline with DATE: 2016-06-05
|
||||
|
||||
neighbor 0.5 bin
|
||||
neigh_modify every 2 delay 0 check yes
|
||||
|
||||
timestep ${dt}
|
||||
timestep 0.0002
|
||||
|
||||
thermo_style custom step temp press pe ke etotal lx ly lz vol
|
||||
thermo 10
|
||||
|
||||
|
||||
#dump 5 all custom 500 boxAlpha_alumina.lammpstrj id type q x y z
|
||||
|
||||
fix 3 all nve
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 10 10 11
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.146 | 5.146 | 5.146 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
0 300 22403.656 -14374.073 92.097853 -14281.975 27.5622 27.5622 32.5457 24724.15
|
||||
10 301.41345 23612.297 -14374.507 92.531772 -14281.975 27.5622 27.5622 32.5457 24724.15
|
||||
20 305.11674 25127.832 -14375.643 93.668657 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
30 313.28903 26655.89 -14378.151 96.17749 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
40 328.94567 26999.049 -14382.957 100.98397 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
50 354.05827 23023.294 -14390.667 108.69336 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
60 390.48404 13594.655 -14401.849 119.87581 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
70 442.69928 151.15709 -14417.877 135.90551 -14281.972 27.5622 27.5622 32.5457 24724.15
|
||||
80 516.89551 -14984.124 -14440.654 158.68322 -14281.971 27.5622 27.5622 32.5457 24724.15
|
||||
90 618.22135 -29948.066 -14471.76 189.78953 -14281.971 27.5622 27.5622 32.5457 24724.15
|
||||
100 747.6193 -41964.291 -14511.487 229.51378 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
Loop time of 38.7948 on 1 procs for 100 steps with 2376 atoms
|
||||
|
||||
Performance: 0.045 ns/day, 538.817 hours/ns, 2.578 timesteps/s
|
||||
99.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 | 38.774 | 38.774 | 38.774 | 0.0 | 99.95
|
||||
Neigh | 0.010751 | 0.010751 | 0.010751 | 0.0 | 0.03
|
||||
Comm | 0.0039313 | 0.0039313 | 0.0039313 | 0.0 | 0.01
|
||||
Output | 0.00048804 | 0.00048804 | 0.00048804 | 0.0 | 0.00
|
||||
Modify | 0.0039241 | 0.0039241 | 0.0039241 | 0.0 | 0.01
|
||||
Other | | 0.001809 | | | 0.00
|
||||
|
||||
Nlocal: 2376 ave 2376 max 2376 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4479 ave 4479 max 4479 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 106396 ave 106396 max 106396 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 212792 ave 212792 max 212792 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 212792
|
||||
Ave neighs/atom = 89.5589
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
unfix 3
|
||||
fix 1 all box/relax tri 0.0 vmax 0.001
|
||||
minimize 1.0e-3 1.0e-5 1000 10000
|
||||
WARNING: Resetting reneighboring criteria during minimization (../min.cpp:168)
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.271 | 6.271 | 6.271 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
100 747.6193 -41964.291 -14511.487 229.51378 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
101 747.6193 -39284.65 -14517.424 229.51378 -14287.91 27.569615 27.569695 32.513154 24712.789
|
||||
Loop time of 0.814693 on 1 procs for 1 steps with 2376 atoms
|
||||
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
-14511.4866189 -14511.4866189 -14517.4235162
|
||||
Force two-norm initial, final = 5602.25 5486.97
|
||||
Force max component initial, final = 5232.05 5109.43
|
||||
Final line search alpha, max atom move = 1.9113e-07 0.000976563
|
||||
Iterations, force evaluations = 1 1
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.81429 | 0.81429 | 0.81429 | 0.0 | 99.95
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 6.485e-05 | 6.485e-05 | 6.485e-05 | 0.0 | 0.01
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.0003347 | | | 0.04
|
||||
|
||||
Nlocal: 2376 ave 2376 max 2376 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4449 ave 4449 max 4449 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 105639 ave 105639 max 105639 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 211278 ave 211278 max 211278 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 211278
|
||||
Ave neighs/atom = 88.9217
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
unfix 1
|
||||
reset_timestep 0
|
||||
thermo 50
|
||||
fix 3 all npt temp 300 300 0.1 aniso 1.0 1.0 1.0
|
||||
run 500
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.162 | 5.162 | 5.162 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
0 747.6193 -39284.65 -14517.424 229.51378 -14287.91 27.569615 27.569695 32.513154 24712.789
|
||||
50 1155.2849 30650.319 -14678.807 354.6642 -14324.143 27.608688 27.60914 32.375311 24678.15
|
||||
100 790.03926 99869.991 -14678.858 242.5364 -14436.322 27.777994 27.77799 32.017001 24704.857
|
||||
150 938.86463 -21488.442 -14803.782 288.22472 -14515.557 27.996584 27.995139 31.67008 24822.003
|
||||
200 420.11331 -790.80799 -14671.687 128.97178 -14542.715 28.126911 28.125909 31.431033 24864.93
|
||||
250 352.18149 -3244.2491 -14665.007 108.1172 -14556.889 28.222686 28.223673 31.238649 24883.078
|
||||
300 622.91245 3657.7097 -14758.201 191.22967 -14566.972 28.301771 28.30503 31.07216 24891.363
|
||||
350 888.25374 26274.358 -14852.568 272.68754 -14579.881 28.370312 28.375107 30.937051 24904.656
|
||||
400 735.44163 63109.066 -14823.872 225.77532 -14598.097 28.446905 28.45227 30.838015 24959.642
|
||||
450 804.81905 6221.0364 -14861.113 247.07369 -14614.039 28.543942 28.548719 30.775793 25078.977
|
||||
500 628.19106 -33912.026 -14814.726 192.85016 -14621.876 28.611997 28.615169 30.74081 25168.642
|
||||
Loop time of 176.167 on 1 procs for 500 steps with 2376 atoms
|
||||
|
||||
Performance: 0.049 ns/day, 489.353 hours/ns, 2.838 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 175.9 | 175.9 | 175.9 | 0.0 | 99.85
|
||||
Neigh | 0.17043 | 0.17043 | 0.17043 | 0.0 | 0.10
|
||||
Comm | 0.018243 | 0.018243 | 0.018243 | 0.0 | 0.01
|
||||
Output | 0.00040984 | 0.00040984 | 0.00040984 | 0.0 | 0.00
|
||||
Modify | 0.067142 | 0.067142 | 0.067142 | 0.0 | 0.04
|
||||
Other | | 0.00828 | | | 0.00
|
||||
|
||||
Nlocal: 2376 ave 2376 max 2376 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4358 ave 4358 max 4358 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 102634 ave 102634 max 102634 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 205268 ave 205268 max 205268 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 205268
|
||||
Ave neighs/atom = 86.3923
|
||||
Neighbor list builds = 16
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:03:37
|
||||
@ -1,248 +0,0 @@
|
||||
LAMMPS (13 Apr 2017)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
#
|
||||
|
||||
variable T_depart equal 300
|
||||
|
||||
variable dt equal 0.0002
|
||||
|
||||
variable a equal 4.5937
|
||||
variable c equal 2.9587
|
||||
variable ca equal ${c}/${a}
|
||||
variable ca equal 2.9587/${a}
|
||||
variable ca equal 2.9587/4.5937
|
||||
|
||||
variable nx equal 6
|
||||
variable ny equal 6
|
||||
variable nz equal 11
|
||||
|
||||
variable bx equal ${a}*${nx}
|
||||
variable bx equal 4.5937*${nx}
|
||||
variable bx equal 4.5937*6
|
||||
variable by equal ${a}*${ny}
|
||||
variable by equal 4.5937*${ny}
|
||||
variable by equal 4.5937*6
|
||||
variable bz equal ${c}*${nz}
|
||||
variable bz equal 2.9587*${nz}
|
||||
variable bz equal 2.9587*11
|
||||
# =======================================================================
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
|
||||
lattice sc 1.0
|
||||
Lattice spacing in x,y,z = 1 1 1
|
||||
region box_vide prism 0 ${bx} 0 ${by} 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 ${by} 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 27.5622 0 ${bz} 0.0 0.0 0.0
|
||||
region box_vide prism 0 27.5622 0 27.5622 0 32.5457 0.0 0.0 0.0
|
||||
create_box 2 box_vide
|
||||
Created triclinic box = (0 0 0) to (27.5622 27.5622 32.5457) with tilt (0 0 0)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
|
||||
#lattice sc 1.0
|
||||
#region box_TiO2 block 0 ${bx} 0 ${by} 0 ${bz}
|
||||
|
||||
# titanium atoms
|
||||
lattice custom ${a} origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 0.644077758669482 basis 0.0 0.0 0.0 basis 0.5 0.5 0.5
|
||||
Lattice spacing in x,y,z = 4.5937 4.5937 2.9587
|
||||
|
||||
create_atoms 2 region box_vide
|
||||
Created 792 atoms
|
||||
|
||||
# Oxygen atoms
|
||||
lattice custom ${a} origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 ${ca} basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
lattice custom 4.5937 origin 0.0 0.0 0.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 a1 1.0 0.0 0.0 a2 0.0 1.0 0.0 a3 0.0 0.0 0.644077758669482 basis 0.30478 0.30478 0.0 basis 0.69522 0.69522 0.0 basis 0.19522 0.80478 0.5 basis 0.80478 0.19522 0.5
|
||||
Lattice spacing in x,y,z = 4.5937 4.5937 2.9587
|
||||
|
||||
create_atoms 1 region box_vide
|
||||
Created 1584 atoms
|
||||
|
||||
|
||||
mass 1 16.00
|
||||
group Oxy type 1
|
||||
1584 atoms in group Oxy
|
||||
|
||||
mass 2 47.867
|
||||
group Ti type 2
|
||||
792 atoms in group Ti
|
||||
|
||||
velocity all create ${T_depart} 277387
|
||||
velocity all create 300 277387
|
||||
|
||||
pair_style meam/spline
|
||||
pair_coeff * * TiO.meam.spline O Ti
|
||||
Reading potential file TiO.meam.spline with DATE: 2016-06-05
|
||||
|
||||
neighbor 0.5 bin
|
||||
neigh_modify every 2 delay 0 check yes
|
||||
|
||||
timestep ${dt}
|
||||
timestep 0.0002
|
||||
|
||||
thermo_style custom step temp press pe ke etotal lx ly lz vol
|
||||
thermo 10
|
||||
|
||||
|
||||
#dump 5 all custom 500 boxAlpha_alumina.lammpstrj id type q x y z
|
||||
|
||||
fix 3 all nve
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 10 10 11
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.922 | 3.922 | 3.922 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
0 300 22403.656 -14374.073 92.097853 -14281.975 27.5622 27.5622 32.5457 24724.15
|
||||
10 301.16725 23582.084 -14374.431 92.456192 -14281.975 27.5622 27.5622 32.5457 24724.15
|
||||
20 304.58237 25059.749 -14375.479 93.504609 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
30 312.41477 26504.358 -14377.883 95.9091 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
40 327.67099 26687.057 -14382.566 100.59265 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
50 352.32125 22677.292 -14390.134 108.1601 -14281.974 27.5622 27.5622 32.5457 24724.15
|
||||
60 388.40592 12472.705 -14401.211 119.23784 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
70 439.97199 -1520.4694 -14417.04 135.06825 -14281.972 27.5622 27.5622 32.5457 24724.15
|
||||
80 513.34361 -16733.316 -14439.564 157.59282 -14281.971 27.5622 27.5622 32.5457 24724.15
|
||||
90 613.3542 -31099.591 -14470.267 188.29535 -14281.971 27.5622 27.5622 32.5457 24724.15
|
||||
100 741.02836 -42358.226 -14509.464 227.4904 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
Loop time of 8.92317 on 4 procs for 100 steps with 2376 atoms
|
||||
|
||||
Performance: 0.194 ns/day, 123.933 hours/ns, 11.207 timesteps/s
|
||||
99.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 8.8912 | 8.9 | 8.9064 | 0.2 | 99.74
|
||||
Neigh | 0.0027034 | 0.0028808 | 0.0032032 | 0.4 | 0.03
|
||||
Comm | 0.010964 | 0.017648 | 0.026568 | 5.0 | 0.20
|
||||
Output | 0.00037575 | 0.00047809 | 0.00053835 | 0.0 | 0.01
|
||||
Modify | 0.00099134 | 0.001001 | 0.0010085 | 0.0 | 0.01
|
||||
Other | | 0.001162 | | | 0.01
|
||||
|
||||
Nlocal: 594 ave 599 max 589 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
Nghost: 2290.25 ave 2296 max 2282 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 1 1
|
||||
Neighs: 26671.5 ave 26934 max 26495 min
|
||||
Histogram: 1 0 0 2 0 0 0 0 0 1
|
||||
FullNghs: 53343 ave 53828 max 52922 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 213372
|
||||
Ave neighs/atom = 89.803
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
unfix 3
|
||||
fix 1 all box/relax tri 0.0 vmax 0.001
|
||||
minimize 1.0e-3 1.0e-5 1000 10000
|
||||
WARNING: Resetting reneighboring criteria during minimization (../min.cpp:168)
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.047 | 5.047 | 5.047 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
100 741.02836 -42358.226 -14509.464 227.4904 -14281.973 27.5622 27.5622 32.5457 24724.15
|
||||
101 741.02836 -39686.588 -14515.398 227.4904 -14287.907 27.569587 27.569656 32.513154 24712.729
|
||||
Loop time of 0.193516 on 4 procs for 1 steps with 2376 atoms
|
||||
|
||||
99.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
-14509.46351 -14509.46351 -14515.3978891
|
||||
Force two-norm initial, final = 5602.69 5487.77
|
||||
Force max component initial, final = 5235.27 5113.06
|
||||
Final line search alpha, max atom move = 1.91012e-07 0.000976657
|
||||
Iterations, force evaluations = 1 1
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.19287 | 0.19299 | 0.19318 | 0.0 | 99.73
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00014043 | 0.00033247 | 0.00045896 | 0.0 | 0.17
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.0001886 | | | 0.10
|
||||
|
||||
Nlocal: 594 ave 601 max 586 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
Nghost: 2263.25 ave 2271 max 2251 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
Neighs: 26425.8 ave 26807 max 26121 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
FullNghs: 52851.5 ave 53580 max 52175 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 211406
|
||||
Ave neighs/atom = 88.9756
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
unfix 1
|
||||
reset_timestep 0
|
||||
thermo 50
|
||||
fix 3 all npt temp 300 300 0.1 aniso 1.0 1.0 1.0
|
||||
run 500
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.937 | 3.937 | 3.937 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng Lx Ly Lz Volume
|
||||
0 741.02836 -39686.588 -14515.398 227.4904 -14287.907 27.569587 27.569656 32.513154 24712.729
|
||||
50 1157.347 29332.549 -14679.321 355.29725 -14324.024 27.60903 27.609325 32.375509 24678.772
|
||||
100 777.55858 101883.12 -14674.854 238.70492 -14436.149 27.778518 27.777373 32.017262 24704.976
|
||||
150 945.49014 -18305.383 -14806.687 290.25871 -14516.428 27.998313 27.99535 31.670225 24823.838
|
||||
200 427.46608 -4045.0095 -14674.887 131.22903 -14543.658 28.130283 28.127147 31.431578 24869.438
|
||||
250 362.82166 -7283.1332 -14669.07 111.38365 -14557.687 28.225232 28.222707 31.238451 24884.314
|
||||
300 626.2858 7228.0309 -14760.128 192.26526 -14567.862 28.302384 28.299949 31.070038 24885.734
|
||||
350 859.84293 30084.735 -14845.064 263.96563 -14581.099 28.372349 28.369334 30.934424 24899.261
|
||||
400 755.26136 54745.408 -14830.701 231.85983 -14598.842 28.450301 28.448361 30.836159 24957.691
|
||||
450 802.52344 5690.2863 -14860.193 246.36895 -14613.824 28.542311 28.541672 30.773339 25069.354
|
||||
500 631.84734 -31473.795 -14816.101 193.97261 -14622.128 28.605857 28.605891 30.737955 25152.746
|
||||
Loop time of 39.7881 on 4 procs for 500 steps with 2376 atoms
|
||||
|
||||
Performance: 0.217 ns/day, 110.522 hours/ns, 12.567 timesteps/s
|
||||
99.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 | 39.617 | 39.633 | 39.653 | 0.2 | 99.61
|
||||
Neigh | 0.043624 | 0.046792 | 0.051708 | 1.4 | 0.12
|
||||
Comm | 0.05215 | 0.072616 | 0.092142 | 5.6 | 0.18
|
||||
Output | 0.00042915 | 0.00045079 | 0.00051546 | 0.0 | 0.00
|
||||
Modify | 0.029836 | 0.030341 | 0.03094 | 0.2 | 0.08
|
||||
Other | | 0.004489 | | | 0.01
|
||||
|
||||
Nlocal: 594 ave 606 max 582 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Nghost: 2226 ave 2238 max 2214 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Neighs: 25652.8 ave 26129 max 25153 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
FullNghs: 51305.5 ave 52398 max 50251 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 205222
|
||||
Ave neighs/atom = 86.3729
|
||||
Neighbor list builds = 16
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:49
|
||||
1
examples/PACKAGES/meam_sw_spline/Si/Si.b.meam.sw.spline
Symbolic link
1
examples/PACKAGES/meam_sw_spline/Si/Si.b.meam.sw.spline
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../potentials/Si.b.meam.sw.spline
|
||||
@ -1,33 +0,0 @@
|
||||
# Si bcc
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice bcc 3.245
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * ../../potentials/Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (2*vol/atoms)^0.333333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.37 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 3.245 A"
|
||||
print "===================================================="
|
||||
|
||||
#dump 1 all custom 1 bcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
# Si bcc
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice bcc 3.2488516
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * ../../potentials/Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
thermo 1
|
||||
minimize 0 0 10000 100000
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (2*vol/atoms)^0.333333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.37 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 3.238 A"
|
||||
print "===================================================="
|
||||
|
||||
#dump 1 all custom 1 bcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
# Si dc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 5.431
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * ../../potentials/Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (8*vol/atoms)^0.33333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.63 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 5.431 A"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 dc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 4.147
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * ../../potentials/Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (4*vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.288 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 4.147 A"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 fcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
@ -1,38 +0,0 @@
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 4.309793856093661
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * ../../potentials/Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
thermo 1
|
||||
minimize 0 0 10000 100000
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (4*vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.289 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 4.137 A"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 fcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
@ -1,40 +0,0 @@
|
||||
# Si hcp
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
#lattice custom 2.93093 a1 0.5 -0.866025 0 a2 0.5 0.866025 0 a3 0 0 1.596 basis 0.333333 0.666666 0.25 basis 0.666666 0.333333 0.75
|
||||
lattice custom 2.93093 a1 0.5 -0.866025 0 a2 0.5 0.866025 0 a3 0 0 1.7 basis 0.333333 0.666666 0.25 basis 0.666666 0.333333 0.75
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * ../../potentials/Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
thermo 1
|
||||
minimize 0 0 10000 100000
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable lattice_parameter equal lx
|
||||
variable c_to_a equal lz/lx
|
||||
variable atmVol equal vol/atoms
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.290 eV/atom"
|
||||
print "Calculated lattice parameter: ${lattice_parameter} A"
|
||||
print "Reference lattice parameter: 2.925 A"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "c/a ratio: ${c_to_a}"
|
||||
print "Reference c/a ratio: 1.633"
|
||||
print "===================================================="
|
||||
|
||||
#dump 1 all custom 1 hcp.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
33
examples/PACKAGES/meam_sw_spline/Si/in.bcc
Normal file
33
examples/PACKAGES/meam_sw_spline/Si/in.bcc
Normal file
@ -0,0 +1,33 @@
|
||||
# Si bcc
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice bcc 3.245
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (2*vol/atoms)^0.333333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.37 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 3.245 A"
|
||||
print "===================================================="
|
||||
|
||||
#dump 1 all custom 1 bcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
37
examples/PACKAGES/meam_sw_spline/Si/in.bcc_relax
Normal file
37
examples/PACKAGES/meam_sw_spline/Si/in.bcc_relax
Normal file
@ -0,0 +1,37 @@
|
||||
# Si bcc
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice bcc 3.2488516
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
thermo 1
|
||||
minimize 0 0 10000 100000
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (2*vol/atoms)^0.333333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.37 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 3.238 A"
|
||||
print "===================================================="
|
||||
|
||||
#dump 1 all custom 1 bcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
34
examples/PACKAGES/meam_sw_spline/Si/in.dc
Normal file
34
examples/PACKAGES/meam_sw_spline/Si/in.dc
Normal file
@ -0,0 +1,34 @@
|
||||
# Si dc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 5.431
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (8*vol/atoms)^0.33333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.63 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 5.431 A"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 dc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * ../../potentials/Si.b.meam.sw.spline Si
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
@ -10,7 +10,7 @@ atom_style atomic
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 5.431
|
||||
region box block 0 20 0 20 0 20
|
||||
region box block 0 5 0 5 0 5
|
||||
boundary p p p
|
||||
|
||||
create_box 1 box
|
||||
@ -18,7 +18,7 @@ create_atoms 1 box
|
||||
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * ../../potentials/Si.b.meam.sw.spline Si
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
velocity all create 300.0 376847 loop geom
|
||||
@ -41,5 +41,5 @@ thermo_modify format 7 %14.8f
|
||||
timestep 0.002
|
||||
thermo 10
|
||||
|
||||
run 20000
|
||||
run 2000
|
||||
|
||||
34
examples/PACKAGES/meam_sw_spline/Si/in.fcc
Normal file
34
examples/PACKAGES/meam_sw_spline/Si/in.fcc
Normal file
@ -0,0 +1,34 @@
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 4.147
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (4*vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.288 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 4.147 A"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 fcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
38
examples/PACKAGES/meam_sw_spline/Si/in.fcc_relax
Normal file
38
examples/PACKAGES/meam_sw_spline/Si/in.fcc_relax
Normal file
@ -0,0 +1,38 @@
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 4.309793856093661
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
thermo 1
|
||||
minimize 0 0 10000 100000
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (4*vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.289 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 4.137 A"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 fcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
40
examples/PACKAGES/meam_sw_spline/Si/in.hcp_relax
Normal file
40
examples/PACKAGES/meam_sw_spline/Si/in.hcp_relax
Normal file
@ -0,0 +1,40 @@
|
||||
# Si hcp
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
#lattice custom 2.93093 a1 0.5 -0.866025 0 a2 0.5 0.866025 0 a3 0 0 1.596 basis 0.333333 0.666666 0.25 basis 0.666666 0.333333 0.75
|
||||
lattice custom 2.93093 a1 0.5 -0.866025 0 a2 0.5 0.866025 0 a3 0 0 1.7 basis 0.333333 0.666666 0.25 basis 0.666666 0.333333 0.75
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
thermo 1
|
||||
minimize 0 0 10000 100000
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable lattice_parameter equal lx
|
||||
variable c_to_a equal lz/lx
|
||||
variable atmVol equal vol/atoms
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.352 eV/atom"
|
||||
print "Calculated lattice parameter: ${lattice_parameter} A"
|
||||
print "Reference lattice parameter: 2.736 A"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "c/a ratio: ${c_to_a}"
|
||||
print "Reference c/a ratio: 1.633"
|
||||
print "===================================================="
|
||||
|
||||
#dump 1 all custom 1 hcp.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
34
examples/PACKAGES/meam_sw_spline/Si/in.sc
Normal file
34
examples/PACKAGES/meam_sw_spline/Si/in.sc
Normal file
@ -0,0 +1,34 @@
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice sc 2.612
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.337 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 2.612 A"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 sc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
38
examples/PACKAGES/meam_sw_spline/Si/in.sc_relax
Normal file
38
examples/PACKAGES/meam_sw_spline/Si/in.sc_relax
Normal file
@ -0,0 +1,38 @@
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice sc 2.612
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
thermo 1
|
||||
minimize 0 0 10000 100000
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: -4.337 eV/atom"
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
print "Lattice constant ${aLatt} A"
|
||||
print "Reference lattice constant 2.612 A"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 fcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
27
examples/PACKAGES/meam_sw_spline/Si/in.single_atom
Normal file
27
examples/PACKAGES/meam_sw_spline/Si/in.single_atom
Normal file
@ -0,0 +1,27 @@
|
||||
# Si single atom in vacuum
|
||||
|
||||
units metal
|
||||
boundary f f f
|
||||
|
||||
atom_style atomic
|
||||
region box block -100 100 -100 100 -100 100 units box
|
||||
create_box 1 box
|
||||
create_atoms 1 single 0 0 0 units box
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
run 0
|
||||
|
||||
print "===================================================="
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
print "Reference cohesive energy: 0 eV/atom"
|
||||
print "===================================================="
|
||||
|
||||
|
||||
#dump 1 all custom 1 single_atom.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
99
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.bcc.g++.1
Normal file
99
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.bcc.g++.1
Normal file
@ -0,0 +1,99 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si bcc
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice bcc 3.245
|
||||
Lattice spacing in x,y,z = 3.245 3.245 3.245
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (3.245 3.245 3.245)
|
||||
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 (3.245 3.245 3.245)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (2*vol/atoms)^0.333333333333
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.4
|
||||
ghost atom cutoff = 6.4
|
||||
binsize = 3.2, bins = 2 2 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.714 | 3.714 | 3.714 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -8.7453652 0 -8.7453652 -50884.003
|
||||
Loop time of 1.393e-06 on 1 procs for 0 steps with 2 atoms
|
||||
|
||||
71.8% 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 | | 1.393e-06 | | |100.00
|
||||
|
||||
Nlocal: 2 ave 2 max 2 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 187 ave 187 max 187 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 58 ave 58 max 58 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 116 ave 116 max 116 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 116
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
print "===================================================="
|
||||
====================================================
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
Calculated cohesive energy: -4.37268261764397 eV/atom
|
||||
print "Reference cohesive energy: -4.37 eV/atom"
|
||||
Reference cohesive energy: -4.37 eV/atom
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
Atomic volume 17.0849655625 A^3
|
||||
print "Lattice constant ${aLatt} A"
|
||||
Lattice constant 3.24499999999618 A
|
||||
print "Reference lattice constant 3.245 A"
|
||||
Reference lattice constant 3.245 A
|
||||
print "===================================================="
|
||||
====================================================
|
||||
|
||||
#dump 1 all custom 1 bcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.bcc.g++.4
Normal file
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.bcc.g++.4
Normal file
@ -0,0 +1,100 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si bcc
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice bcc 3.245
|
||||
Lattice spacing in x,y,z = 3.245 3.245 3.245
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (3.245 3.245 3.245)
|
||||
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 (3.245 3.245 3.245)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (2*vol/atoms)^0.333333333333
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.4
|
||||
ghost atom cutoff = 6.4
|
||||
binsize = 3.2, bins = 2 2 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:966)
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.745 | 3.745 | 3.745 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -8.7453652 0 -8.7453652 -50884.003
|
||||
Loop time of 5.23625e-06 on 4 procs for 0 steps with 2 atoms
|
||||
|
||||
81.2% 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 | | 5.236e-06 | | |100.00
|
||||
|
||||
Nlocal: 0.5 ave 1 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 143.5 ave 144 max 143 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 14.5 ave 29 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
FullNghs: 29 ave 58 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 116
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
print "===================================================="
|
||||
====================================================
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
Calculated cohesive energy: -4.37268261764397 eV/atom
|
||||
print "Reference cohesive energy: -4.37 eV/atom"
|
||||
Reference cohesive energy: -4.37 eV/atom
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
Atomic volume 17.0849655625 A^3
|
||||
print "Lattice constant ${aLatt} A"
|
||||
Lattice constant 3.24499999999618 A
|
||||
print "Reference lattice constant 3.245 A"
|
||||
Reference lattice constant 3.245 A
|
||||
print "===================================================="
|
||||
====================================================
|
||||
|
||||
#dump 1 all custom 1 bcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
3489
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.bcc_relax.g++.1
Normal file
3489
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.bcc_relax.g++.1
Normal file
File diff suppressed because it is too large
Load Diff
8809
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.bcc_relax.g++.4
Normal file
8809
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.bcc_relax.g++.4
Normal file
File diff suppressed because it is too large
Load Diff
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.dc.g++.1
Normal file
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.dc.g++.1
Normal file
@ -0,0 +1,100 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si dc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 5.431
|
||||
Lattice spacing in x,y,z = 5.431 5.431 5.431
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (5.431 5.431 5.431)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 8 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (5.431 5.431 5.431)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (8*vol/atoms)^0.33333333333
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.4
|
||||
ghost atom cutoff = 6.4
|
||||
binsize = 3.2, bins = 2 2 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.715 | 3.715 | 3.715 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -37.039999 0 -37.039999 -32.742245
|
||||
Loop time of 1.31e-06 on 1 procs for 0 steps with 8 atoms
|
||||
|
||||
76.3% 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 | | 1.31e-06 | | |100.00
|
||||
|
||||
Nlocal: 8 ave 8 max 8 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 272 ave 272 max 272 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 184 ave 184 max 184 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 368 ave 368 max 368 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 368
|
||||
Ave neighs/atom = 46
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
print "===================================================="
|
||||
====================================================
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
Calculated cohesive energy: -4.62999988298102 eV/atom
|
||||
print "Reference cohesive energy: -4.63 eV/atom"
|
||||
Reference cohesive energy: -4.63 eV/atom
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
Atomic volume 20.023934748875 A^3
|
||||
print "Lattice constant ${aLatt} A"
|
||||
Lattice constant 5.4309999999081 A
|
||||
print "Reference lattice constant 5.431 A"
|
||||
Reference lattice constant 5.431 A
|
||||
print "===================================================="
|
||||
====================================================
|
||||
|
||||
|
||||
#dump 1 all custom 1 dc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.dc.g++.4
Normal file
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.dc.g++.4
Normal file
@ -0,0 +1,100 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si dc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 5.431
|
||||
Lattice spacing in x,y,z = 5.431 5.431 5.431
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (5.431 5.431 5.431)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 8 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (5.431 5.431 5.431)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (8*vol/atoms)^0.33333333333
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.4
|
||||
ghost atom cutoff = 6.4
|
||||
binsize = 3.2, bins = 2 2 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.729 | 3.729 | 3.729 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -37.039999 0 -37.039999 -32.742245
|
||||
Loop time of 5.486e-06 on 4 procs for 0 steps with 8 atoms
|
||||
|
||||
86.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 | 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 | | 5.486e-06 | | |100.00
|
||||
|
||||
Nlocal: 2 ave 2 max 2 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 199 ave 199 max 199 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 46 ave 46 max 46 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 92 ave 92 max 92 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 368
|
||||
Ave neighs/atom = 46
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
print "===================================================="
|
||||
====================================================
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
Calculated cohesive energy: -4.62999988298102 eV/atom
|
||||
print "Reference cohesive energy: -4.63 eV/atom"
|
||||
Reference cohesive energy: -4.63 eV/atom
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
Atomic volume 20.023934748875 A^3
|
||||
print "Lattice constant ${aLatt} A"
|
||||
Lattice constant 5.4309999999081 A
|
||||
print "Reference lattice constant 5.431 A"
|
||||
Reference lattice constant 5.431 A
|
||||
print "===================================================="
|
||||
====================================================
|
||||
|
||||
|
||||
#dump 1 all custom 1 dc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
10143
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.dc_relax.g++.1
Normal file
10143
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.dc_relax.g++.1
Normal file
File diff suppressed because it is too large
Load Diff
10143
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.dc_relax.g++.4
Normal file
10143
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.dc_relax.g++.4
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,304 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# bulk Si lattice
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 5.431
|
||||
Lattice spacing in x,y,z = 5.431 5.431 5.431
|
||||
region box block 0 5 0 5 0 5
|
||||
boundary p p p
|
||||
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (27.155 27.155 27.155)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 1000 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (27.155 27.155 27.155)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
velocity all create 300.0 376847 loop geom
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 5 check yes
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
thermo 1
|
||||
thermo_style custom step vol etotal press pxx pyy pxz
|
||||
thermo_modify format 2 %14.8f
|
||||
thermo_modify format 3 %14.8f
|
||||
thermo_modify format 4 %14.8f
|
||||
thermo_modify format 5 %14.8f
|
||||
thermo_modify format 6 %14.8f
|
||||
thermo_modify format 7 %14.8f
|
||||
|
||||
|
||||
timestep 0.002
|
||||
thermo 10
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 5 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.4
|
||||
ghost atom cutoff = 5.4
|
||||
binsize = 2.7, bins = 11 11 11
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.882 | 3.882 | 3.882 Mbytes
|
||||
Step Volume TotEng Press Pxx Pyy Pxz
|
||||
0 20023.93474888 -4591.26061752 2033.68946971 2021.11445194 1952.17782797 -97.47450759
|
||||
10 20023.93474888 -4591.06635027 2106.23969322 2152.04799431 2155.92194220 12.68865715
|
||||
20 20023.93474888 -4591.08410781 1520.06153315 1492.61610264 1497.10285778 106.41609464
|
||||
30 20023.93474888 -4591.20090599 1491.31281700 1502.41875599 1432.20332178 -220.78939631
|
||||
40 20023.93474888 -4591.12407583 2061.65437359 2086.56902463 2156.12774891 133.73119636
|
||||
50 20023.93474888 -4591.07086388 1998.55985680 2023.28426545 1940.19019547 -154.08048062
|
||||
60 20023.93474888 -4591.17588927 1598.13531474 1534.49237825 1668.01401046 -30.47944201
|
||||
70 20023.93474888 -4591.14658914 1774.80198893 1761.97777404 1785.46768303 265.88782944
|
||||
80 20023.93474888 -4591.07344257 2005.07361554 2086.14231294 1947.20619069 -215.28622700
|
||||
90 20023.93474888 -4591.16235879 1688.39497858 1707.61777360 1644.33608005 -164.72130224
|
||||
100 20023.93474888 -4591.14061103 1841.94537985 1773.73213126 1872.51475381 270.59501062
|
||||
110 20023.93474888 -4591.10220075 1929.22145308 1909.87270800 1904.88051163 -225.24314462
|
||||
120 20023.93474888 -4591.13680660 1781.93134139 1866.38642644 1768.89564107 99.86322623
|
||||
130 20023.93474888 -4591.14594757 1822.72100705 1800.47495717 1820.60642574 80.95885439
|
||||
140 20023.93474888 -4591.10390676 1910.20395959 1955.77665062 1995.74598843 -90.83622328
|
||||
150 20023.93474888 -4591.14245989 1806.86945717 1826.66971108 1792.88598455 109.51618275
|
||||
160 20023.93474888 -4591.13052367 1788.16506016 1720.21348685 1791.47937216 -21.37756610
|
||||
170 20023.93474888 -4591.11781009 1807.71365716 1900.29204203 1719.93993616 -188.87504172
|
||||
180 20023.93474888 -4591.13704844 1743.08721343 1658.19411470 1778.16073808 259.52251154
|
||||
190 20023.93474888 -4591.13308836 1922.54250327 2098.60870590 1929.55744997 -258.20774060
|
||||
200 20023.93474888 -4591.11910322 1948.92068139 1792.61227410 1942.76349531 -13.04781205
|
||||
210 20023.93474888 -4591.13284135 1783.61066563 1820.43796850 1760.07633603 159.07171405
|
||||
220 20023.93474888 -4591.13715614 1662.49241020 1659.81600936 1681.59150854 -132.96912515
|
||||
230 20023.93474888 -4591.11129339 1856.01542680 1850.81261755 1867.66185416 52.30767173
|
||||
240 20023.93474888 -4591.13924088 1891.58063505 1873.70129244 1956.58093826 98.93914776
|
||||
250 20023.93474888 -4591.13115836 1860.91219630 1879.89822419 1879.31544524 -206.02783594
|
||||
260 20023.93474888 -4591.12006308 1818.08099684 1941.33545552 1695.61949198 135.96435310
|
||||
270 20023.93474888 -4591.13331488 1745.21920087 1632.20932864 1841.75237705 -14.79711037
|
||||
280 20023.93474888 -4591.12668399 1922.27473363 1983.53049663 1801.16867887 -31.89499092
|
||||
290 20023.93474888 -4591.12976814 1897.55799948 1827.64752799 1980.45982095 2.76502468
|
||||
300 20023.93474888 -4591.13041107 1825.92142175 1878.68168429 1802.25725197 -38.06898013
|
||||
310 20023.93474888 -4591.12342070 1743.43519435 1729.85694627 1756.42228046 -60.06468142
|
||||
320 20023.93474888 -4591.13442022 1763.60998541 1802.84007786 1758.08838840 143.69519620
|
||||
330 20023.93474888 -4591.12695785 1845.27144767 1808.79851160 1834.73311592 -121.25298963
|
||||
340 20023.93474888 -4591.12739037 1824.35911264 1832.04065906 1890.80248509 133.62517019
|
||||
350 20023.93474888 -4591.12837932 1846.72083448 1835.30033595 1798.95928707 4.24639304
|
||||
360 20023.93474888 -4591.13622705 1815.71663299 1841.77777220 1827.49780217 -143.29464941
|
||||
370 20023.93474888 -4591.11509215 1875.67484263 1827.27976696 1896.21161847 45.76662873
|
||||
380 20023.93474888 -4591.13911382 1797.59606691 1812.24811799 1794.04473228 -41.59509792
|
||||
390 20023.93474888 -4591.13044234 1898.76664850 1956.19730294 1860.25003173 50.92492249
|
||||
400 20023.93474888 -4591.11980093 1844.92592342 1784.40892834 1906.40469373 43.28606683
|
||||
410 20023.93474888 -4591.13203164 1712.71494613 1814.06280558 1635.86741674 -103.93631537
|
||||
420 20023.93474888 -4591.13931019 1733.36385225 1744.49160982 1807.86989588 133.74823990
|
||||
430 20023.93474888 -4591.11091920 1949.42231060 1909.20892751 1975.13043695 -14.29575994
|
||||
440 20023.93474888 -4591.13618833 1864.59807598 1877.62852076 1843.27438001 -89.29004851
|
||||
450 20023.93474888 -4591.14065042 1792.33232906 1768.15519821 1791.97620416 -5.46931032
|
||||
460 20023.93474888 -4591.11500763 1855.81887789 1911.02702117 1854.11481264 -11.65879123
|
||||
470 20023.93474888 -4591.12641341 1766.54892333 1681.66409644 1790.72946629 -16.19300593
|
||||
480 20023.93474888 -4591.14320376 1784.94640413 1837.12258760 1829.45130428 -24.58372083
|
||||
490 20023.93474888 -4591.12275909 1917.84426215 1874.02051396 1823.93473736 -53.21102808
|
||||
500 20023.93474888 -4591.11536593 1947.65004536 1984.00927202 1955.20583715 170.72348231
|
||||
510 20023.93474888 -4591.14946014 1646.92190921 1637.16721605 1721.95260390 0.75910182
|
||||
520 20023.93474888 -4591.11878765 1731.94108930 1743.76148438 1765.97663216 -57.64792042
|
||||
530 20023.93474888 -4591.12058050 1866.85423508 1909.03069117 1803.97339119 16.08917224
|
||||
540 20023.93474888 -4591.14440078 1899.09055097 1869.45536614 1955.63982682 -24.32088390
|
||||
550 20023.93474888 -4591.12281013 1852.60179253 1888.89598923 1828.87997557 33.36368633
|
||||
560 20023.93474888 -4591.12596918 1774.97474435 1755.08558684 1723.01020118 87.23634641
|
||||
570 20023.93474888 -4591.13304645 1873.49764770 1893.06123674 1876.90953167 -195.18190912
|
||||
580 20023.93474888 -4591.13041940 1893.40369832 1948.39675218 1946.70465437 29.22769962
|
||||
590 20023.93474888 -4591.12628365 1825.99871929 1778.59925204 1799.29497744 3.08469865
|
||||
600 20023.93474888 -4591.12623199 1711.14291256 1726.06334645 1756.56328186 20.17045328
|
||||
610 20023.93474888 -4591.13575822 1762.74383759 1696.53579466 1742.16989186 137.99551512
|
||||
620 20023.93474888 -4591.11748177 1915.62953629 1922.50709681 1889.71048322 -151.19246541
|
||||
630 20023.93474888 -4591.13946145 1831.51838075 1853.88531957 1944.94176350 -78.29498078
|
||||
640 20023.93474888 -4591.12580524 1823.82318701 1846.02546609 1743.64065792 65.64051216
|
||||
650 20023.93474888 -4591.11948676 1873.78285550 1775.89089801 1906.72223535 -139.90734745
|
||||
660 20023.93474888 -4591.14305191 1839.42659647 1933.10913722 1792.91114197 95.22053922
|
||||
670 20023.93474888 -4591.12366236 1774.96754052 1789.81121744 1723.60115478 55.42770410
|
||||
680 20023.93474888 -4591.12112515 1741.65490764 1742.36094980 1800.06072377 -192.49818667
|
||||
690 20023.93474888 -4591.13668764 1895.42242504 1903.97215886 1897.27680319 147.64765468
|
||||
700 20023.93474888 -4591.13154232 1907.73595360 1909.70840176 1899.59355684 -41.88693465
|
||||
710 20023.93474888 -4591.12123644 1787.17165151 1846.04442558 1856.62285015 14.61013131
|
||||
720 20023.93474888 -4591.12912228 1773.50711774 1711.48986545 1678.98894392 99.13962644
|
||||
730 20023.93474888 -4591.13943426 1877.91861157 1809.62732738 1952.21169623 -179.48456876
|
||||
740 20023.93474888 -4591.11922024 1847.48164813 1916.28361817 1760.80492531 -43.61964522
|
||||
750 20023.93474888 -4591.12596610 1728.48429245 1815.68288594 1697.85161513 55.12427062
|
||||
760 20023.93474888 -4591.14243576 1796.32698641 1612.95116168 1889.48842714 -56.19243304
|
||||
770 20023.93474888 -4591.11566749 1950.43433206 2057.36511752 1888.45827111 128.97571878
|
||||
780 20023.93474888 -4591.13794531 1856.08214494 1774.55616742 1998.19458473 -130.30085155
|
||||
790 20023.93474888 -4591.12484960 1705.79355619 1781.11561557 1610.09362743 6.08209071
|
||||
800 20023.93474888 -4591.13248423 1653.85467554 1641.87803368 1645.29795462 53.02769875
|
||||
810 20023.93474888 -4591.12053801 1850.72927101 1853.81007899 1934.33578436 -11.41348471
|
||||
820 20023.93474888 -4591.13568633 2005.01327886 2023.65736202 1948.64345022 -22.95511661
|
||||
830 20023.93474888 -4591.13348945 1940.46273386 1921.41281592 1947.71907957 -14.69201391
|
||||
840 20023.93474888 -4591.11607962 1815.62995416 1907.12718388 1802.10585446 -143.02255465
|
||||
850 20023.93474888 -4591.14111076 1700.83719470 1651.77649527 1634.11260381 100.81708093
|
||||
860 20023.93474888 -4591.12299798 1784.63349939 1801.31186313 1877.00630923 -28.97604911
|
||||
870 20023.93474888 -4591.12551010 1837.85662130 1761.53486861 1840.30471001 -52.75496595
|
||||
880 20023.93474888 -4591.13571795 1820.08693693 1877.16684816 1867.96423182 86.61080127
|
||||
890 20023.93474888 -4591.12866291 1826.87796103 1839.08169130 1817.17394238 -134.01673514
|
||||
900 20023.93474888 -4591.12028235 1746.32172050 1741.62288887 1761.74467257 152.25484122
|
||||
910 20023.93474888 -4591.14179606 1761.97332567 1830.92751090 1713.93524698 -9.10599600
|
||||
920 20023.93474888 -4591.12106188 1914.68900864 1818.03927415 1943.64134070 -147.61072264
|
||||
930 20023.93474888 -4591.12848096 1926.62340190 1986.31823801 1928.48168675 91.05693225
|
||||
940 20023.93474888 -4591.13069876 1761.33037533 1672.68740184 1752.00036085 -89.58641136
|
||||
950 20023.93474888 -4591.13173687 1805.68203857 1904.16936367 1803.40809345 66.24135736
|
||||
960 20023.93474888 -4591.11991153 1917.48459209 1923.72305582 1935.83439145 87.27226176
|
||||
970 20023.93474888 -4591.13868359 1847.33106721 1840.24455972 1893.06308349 -129.01573111
|
||||
980 20023.93474888 -4591.13181295 1727.55316411 1738.87912907 1668.27059033 59.44259326
|
||||
990 20023.93474888 -4591.11625584 1786.71812091 1715.85427725 1854.96328384 126.73228092
|
||||
1000 20023.93474888 -4591.13934315 1826.70687382 1852.65649263 1809.58902755 -174.47060530
|
||||
1010 20023.93474888 -4591.13095663 1811.18694875 1846.66780622 1799.54031746 82.32118283
|
||||
1020 20023.93474888 -4591.12183334 1887.55743479 1888.81913424 1892.46209156 -133.57878235
|
||||
1030 20023.93474888 -4591.13070772 1816.08941967 1795.09854639 1813.60363124 -85.34396177
|
||||
1040 20023.93474888 -4591.13464400 1793.05553513 1867.58492264 1755.85054655 230.90630163
|
||||
1050 20023.93474888 -4591.12336443 1737.63082740 1638.33978731 1775.64351248 -218.66770699
|
||||
1060 20023.93474888 -4591.12391336 1909.02227267 1917.61923360 1929.46998267 201.87082324
|
||||
1070 20023.93474888 -4591.14276207 1853.77633175 1845.01344377 1926.71448240 7.58141037
|
||||
1080 20023.93474888 -4591.12033703 1840.89520938 1986.47111954 1764.94655261 -247.98825747
|
||||
1090 20023.93474888 -4591.12285870 1832.49648001 1766.39647524 1807.79358153 337.75570868
|
||||
1100 20023.93474888 -4591.14555863 1760.67028787 1709.70075974 1799.92422039 -115.37262627
|
||||
1110 20023.93474888 -4591.11192008 1900.26741848 1977.75347876 1822.20529111 -155.07728288
|
||||
1120 20023.93474888 -4591.13385646 1846.80363719 1808.16104869 1966.17497644 225.10841939
|
||||
1130 20023.93474888 -4591.13677038 1841.68639992 1848.15406996 1742.05105373 -236.03870840
|
||||
1140 20023.93474888 -4591.11917782 1698.85212076 1683.67420262 1769.66448366 -17.01311110
|
||||
1150 20023.93474888 -4591.12452665 1784.18127764 1793.37702282 1832.40349926 223.51415711
|
||||
1160 20023.93474888 -4591.14073576 1851.04085412 1886.26603210 1747.67661478 -243.41304842
|
||||
1170 20023.93474888 -4591.12852378 1864.81370801 1815.62177095 1968.34473464 56.20720441
|
||||
1180 20023.93474888 -4591.11147236 1764.74624859 1757.71396067 1739.81644521 145.86370499
|
||||
1190 20023.93474888 -4591.14727099 1743.23431143 1756.61309537 1783.17306740 -228.37177614
|
||||
1200 20023.93474888 -4591.12826190 1966.84129537 1984.72539337 1881.61224992 250.19286662
|
||||
1210 20023.93474888 -4591.12135178 1991.65207643 1967.17238770 2032.30298146 -170.69659769
|
||||
1220 20023.93474888 -4591.12704074 1798.24767693 1886.54781818 1750.35115144 -51.42237622
|
||||
1230 20023.93474888 -4591.15251028 1648.42299475 1626.54609762 1707.43237169 201.89424169
|
||||
1240 20023.93474888 -4591.10437001 1807.54033792 1804.75428684 1800.73969035 -130.77309115
|
||||
1250 20023.93474888 -4591.12866282 1822.12377428 1924.97526529 1809.30741820 20.43220727
|
||||
1260 20023.93474888 -4591.15253116 1834.13256135 1775.15312363 1862.92726901 143.80072625
|
||||
1270 20023.93474888 -4591.11697045 1895.99420213 1890.05548682 1876.70705636 -196.28190118
|
||||
1280 20023.93474888 -4591.10998558 1810.69685083 1786.90144766 1890.32743580 114.61127078
|
||||
1290 20023.93474888 -4591.15663369 1683.26225221 1732.91813399 1605.72640055 -56.89297456
|
||||
1300 20023.93474888 -4591.12644490 1877.89503414 1849.54325292 1892.65946124 -90.18957430
|
||||
1310 20023.93474888 -4591.10427489 1965.23083403 1891.58965014 2012.51270249 177.72644110
|
||||
1320 20023.93474888 -4591.15434861 1777.36326273 1897.73365762 1722.00033373 -82.34768718
|
||||
1330 20023.93474888 -4591.12298907 1836.66913522 1799.70130374 1793.68254013 -61.75151998
|
||||
1340 20023.93474888 -4591.12490141 1777.80141168 1795.27706143 1895.24485296 166.42735417
|
||||
1350 20023.93474888 -4591.12378570 1791.10623391 1818.30852833 1798.44218549 -226.55174357
|
||||
1360 20023.93474888 -4591.14595156 1831.57041599 1836.41493856 1803.22092404 47.63921757
|
||||
1370 20023.93474888 -4591.12178926 1874.48627007 1830.97360382 1875.01454925 24.21227347
|
||||
1380 20023.93474888 -4591.11951398 1796.21540344 1815.96845897 1814.42525184 -116.20769836
|
||||
1390 20023.93474888 -4591.14872688 1781.31452347 1832.31081575 1656.75621082 188.41394605
|
||||
1400 20023.93474888 -4591.11780318 1969.45961602 1942.83749662 2052.95436774 -155.30340466
|
||||
1410 20023.93474888 -4591.13042094 1805.38744778 1812.16090834 1841.18785723 -135.61134425
|
||||
1420 20023.93474888 -4591.13286369 1739.68760936 1659.96693548 1707.24203303 110.27513123
|
||||
1430 20023.93474888 -4591.13198735 1747.53328395 1806.76726000 1784.09093686 5.21735925
|
||||
1440 20023.93474888 -4591.11951402 1859.97208154 1781.23741206 1873.95961458 101.92428758
|
||||
1450 20023.93474888 -4591.13735783 1846.95509332 1932.51431610 1875.78491023 -20.51854956
|
||||
1460 20023.93474888 -4591.13226567 1823.25742012 1856.67667532 1742.46107569 -236.53527110
|
||||
1470 20023.93474888 -4591.11753177 1840.40145258 1804.81903258 1927.84741838 204.06984499
|
||||
1480 20023.93474888 -4591.12988851 1857.83857551 1869.95780410 1816.24608994 47.30748811
|
||||
1490 20023.93474888 -4591.14097247 1856.07106933 1865.36744675 1821.35003034 -170.29765752
|
||||
1500 20023.93474888 -4591.11239658 1788.62741104 1806.80467824 1740.17442721 184.92894743
|
||||
1510 20023.93474888 -4591.12783714 1790.12382236 1762.63806951 1871.28139822 -186.60004317
|
||||
1520 20023.93474888 -4591.14195717 1821.44183211 1942.11747262 1841.04727513 162.73737184
|
||||
1530 20023.93474888 -4591.11752486 1893.52056191 1779.18475868 1942.62286196 -36.33494025
|
||||
1540 20023.93474888 -4591.12184439 1817.26275805 1859.82625327 1763.71144260 -112.75758714
|
||||
1550 20023.93474888 -4591.13981158 1749.80836038 1700.61859748 1825.01128874 217.38903989
|
||||
1560 20023.93474888 -4591.12728980 1805.71852411 1871.59756252 1719.68258949 -238.74223976
|
||||
1570 20023.93474888 -4591.11445788 1888.39024553 1835.20226211 1912.08399927 -215.27224989
|
||||
1580 20023.93474888 -4591.14252397 1838.41560957 1873.47969145 1837.47624533 354.25680129
|
||||
1590 20023.93474888 -4591.13218156 1810.87114008 1789.08855052 1828.99123618 -209.15084305
|
||||
1600 20023.93474888 -4591.10968279 1836.00776639 1825.81027089 1837.34962151 100.90452637
|
||||
1610 20023.93474888 -4591.14604707 1757.48298096 1809.03232957 1740.69121405 2.74809819
|
||||
1620 20023.93474888 -4591.12529727 1849.75708598 1814.73147905 1947.60906283 -148.12289096
|
||||
1630 20023.93474888 -4591.12162235 1786.81944541 1807.60181185 1733.20416838 206.15614063
|
||||
1640 20023.93474888 -4591.13525115 1749.94510017 1689.93885297 1800.12923385 -51.81620378
|
||||
1650 20023.93474888 -4591.12880584 1980.51885483 2129.50862093 1891.59140452 -174.84268771
|
||||
1660 20023.93474888 -4591.12623477 1937.01570743 1858.01901653 2010.43954630 262.44914826
|
||||
1670 20023.93474888 -4591.13072559 1694.39186347 1719.93995818 1664.78730910 -145.83592220
|
||||
1680 20023.93474888 -4591.12856494 1668.28855671 1605.96305541 1655.07886827 -142.62923930
|
||||
1690 20023.93474888 -4591.12284600 1970.77558510 1970.04100693 2023.90407383 345.77356846
|
||||
1700 20023.93474888 -4591.13613310 1866.78766162 1829.21192148 1874.14168461 -348.93449367
|
||||
1710 20023.93474888 -4591.12999014 1699.05790295 1794.09077236 1679.36565966 178.31013280
|
||||
1720 20023.93474888 -4591.11591976 1782.98025612 1700.01516442 1839.71274928 70.34469196
|
||||
1730 20023.93474888 -4591.14002514 1828.78788640 1977.52189719 1827.54175302 -277.62511918
|
||||
1740 20023.93474888 -4591.13058733 1798.70721142 1684.56540042 1750.52641931 233.57737288
|
||||
1750 20023.93474888 -4591.11769219 1851.38818281 1927.22480022 1826.49368852 -71.98649667
|
||||
1760 20023.93474888 -4591.14007689 1883.09481847 1852.22751222 1980.94397520 -186.99017028
|
||||
1770 20023.93474888 -4591.12640655 1894.21954462 1854.80842095 1863.10559976 245.84910078
|
||||
1780 20023.93474888 -4591.12667944 1783.63681589 1763.81183224 1762.03364824 -313.41414175
|
||||
1790 20023.93474888 -4591.13111090 1787.61153134 1881.28039744 1851.63506346 105.01216221
|
||||
1800 20023.93474888 -4591.12970750 1803.03035944 1787.16231095 1760.00551047 314.84058979
|
||||
1810 20023.93474888 -4591.12225161 1812.82894513 1745.83085735 1834.29341515 -340.09732132
|
||||
1820 20023.93474888 -4591.13716194 1775.41292525 1771.18484944 1813.93798001 70.81021199
|
||||
1830 20023.93474888 -4591.12268274 1837.06086954 1854.30962385 1844.39144552 145.53217437
|
||||
1840 20023.93474888 -4591.12375023 1837.54812559 1877.01563366 1835.09263974 -272.38620552
|
||||
1850 20023.93474888 -4591.14592434 1799.83851836 1722.86830853 1788.44737857 224.62763516
|
||||
1860 20023.93474888 -4591.11203857 1905.18247850 1950.95536684 1931.86453236 -124.44793867
|
||||
1870 20023.93474888 -4591.13265210 1806.29161872 1787.78341130 1766.71844421 -34.60592395
|
||||
1880 20023.93474888 -4591.14209985 1740.88195157 1752.31650148 1773.74624207 343.80423723
|
||||
1890 20023.93474888 -4591.11622075 1861.70663705 1810.81638169 1911.13160086 -309.99090581
|
||||
1900 20023.93474888 -4591.12680903 1858.70135891 2003.32077130 1814.47948340 26.70054215
|
||||
1910 20023.93474888 -4591.14366548 1806.10434545 1792.54775377 1864.38160004 301.24438764
|
||||
1920 20023.93474888 -4591.11781857 1833.48848596 1766.77497003 1815.64080638 -293.06438183
|
||||
1930 20023.93474888 -4591.12285278 1839.11335622 1929.28055650 1841.52147596 59.60052069
|
||||
1940 20023.93474888 -4591.14018804 1796.22184540 1744.26853225 1746.83391971 40.37326649
|
||||
1950 20023.93474888 -4591.12901254 1816.28164897 1873.15646355 1849.53951502 -206.15332558
|
||||
1960 20023.93474888 -4591.10959346 1829.95888178 1759.19881131 1818.96147638 140.43862743
|
||||
1970 20023.93474888 -4591.15041597 1695.66220939 1759.10227856 1713.31191846 1.48998705
|
||||
1980 20023.93474888 -4591.12373926 1839.11714441 1819.64176487 1799.65559207 -171.07051582
|
||||
1990 20023.93474888 -4591.11065302 1930.61206830 1898.47853948 1985.20466055 305.47151137
|
||||
2000 20023.93474888 -4591.15175708 1707.09302769 1754.70782606 1717.76389055 -259.68475322
|
||||
Loop time of 14.4074 on 1 procs for 2000 steps with 1000 atoms
|
||||
|
||||
Performance: 23.988 ns/day, 1.001 hours/ns, 138.817 timesteps/s, 138.817 katom-step/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 14.354 | 14.354 | 14.354 | 0.0 | 99.63
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.017188 | 0.017188 | 0.017188 | 0.0 | 0.12
|
||||
Output | 0.0050332 | 0.0050332 | 0.0050332 | 0.0 | 0.03
|
||||
Modify | 0.021505 | 0.021505 | 0.021505 | 0.0 | 0.15
|
||||
Other | | 0.009614 | | | 0.07
|
||||
|
||||
Nlocal: 1000 ave 1000 max 1000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1470 ave 1470 max 1470 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 14000 ave 14000 max 14000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 28000 ave 28000 max 28000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 28000
|
||||
Ave neighs/atom = 28
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:14
|
||||
@ -0,0 +1,304 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# bulk Si lattice
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
||||
|
||||
atom_style atomic
|
||||
lattice diamond 5.431
|
||||
Lattice spacing in x,y,z = 5.431 5.431 5.431
|
||||
region box block 0 5 0 5 0 5
|
||||
boundary p p p
|
||||
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (27.155 27.155 27.155)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 1000 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (27.155 27.155 27.155)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
velocity all create 300.0 376847 loop geom
|
||||
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 1 delay 5 check yes
|
||||
|
||||
fix 1 all nve
|
||||
|
||||
thermo 1
|
||||
thermo_style custom step vol etotal press pxx pyy pxz
|
||||
thermo_modify format 2 %14.8f
|
||||
thermo_modify format 3 %14.8f
|
||||
thermo_modify format 4 %14.8f
|
||||
thermo_modify format 5 %14.8f
|
||||
thermo_modify format 6 %14.8f
|
||||
thermo_modify format 7 %14.8f
|
||||
|
||||
|
||||
timestep 0.002
|
||||
thermo 10
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 5 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.4
|
||||
ghost atom cutoff = 5.4
|
||||
binsize = 2.7, bins = 11 11 11
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.844 | 3.844 | 3.844 Mbytes
|
||||
Step Volume TotEng Press Pxx Pyy Pxz
|
||||
0 20023.93474888 -4591.26061752 2033.68946971 2021.11445194 1952.17782797 -97.47450759
|
||||
10 20023.93474888 -4591.06635027 2106.23969322 2152.04799431 2155.92194220 12.68865715
|
||||
20 20023.93474888 -4591.08410781 1520.06153315 1492.61610264 1497.10285778 106.41609464
|
||||
30 20023.93474888 -4591.20090599 1491.31281700 1502.41875599 1432.20332178 -220.78939631
|
||||
40 20023.93474888 -4591.12407583 2061.65437359 2086.56902463 2156.12774891 133.73119636
|
||||
50 20023.93474888 -4591.07086388 1998.55985680 2023.28426545 1940.19019547 -154.08048062
|
||||
60 20023.93474888 -4591.17588927 1598.13531474 1534.49237825 1668.01401046 -30.47944201
|
||||
70 20023.93474888 -4591.14658914 1774.80198893 1761.97777404 1785.46768303 265.88782944
|
||||
80 20023.93474888 -4591.07344257 2005.07361554 2086.14231294 1947.20619069 -215.28622700
|
||||
90 20023.93474888 -4591.16235879 1688.39497858 1707.61777360 1644.33608005 -164.72130224
|
||||
100 20023.93474888 -4591.14061103 1841.94537985 1773.73213126 1872.51475381 270.59501062
|
||||
110 20023.93474888 -4591.10220075 1929.22145308 1909.87270800 1904.88051163 -225.24314462
|
||||
120 20023.93474888 -4591.13680660 1781.93134139 1866.38642644 1768.89564107 99.86322623
|
||||
130 20023.93474888 -4591.14594757 1822.72100705 1800.47495717 1820.60642574 80.95885439
|
||||
140 20023.93474888 -4591.10390676 1910.20395959 1955.77665062 1995.74598843 -90.83622328
|
||||
150 20023.93474888 -4591.14245989 1806.86945717 1826.66971108 1792.88598455 109.51618275
|
||||
160 20023.93474888 -4591.13052367 1788.16506016 1720.21348685 1791.47937216 -21.37756610
|
||||
170 20023.93474888 -4591.11781009 1807.71365716 1900.29204203 1719.93993616 -188.87504172
|
||||
180 20023.93474888 -4591.13704844 1743.08721343 1658.19411470 1778.16073808 259.52251154
|
||||
190 20023.93474888 -4591.13308836 1922.54250327 2098.60870590 1929.55744997 -258.20774060
|
||||
200 20023.93474888 -4591.11910322 1948.92068139 1792.61227410 1942.76349531 -13.04781205
|
||||
210 20023.93474888 -4591.13284135 1783.61066563 1820.43796850 1760.07633603 159.07171405
|
||||
220 20023.93474888 -4591.13715614 1662.49241020 1659.81600936 1681.59150854 -132.96912515
|
||||
230 20023.93474888 -4591.11129339 1856.01542680 1850.81261755 1867.66185416 52.30767173
|
||||
240 20023.93474888 -4591.13924088 1891.58063505 1873.70129244 1956.58093826 98.93914776
|
||||
250 20023.93474888 -4591.13115836 1860.91219630 1879.89822419 1879.31544524 -206.02783594
|
||||
260 20023.93474888 -4591.12006308 1818.08099684 1941.33545552 1695.61949198 135.96435310
|
||||
270 20023.93474888 -4591.13331488 1745.21920087 1632.20932864 1841.75237705 -14.79711037
|
||||
280 20023.93474888 -4591.12668399 1922.27473363 1983.53049663 1801.16867887 -31.89499092
|
||||
290 20023.93474888 -4591.12976814 1897.55799948 1827.64752799 1980.45982095 2.76502468
|
||||
300 20023.93474888 -4591.13041107 1825.92142175 1878.68168429 1802.25725197 -38.06898013
|
||||
310 20023.93474888 -4591.12342070 1743.43519435 1729.85694627 1756.42228046 -60.06468142
|
||||
320 20023.93474888 -4591.13442022 1763.60998541 1802.84007786 1758.08838840 143.69519620
|
||||
330 20023.93474888 -4591.12695785 1845.27144767 1808.79851160 1834.73311592 -121.25298963
|
||||
340 20023.93474888 -4591.12739037 1824.35911264 1832.04065906 1890.80248509 133.62517019
|
||||
350 20023.93474888 -4591.12837932 1846.72083448 1835.30033595 1798.95928707 4.24639304
|
||||
360 20023.93474888 -4591.13622705 1815.71663299 1841.77777220 1827.49780217 -143.29464941
|
||||
370 20023.93474888 -4591.11509215 1875.67484263 1827.27976696 1896.21161847 45.76662873
|
||||
380 20023.93474888 -4591.13911382 1797.59606691 1812.24811799 1794.04473228 -41.59509792
|
||||
390 20023.93474888 -4591.13044234 1898.76664850 1956.19730294 1860.25003173 50.92492249
|
||||
400 20023.93474888 -4591.11980093 1844.92592342 1784.40892834 1906.40469373 43.28606684
|
||||
410 20023.93474888 -4591.13203164 1712.71494613 1814.06280558 1635.86741674 -103.93631537
|
||||
420 20023.93474888 -4591.13931019 1733.36385225 1744.49160982 1807.86989588 133.74823990
|
||||
430 20023.93474888 -4591.11091920 1949.42231060 1909.20892751 1975.13043695 -14.29575994
|
||||
440 20023.93474888 -4591.13618833 1864.59807598 1877.62852076 1843.27438001 -89.29004851
|
||||
450 20023.93474888 -4591.14065042 1792.33232906 1768.15519821 1791.97620416 -5.46931032
|
||||
460 20023.93474888 -4591.11500763 1855.81887789 1911.02702117 1854.11481264 -11.65879123
|
||||
470 20023.93474888 -4591.12641341 1766.54892333 1681.66409644 1790.72946629 -16.19300593
|
||||
480 20023.93474888 -4591.14320376 1784.94640413 1837.12258760 1829.45130428 -24.58372083
|
||||
490 20023.93474888 -4591.12275909 1917.84426215 1874.02051396 1823.93473736 -53.21102808
|
||||
500 20023.93474888 -4591.11536593 1947.65004536 1984.00927202 1955.20583715 170.72348231
|
||||
510 20023.93474888 -4591.14946014 1646.92190921 1637.16721605 1721.95260390 0.75910182
|
||||
520 20023.93474888 -4591.11878765 1731.94108930 1743.76148438 1765.97663216 -57.64792043
|
||||
530 20023.93474888 -4591.12058050 1866.85423508 1909.03069117 1803.97339119 16.08917224
|
||||
540 20023.93474888 -4591.14440078 1899.09055097 1869.45536614 1955.63982682 -24.32088390
|
||||
550 20023.93474888 -4591.12281013 1852.60179253 1888.89598923 1828.87997557 33.36368633
|
||||
560 20023.93474888 -4591.12596918 1774.97474435 1755.08558684 1723.01020118 87.23634641
|
||||
570 20023.93474888 -4591.13304645 1873.49764770 1893.06123674 1876.90953167 -195.18190912
|
||||
580 20023.93474888 -4591.13041940 1893.40369832 1948.39675218 1946.70465437 29.22769962
|
||||
590 20023.93474888 -4591.12628365 1825.99871929 1778.59925204 1799.29497744 3.08469865
|
||||
600 20023.93474888 -4591.12623199 1711.14291256 1726.06334645 1756.56328186 20.17045328
|
||||
610 20023.93474888 -4591.13575822 1762.74383759 1696.53579466 1742.16989186 137.99551512
|
||||
620 20023.93474888 -4591.11748177 1915.62953629 1922.50709681 1889.71048322 -151.19246541
|
||||
630 20023.93474888 -4591.13946145 1831.51838075 1853.88531957 1944.94176350 -78.29498078
|
||||
640 20023.93474888 -4591.12580524 1823.82318701 1846.02546609 1743.64065792 65.64051216
|
||||
650 20023.93474888 -4591.11948676 1873.78285550 1775.89089801 1906.72223535 -139.90734745
|
||||
660 20023.93474888 -4591.14305191 1839.42659647 1933.10913722 1792.91114197 95.22053922
|
||||
670 20023.93474888 -4591.12366236 1774.96754052 1789.81121744 1723.60115478 55.42770410
|
||||
680 20023.93474888 -4591.12112515 1741.65490764 1742.36094980 1800.06072377 -192.49818667
|
||||
690 20023.93474888 -4591.13668764 1895.42242504 1903.97215886 1897.27680319 147.64765468
|
||||
700 20023.93474888 -4591.13154232 1907.73595360 1909.70840176 1899.59355684 -41.88693465
|
||||
710 20023.93474888 -4591.12123644 1787.17165151 1846.04442558 1856.62285015 14.61013131
|
||||
720 20023.93474888 -4591.12912228 1773.50711774 1711.48986545 1678.98894392 99.13962644
|
||||
730 20023.93474888 -4591.13943426 1877.91861157 1809.62732738 1952.21169623 -179.48456876
|
||||
740 20023.93474888 -4591.11922024 1847.48164813 1916.28361817 1760.80492531 -43.61964522
|
||||
750 20023.93474888 -4591.12596610 1728.48429245 1815.68288594 1697.85161513 55.12427062
|
||||
760 20023.93474888 -4591.14243576 1796.32698641 1612.95116168 1889.48842714 -56.19243304
|
||||
770 20023.93474888 -4591.11566749 1950.43433206 2057.36511752 1888.45827111 128.97571878
|
||||
780 20023.93474888 -4591.13794531 1856.08214494 1774.55616742 1998.19458473 -130.30085155
|
||||
790 20023.93474888 -4591.12484960 1705.79355619 1781.11561557 1610.09362743 6.08209071
|
||||
800 20023.93474888 -4591.13248423 1653.85467554 1641.87803368 1645.29795462 53.02769875
|
||||
810 20023.93474888 -4591.12053801 1850.72927101 1853.81007899 1934.33578436 -11.41348471
|
||||
820 20023.93474888 -4591.13568633 2005.01327886 2023.65736202 1948.64345022 -22.95511661
|
||||
830 20023.93474888 -4591.13348945 1940.46273386 1921.41281592 1947.71907956 -14.69201391
|
||||
840 20023.93474888 -4591.11607962 1815.62995416 1907.12718388 1802.10585446 -143.02255465
|
||||
850 20023.93474888 -4591.14111076 1700.83719470 1651.77649527 1634.11260381 100.81708093
|
||||
860 20023.93474888 -4591.12299798 1784.63349939 1801.31186313 1877.00630923 -28.97604911
|
||||
870 20023.93474888 -4591.12551010 1837.85662130 1761.53486861 1840.30471001 -52.75496595
|
||||
880 20023.93474888 -4591.13571795 1820.08693693 1877.16684816 1867.96423182 86.61080127
|
||||
890 20023.93474888 -4591.12866291 1826.87796103 1839.08169130 1817.17394238 -134.01673514
|
||||
900 20023.93474888 -4591.12028235 1746.32172050 1741.62288887 1761.74467257 152.25484122
|
||||
910 20023.93474888 -4591.14179606 1761.97332567 1830.92751090 1713.93524698 -9.10599599
|
||||
920 20023.93474888 -4591.12106188 1914.68900864 1818.03927415 1943.64134070 -147.61072264
|
||||
930 20023.93474888 -4591.12848096 1926.62340190 1986.31823801 1928.48168675 91.05693225
|
||||
940 20023.93474888 -4591.13069876 1761.33037533 1672.68740184 1752.00036085 -89.58641136
|
||||
950 20023.93474888 -4591.13173687 1805.68203857 1904.16936367 1803.40809345 66.24135736
|
||||
960 20023.93474888 -4591.11991153 1917.48459209 1923.72305582 1935.83439145 87.27226176
|
||||
970 20023.93474888 -4591.13868359 1847.33106721 1840.24455972 1893.06308349 -129.01573111
|
||||
980 20023.93474888 -4591.13181295 1727.55316411 1738.87912907 1668.27059033 59.44259326
|
||||
990 20023.93474888 -4591.11625584 1786.71812091 1715.85427725 1854.96328384 126.73228092
|
||||
1000 20023.93474888 -4591.13934315 1826.70687382 1852.65649263 1809.58902755 -174.47060530
|
||||
1010 20023.93474888 -4591.13095663 1811.18694875 1846.66780622 1799.54031746 82.32118283
|
||||
1020 20023.93474888 -4591.12183334 1887.55743479 1888.81913424 1892.46209156 -133.57878235
|
||||
1030 20023.93474888 -4591.13070772 1816.08941967 1795.09854639 1813.60363124 -85.34396177
|
||||
1040 20023.93474888 -4591.13464400 1793.05553513 1867.58492264 1755.85054655 230.90630163
|
||||
1050 20023.93474888 -4591.12336443 1737.63082740 1638.33978731 1775.64351248 -218.66770699
|
||||
1060 20023.93474888 -4591.12391336 1909.02227267 1917.61923360 1929.46998267 201.87082324
|
||||
1070 20023.93474888 -4591.14276207 1853.77633175 1845.01344377 1926.71448240 7.58141037
|
||||
1080 20023.93474888 -4591.12033703 1840.89520938 1986.47111954 1764.94655261 -247.98825747
|
||||
1090 20023.93474888 -4591.12285870 1832.49648001 1766.39647524 1807.79358153 337.75570868
|
||||
1100 20023.93474888 -4591.14555863 1760.67028787 1709.70075974 1799.92422039 -115.37262627
|
||||
1110 20023.93474888 -4591.11192008 1900.26741848 1977.75347876 1822.20529111 -155.07728288
|
||||
1120 20023.93474888 -4591.13385646 1846.80363719 1808.16104869 1966.17497644 225.10841939
|
||||
1130 20023.93474888 -4591.13677038 1841.68639992 1848.15406996 1742.05105373 -236.03870840
|
||||
1140 20023.93474888 -4591.11917782 1698.85212076 1683.67420262 1769.66448366 -17.01311110
|
||||
1150 20023.93474888 -4591.12452665 1784.18127764 1793.37702282 1832.40349926 223.51415711
|
||||
1160 20023.93474888 -4591.14073576 1851.04085412 1886.26603210 1747.67661478 -243.41304842
|
||||
1170 20023.93474888 -4591.12852378 1864.81370801 1815.62177095 1968.34473464 56.20720441
|
||||
1180 20023.93474888 -4591.11147236 1764.74624859 1757.71396067 1739.81644521 145.86370499
|
||||
1190 20023.93474888 -4591.14727099 1743.23431143 1756.61309537 1783.17306740 -228.37177614
|
||||
1200 20023.93474888 -4591.12826190 1966.84129537 1984.72539337 1881.61224992 250.19286662
|
||||
1210 20023.93474888 -4591.12135178 1991.65207643 1967.17238770 2032.30298146 -170.69659769
|
||||
1220 20023.93474888 -4591.12704074 1798.24767693 1886.54781818 1750.35115144 -51.42237623
|
||||
1230 20023.93474888 -4591.15251028 1648.42299475 1626.54609762 1707.43237169 201.89424169
|
||||
1240 20023.93474888 -4591.10437001 1807.54033792 1804.75428684 1800.73969035 -130.77309115
|
||||
1250 20023.93474888 -4591.12866282 1822.12377428 1924.97526529 1809.30741820 20.43220727
|
||||
1260 20023.93474888 -4591.15253116 1834.13256135 1775.15312363 1862.92726901 143.80072625
|
||||
1270 20023.93474888 -4591.11697045 1895.99420213 1890.05548682 1876.70705636 -196.28190118
|
||||
1280 20023.93474888 -4591.10998558 1810.69685083 1786.90144766 1890.32743580 114.61127078
|
||||
1290 20023.93474888 -4591.15663369 1683.26225221 1732.91813399 1605.72640055 -56.89297456
|
||||
1300 20023.93474888 -4591.12644490 1877.89503414 1849.54325292 1892.65946124 -90.18957430
|
||||
1310 20023.93474888 -4591.10427489 1965.23083403 1891.58965014 2012.51270249 177.72644110
|
||||
1320 20023.93474888 -4591.15434861 1777.36326273 1897.73365762 1722.00033373 -82.34768718
|
||||
1330 20023.93474888 -4591.12298907 1836.66913522 1799.70130374 1793.68254013 -61.75151998
|
||||
1340 20023.93474888 -4591.12490141 1777.80141168 1795.27706143 1895.24485296 166.42735417
|
||||
1350 20023.93474888 -4591.12378570 1791.10623391 1818.30852832 1798.44218549 -226.55174357
|
||||
1360 20023.93474888 -4591.14595156 1831.57041599 1836.41493856 1803.22092404 47.63921757
|
||||
1370 20023.93474888 -4591.12178926 1874.48627007 1830.97360382 1875.01454925 24.21227347
|
||||
1380 20023.93474888 -4591.11951398 1796.21540344 1815.96845897 1814.42525184 -116.20769836
|
||||
1390 20023.93474888 -4591.14872688 1781.31452346 1832.31081575 1656.75621082 188.41394605
|
||||
1400 20023.93474888 -4591.11780318 1969.45961602 1942.83749662 2052.95436774 -155.30340466
|
||||
1410 20023.93474888 -4591.13042094 1805.38744778 1812.16090834 1841.18785723 -135.61134425
|
||||
1420 20023.93474888 -4591.13286369 1739.68760936 1659.96693548 1707.24203303 110.27513123
|
||||
1430 20023.93474888 -4591.13198735 1747.53328395 1806.76726000 1784.09093686 5.21735925
|
||||
1440 20023.93474888 -4591.11951402 1859.97208154 1781.23741206 1873.95961458 101.92428758
|
||||
1450 20023.93474888 -4591.13735783 1846.95509332 1932.51431610 1875.78491023 -20.51854956
|
||||
1460 20023.93474888 -4591.13226567 1823.25742012 1856.67667532 1742.46107569 -236.53527110
|
||||
1470 20023.93474888 -4591.11753177 1840.40145258 1804.81903258 1927.84741838 204.06984499
|
||||
1480 20023.93474888 -4591.12988851 1857.83857551 1869.95780410 1816.24608994 47.30748811
|
||||
1490 20023.93474888 -4591.14097247 1856.07106933 1865.36744675 1821.35003034 -170.29765752
|
||||
1500 20023.93474888 -4591.11239658 1788.62741104 1806.80467824 1740.17442721 184.92894743
|
||||
1510 20023.93474888 -4591.12783714 1790.12382236 1762.63806951 1871.28139822 -186.60004317
|
||||
1520 20023.93474888 -4591.14195717 1821.44183211 1942.11747262 1841.04727513 162.73737184
|
||||
1530 20023.93474888 -4591.11752486 1893.52056191 1779.18475868 1942.62286196 -36.33494025
|
||||
1540 20023.93474888 -4591.12184439 1817.26275805 1859.82625327 1763.71144260 -112.75758714
|
||||
1550 20023.93474888 -4591.13981158 1749.80836038 1700.61859748 1825.01128874 217.38903988
|
||||
1560 20023.93474888 -4591.12728980 1805.71852411 1871.59756252 1719.68258949 -238.74223976
|
||||
1570 20023.93474888 -4591.11445788 1888.39024553 1835.20226211 1912.08399927 -215.27224989
|
||||
1580 20023.93474888 -4591.14252397 1838.41560957 1873.47969145 1837.47624533 354.25680129
|
||||
1590 20023.93474888 -4591.13218156 1810.87114008 1789.08855052 1828.99123618 -209.15084305
|
||||
1600 20023.93474888 -4591.10968279 1836.00776639 1825.81027089 1837.34962151 100.90452637
|
||||
1610 20023.93474888 -4591.14604707 1757.48298096 1809.03232957 1740.69121405 2.74809819
|
||||
1620 20023.93474888 -4591.12529727 1849.75708598 1814.73147905 1947.60906283 -148.12289096
|
||||
1630 20023.93474888 -4591.12162235 1786.81944541 1807.60181185 1733.20416838 206.15614063
|
||||
1640 20023.93474888 -4591.13525115 1749.94510017 1689.93885297 1800.12923385 -51.81620378
|
||||
1650 20023.93474888 -4591.12880584 1980.51885483 2129.50862093 1891.59140452 -174.84268771
|
||||
1660 20023.93474888 -4591.12623477 1937.01570743 1858.01901653 2010.43954630 262.44914826
|
||||
1670 20023.93474888 -4591.13072559 1694.39186347 1719.93995818 1664.78730910 -145.83592220
|
||||
1680 20023.93474888 -4591.12856494 1668.28855671 1605.96305541 1655.07886827 -142.62923930
|
||||
1690 20023.93474888 -4591.12284600 1970.77558510 1970.04100693 2023.90407383 345.77356846
|
||||
1700 20023.93474888 -4591.13613310 1866.78766162 1829.21192148 1874.14168461 -348.93449367
|
||||
1710 20023.93474888 -4591.12999014 1699.05790295 1794.09077236 1679.36565966 178.31013280
|
||||
1720 20023.93474888 -4591.11591976 1782.98025612 1700.01516442 1839.71274928 70.34469196
|
||||
1730 20023.93474888 -4591.14002514 1828.78788640 1977.52189719 1827.54175302 -277.62511918
|
||||
1740 20023.93474888 -4591.13058733 1798.70721142 1684.56540042 1750.52641931 233.57737288
|
||||
1750 20023.93474888 -4591.11769219 1851.38818281 1927.22480022 1826.49368852 -71.98649667
|
||||
1760 20023.93474888 -4591.14007689 1883.09481847 1852.22751222 1980.94397520 -186.99017028
|
||||
1770 20023.93474888 -4591.12640655 1894.21954462 1854.80842095 1863.10559976 245.84910078
|
||||
1780 20023.93474888 -4591.12667944 1783.63681589 1763.81183224 1762.03364824 -313.41414175
|
||||
1790 20023.93474888 -4591.13111090 1787.61153134 1881.28039744 1851.63506346 105.01216221
|
||||
1800 20023.93474888 -4591.12970750 1803.03035944 1787.16231095 1760.00551047 314.84058979
|
||||
1810 20023.93474888 -4591.12225161 1812.82894513 1745.83085735 1834.29341515 -340.09732132
|
||||
1820 20023.93474888 -4591.13716194 1775.41292525 1771.18484944 1813.93798001 70.81021199
|
||||
1830 20023.93474888 -4591.12268274 1837.06086954 1854.30962384 1844.39144552 145.53217438
|
||||
1840 20023.93474888 -4591.12375023 1837.54812558 1877.01563366 1835.09263974 -272.38620552
|
||||
1850 20023.93474888 -4591.14592434 1799.83851836 1722.86830853 1788.44737857 224.62763516
|
||||
1860 20023.93474888 -4591.11203857 1905.18247850 1950.95536684 1931.86453236 -124.44793867
|
||||
1870 20023.93474888 -4591.13265210 1806.29161872 1787.78341130 1766.71844421 -34.60592396
|
||||
1880 20023.93474888 -4591.14209985 1740.88195157 1752.31650148 1773.74624207 343.80423723
|
||||
1890 20023.93474888 -4591.11622075 1861.70663705 1810.81638169 1911.13160086 -309.99090581
|
||||
1900 20023.93474888 -4591.12680903 1858.70135891 2003.32077130 1814.47948340 26.70054215
|
||||
1910 20023.93474888 -4591.14366548 1806.10434545 1792.54775377 1864.38160004 301.24438764
|
||||
1920 20023.93474888 -4591.11781857 1833.48848596 1766.77497003 1815.64080638 -293.06438183
|
||||
1930 20023.93474888 -4591.12285278 1839.11335622 1929.28055650 1841.52147596 59.60052069
|
||||
1940 20023.93474888 -4591.14018804 1796.22184540 1744.26853225 1746.83391971 40.37326649
|
||||
1950 20023.93474888 -4591.12901254 1816.28164897 1873.15646355 1849.53951502 -206.15332558
|
||||
1960 20023.93474888 -4591.10959346 1829.95888177 1759.19881131 1818.96147637 140.43862743
|
||||
1970 20023.93474888 -4591.15041597 1695.66220939 1759.10227856 1713.31191846 1.48998705
|
||||
1980 20023.93474888 -4591.12373926 1839.11714441 1819.64176487 1799.65559207 -171.07051582
|
||||
1990 20023.93474888 -4591.11065302 1930.61206830 1898.47853948 1985.20466055 305.47151137
|
||||
2000 20023.93474888 -4591.15175708 1707.09302769 1754.70782606 1717.76389055 -259.68475322
|
||||
Loop time of 3.74224 on 4 procs for 2000 steps with 1000 atoms
|
||||
|
||||
Performance: 92.351 ns/day, 0.260 hours/ns, 534.439 timesteps/s, 534.439 katom-step/s
|
||||
99.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.6818 | 3.6824 | 3.683 | 0.0 | 98.40
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.035276 | 0.035759 | 0.036375 | 0.2 | 0.96
|
||||
Output | 0.0048602 | 0.0051628 | 0.0059413 | 0.6 | 0.14
|
||||
Modify | 0.00711 | 0.00726 | 0.0074246 | 0.1 | 0.19
|
||||
Other | | 0.01162 | | | 0.31
|
||||
|
||||
Nlocal: 250 ave 250 max 250 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 733 ave 733 max 733 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 3500 ave 3500 max 3500 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 7000 ave 7000 max 7000 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 28000
|
||||
Ave neighs/atom = 28
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:03
|
||||
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.fcc.g++.1
Normal file
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.fcc.g++.1
Normal file
@ -0,0 +1,100 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 4.147
|
||||
Lattice spacing in x,y,z = 4.147 4.147 4.147
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (4.147 4.147 4.147)
|
||||
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 (4.147 4.147 4.147)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (4*vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.4
|
||||
ghost atom cutoff = 6.4
|
||||
binsize = 3.2, bins = 2 2 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.715 | 3.715 | 3.715 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -17.15065 0 -17.15065 -53071.74
|
||||
Loop time of 1.463e-06 on 1 procs for 0 steps with 4 atoms
|
||||
|
||||
136.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 | 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.463e-06 | | |100.00
|
||||
|
||||
Nlocal: 4 ave 4 max 4 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 360 ave 360 max 360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 108 ave 108 max 108 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 216 ave 216 max 216 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 216
|
||||
Ave neighs/atom = 54
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
print "===================================================="
|
||||
====================================================
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
Calculated cohesive energy: -4.28766254199965 eV/atom
|
||||
print "Reference cohesive energy: -4.288 eV/atom"
|
||||
Reference cohesive energy: -4.288 eV/atom
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
Atomic volume 17.82962113075 A^3
|
||||
print "Lattice constant ${aLatt} A"
|
||||
Lattice constant 4.14699999941014 A
|
||||
print "Reference lattice constant 4.147 A"
|
||||
Reference lattice constant 4.147 A
|
||||
print "===================================================="
|
||||
====================================================
|
||||
|
||||
|
||||
#dump 1 all custom 1 fcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.fcc.g++.4
Normal file
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.fcc.g++.4
Normal file
@ -0,0 +1,100 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 4.147
|
||||
Lattice spacing in x,y,z = 4.147 4.147 4.147
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (4.147 4.147 4.147)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 4 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (4.147 4.147 4.147)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (4*vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.4
|
||||
ghost atom cutoff = 6.4
|
||||
binsize = 3.2, bins = 2 2 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.746 | 3.746 | 3.746 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -17.15065 0 -17.15065 -53071.74
|
||||
Loop time of 3.73975e-06 on 4 procs for 0 steps with 4 atoms
|
||||
|
||||
86.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 | | 3.74e-06 | | |100.00
|
||||
|
||||
Nlocal: 1 ave 1 max 1 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 287 ave 287 max 287 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 27 ave 27 max 27 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 54 ave 54 max 54 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 216
|
||||
Ave neighs/atom = 54
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
print "===================================================="
|
||||
====================================================
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
Calculated cohesive energy: -4.28766254199965 eV/atom
|
||||
print "Reference cohesive energy: -4.288 eV/atom"
|
||||
Reference cohesive energy: -4.288 eV/atom
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
Atomic volume 17.82962113075 A^3
|
||||
print "Lattice constant ${aLatt} A"
|
||||
Lattice constant 4.14699999941014 A
|
||||
print "Reference lattice constant 4.147 A"
|
||||
Reference lattice constant 4.147 A
|
||||
print "===================================================="
|
||||
====================================================
|
||||
|
||||
|
||||
#dump 1 all custom 1 fcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
@ -0,0 +1,563 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice fcc 4.309793856093661
|
||||
Lattice spacing in x,y,z = 4.3097939 4.3097939 4.3097939
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (4.3097939 4.3097939 4.3097939)
|
||||
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 (4.3097939 4.3097939 4.3097939)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
fix relax all box/relax aniso 0
|
||||
thermo 1
|
||||
minimize 0 0 10000 100000
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.4
|
||||
ghost atom cutoff = 6.4
|
||||
binsize = 3.2, bins = 2 2 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.839 | 4.839 | 4.839 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
0 0 -14.885032 0 -14.885032 -693238.94 80.051503
|
||||
1 0 -14.895414 0 -14.895414 -692151.97 80.02749
|
||||
2 0 -14.905777 0 -14.905777 -691061.83 80.003482
|
||||
3 0 -14.916122 0 -14.916122 -689968.51 79.979479
|
||||
4 0 -14.926449 0 -14.926449 -688872.02 79.95548
|
||||
5 0 -14.936757 0 -14.936757 -687772.36 79.931486
|
||||
6 0 -14.947047 0 -14.947047 -686669.52 79.907497
|
||||
7 0 -14.957318 0 -14.957318 -685563.5 79.883513
|
||||
8 0 -14.96757 0 -14.96757 -684454.31 79.859534
|
||||
9 0 -14.977804 0 -14.977804 -683341.94 79.835559
|
||||
10 0 -14.988019 0 -14.988019 -682226.39 79.811589
|
||||
11 0 -14.998215 0 -14.998215 -681107.66 79.787624
|
||||
12 0 -15.008393 0 -15.008393 -679985.75 79.763664
|
||||
13 0 -15.018551 0 -15.018551 -678860.66 79.739708
|
||||
14 0 -15.028691 0 -15.028691 -677732.39 79.715758
|
||||
15 0 -15.038812 0 -15.038812 -676600.93 79.691812
|
||||
16 0 -15.048914 0 -15.048914 -675466.29 79.667871
|
||||
17 0 -15.058997 0 -15.058997 -674328.46 79.643934
|
||||
18 0 -15.06906 0 -15.06906 -673187.45 79.620003
|
||||
19 0 -15.079105 0 -15.079105 -672043.25 79.596076
|
||||
20 0 -15.089131 0 -15.089131 -670895.86 79.572154
|
||||
21 0 -15.099137 0 -15.099137 -669745.28 79.548237
|
||||
22 0 -15.109125 0 -15.109125 -668591.52 79.524325
|
||||
23 0 -15.119093 0 -15.119093 -667434.56 79.500418
|
||||
24 0 -15.129041 0 -15.129041 -666274.42 79.476515
|
||||
25 0 -15.138971 0 -15.138971 -665111.08 79.452617
|
||||
26 0 -15.148881 0 -15.148881 -663944.55 79.428724
|
||||
27 0 -15.158771 0 -15.158771 -662774.82 79.404835
|
||||
28 0 -15.168643 0 -15.168643 -661601.9 79.380952
|
||||
29 0 -15.178494 0 -15.178494 -660425.79 79.357073
|
||||
30 0 -15.188327 0 -15.188327 -659246.47 79.333199
|
||||
31 0 -15.198139 0 -15.198139 -658063.97 79.30933
|
||||
32 0 -15.207932 0 -15.207932 -656878.26 79.285466
|
||||
33 0 -15.217706 0 -15.217706 -655689.36 79.261606
|
||||
34 0 -15.227459 0 -15.227459 -654497.25 79.237751
|
||||
35 0 -15.237193 0 -15.237193 -653301.95 79.213901
|
||||
36 0 -15.246907 0 -15.246907 -652103.44 79.190056
|
||||
37 0 -15.256602 0 -15.256602 -650901.73 79.166215
|
||||
38 0 -15.266276 0 -15.266276 -649696.82 79.14238
|
||||
39 0 -15.275931 0 -15.275931 -648488.71 79.118549
|
||||
40 0 -15.285566 0 -15.285566 -647277.39 79.094723
|
||||
41 0 -15.295181 0 -15.295181 -646062.87 79.070901
|
||||
42 0 -15.304775 0 -15.304775 -644845.14 79.047085
|
||||
43 0 -15.31435 0 -15.31435 -643624.2 79.023273
|
||||
44 0 -15.323905 0 -15.323905 -642400.06 78.999466
|
||||
45 0 -15.333439 0 -15.333439 -641172.71 78.975664
|
||||
46 0 -15.342953 0 -15.342953 -639942.14 78.951867
|
||||
47 0 -15.352447 0 -15.352447 -638708.37 78.928074
|
||||
48 0 -15.361921 0 -15.361921 -637471.39 78.904286
|
||||
49 0 -15.371375 0 -15.371375 -636231.2 78.880503
|
||||
50 0 -15.380808 0 -15.380808 -634987.79 78.856725
|
||||
51 0 -15.390221 0 -15.390221 -633741.17 78.832951
|
||||
52 0 -15.399613 0 -15.399613 -632491.34 78.809183
|
||||
53 0 -15.408985 0 -15.408985 -631238.3 78.785419
|
||||
54 0 -15.418337 0 -15.418337 -629982.03 78.761659
|
||||
55 0 -15.427668 0 -15.427668 -628722.56 78.737905
|
||||
56 0 -15.436978 0 -15.436978 -627459.86 78.714155
|
||||
57 0 -15.446268 0 -15.446268 -626193.95 78.690411
|
||||
58 0 -15.455537 0 -15.455537 -624924.82 78.666671
|
||||
59 0 -15.464786 0 -15.464786 -623652.47 78.642935
|
||||
60 0 -15.474014 0 -15.474014 -622376.9 78.619205
|
||||
61 0 -15.483221 0 -15.483221 -621098.11 78.595479
|
||||
62 0 -15.492407 0 -15.492407 -619816.1 78.571758
|
||||
63 0 -15.501572 0 -15.501572 -618530.86 78.548042
|
||||
64 0 -15.510716 0 -15.510716 -617242.41 78.52433
|
||||
65 0 -15.51984 0 -15.51984 -615950.73 78.500624
|
||||
66 0 -15.528942 0 -15.528942 -614655.82 78.476922
|
||||
67 0 -15.538024 0 -15.538024 -613357.7 78.453225
|
||||
68 0 -15.547084 0 -15.547084 -612056.34 78.429532
|
||||
69 0 -15.556124 0 -15.556124 -610751.76 78.405845
|
||||
70 0 -15.565142 0 -15.565142 -609443.95 78.382162
|
||||
71 0 -15.574139 0 -15.574139 -608132.92 78.358484
|
||||
72 0 -15.583115 0 -15.583115 -606818.65 78.334811
|
||||
73 0 -15.59207 0 -15.59207 -605501.16 78.311142
|
||||
74 0 -15.601003 0 -15.601003 -604180.44 78.287479
|
||||
75 0 -15.609915 0 -15.609915 -602856.49 78.26382
|
||||
76 0 -15.618806 0 -15.618806 -601529.3 78.240165
|
||||
77 0 -15.627675 0 -15.627675 -600198.88 78.216516
|
||||
78 0 -15.636523 0 -15.636523 -598865.24 78.192871
|
||||
79 0 -15.645349 0 -15.645349 -597528.35 78.169231
|
||||
80 0 -15.654154 0 -15.654154 -596188.24 78.145596
|
||||
81 0 -15.662937 0 -15.662937 -594844.89 78.121966
|
||||
82 0 -15.671699 0 -15.671699 -593498.3 78.09834
|
||||
83 0 -15.680439 0 -15.680439 -592148.48 78.07472
|
||||
84 0 -15.689157 0 -15.689157 -590795.42 78.051103
|
||||
85 0 -15.697854 0 -15.697854 -589439.12 78.027492
|
||||
86 0 -15.706528 0 -15.706528 -588079.59 78.003886
|
||||
87 0 -15.715181 0 -15.715181 -586716.81 77.980284
|
||||
88 0 -15.723812 0 -15.723812 -585350.8 77.956687
|
||||
89 0 -15.732422 0 -15.732422 -583981.55 77.933095
|
||||
90 0 -15.741009 0 -15.741009 -582609.05 77.909507
|
||||
91 0 -15.749575 0 -15.749575 -581233.32 77.885924
|
||||
92 0 -15.758118 0 -15.758118 -579854.34 77.862346
|
||||
93 0 -15.766639 0 -15.766639 -578472.13 77.838773
|
||||
94 0 -15.775139 0 -15.775139 -577086.66 77.815205
|
||||
95 0 -15.783616 0 -15.783616 -575697.96 77.791641
|
||||
96 0 -15.792071 0 -15.792071 -574306.01 77.768082
|
||||
97 0 -15.800504 0 -15.800504 -572910.81 77.744528
|
||||
98 0 -15.808914 0 -15.808914 -571512.37 77.720978
|
||||
99 0 -15.817303 0 -15.817303 -570110.68 77.697434
|
||||
100 0 -15.825669 0 -15.825669 -568705.75 77.673894
|
||||
101 0 -15.834012 0 -15.834012 -567297.57 77.650359
|
||||
102 0 -15.842334 0 -15.842334 -565886.14 77.626828
|
||||
103 0 -15.850632 0 -15.850632 -564471.46 77.603303
|
||||
104 0 -15.858909 0 -15.858909 -563053.53 77.579782
|
||||
105 0 -15.867163 0 -15.867163 -561632.35 77.556266
|
||||
106 0 -15.875394 0 -15.875394 -560207.92 77.532754
|
||||
107 0 -15.883603 0 -15.883603 -558780.24 77.509247
|
||||
108 0 -15.891789 0 -15.891789 -557349.31 77.485746
|
||||
109 0 -15.899952 0 -15.899952 -555915.12 77.462248
|
||||
110 0 -15.908093 0 -15.908093 -554477.69 77.438756
|
||||
111 0 -15.916211 0 -15.916211 -553036.99 77.415268
|
||||
112 0 -15.924306 0 -15.924306 -551593.05 77.391785
|
||||
113 0 -15.932379 0 -15.932379 -550145.85 77.368307
|
||||
114 0 -15.940428 0 -15.940428 -548695.39 77.344834
|
||||
115 0 -15.948455 0 -15.948455 -547241.68 77.321365
|
||||
116 0 -15.956458 0 -15.956458 -545784.72 77.297901
|
||||
117 0 -15.964439 0 -15.964439 -544324.49 77.274442
|
||||
118 0 -15.972397 0 -15.972397 -542861.01 77.250988
|
||||
119 0 -15.980332 0 -15.980332 -541394.27 77.227538
|
||||
120 0 -15.988243 0 -15.988243 -539924.27 77.204093
|
||||
121 0 -15.996132 0 -15.996132 -538451.02 77.180653
|
||||
122 0 -16.003997 0 -16.003997 -536974.5 77.157218
|
||||
123 0 -16.011839 0 -16.011839 -535494.73 77.133787
|
||||
124 0 -16.019658 0 -16.019658 -534011.69 77.110361
|
||||
125 0 -16.027453 0 -16.027453 -532525.4 77.08694
|
||||
126 0 -16.035225 0 -16.035225 -531035.84 77.063523
|
||||
127 0 -16.042974 0 -16.042974 -529543.02 77.040112
|
||||
128 0 -16.0507 0 -16.0507 -528046.94 77.016705
|
||||
129 0 -16.058402 0 -16.058402 -526547.6 76.993303
|
||||
130 0 -16.06608 0 -16.06608 -525044.99 76.969905
|
||||
131 0 -16.073735 0 -16.073735 -523539.12 76.946512
|
||||
132 0 -16.081366 0 -16.081366 -522029.98 76.923124
|
||||
133 0 -16.088974 0 -16.088974 -520517.58 76.899741
|
||||
134 0 -16.096559 0 -16.096559 -519001.91 76.876363
|
||||
135 0 -16.104119 0 -16.104119 -517482.98 76.852989
|
||||
136 0 -16.111656 0 -16.111656 -515960.78 76.82962
|
||||
137 0 -16.119169 0 -16.119169 -514435.32 76.806255
|
||||
138 0 -16.126658 0 -16.126658 -512906.59 76.782896
|
||||
139 0 -16.134124 0 -16.134124 -511374.59 76.759541
|
||||
140 0 -16.141565 0 -16.141565 -509839.32 76.736191
|
||||
141 0 -16.148983 0 -16.148983 -508300.78 76.712846
|
||||
142 0 -16.156377 0 -16.156377 -506758.97 76.689505
|
||||
143 0 -16.163746 0 -16.163746 -505213.89 76.666169
|
||||
144 0 -16.171092 0 -16.171092 -503665.55 76.642838
|
||||
145 0 -16.178414 0 -16.178414 -502113.93 76.619512
|
||||
146 0 -16.185711 0 -16.185711 -500559.04 76.59619
|
||||
147 0 -16.192985 0 -16.192985 -499000.88 76.572873
|
||||
148 0 -16.200234 0 -16.200234 -497439.44 76.549561
|
||||
149 0 -16.207459 0 -16.207459 -495874.74 76.526253
|
||||
150 0 -16.21466 0 -16.21466 -494306.76 76.50295
|
||||
151 0 -16.221837 0 -16.221837 -492735.51 76.479652
|
||||
152 0 -16.228989 0 -16.228989 -491160.98 76.456359
|
||||
153 0 -16.236117 0 -16.236117 -489583.18 76.433071
|
||||
154 0 -16.24322 0 -16.24322 -488002.1 76.409787
|
||||
155 0 -16.250299 0 -16.250299 -486417.75 76.386508
|
||||
156 0 -16.257354 0 -16.257354 -484830.12 76.363233
|
||||
157 0 -16.264384 0 -16.264384 -483239.22 76.339964
|
||||
158 0 -16.271389 0 -16.271389 -481645.03 76.316699
|
||||
159 0 -16.27837 0 -16.27837 -480047.58 76.293438
|
||||
160 0 -16.285326 0 -16.285326 -478446.84 76.270183
|
||||
161 0 -16.292258 0 -16.292258 -476842.83 76.246932
|
||||
162 0 -16.299165 0 -16.299165 -475235.53 76.223686
|
||||
163 0 -16.306047 0 -16.306047 -473624.96 76.200445
|
||||
164 0 -16.312904 0 -16.312904 -472011.11 76.177208
|
||||
165 0 -16.319737 0 -16.319737 -470393.98 76.153977
|
||||
166 0 -16.326544 0 -16.326544 -468773.57 76.130749
|
||||
167 0 -16.333327 0 -16.333327 -467149.88 76.107527
|
||||
168 0 -16.340085 0 -16.340085 -465522.91 76.084309
|
||||
169 0 -16.346818 0 -16.346818 -463892.66 76.061096
|
||||
170 0 -16.353526 0 -16.353526 -462259.12 76.037888
|
||||
171 0 -16.360208 0 -16.360208 -460622.31 76.014685
|
||||
172 0 -16.366866 0 -16.366866 -458982.21 75.991486
|
||||
173 0 -16.373499 0 -16.373499 -457338.83 75.968292
|
||||
174 0 -16.380106 0 -16.380106 -455692.16 75.945102
|
||||
175 0 -16.386688 0 -16.386688 -454042.21 75.921918
|
||||
176 0 -16.393245 0 -16.393245 -452388.98 75.898738
|
||||
177 0 -16.399777 0 -16.399777 -450732.46 75.875563
|
||||
178 0 -16.406284 0 -16.406284 -449072.66 75.852392
|
||||
179 0 -16.412765 0 -16.412765 -447409.57 75.829227
|
||||
180 0 -16.41922 0 -16.41922 -445743.2 75.806066
|
||||
181 0 -16.425651 0 -16.425651 -444073.54 75.782909
|
||||
182 0 -16.432056 0 -16.432056 -442400.6 75.759758
|
||||
183 0 -16.438435 0 -16.438435 -440724.36 75.736611
|
||||
184 0 -16.444789 0 -16.444789 -439044.85 75.713469
|
||||
185 0 -16.451117 0 -16.451117 -437362.04 75.690331
|
||||
186 0 -16.457419 0 -16.457419 -435675.95 75.667198
|
||||
187 0 -16.463696 0 -16.463696 -433986.57 75.64407
|
||||
188 0 -16.469948 0 -16.469948 -432293.9 75.620947
|
||||
189 0 -16.476173 0 -16.476173 -430597.94 75.597828
|
||||
190 0 -16.482373 0 -16.482373 -428898.69 75.574715
|
||||
191 0 -16.488547 0 -16.488547 -427196.15 75.551605
|
||||
192 0 -16.494695 0 -16.494695 -425490.33 75.528501
|
||||
193 0 -16.500818 0 -16.500818 -423781.21 75.505401
|
||||
194 0 -16.506914 0 -16.506914 -422068.8 75.482306
|
||||
195 0 -16.512984 0 -16.512984 -420353.11 75.459216
|
||||
196 0 -16.519029 0 -16.519029 -418634.12 75.43613
|
||||
197 0 -16.525047 0 -16.525047 -416911.84 75.413049
|
||||
198 0 -16.53104 0 -16.53104 -415186.27 75.389973
|
||||
199 0 -16.537006 0 -16.537006 -413457.41 75.366901
|
||||
200 0 -16.542946 0 -16.542946 -411725.25 75.343835
|
||||
201 0 -16.54886 0 -16.54886 -409989.8 75.320773
|
||||
202 0 -16.554748 0 -16.554748 -408251.06 75.297715
|
||||
203 0 -16.560609 0 -16.560609 -406509.03 75.274663
|
||||
204 0 -16.566445 0 -16.566445 -404763.7 75.251615
|
||||
205 0 -16.572253 0 -16.572253 -403015.08 75.228571
|
||||
206 0 -16.578036 0 -16.578036 -401263.17 75.205533
|
||||
207 0 -16.583792 0 -16.583792 -399507.96 75.182499
|
||||
208 0 -16.589522 0 -16.589522 -397749.46 75.15947
|
||||
209 0 -16.595225 0 -16.595225 -395987.66 75.136445
|
||||
210 0 -16.600902 0 -16.600902 -394222.57 75.113426
|
||||
211 0 -16.606552 0 -16.606552 -392454.18 75.090411
|
||||
212 0 -16.612176 0 -16.612176 -390682.5 75.0674
|
||||
213 0 -16.617773 0 -16.617773 -388907.52 75.044395
|
||||
214 0 -16.623344 0 -16.623344 -387129.24 75.021394
|
||||
215 0 -16.628887 0 -16.628887 -385347.67 74.998397
|
||||
216 0 -16.634404 0 -16.634404 -383562.84 74.975406
|
||||
217 0 -16.639895 0 -16.639895 -381774.83 74.952419
|
||||
218 0 -16.645358 0 -16.645358 -379983.65 74.929437
|
||||
219 0 -16.650795 0 -16.650795 -378189.3 74.906459
|
||||
220 0 -16.656204 0 -16.656204 -376391.78 74.883487
|
||||
221 0 -16.661587 0 -16.661587 -374591.09 74.860519
|
||||
222 0 -16.666943 0 -16.666943 -372787.22 74.837555
|
||||
223 0 -16.672272 0 -16.672272 -370980.19 74.814597
|
||||
224 0 -16.677574 0 -16.677574 -369169.99 74.791643
|
||||
225 0 -16.682849 0 -16.682849 -367356.61 74.768693
|
||||
226 0 -16.688097 0 -16.688097 -365540.06 74.745749
|
||||
227 0 -16.693318 0 -16.693318 -363720.35 74.722809
|
||||
228 0 -16.698511 0 -16.698511 -361897.46 74.699874
|
||||
229 0 -16.703678 0 -16.703678 -360071.39 74.676943
|
||||
230 0 -16.708817 0 -16.708817 -358242.16 74.654018
|
||||
231 0 -16.713929 0 -16.713929 -356409.75 74.631096
|
||||
232 0 -16.719014 0 -16.719014 -354574.18 74.60818
|
||||
233 0 -16.724071 0 -16.724071 -352735.43 74.585268
|
||||
234 0 -16.729101 0 -16.729101 -350893.5 74.562361
|
||||
235 0 -16.734104 0 -16.734104 -349048.41 74.539459
|
||||
236 0 -16.739079 0 -16.739079 -347200.14 74.516561
|
||||
237 0 -16.744027 0 -16.744027 -345348.7 74.493668
|
||||
238 0 -16.748947 0 -16.748947 -343494.08 74.47078
|
||||
239 0 -16.75384 0 -16.75384 -341636.3 74.447897
|
||||
240 0 -16.758705 0 -16.758705 -339775.34 74.425018
|
||||
241 0 -16.763543 0 -16.763543 -337911.2 74.402143
|
||||
242 0 -16.768353 0 -16.768353 -336043.9 74.379274
|
||||
243 0 -16.773135 0 -16.773135 -334173.42 74.356409
|
||||
244 0 -16.77789 0 -16.77789 -332299.77 74.333549
|
||||
245 0 -16.782617 0 -16.782617 -330422.94 74.310693
|
||||
246 0 -16.787316 0 -16.787316 -328542.94 74.287843
|
||||
247 0 -16.791988 0 -16.791988 -326659.76 74.264997
|
||||
248 0 -16.796631 0 -16.796631 -324773.42 74.242155
|
||||
249 0 -16.801247 0 -16.801247 -322883.9 74.219319
|
||||
250 0 -16.805835 0 -16.805835 -320991.2 74.196487
|
||||
251 0 -16.810395 0 -16.810395 -319095.33 74.173659
|
||||
252 0 -16.814926 0 -16.814926 -317196.29 74.150836
|
||||
253 0 -16.81943 0 -16.81943 -315294.07 74.128019
|
||||
254 0 -16.823906 0 -16.823906 -313388.68 74.105205
|
||||
255 0 -16.828354 0 -16.828354 -311480.11 74.082397
|
||||
256 0 -16.832774 0 -16.832774 -309568.37 74.059593
|
||||
257 0 -16.837165 0 -16.837165 -307653.46 74.036793
|
||||
258 0 -16.841529 0 -16.841529 -305735.37 74.013999
|
||||
259 0 -16.845864 0 -16.845864 -303814.11 73.991209
|
||||
260 0 -16.850171 0 -16.850171 -301889.67 73.968424
|
||||
261 0 -16.85445 0 -16.85445 -299962.06 73.945643
|
||||
262 0 -16.8587 0 -16.8587 -298031.27 73.922867
|
||||
263 0 -16.862922 0 -16.862922 -296097.31 73.900096
|
||||
264 0 -16.867116 0 -16.867116 -294160.18 73.87733
|
||||
265 0 -16.871281 0 -16.871281 -292219.87 73.854568
|
||||
266 0 -16.875418 0 -16.875418 -290276.38 73.831811
|
||||
267 0 -16.879527 0 -16.879527 -288329.73 73.809058
|
||||
268 0 -16.883606 0 -16.883606 -286379.89 73.78631
|
||||
269 0 -16.887658 0 -16.887658 -284426.89 73.763567
|
||||
270 0 -16.891681 0 -16.891681 -282470.7 73.740829
|
||||
271 0 -16.895675 0 -16.895675 -280511.35 73.718095
|
||||
272 0 -16.89964 0 -16.89964 -278548.82 73.695366
|
||||
273 0 -16.903577 0 -16.903577 -276583.11 73.672641
|
||||
274 0 -16.907485 0 -16.907485 -274614.23 73.649922
|
||||
275 0 -16.911365 0 -16.911365 -272642.17 73.627206
|
||||
276 0 -16.915215 0 -16.915215 -270666.95 73.604496
|
||||
277 0 -16.919037 0 -16.919037 -268688.54 73.58179
|
||||
278 0 -16.92283 0 -16.92283 -266706.96 73.559089
|
||||
279 0 -16.926594 0 -16.926594 -264722.21 73.536393
|
||||
280 0 -16.930329 0 -16.930329 -262734.28 73.513701
|
||||
281 0 -16.934036 0 -16.934036 -260743.18 73.491014
|
||||
282 0 -16.937713 0 -16.937713 -258748.91 73.468332
|
||||
283 0 -16.941361 0 -16.941361 -256751.46 73.445654
|
||||
284 0 -16.944981 0 -16.944981 -254750.83 73.422981
|
||||
285 0 -16.948571 0 -16.948571 -252747.04 73.400312
|
||||
286 0 -16.952132 0 -16.952132 -250740.06 73.377649
|
||||
287 0 -16.955664 0 -16.955664 -248729.92 73.35499
|
||||
288 0 -16.959166 0 -16.959166 -246716.6 73.332335
|
||||
289 0 -16.96264 0 -16.96264 -244700.1 73.309685
|
||||
290 0 -16.966084 0 -16.966084 -242680.43 73.28704
|
||||
291 0 -16.969499 0 -16.969499 -240657.59 73.2644
|
||||
292 0 -16.972885 0 -16.972885 -238631.58 73.241764
|
||||
293 0 -16.976241 0 -16.976241 -236602.39 73.219133
|
||||
294 0 -16.979568 0 -16.979568 -234570.02 73.196507
|
||||
295 0 -16.982866 0 -16.982866 -232534.49 73.173885
|
||||
296 0 -16.986134 0 -16.986134 -230495.78 73.151268
|
||||
297 0 -16.989373 0 -16.989373 -228453.89 73.128655
|
||||
298 0 -16.992582 0 -16.992582 -226408.84 73.106047
|
||||
299 0 -16.995762 0 -16.995762 -224360.61 73.083444
|
||||
300 0 -16.998912 0 -16.998912 -222309.2 73.060846
|
||||
301 0 -17.002033 0 -17.002033 -220254.63 73.038252
|
||||
302 0 -17.005123 0 -17.005123 -218196.88 73.015663
|
||||
303 0 -17.008185 0 -17.008185 -216135.96 72.993078
|
||||
304 0 -17.011216 0 -17.011216 -214071.86 72.970499
|
||||
305 0 -17.014218 0 -17.014218 -212004.59 72.947923
|
||||
306 0 -17.01719 0 -17.01719 -209934.15 72.925353
|
||||
307 0 -17.020132 0 -17.020132 -207860.54 72.902787
|
||||
308 0 -17.023045 0 -17.023045 -205783.76 72.880226
|
||||
309 0 -17.025927 0 -17.025927 -203703.8 72.857669
|
||||
310 0 -17.02878 0 -17.02878 -201620.65 72.835117
|
||||
311 0 -17.031602 0 -17.031602 -199534.29 72.81257
|
||||
312 0 -17.034395 0 -17.034395 -197444.73 72.790028
|
||||
313 0 -17.037158 0 -17.037158 -195351.97 72.76749
|
||||
314 0 -17.039891 0 -17.039891 -193256 72.744956
|
||||
315 0 -17.042593 0 -17.042593 -191156.83 72.722428
|
||||
316 0 -17.045266 0 -17.045266 -189054.45 72.699904
|
||||
317 0 -17.047908 0 -17.047908 -186948.87 72.677384
|
||||
318 0 -17.050521 0 -17.050521 -184840.09 72.65487
|
||||
319 0 -17.053103 0 -17.053103 -182728.1 72.63236
|
||||
320 0 -17.055655 0 -17.055655 -180612.9 72.609854
|
||||
321 0 -17.058176 0 -17.058176 -178494.51 72.587354
|
||||
322 0 -17.060668 0 -17.060668 -176372.9 72.564857
|
||||
323 0 -17.063129 0 -17.063129 -174248.1 72.542366
|
||||
324 0 -17.065559 0 -17.065559 -172120.08 72.519879
|
||||
325 0 -17.06796 0 -17.06796 -169988.87 72.497397
|
||||
326 0 -17.070329 0 -17.070329 -167854.45 72.47492
|
||||
327 0 -17.072669 0 -17.072669 -165716.82 72.452447
|
||||
328 0 -17.074978 0 -17.074978 -163576 72.429979
|
||||
329 0 -17.077256 0 -17.077256 -161431.96 72.407515
|
||||
330 0 -17.079504 0 -17.079504 -159284.73 72.385056
|
||||
331 0 -17.081721 0 -17.081721 -157134.28 72.362602
|
||||
332 0 -17.083908 0 -17.083908 -154980.64 72.340152
|
||||
333 0 -17.086064 0 -17.086064 -152823.79 72.317707
|
||||
334 0 -17.088189 0 -17.088189 -150663.73 72.295267
|
||||
335 0 -17.090284 0 -17.090284 -148500.48 72.272831
|
||||
336 0 -17.092348 0 -17.092348 -146334.01 72.2504
|
||||
337 0 -17.094381 0 -17.094381 -144164.35 72.227974
|
||||
338 0 -17.096383 0 -17.096383 -141991.48 72.205552
|
||||
339 0 -17.098355 0 -17.098355 -139815.4 72.183135
|
||||
340 0 -17.100295 0 -17.100295 -137636.12 72.160722
|
||||
341 0 -17.102205 0 -17.102205 -135453.64 72.138315
|
||||
342 0 -17.104084 0 -17.104084 -133267.96 72.115911
|
||||
343 0 -17.105932 0 -17.105932 -131079.07 72.093513
|
||||
344 0 -17.107749 0 -17.107749 -128886.97 72.071119
|
||||
345 0 -17.109534 0 -17.109534 -126691.68 72.04873
|
||||
346 0 -17.111289 0 -17.111289 -124493.17 72.026345
|
||||
347 0 -17.113013 0 -17.113013 -122291.47 72.003965
|
||||
348 0 -17.114705 0 -17.114705 -120086.56 71.98159
|
||||
349 0 -17.116366 0 -17.116366 -117878.45 71.959219
|
||||
350 0 -17.117997 0 -17.117997 -115667.14 71.936853
|
||||
351 0 -17.119595 0 -17.119595 -113452.62 71.914491
|
||||
352 0 -17.121163 0 -17.121163 -111234.9 71.892134
|
||||
353 0 -17.1227 0 -17.1227 -109013.98 71.869782
|
||||
354 0 -17.124205 0 -17.124205 -106789.85 71.847435
|
||||
355 0 -17.125678 0 -17.125678 -104562.52 71.825092
|
||||
356 0 -17.127121 0 -17.127121 -102331.99 71.802753
|
||||
357 0 -17.128531 0 -17.128531 -100098.26 71.78042
|
||||
358 0 -17.129911 0 -17.129911 -97861.318 71.758091
|
||||
359 0 -17.131259 0 -17.131259 -95621.179 71.735766
|
||||
360 0 -17.132575 0 -17.132575 -93377.837 71.713446
|
||||
361 0 -17.13386 0 -17.13386 -91131.293 71.691131
|
||||
362 0 -17.135114 0 -17.135114 -88881.547 71.668821
|
||||
363 0 -17.136335 0 -17.136335 -86628.599 71.646515
|
||||
364 0 -17.137526 0 -17.137526 -84372.449 71.624214
|
||||
365 0 -17.138684 0 -17.138684 -82113.098 71.601917
|
||||
366 0 -17.139811 0 -17.139811 -79850.545 71.579625
|
||||
367 0 -17.140906 0 -17.140906 -77584.79 71.557338
|
||||
368 0 -17.141969 0 -17.141969 -75315.834 71.535055
|
||||
369 0 -17.143 0 -17.143 -73043.677 71.512777
|
||||
370 0 -17.144 0 -17.144 -70768.319 71.490503
|
||||
371 0 -17.144968 0 -17.144968 -68489.76 71.468234
|
||||
372 0 -17.145904 0 -17.145904 -66208 71.44597
|
||||
373 0 -17.146808 0 -17.146808 -63923.04 71.423711
|
||||
374 0 -17.14768 0 -17.14768 -61634.879 71.401456
|
||||
375 0 -17.14852 0 -17.14852 -59343.518 71.379205
|
||||
376 0 -17.149328 0 -17.149328 -57048.956 71.356959
|
||||
377 0 -17.150104 0 -17.150104 -54751.195 71.334718
|
||||
378 0 -17.150848 0 -17.150848 -52450.234 71.312482
|
||||
379 0 -17.15156 0 -17.15156 -50146.073 71.29025
|
||||
380 0 -17.152239 0 -17.152239 -47838.712 71.268023
|
||||
381 0 -17.152887 0 -17.152887 -45528.152 71.2458
|
||||
382 0 -17.153502 0 -17.153502 -43214.394 71.223582
|
||||
383 0 -17.154085 0 -17.154085 -40897.436 71.201369
|
||||
384 0 -17.154636 0 -17.154636 -38577.279 71.17916
|
||||
385 0 -17.155155 0 -17.155155 -36253.924 71.156956
|
||||
386 0 -17.155641 0 -17.155641 -33927.37 71.134756
|
||||
387 0 -17.156095 0 -17.156095 -31597.618 71.112561
|
||||
388 0 -17.156516 0 -17.156516 -29264.668 71.090371
|
||||
389 0 -17.156905 0 -17.156905 -26928.52 71.068185
|
||||
390 0 -17.157262 0 -17.157262 -24589.174 71.046004
|
||||
391 0 -17.157586 0 -17.157586 -22246.631 71.023828
|
||||
392 0 -17.157878 0 -17.157878 -19900.891 71.001656
|
||||
393 0 -17.158137 0 -17.158137 -17551.954 70.979488
|
||||
394 0 -17.158363 0 -17.158363 -15199.82 70.957326
|
||||
395 0 -17.158557 0 -17.158557 -12844.489 70.935168
|
||||
396 0 -17.158719 0 -17.158719 -10485.962 70.913014
|
||||
397 0 -17.158847 0 -17.158847 -8124.2386 70.890866
|
||||
398 0 -17.158943 0 -17.158943 -5759.3193 70.868722
|
||||
399 0 -17.159006 0 -17.159006 -3391.2043 70.846582
|
||||
400 0 -17.159037 0 -17.159037 -1019.8937 70.824447
|
||||
401 0 -17.15904 0 -17.15904 -0.27024801 70.81494
|
||||
402 0 -17.15904 0 -17.15904 -1.5603989e-05 70.814937
|
||||
403 0 -17.15904 0 -17.15904 3.4008317e-09 70.814937
|
||||
404 0 -17.15904 0 -17.15904 3.2564181e-09 70.814937
|
||||
405 0 -17.15904 0 -17.15904 2.3373282e-09 70.814937
|
||||
406 0 -17.15904 0 -17.15904 -9.4785189e-10 70.814937
|
||||
407 0 -17.15904 0 -17.15904 -1.238317e-10 70.814937
|
||||
408 0 -17.15904 0 -17.15904 -1.6373305e-10 70.814937
|
||||
409 0 -17.15904 0 -17.15904 9.4335021e-11 70.814937
|
||||
410 0 -17.15904 0 -17.15904 -4.6124262e-10 70.814937
|
||||
411 0 -17.15904 0 -17.15904 3.3870854e-09 70.814937
|
||||
412 0 -17.15904 0 -17.15904 -1.3077808e-09 70.814937
|
||||
413 0 -17.15904 0 -17.15904 -2.0897946e-09 70.814937
|
||||
414 0 -17.15904 0 -17.15904 3.3870854e-09 70.814937
|
||||
415 0 -17.15904 0 -17.15904 -1.5433105e-09 70.814937
|
||||
416 0 -17.15904 0 -17.15904 -2.0629924e-09 70.814937
|
||||
417 0 -17.15904 0 -17.15904 3.3870854e-09 70.814937
|
||||
418 0 -17.15904 0 -17.15904 -1.8838344e-09 70.814937
|
||||
419 0 -17.15904 0 -17.15904 3.5418108e-12 70.814937
|
||||
420 0 -17.15904 0 -17.15904 3.5418108e-12 70.814937
|
||||
Loop time of 0.0241749 on 1 procs for 420 steps with 4 atoms
|
||||
|
||||
95.2% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = linesearch alpha is zero
|
||||
Energy initial, next-to-last, final =
|
||||
-14.8850317162759 -17.1590398301299 -17.1590398301299
|
||||
Force two-norm initial, final = 59.993295 1.0284199e-14
|
||||
Force max component initial, final = 34.637145 6.9392045e-15
|
||||
Final line search alpha, max atom move = 0.5 3.4696022e-15
|
||||
Iterations, force evaluations = 420 440
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.018593 | 0.018593 | 0.018593 | 0.0 | 76.91
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00049936 | 0.00049936 | 0.00049936 | 0.0 | 2.07
|
||||
Output | 0.0027008 | 0.0027008 | 0.0027008 | 0.0 | 11.17
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.002382 | | | 9.85
|
||||
|
||||
Nlocal: 4 ave 4 max 4 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 168 ave 168 max 168 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 108 ave 108 max 108 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 216 ave 216 max 216 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 216
|
||||
Ave neighs/atom = 54
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (4*vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.715 | 3.715 | 3.715 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
420 0 -17.15904 0 -17.15904 3.8874134e-10 70.814937
|
||||
Loop time of 1.22e-06 on 1 procs for 0 steps with 4 atoms
|
||||
|
||||
163.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 | 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.22e-06 | | |100.00
|
||||
|
||||
Nlocal: 4 ave 4 max 4 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 360 ave 360 max 360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 108 ave 108 max 108 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 216 ave 216 max 216 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 216
|
||||
Ave neighs/atom = 54
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
print "===================================================="
|
||||
====================================================
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
Calculated cohesive energy: -4.28975995753248 eV/atom
|
||||
print "Reference cohesive energy: -4.289 eV/atom"
|
||||
Reference cohesive energy: -4.289 eV/atom
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
Atomic volume 17.7037343507869 A^3
|
||||
print "Lattice constant ${aLatt} A"
|
||||
Lattice constant 4.13721691666803 A
|
||||
print "Reference lattice constant 4.137 A"
|
||||
Reference lattice constant 4.137 A
|
||||
print "===================================================="
|
||||
====================================================
|
||||
|
||||
|
||||
#dump 1 all custom 1 fcc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
10143
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.fcc_relax.g++.4
Normal file
10143
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.fcc_relax.g++.4
Normal file
File diff suppressed because it is too large
Load Diff
10147
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.hcp_relax.g++.1
Normal file
10147
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.hcp_relax.g++.1
Normal file
File diff suppressed because it is too large
Load Diff
1510
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.hcp_relax.g++.4
Normal file
1510
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.hcp_relax.g++.4
Normal file
File diff suppressed because it is too large
Load Diff
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.sc.g++.1
Normal file
100
examples/PACKAGES/meam_sw_spline/Si/log.17Dec2022.sc.g++.1
Normal file
@ -0,0 +1,100 @@
|
||||
LAMMPS (3 Nov 2022)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Si fcc phase
|
||||
|
||||
units metal
|
||||
boundary p p p
|
||||
|
||||
atom_style atomic
|
||||
lattice sc 2.612
|
||||
Lattice spacing in x,y,z = 2.612 2.612 2.612
|
||||
region box block 0 1 0 1 0 1
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (2.612 2.612 2.612)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 1 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (2.612 2.612 2.612)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
pair_style meam/sw/spline
|
||||
pair_coeff * * Si.b.meam.sw.spline Si
|
||||
Reading meam/sw/spline potential file Si.b.meam.sw.spline with DATE: 2012-10-26
|
||||
mass * 28.085
|
||||
|
||||
variable cohesive_energy equal pe/atoms
|
||||
variable atmVol equal vol/atoms
|
||||
variable aLatt equal (vol/atoms)^0.3333333333
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6.4
|
||||
ghost atom cutoff = 6.4
|
||||
binsize = 3.2, bins = 1 1 1
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair meam/sw/spline, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair meam/sw/spline, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.744 | 3.744 | 3.744 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -4.3368757 0 -4.3368757 -41.869135
|
||||
Loop time of 1.328e-06 on 1 procs for 0 steps with 1 atoms
|
||||
|
||||
75.3% 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 | | 1.328e-06 | | |100.00
|
||||
|
||||
Nlocal: 1 ave 1 max 1 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 215 ave 215 max 215 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 40 ave 40 max 40 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 80 ave 80 max 80 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 80
|
||||
Ave neighs/atom = 80
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
print "===================================================="
|
||||
====================================================
|
||||
print "Calculated cohesive energy: ${cohesive_energy} eV/atom"
|
||||
Calculated cohesive energy: -4.33687572290858 eV/atom
|
||||
print "Reference cohesive energy: -4.337 eV/atom"
|
||||
Reference cohesive energy: -4.337 eV/atom
|
||||
print "Atomic volume ${atmVol} A^3"
|
||||
Atomic volume 17.820484928 A^3
|
||||
print "Lattice constant ${aLatt} A"
|
||||
Lattice constant 2.61199999974922 A
|
||||
print "Reference lattice constant 2.612 A"
|
||||
Reference lattice constant 2.612 A
|
||||
print "===================================================="
|
||||
====================================================
|
||||
|
||||
|
||||
#dump 1 all custom 1 sc.dump id type x y z fx fy fz
|
||||
#run 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user