merge with GHub version
This commit is contained in:
@ -1,15 +1,20 @@
|
|||||||
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.10.04.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
|
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.11.25.fix.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
|
||||||
|
|
||||||
set(PACELIB_MD5 "70ff79f4e59af175e55d24f3243ad1ff" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
|
set(PACELIB_MD5 "b45de9a633f42ed65422567e3ce56f9f" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
|
||||||
mark_as_advanced(PACELIB_URL)
|
mark_as_advanced(PACELIB_URL)
|
||||||
mark_as_advanced(PACELIB_MD5)
|
mark_as_advanced(PACELIB_MD5)
|
||||||
GetFallbackURL(PACELIB_URL PACELIB_FALLBACK)
|
GetFallbackURL(PACELIB_URL PACELIB_FALLBACK)
|
||||||
|
|
||||||
# download library sources to build folder
|
# LOCAL_ML-PACE points to top-level dir with local lammps-user-pace repo,
|
||||||
if(EXISTS ${CMAKE_BINARY_DIR}/libpace.tar.gz)
|
# to make it easier to check local build without going through the public github releases
|
||||||
|
if(LOCAL_ML-PACE)
|
||||||
|
set(lib-pace "${LOCAL_ML-PACE}")
|
||||||
|
else()
|
||||||
|
# download library sources to build folder
|
||||||
|
if(EXISTS ${CMAKE_BINARY_DIR}/libpace.tar.gz)
|
||||||
file(MD5 ${CMAKE_BINARY_DIR}/libpace.tar.gz DL_MD5)
|
file(MD5 ${CMAKE_BINARY_DIR}/libpace.tar.gz DL_MD5)
|
||||||
endif()
|
endif()
|
||||||
if(NOT "${DL_MD5}" STREQUAL "${PACELIB_MD5}")
|
if(NOT "${DL_MD5}" STREQUAL "${PACELIB_MD5}")
|
||||||
message(STATUS "Downloading ${PACELIB_URL}")
|
message(STATUS "Downloading ${PACELIB_URL}")
|
||||||
file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz STATUS DL_STATUS SHOW_PROGRESS)
|
file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz STATUS DL_STATUS SHOW_PROGRESS)
|
||||||
file(MD5 ${CMAKE_BINARY_DIR}/libpace.tar.gz DL_MD5)
|
file(MD5 ${CMAKE_BINARY_DIR}/libpace.tar.gz DL_MD5)
|
||||||
@ -17,17 +22,19 @@ if(NOT "${DL_MD5}" STREQUAL "${PACELIB_MD5}")
|
|||||||
message(WARNING "Download from primary URL ${PACELIB_URL} failed\nTrying fallback URL ${PACELIB_FALLBACK}")
|
message(WARNING "Download from primary URL ${PACELIB_URL} failed\nTrying fallback URL ${PACELIB_FALLBACK}")
|
||||||
file(DOWNLOAD ${PACELIB_FALLBACK} ${CMAKE_BINARY_DIR}/libpace.tar.gz EXPECTED_HASH MD5=${PACELIB_MD5} SHOW_PROGRESS)
|
file(DOWNLOAD ${PACELIB_FALLBACK} ${CMAKE_BINARY_DIR}/libpace.tar.gz EXPECTED_HASH MD5=${PACELIB_MD5} SHOW_PROGRESS)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
message(STATUS "Using already downloaded archive ${CMAKE_BINARY_DIR}/libpace.tar.gz")
|
message(STATUS "Using already downloaded archive ${CMAKE_BINARY_DIR}/libpace.tar.gz")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# uncompress downloaded sources
|
|
||||||
execute_process(
|
# uncompress downloaded sources
|
||||||
|
execute_process(
|
||||||
COMMAND ${CMAKE_COMMAND} -E remove_directory lammps-user-pace*
|
COMMAND ${CMAKE_COMMAND} -E remove_directory lammps-user-pace*
|
||||||
COMMAND ${CMAKE_COMMAND} -E tar xzf libpace.tar.gz
|
COMMAND ${CMAKE_COMMAND} -E tar xzf libpace.tar.gz
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
)
|
)
|
||||||
get_newest_file(${CMAKE_BINARY_DIR}/lammps-user-pace-* lib-pace)
|
get_newest_file(${CMAKE_BINARY_DIR}/lammps-user-pace-* lib-pace)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(${lib-pace} build-pace)
|
add_subdirectory(${lib-pace} build-pace)
|
||||||
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
|
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
|
||||||
|
|||||||
@ -115,6 +115,7 @@ KOKKOS, o = OPENMP, t = OPT.
|
|||||||
* :doc:`property/grid <compute_property_grid>`
|
* :doc:`property/grid <compute_property_grid>`
|
||||||
* :doc:`property/local <compute_property_local>`
|
* :doc:`property/local <compute_property_local>`
|
||||||
* :doc:`ptm/atom <compute_ptm_atom>`
|
* :doc:`ptm/atom <compute_ptm_atom>`
|
||||||
|
* :doc:`rattlers/atom <compute_rattlers_atom>`
|
||||||
* :doc:`rdf <compute_rdf>`
|
* :doc:`rdf <compute_rdf>`
|
||||||
* :doc:`reduce <compute_reduce>`
|
* :doc:`reduce <compute_reduce>`
|
||||||
* :doc:`reduce/chunk <compute_reduce_chunk>`
|
* :doc:`reduce/chunk <compute_reduce_chunk>`
|
||||||
|
|||||||
@ -122,6 +122,7 @@ OPT.
|
|||||||
* :doc:`mvv/tdpd <fix_mvv_dpd>`
|
* :doc:`mvv/tdpd <fix_mvv_dpd>`
|
||||||
* :doc:`neb <fix_neb>`
|
* :doc:`neb <fix_neb>`
|
||||||
* :doc:`neb/spin <fix_neb_spin>`
|
* :doc:`neb/spin <fix_neb_spin>`
|
||||||
|
* :doc:`nonaffine/displacement <fix_nonaffine_displacement>`
|
||||||
* :doc:`nph (ko) <fix_nh>`
|
* :doc:`nph (ko) <fix_nh>`
|
||||||
* :doc:`nph/asphere (o) <fix_nph_asphere>`
|
* :doc:`nph/asphere (o) <fix_nph_asphere>`
|
||||||
* :doc:`nph/body <fix_nph_body>`
|
* :doc:`nph/body <fix_nph_body>`
|
||||||
|
|||||||
@ -355,7 +355,7 @@ faces are listed, so that M = 6 + 3\*N + 1.
|
|||||||
The integer line has three values: number of vertices (N), number of
|
The integer line has three values: number of vertices (N), number of
|
||||||
edges (E) and number of faces (F). The floating point line(s) list 6
|
edges (E) and number of faces (F). The floating point line(s) list 6
|
||||||
moments of inertia followed by the coordinates of the N vertices (x1
|
moments of inertia followed by the coordinates of the N vertices (x1
|
||||||
to zN) as 3N values, followed by 2N vertex indices corresponding to
|
to zN) as 3N values, followed by 2E vertex indices corresponding to
|
||||||
the end points of the E edges, then 4\*F vertex indices defining F
|
the end points of the E edges, then 4\*F vertex indices defining F
|
||||||
faces. The last value is the diameter value = the rounded diameter of
|
faces. The last value is the diameter value = the rounded diameter of
|
||||||
the sphere that surrounds each vertex. The diameter value can be
|
the sphere that surrounds each vertex. The diameter value can be
|
||||||
|
|||||||
@ -279,6 +279,7 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
|
|||||||
* :doc:`property/grid <compute_property_grid>` - convert per-grid attributes to per-grid vectors/arrays
|
* :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:`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:`ptm/atom <compute_ptm_atom>` - determines the local lattice structure based on the Polyhedral Template Matching method
|
||||||
|
* :doc:`rattlers/atom <compute_rattlers_atom>` - identify under-coordinated rattler atoms
|
||||||
* :doc:`rdf <compute_rdf>` - radial distribution function :math:`g(r)` histogram of group of atoms
|
* :doc:`rdf <compute_rdf>` - radial distribution function :math:`g(r)` histogram of group of atoms
|
||||||
* :doc:`reduce <compute_reduce>` - combine per-atom quantities into a single global value
|
* :doc:`reduce <compute_reduce>` - combine per-atom quantities into a single global value
|
||||||
* :doc:`reduce/chunk <compute_reduce_chunk>` - reduce per-atom quantities within each chunk
|
* :doc:`reduce/chunk <compute_reduce_chunk>` - reduce per-atom quantities within each chunk
|
||||||
|
|||||||
@ -36,6 +36,9 @@ sum of the radii of the two particles.
|
|||||||
The value of the contact number will be 0.0 for atoms not in the
|
The value of the contact number will be 0.0 for atoms not in the
|
||||||
specified compute group.
|
specified compute group.
|
||||||
|
|
||||||
|
The optional *group2-ID* argument allows to specify from which group atoms
|
||||||
|
contribute to the coordination number. Default setting is group 'all'.
|
||||||
|
|
||||||
Output info
|
Output info
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
@ -47,9 +50,6 @@ overview of LAMMPS output options.
|
|||||||
The per-atom vector values will be a number :math:`\ge 0.0`, as explained
|
The per-atom vector values will be a number :math:`\ge 0.0`, as explained
|
||||||
above.
|
above.
|
||||||
|
|
||||||
The optional *group2-ID* argument allows to specify from which group atoms
|
|
||||||
contribute to the coordination number. Default setting is group 'all.'
|
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
@ -69,6 +69,3 @@ Default
|
|||||||
"""""""
|
"""""""
|
||||||
|
|
||||||
*group2-ID* = all
|
*group2-ID* = all
|
||||||
|
|
||||||
|
|
||||||
none
|
|
||||||
|
|||||||
92
doc/src/compute_rattlers_atom.rst
Normal file
92
doc/src/compute_rattlers_atom.rst
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
.. index:: compute rattlers/atom
|
||||||
|
|
||||||
|
compute rattlers/atom command
|
||||||
|
========================
|
||||||
|
|
||||||
|
Syntax
|
||||||
|
""""""
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
compute ID group-ID rattlers/atom cutoff zmin ntries
|
||||||
|
|
||||||
|
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||||
|
* rattlers/atom = style name of this compute command
|
||||||
|
* cutoff = *type* or *radius*
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
*type* = cutoffs determined based on atom types
|
||||||
|
*radius* = cutoffs determined based on atom diameters (atom style sphere)
|
||||||
|
|
||||||
|
* zmin = minimum coordination for a non-rattler atom
|
||||||
|
* ntries = maximum number of iterations to remove rattlers
|
||||||
|
|
||||||
|
Examples
|
||||||
|
""""""""
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
compute 1 all rattlers/atom type 4 10
|
||||||
|
|
||||||
|
Description
|
||||||
|
"""""""""""
|
||||||
|
|
||||||
|
.. versionadded:: TBD
|
||||||
|
|
||||||
|
Define a compute that identifies rattlers in a system. Rattlers are often
|
||||||
|
identified in granular or glassy packings as undercoordinated atoms that
|
||||||
|
do not have the required number of contacts to constrain their translational
|
||||||
|
degrees of freedom. Such atoms are not considered rigid and can often freely
|
||||||
|
rattle around in the system. This compute identifies rattlers which can be
|
||||||
|
helpful for excluding them from analysis or providing extra damping forces
|
||||||
|
to accelerate relaxation processes.
|
||||||
|
|
||||||
|
Rattlers are identified using an interactive approach. The coordination
|
||||||
|
number of all atoms is first calculated. The *type* and *radius* settings
|
||||||
|
are used to select whether interaction cutoffs are determined by atom
|
||||||
|
types or by the sum of atomic radii (atom style sphere), respectively.
|
||||||
|
Rattlers are then identified as atoms with a coordination number less
|
||||||
|
than *zmin* and are removed from consideration. Atomic coordination
|
||||||
|
numbers are then recalculated, excluding previously identified rattlers,
|
||||||
|
to identify a new set of rattlers. This process is iterated up to a maximum
|
||||||
|
of *ntries* or until no new rattlers are identified and the remaining
|
||||||
|
atoms form a stable network of contacts.
|
||||||
|
|
||||||
|
In dense homogeneous systems where the average atom coordination number
|
||||||
|
is expected to be larger than *zmin*, this process usually only takes a few
|
||||||
|
iterations and a value of *ntries* around ten may be sufficient. In systems
|
||||||
|
with significant heterogeneity or average coordination numbers less than
|
||||||
|
*zmin*, an appropriate value of *ntries* depends heavily on the specific
|
||||||
|
system. For instance, a linear chain of N rattler atoms with a *zmin* of 2
|
||||||
|
would take N/2 iterations to identify that all the atoms are rattlers.
|
||||||
|
|
||||||
|
Output info
|
||||||
|
"""""""""""
|
||||||
|
|
||||||
|
This compute calculates a per-atom vector and a global scalar. The vector
|
||||||
|
designates which atoms are rattlers, indicated by a value 1. Non-rattlers
|
||||||
|
have a value of 0. The global scalar returns the total number of rattlers
|
||||||
|
in the system. See the :doc:`Howto output <Howto_output>` page for an
|
||||||
|
overview of LAMMPS output options.
|
||||||
|
|
||||||
|
Restrictions
|
||||||
|
""""""""""""
|
||||||
|
|
||||||
|
This compute is part of the EXTRA-COMPUTE package. It is only enabled if
|
||||||
|
LAMMPS was built with that package. See the
|
||||||
|
:doc:`Build package <Build_package>` page for more info.
|
||||||
|
|
||||||
|
The *radius* cutoff option requires that atoms store a radius as defined by the
|
||||||
|
:doc:`atom_style sphere <atom_style>` or similar commands.
|
||||||
|
|
||||||
|
Related commands
|
||||||
|
""""""""""""""""
|
||||||
|
|
||||||
|
:doc:`compute coord/atom <compute_coord_atom>`
|
||||||
|
:doc:`compute contact/atom <compute_contact_atom>`
|
||||||
|
|
||||||
|
Default
|
||||||
|
"""""""
|
||||||
|
|
||||||
|
none
|
||||||
@ -287,6 +287,7 @@ accelerated styles exist.
|
|||||||
* :doc:`mvv/tdpd <fix_mvv_dpd>` - constant temperature DPD using the modified velocity-Verlet algorithm
|
* :doc:`mvv/tdpd <fix_mvv_dpd>` - constant temperature DPD using the modified velocity-Verlet algorithm
|
||||||
* :doc:`neb <fix_neb>` - nudged elastic band (NEB) spring forces
|
* :doc:`neb <fix_neb>` - nudged elastic band (NEB) spring forces
|
||||||
* :doc:`neb/spin <fix_neb_spin>` - nudged elastic band (NEB) spring forces for spins
|
* :doc:`neb/spin <fix_neb_spin>` - nudged elastic band (NEB) spring forces for spins
|
||||||
|
* :doc:`nonaffine/displacement <fix_nonaffine_displacement>` - calculate nonaffine displacement of atoms
|
||||||
* :doc:`nph <fix_nh>` - constant NPH time integration via Nose/Hoover
|
* :doc:`nph <fix_nh>` - constant NPH time integration via Nose/Hoover
|
||||||
* :doc:`nph/asphere <fix_nph_asphere>` - NPH for aspherical particles
|
* :doc:`nph/asphere <fix_nph_asphere>` - NPH for aspherical particles
|
||||||
* :doc:`nph/body <fix_nph_body>` - NPH for body particles
|
* :doc:`nph/body <fix_nph_body>` - NPH for body particles
|
||||||
|
|||||||
133
doc/src/fix_nonaffine_displacement.rst
Normal file
133
doc/src/fix_nonaffine_displacement.rst
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
.. index:: fix nonaffine/displacement
|
||||||
|
|
||||||
|
fix nonaffine/displacement command
|
||||||
|
==================================
|
||||||
|
|
||||||
|
Syntax
|
||||||
|
""""""
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
fix ID group nonaffine/displacement style args reference/style nstep
|
||||||
|
|
||||||
|
* ID, group are documented in :doc:`fix <fix>` command
|
||||||
|
* nonaffine/displacement = style name of this fix command
|
||||||
|
* nevery = calculate nonaffine displacement every this many timesteps
|
||||||
|
* style = *d2min* or *integrated*
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
*d2min* args = cutoff args
|
||||||
|
cutoff = *type* or *radius* or *custom*
|
||||||
|
*type* args = none, cutoffs determined by atom types
|
||||||
|
*radius* args = none, cutoffs determined based on atom diameters (atom style sphere)
|
||||||
|
*custom* args = *rmax*, cutoff set by a constant numeric value *rmax* (distance units)
|
||||||
|
*integrated* args = none
|
||||||
|
|
||||||
|
* reference/style = *fixed* or *update* or *offset*
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
*fixed* = use a fixed reference frame at *nstep*
|
||||||
|
*update* = update the reference frame every *nstep* timesteps
|
||||||
|
*offset* = update the reference frame *nstep* timesteps before calculating the nonaffine displacement
|
||||||
|
|
||||||
|
Examples
|
||||||
|
""""""""
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
fix 1 all nonaffine/displacement 100 integrated update 100
|
||||||
|
fix 1 all nonaffine/displacement 1000 d2min type fixed 0
|
||||||
|
fix 1 all nonaffine/displacement 1000 d2min custom 2.0 offset 100
|
||||||
|
|
||||||
|
Description
|
||||||
|
"""""""""""
|
||||||
|
|
||||||
|
.. versionadded:: TBD
|
||||||
|
|
||||||
|
This fix computes different metrics of the nonaffine displacement of
|
||||||
|
particles. The first metric, *d2min* calculates the :math:`D^2_\mathrm{min}`
|
||||||
|
nonaffine displacement by Falk and Langer in :ref:`(Falk) <d2min-Falk>`.
|
||||||
|
For each atom, the fix computes the two tensors
|
||||||
|
|
||||||
|
.. math::
|
||||||
|
|
||||||
|
X = \sum_{\mathrm{neighbors}} \vec{r} \left(\vec{r}_{0} \right)^T
|
||||||
|
|
||||||
|
and
|
||||||
|
|
||||||
|
.. math::
|
||||||
|
|
||||||
|
Y = \sum_{\mathrm{neighbors}} \vec{r}_0 \left(\vec{r}_{0} \right)^T
|
||||||
|
|
||||||
|
where the neighbors include all other atoms within the distance criterion
|
||||||
|
set by the cutoff option, discussed below, :math:`\vec{r}` is the current
|
||||||
|
displacement between particles, and :math:`\vec{r}_0` is the reference
|
||||||
|
displacement. A deformation gradient tensor is then calculated as
|
||||||
|
:math:`F = X Y^{-1}` from which
|
||||||
|
|
||||||
|
.. math::
|
||||||
|
|
||||||
|
D^2_\mathrm{min} = \sum_{\mathrm{neighbors}} \left| \vec{r} - F \vec{r}_0 \right|^2
|
||||||
|
|
||||||
|
and a strain tensor is calculated :math:`E = F F^{T} - I` where :math:`I`
|
||||||
|
is the identity tensor. This calculation is only performed on timesteps that
|
||||||
|
are a multiple of *nevery* (including timestep zero). Data accessed before
|
||||||
|
this occurs will simply be zeroed.
|
||||||
|
|
||||||
|
The *integrated* style simply integrates the velocity of particles
|
||||||
|
every timestep to calculate a displacement. This style only works if
|
||||||
|
used in conjunction with another fix that deforms the box and displaces
|
||||||
|
atom positions such as :doc:`fix deform <fix_deform>` with remap x,
|
||||||
|
:doc:`fix press/berendsen <fix_press_berendsen>`, or :doc:`fix nh <fix_nh>`.
|
||||||
|
|
||||||
|
Both of these methods require defining a reference state. With the *fixed* reference
|
||||||
|
style, the user picks a specific timestep *nstep* at which particle positions are saved.
|
||||||
|
If peratom data is accessed from this compute prior to this timestep, it will simply be
|
||||||
|
zeroed. The *update* reference style implies the reference state will be updated every
|
||||||
|
*nstep* timesteps. The *offset* reference only applies to the *d2min* metric and will
|
||||||
|
update the reference state *nstep* timesteps before a multiple of *nevery* timesteps.
|
||||||
|
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
Restart, fix_modify, output, run start/stop, minimize info
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
The reference state is saved to :doc:`binary restart files <restart>`.
|
||||||
|
|
||||||
|
None of the :doc:`fix_modify <fix_modify>` options are relevant to this
|
||||||
|
fix.
|
||||||
|
|
||||||
|
This fix computes a peratom array with 3 columns, which can be accessed
|
||||||
|
by indices 1-3 using any command that uses per-atom values from a fix
|
||||||
|
as input.
|
||||||
|
|
||||||
|
For the *integrated* style, the three columns are the nonaffine
|
||||||
|
displacements in the x, y, and z directions. For the *d2min* style,
|
||||||
|
the three columns are the calculated :math:`\sqrt{D^2_\mathrm{min}}`, the
|
||||||
|
volumetric strain, and the deviatoric strain.
|
||||||
|
|
||||||
|
Restrictions
|
||||||
|
""""""""""""
|
||||||
|
|
||||||
|
This compute is part of the EXTRA-FIX package. It is only enabled if
|
||||||
|
LAMMPS was built with that package. See the
|
||||||
|
:doc:`Build package <Build_package>` page for more info.
|
||||||
|
|
||||||
|
Related commands
|
||||||
|
""""""""""""""""
|
||||||
|
|
||||||
|
none
|
||||||
|
|
||||||
|
Default
|
||||||
|
"""""""
|
||||||
|
|
||||||
|
none
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. _d2min-Falk:
|
||||||
|
|
||||||
|
**(Falk)** Falk and Langer PRE, 57, 7192 (1998).
|
||||||
@ -80,7 +80,7 @@ Syntax
|
|||||||
groupID1, groupID2, ... = list of N group IDs
|
groupID1, groupID2, ... = list of N group IDs
|
||||||
|
|
||||||
* zero or more keyword/value pairs may be appended
|
* zero or more keyword/value pairs may be appended
|
||||||
* keyword = *langevin* or *reinit* or *temp* or *iso* or *aniso* or *x* or *y* or *z* or *couple* or *tparam* or *pchain* or *dilate* or *force* or *torque* or *infile* or *gravity*
|
* keyword = *langevin* or *reinit* or *temp* or *mol* or *iso* or *aniso* or *x* or *y* or *z* or *couple* or *tparam* or *pchain* or *dilate* or *force* or *torque* or *infile* or *gravity*
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
@ -92,6 +92,8 @@ Syntax
|
|||||||
*temp* values = Tstart Tstop Tdamp
|
*temp* values = Tstart Tstop Tdamp
|
||||||
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
|
Tstart,Tstop = desired temperature at start/stop of run (temperature units)
|
||||||
Tdamp = temperature damping parameter (time units)
|
Tdamp = temperature damping parameter (time units)
|
||||||
|
*mol* value = template-ID
|
||||||
|
template-ID = ID of molecule template specified in a separate :doc:`molecule <molecule>` command
|
||||||
*iso* or *aniso* values = Pstart Pstop Pdamp
|
*iso* or *aniso* values = Pstart Pstop Pdamp
|
||||||
Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
|
Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
|
||||||
Pdamp = pressure damping parameter (time units)
|
Pdamp = pressure damping parameter (time units)
|
||||||
|
|||||||
@ -154,21 +154,25 @@ These are the recognized header keywords. Header lines can come in
|
|||||||
any order. The numeric value(s) are read from the beginning of the
|
any order. The numeric value(s) are read from the beginning of the
|
||||||
line. The keyword should appear at the end of the line. All these
|
line. The keyword should appear at the end of the line. All these
|
||||||
settings have default values, as explained below. A line need only
|
settings have default values, as explained below. A line need only
|
||||||
appear if the value(s) are different than the default.
|
appear if the value(s) are different than the default, except when
|
||||||
|
defining a *body* particle, which requires setting the number of
|
||||||
|
*atoms* to 1, and setting the *inertia* in a specific section (see below).
|
||||||
|
|
||||||
* N *atoms* = # of atoms N in molecule, default = 0
|
* N *atoms* = # of atoms N in molecule, default = 0
|
||||||
* Nb *bonds* = # of bonds Nb in molecule, default = 0
|
* Nb *bonds* = # of bonds Nb in molecule, default = 0
|
||||||
* Na *angles* = # of angles Na in molecule, default = 0
|
* Na *angles* = # of angles Na in molecule, default = 0
|
||||||
* Nd *dihedrals* = # of dihedrals Nd in molecule, default = 0
|
* Nd *dihedrals* = # of dihedrals Nd in molecule, default = 0
|
||||||
* Ni *impropers* = # of impropers Ni in molecule, default = 0
|
* Ni *impropers* = # of impropers Ni in molecule, default = 0
|
||||||
* Nf *fragments* = # of fragments in molecule, default = 0
|
* Nf *fragments* = # of fragments Nf in molecule, default = 0
|
||||||
|
* Ninteger Ndouble *body* = # of integer and floating-point values in body
|
||||||
|
particle, default = 0
|
||||||
* Mtotal *mass* = total mass of molecule
|
* Mtotal *mass* = total mass of molecule
|
||||||
* Xc Yc Zc *com* = coordinates of center-of-mass of molecule
|
* Xc Yc Zc *com* = coordinates of center-of-mass of molecule
|
||||||
* Ixx Iyy Izz Ixy Ixz Iyz *inertia* = 6 components of inertia tensor of molecule
|
* Ixx Iyy Izz Ixy Ixz Iyz *inertia* = 6 components of inertia tensor of molecule
|
||||||
|
|
||||||
For *mass*, *com*, and *inertia*, the default is for LAMMPS to
|
For *mass*, *com*, and *inertia*, the default is for LAMMPS to
|
||||||
calculate this quantity itself if needed, assuming the molecules
|
calculate this quantity itself if needed, assuming the molecules
|
||||||
consists of a set of point particles or finite-size particles (with a
|
consist of a set of point particles or finite-size particles (with a
|
||||||
non-zero diameter) that do not overlap. If finite-size particles in
|
non-zero diameter) that do not overlap. If finite-size particles in
|
||||||
the molecule do overlap, LAMMPS will not account for the overlap
|
the molecule do overlap, LAMMPS will not account for the overlap
|
||||||
effects when calculating any of these 3 quantities, so you should
|
effects when calculating any of these 3 quantities, so you should
|
||||||
@ -188,6 +192,7 @@ These are the allowed section keywords for the body of the file.
|
|||||||
* *Bonds, Angles, Dihedrals, Impropers* = molecular topology sections
|
* *Bonds, Angles, Dihedrals, Impropers* = molecular topology sections
|
||||||
* *Special Bond Counts, Special Bonds* = special neighbor info
|
* *Special Bond Counts, Special Bonds* = special neighbor info
|
||||||
* *Shake Flags, Shake Atoms, Shake Bond Types* = SHAKE info
|
* *Shake Flags, Shake Atoms, Shake Bond Types* = SHAKE info
|
||||||
|
* *Body Integers, Body Doubles* = body-property sections
|
||||||
|
|
||||||
For the Types, Bonds, Angles, Dihedrals, and Impropers sections, each
|
For the Types, Bonds, Angles, Dihedrals, and Impropers sections, each
|
||||||
atom/bond/angle/etc type can be specified either as a number (numeric
|
atom/bond/angle/etc type can be specified either as a number (numeric
|
||||||
@ -515,6 +520,67 @@ of SHAKE clusters.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
*Body Integers* section:
|
||||||
|
|
||||||
|
* one line
|
||||||
|
* line syntax: N E F
|
||||||
|
* N = number of sub-particles or number or vertices
|
||||||
|
* E,F = number of edges and faces
|
||||||
|
|
||||||
|
This section is only needed when the molecule is a body particle. the other
|
||||||
|
Body section must also appear in the file.
|
||||||
|
|
||||||
|
The total number of values that must appear is determined by the body style, and
|
||||||
|
must be equal to the Ninteger value given in the *body* header.
|
||||||
|
|
||||||
|
For *nparticle* and *rounded/polygon*, only the number of sub-particles or
|
||||||
|
vertices N is required, and Ninteger should have a value of 1.
|
||||||
|
|
||||||
|
For *rounded/polyhedron*, the number of edges E and faces F is required, and
|
||||||
|
Ninteger should have a value of 3.
|
||||||
|
|
||||||
|
See the :doc:`Howto body <Howto_body>` page for a further description of
|
||||||
|
the file format.
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
*Body Doubles* section:
|
||||||
|
|
||||||
|
* first line
|
||||||
|
* line syntax: Ixx Iyy Izz Ixy Ixz Iyz
|
||||||
|
* Ixx Iyy Izz Ixy Ixz Iyz = 6 components of inertia tensor of body particle
|
||||||
|
* one line per sub-particle or vertex
|
||||||
|
* line syntax: x y z
|
||||||
|
* x, y, z = coordinates of sub-particle or vertex
|
||||||
|
* one line per edge
|
||||||
|
* line syntax: N1 N2
|
||||||
|
* N1, N2 = vertex indices
|
||||||
|
* one line per face
|
||||||
|
* line syntax: N1 N2 N3 N4
|
||||||
|
* N1, N2, N3, N4 = vertex indices
|
||||||
|
* last line
|
||||||
|
* line syntax: diam
|
||||||
|
* diam = rounded diameter that surrounds each vertex
|
||||||
|
|
||||||
|
This section is only needed when the molecule is a body particle. the other
|
||||||
|
Body section must also appear in the file.
|
||||||
|
|
||||||
|
The total number of values that must appear is determined by the body style, and
|
||||||
|
must be equal to the Ndouble value given in the *body* header. The 6 moments of
|
||||||
|
inertia and the 3N coordinates of the sub-particles or vertices are required
|
||||||
|
for all body styles.
|
||||||
|
|
||||||
|
For *rounded/polygon*, the E = 6 + 3*N + 1 edges are automatically determined
|
||||||
|
from the vertices.
|
||||||
|
|
||||||
|
For *rounded/polyhedron*, the 2E vertex indices for the end points of the edges
|
||||||
|
and 4F vertex indices defining the faces are required.
|
||||||
|
|
||||||
|
See the :doc:`Howto body <Howto_body>` page for a further description of
|
||||||
|
the file format.
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
|
|||||||
@ -40,6 +40,9 @@ Examples
|
|||||||
pair_style pace product chunksize 2048
|
pair_style pace product chunksize 2048
|
||||||
pair_coeff * * Cu-PBE-core-rep.ace Cu
|
pair_coeff * * Cu-PBE-core-rep.ace Cu
|
||||||
|
|
||||||
|
pair_style pace
|
||||||
|
pair_coeff * * Cu.yaml Cu
|
||||||
|
|
||||||
pair_style pace/extrapolation
|
pair_style pace/extrapolation
|
||||||
pair_coeff * * Cu.yaml Cu.asi Cu
|
pair_coeff * * Cu.yaml Cu.asi Cu
|
||||||
|
|
||||||
@ -64,7 +67,7 @@ specifies an ACE coefficient file followed by N additional arguments
|
|||||||
specifying the mapping of ACE elements to LAMMPS atom types, where N is
|
specifying the mapping of ACE elements to LAMMPS atom types, where N is
|
||||||
the number of LAMMPS atom types:
|
the number of LAMMPS atom types:
|
||||||
|
|
||||||
* ACE coefficient file
|
* ACE coefficient file (.yaml or .yace/.ace format)
|
||||||
* N element names = mapping of ACE elements to atom types
|
* N element names = mapping of ACE elements to atom types
|
||||||
|
|
||||||
Only a single pair_coeff command is used with the *pace* style which
|
Only a single pair_coeff command is used with the *pace* style which
|
||||||
@ -136,6 +139,22 @@ product B-basis evaluator is always used and only *linear* ASI is supported.
|
|||||||
See the :doc:`pair_coeff <pair_coeff>` page for alternate ways
|
See the :doc:`pair_coeff <pair_coeff>` page for alternate ways
|
||||||
to specify the path for the ACE coefficient file.
|
to specify the path for the ACE coefficient file.
|
||||||
|
|
||||||
|
Core repulsion
|
||||||
|
"""""""""""""""""""
|
||||||
|
The ACE potential can be configured to initiate core-repulsion from an inner cutoff,
|
||||||
|
seamlessly transitioning from ACE to ZBL. The core repulsion factor can be accessed
|
||||||
|
as a per-atom quantity, as demonstrated in the example below:
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
pair_style pace
|
||||||
|
pair_coeff * * CuNi.yaml Cu Ni
|
||||||
|
|
||||||
|
fix pace_corerep all pair 1 pace corerep 1
|
||||||
|
|
||||||
|
In this case, per-atom `f_pace_corerep` quantities represent the fraction of ZBL
|
||||||
|
core-repulsion for each atom.
|
||||||
|
|
||||||
Mixing, shift, table, tail correction, restart, rRESPA info
|
Mixing, shift, table, tail correction, restart, rRESPA info
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
|||||||
@ -1087,6 +1087,7 @@ facesets
|
|||||||
factorizable
|
factorizable
|
||||||
factorizations
|
factorizations
|
||||||
Fahrenberger
|
Fahrenberger
|
||||||
|
Falk
|
||||||
Faken
|
Faken
|
||||||
Farago
|
Farago
|
||||||
Fasolino
|
Fasolino
|
||||||
@ -1835,6 +1836,7 @@ Lanczos
|
|||||||
Lande
|
Lande
|
||||||
Landron
|
Landron
|
||||||
Landsgesell
|
Landsgesell
|
||||||
|
Langer
|
||||||
langevin
|
langevin
|
||||||
Langevin
|
Langevin
|
||||||
Langston
|
Langston
|
||||||
@ -2512,6 +2514,7 @@ noforce
|
|||||||
noguess
|
noguess
|
||||||
Noid
|
Noid
|
||||||
nolib
|
nolib
|
||||||
|
nonaffine
|
||||||
nonequilibrium
|
nonequilibrium
|
||||||
nongauss
|
nongauss
|
||||||
nonGaussian
|
nonGaussian
|
||||||
@ -2584,6 +2587,7 @@ nthreads
|
|||||||
ntimestep
|
ntimestep
|
||||||
Ntptask
|
Ntptask
|
||||||
Ntriples
|
Ntriples
|
||||||
|
ntries
|
||||||
ntris
|
ntris
|
||||||
Ntype
|
Ntype
|
||||||
ntypes
|
ntypes
|
||||||
|
|||||||
@ -68,7 +68,7 @@ variable Lx1 equal round(${Lx}/${aWall})*${aWall}
|
|||||||
#create simulation box
|
#create simulation box
|
||||||
variable lx2 equal ${Lx1}/2
|
variable lx2 equal ${Lx1}/2
|
||||||
variable ly2 equal ${Ly1}/2
|
variable ly2 equal ${Ly1}/2
|
||||||
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box
|
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
|
||||||
create_box 2 simbox
|
create_box 2 simbox
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|||||||
941
examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1
Normal file
941
examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1
Normal file
@ -0,0 +1,941 @@
|
|||||||
|
LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
#LAMMPS input script
|
||||||
|
#in.GD
|
||||||
|
#see README for details
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#initialize variables
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
|
||||||
|
#frequency for outputting info (timesteps)
|
||||||
|
variable dump_rate equal 50
|
||||||
|
variable thermo_rate equal 10
|
||||||
|
|
||||||
|
#equilibration time (timesteps)
|
||||||
|
variable equil equal 1000
|
||||||
|
|
||||||
|
#stabilization time (timesteps to reach steady-state)
|
||||||
|
variable stabil equal 1000
|
||||||
|
|
||||||
|
#data collection time (timesteps)
|
||||||
|
variable run equal 2000
|
||||||
|
|
||||||
|
#length of pipe
|
||||||
|
variable L equal 30
|
||||||
|
|
||||||
|
#width of pipe
|
||||||
|
variable d equal 20
|
||||||
|
|
||||||
|
#flux (mass/sigma*tau)
|
||||||
|
variable J equal 0.1
|
||||||
|
|
||||||
|
#simulation box dimensions
|
||||||
|
variable Lx equal 100
|
||||||
|
variable Ly equal 40
|
||||||
|
|
||||||
|
#bulk fluid density
|
||||||
|
variable dens equal 0.8
|
||||||
|
|
||||||
|
#lattice spacing for wall atoms
|
||||||
|
variable aWall equal 1.0 #1.7472
|
||||||
|
|
||||||
|
#timestep
|
||||||
|
variable ts equal 0.001
|
||||||
|
|
||||||
|
#temperature
|
||||||
|
variable T equal 2.0
|
||||||
|
|
||||||
|
#thermostat damping constant
|
||||||
|
variable tdamp equal ${ts}*100
|
||||||
|
variable tdamp equal 0.001*100
|
||||||
|
|
||||||
|
units lj
|
||||||
|
dimension 2
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#create box
|
||||||
|
|
||||||
|
#create lattice with the spacing aWall
|
||||||
|
variable rhoWall equal ${aWall}^(-2)
|
||||||
|
variable rhoWall equal 1^(-2)
|
||||||
|
lattice sq ${rhoWall}
|
||||||
|
lattice sq 1
|
||||||
|
Lattice spacing in x,y,z = 1 1 1
|
||||||
|
|
||||||
|
#modify input dimensions to be multiples of aWall
|
||||||
|
variable L1 equal round($L/${aWall})*${aWall}
|
||||||
|
variable L1 equal round(30/${aWall})*${aWall}
|
||||||
|
variable L1 equal round(30/1)*${aWall}
|
||||||
|
variable L1 equal round(30/1)*1
|
||||||
|
variable d1 equal round($d/${aWall})*${aWall}
|
||||||
|
variable d1 equal round(20/${aWall})*${aWall}
|
||||||
|
variable d1 equal round(20/1)*${aWall}
|
||||||
|
variable d1 equal round(20/1)*1
|
||||||
|
variable Ly1 equal round(${Ly}/${aWall})*${aWall}
|
||||||
|
variable Ly1 equal round(40/${aWall})*${aWall}
|
||||||
|
variable Ly1 equal round(40/1)*${aWall}
|
||||||
|
variable Ly1 equal round(40/1)*1
|
||||||
|
variable Lx1 equal round(${Lx}/${aWall})*${aWall}
|
||||||
|
variable Lx1 equal round(100/${aWall})*${aWall}
|
||||||
|
variable Lx1 equal round(100/1)*${aWall}
|
||||||
|
variable Lx1 equal round(100/1)*1
|
||||||
|
|
||||||
|
#create simulation box
|
||||||
|
variable lx2 equal ${Lx1}/2
|
||||||
|
variable lx2 equal 100/2
|
||||||
|
variable ly2 equal ${Ly1}/2
|
||||||
|
variable ly2 equal 40/2
|
||||||
|
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
|
||||||
|
region simbox block -50 ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
|
||||||
|
region simbox block -50 50 -${ly2} ${ly2} -0.1 0.1 units box
|
||||||
|
region simbox block -50 50 -20 ${ly2} -0.1 0.1 units box
|
||||||
|
region simbox block -50 50 -20 20 -0.1 0.1 units box
|
||||||
|
create_box 2 simbox
|
||||||
|
Created orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#set up potential
|
||||||
|
|
||||||
|
mass 1 1.0 #fluid atoms
|
||||||
|
mass 2 1.0 #wall atoms
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
pair_modify shift yes
|
||||||
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
pair_coeff 1 2 1.0 1.0 1.12246
|
||||||
|
pair_coeff 2 2 0.0 0.0
|
||||||
|
|
||||||
|
neigh_modify exclude type 2 2
|
||||||
|
|
||||||
|
timestep ${ts}
|
||||||
|
timestep 0.001
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#create atoms
|
||||||
|
|
||||||
|
#create wall atoms everywhere
|
||||||
|
create_atoms 2 box
|
||||||
|
Created 4000 atoms
|
||||||
|
using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
|
||||||
|
create_atoms CPU = 0.002 seconds
|
||||||
|
|
||||||
|
#define region which is "walled off"
|
||||||
|
variable dhalf equal ${d1}/2
|
||||||
|
variable dhalf equal 20/2
|
||||||
|
variable Lhalf equal ${L1}/2
|
||||||
|
variable Lhalf equal 30/2
|
||||||
|
region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
|
||||||
|
region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
|
||||||
|
region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box
|
||||||
|
region walltop block -15 15 10 EDGE -0.1 0.1 units box
|
||||||
|
region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
|
||||||
|
region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
|
||||||
|
region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box
|
||||||
|
region wallbot block -15 15 EDGE -10 -0.1 0.1 units box
|
||||||
|
region outsidewall union 2 walltop wallbot side out
|
||||||
|
|
||||||
|
#remove wall atoms outside wall region
|
||||||
|
group outside region outsidewall
|
||||||
|
3349 atoms in group outside
|
||||||
|
delete_atoms group outside
|
||||||
|
Deleted 3349 atoms, new total = 651
|
||||||
|
|
||||||
|
#remove wall atoms that aren't on edge of wall region
|
||||||
|
variable x1 equal ${Lhalf}-${aWall}
|
||||||
|
variable x1 equal 15-${aWall}
|
||||||
|
variable x1 equal 15-1
|
||||||
|
variable y1 equal ${dhalf}+${aWall}
|
||||||
|
variable y1 equal 10+${aWall}
|
||||||
|
variable y1 equal 10+1
|
||||||
|
region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box
|
||||||
|
region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box
|
||||||
|
region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box
|
||||||
|
region insideTop block -14 14 11 EDGE -0.1 0.1 units box
|
||||||
|
region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box
|
||||||
|
region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box
|
||||||
|
region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box
|
||||||
|
region insideBot block -14 14 EDGE -11 -0.1 0.1 units box
|
||||||
|
region insideWall union 2 insideTop insideBot
|
||||||
|
group insideWall region insideWall
|
||||||
|
551 atoms in group insideWall
|
||||||
|
delete_atoms group insideWall
|
||||||
|
Deleted 551 atoms, new total = 100
|
||||||
|
|
||||||
|
#define new lattice, to give correct fluid density
|
||||||
|
#y lattice const must be a multiple of aWall
|
||||||
|
variable atrue equal ${dens}^(-1/2)
|
||||||
|
variable atrue equal 0.8^(-1/2)
|
||||||
|
variable ay equal round(${atrue}/${aWall})*${aWall}
|
||||||
|
variable ay equal round(1.11803398874989/${aWall})*${aWall}
|
||||||
|
variable ay equal round(1.11803398874989/1)*${aWall}
|
||||||
|
variable ay equal round(1.11803398874989/1)*1
|
||||||
|
|
||||||
|
#choose x lattice const to give correct density
|
||||||
|
variable ax equal (${ay}*${dens})^(-1)
|
||||||
|
variable ax equal (1*${dens})^(-1)
|
||||||
|
variable ax equal (1*0.8)^(-1)
|
||||||
|
|
||||||
|
#change Lx to be multiple of ax
|
||||||
|
variable Lx1 equal round(${Lx}/${ax})*${ax}
|
||||||
|
variable Lx1 equal round(100/${ax})*${ax}
|
||||||
|
variable Lx1 equal round(100/1.25)*${ax}
|
||||||
|
variable Lx1 equal round(100/1.25)*1.25
|
||||||
|
variable lx2 equal ${Lx1}/2
|
||||||
|
variable lx2 equal 100/2
|
||||||
|
change_box all x final -${lx2} ${lx2} units box
|
||||||
|
change_box all x final -50 ${lx2} units box
|
||||||
|
change_box all x final -50 50 units box
|
||||||
|
Changing box ...
|
||||||
|
orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
|
||||||
|
|
||||||
|
#define new lattice
|
||||||
|
lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
||||||
|
lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
||||||
|
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
||||||
|
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
||||||
|
Lattice spacing in x,y,z = 1.25 1 1
|
||||||
|
|
||||||
|
#fill in rest of box with bulk particles
|
||||||
|
variable delta equal 0.001
|
||||||
|
variable Ldelt equal ${Lhalf}+${delta}
|
||||||
|
variable Ldelt equal 15+${delta}
|
||||||
|
variable Ldelt equal 15+0.001
|
||||||
|
variable dDelt equal ${dhalf}-${delta}
|
||||||
|
variable dDelt equal 10-${delta}
|
||||||
|
variable dDelt equal 10-0.001
|
||||||
|
region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box
|
||||||
|
region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box
|
||||||
|
region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box
|
||||||
|
region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box
|
||||||
|
region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
|
||||||
|
region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
|
||||||
|
region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box
|
||||||
|
region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box
|
||||||
|
region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box
|
||||||
|
|
||||||
|
region bulk union 3 left pipe right
|
||||||
|
create_atoms 1 region bulk
|
||||||
|
Created 2675 atoms
|
||||||
|
using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
|
||||||
|
create_atoms CPU = 0.002 seconds
|
||||||
|
|
||||||
|
group bulk type 1
|
||||||
|
2675 atoms in group bulk
|
||||||
|
group wall type 2
|
||||||
|
100 atoms in group wall
|
||||||
|
|
||||||
|
#remove atoms that are too close to wall
|
||||||
|
delete_atoms overlap 0.9 bulk wall
|
||||||
|
System init for delete_atoms ...
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update: every = 1 steps, delay = 0 steps, check = yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 2.8
|
||||||
|
ghost atom cutoff = 2.8
|
||||||
|
binsize = 1.4, bins = 72 29 1
|
||||||
|
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||||
|
(1) command delete_atoms, occasional
|
||||||
|
attributes: full, newton on
|
||||||
|
pair build: full/bin/atomonly
|
||||||
|
stencil: full/bin/2d
|
||||||
|
bin: standard
|
||||||
|
(2) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/2d
|
||||||
|
bin: standard
|
||||||
|
Deleted 0 atoms, new total = 2775
|
||||||
|
|
||||||
|
neighbor 0.3 bin
|
||||||
|
neigh_modify delay 0 every 1 check yes
|
||||||
|
neigh_modify exclude group wall wall
|
||||||
|
|
||||||
|
velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom
|
||||||
|
velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#set up PUT
|
||||||
|
#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172
|
||||||
|
|
||||||
|
#average number of particles per box, Evans and Morriss used 2.0
|
||||||
|
variable NperBox equal 8.0
|
||||||
|
|
||||||
|
#calculate box sizes
|
||||||
|
variable boxSide equal sqrt(${NperBox}/${dens})
|
||||||
|
variable boxSide equal sqrt(8/${dens})
|
||||||
|
variable boxSide equal sqrt(8/0.8)
|
||||||
|
variable nX equal round(lx/${boxSide})
|
||||||
|
variable nX equal round(lx/3.16227766016838)
|
||||||
|
variable nY equal round(ly/${boxSide})
|
||||||
|
variable nY equal round(ly/3.16227766016838)
|
||||||
|
variable dX equal lx/${nX}
|
||||||
|
variable dX equal lx/32
|
||||||
|
variable dY equal ly/${nY}
|
||||||
|
variable dY equal ly/13
|
||||||
|
|
||||||
|
#temperature of fluid (excluding wall)
|
||||||
|
compute myT bulk temp
|
||||||
|
|
||||||
|
#profile-unbiased temperature of fluid
|
||||||
|
compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY}
|
||||||
|
compute myTp bulk temp/profile 1 1 0 xy 32 ${nY}
|
||||||
|
compute myTp bulk temp/profile 1 1 0 xy 32 13
|
||||||
|
|
||||||
|
#thermo setup
|
||||||
|
thermo ${thermo_rate}
|
||||||
|
thermo 10
|
||||||
|
thermo_style custom step c_myT c_myTp etotal press
|
||||||
|
|
||||||
|
#dump initial configuration
|
||||||
|
# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz
|
||||||
|
# dump 56 wall custom 1 wall.init.lammpstrj id type x y z
|
||||||
|
# dump_modify 55 sort id
|
||||||
|
# dump_modify 56 sort id
|
||||||
|
run 0
|
||||||
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update: every = 1 steps, delay = 0 steps, check = yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 2.8
|
||||||
|
ghost atom cutoff = 2.8
|
||||||
|
binsize = 1.4, bins = 72 29 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/2d
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.104 | 3.104 | 3.104 Mbytes
|
||||||
|
Step c_myT c_myTp TotEng Press
|
||||||
|
0 2 2.054601 0.77892922 7.3417096
|
||||||
|
Loop time of 6.85e-07 on 1 procs for 0 steps with 2775 atoms
|
||||||
|
|
||||||
|
146.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Other | | 6.85e-07 | | |100.00
|
||||||
|
|
||||||
|
Nlocal: 2775 ave 2775 max 2775 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 510 ave 510 max 510 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 26406 ave 26406 max 26406 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 26406
|
||||||
|
Ave neighs/atom = 9.5156757
|
||||||
|
Neighbor list builds = 0
|
||||||
|
Dangerous builds = 0
|
||||||
|
# undump 55
|
||||||
|
# undump 56
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#equilibrate without GD
|
||||||
|
|
||||||
|
fix nvt bulk nvt temp $T $T ${tdamp}
|
||||||
|
fix nvt bulk nvt temp 2 $T ${tdamp}
|
||||||
|
fix nvt bulk nvt temp 2 2 ${tdamp}
|
||||||
|
fix nvt bulk nvt temp 2 2 0.1
|
||||||
|
fix_modify nvt temp myTp
|
||||||
|
WARNING: Temperature for fix modify is not for group all (src/fix_nh.cpp:1391)
|
||||||
|
fix 2 bulk enforce2d
|
||||||
|
|
||||||
|
run ${equil}
|
||||||
|
run 1000
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes
|
||||||
|
Step c_myT c_myTp TotEng Press
|
||||||
|
0 2 2.054601 0.77892922 7.3417096
|
||||||
|
10 1.9173668 1.9381538 0.77877698 7.6702283
|
||||||
|
20 1.7033651 1.6967466 0.7798044 8.5615039
|
||||||
|
30 1.5026644 1.4718046 0.78461914 9.4308883
|
||||||
|
40 1.4881235 1.4586031 0.79494919 9.6135307
|
||||||
|
50 1.6193439 1.6144665 0.81119835 9.2594114
|
||||||
|
60 1.7405127 1.7576881 0.82966956 8.9525458
|
||||||
|
70 1.7758506 1.7999706 0.84538866 8.9719793
|
||||||
|
80 1.7574736 1.7806782 0.85780732 9.1938511
|
||||||
|
90 1.7492232 1.7720284 0.86895259 9.3714617
|
||||||
|
100 1.7800292 1.807315 0.88044504 9.3874107
|
||||||
|
110 1.8442295 1.878681 0.89278276 9.2585436
|
||||||
|
120 1.9193695 1.9667163 0.90556381 9.0683654
|
||||||
|
130 1.9885753 2.0478097 0.91782871 8.8815507
|
||||||
|
140 2.04662 2.1105827 0.92850319 8.718882
|
||||||
|
150 2.0957046 2.1672706 0.93677238 8.5718869
|
||||||
|
160 2.144595 2.2210801 0.94188484 8.4089161
|
||||||
|
170 2.1802133 2.2626399 0.9429713 8.2775682
|
||||||
|
180 2.1868284 2.2696504 0.93931537 8.2321283
|
||||||
|
190 2.1838369 2.2706873 0.93069783 8.1970105
|
||||||
|
200 2.1943436 2.2865542 0.91717737 8.0854148
|
||||||
|
210 2.2029439 2.2912731 0.89906796 7.9589187
|
||||||
|
220 2.1891494 2.2768232 0.87764254 7.9016509
|
||||||
|
230 2.1677848 2.2493747 0.85497463 7.8690125
|
||||||
|
240 2.156695 2.2377486 0.83255207 7.8020978
|
||||||
|
250 2.142758 2.2237662 0.81090722 7.7510242
|
||||||
|
260 2.1177881 2.1967699 0.79016944 7.7477503
|
||||||
|
270 2.0862408 2.1669583 0.77040874 7.7740216
|
||||||
|
280 2.0676515 2.1446262 0.75157955 7.7544068
|
||||||
|
290 2.0645498 2.1425534 0.73343008 7.6746729
|
||||||
|
300 2.0563664 2.1358776 0.71562279 7.6114783
|
||||||
|
310 2.0390115 2.1198472 0.69809211 7.581719
|
||||||
|
320 2.0209035 2.1063385 0.68093855 7.5540946
|
||||||
|
330 2.012488 2.1037583 0.66418283 7.4896097
|
||||||
|
340 2.0166095 2.1094212 0.64762479 7.3779677
|
||||||
|
350 2.0172861 2.1072653 0.63109595 7.2807114
|
||||||
|
360 2.0065768 2.0803788 0.6147802 7.2283814
|
||||||
|
370 1.9970858 2.0639903 0.59905362 7.1747592
|
||||||
|
380 1.9925189 2.056563 0.58395055 7.103506
|
||||||
|
390 1.9935388 2.0546596 0.56945318 7.010305
|
||||||
|
400 2.0020199 2.0632095 0.55532013 6.8883647
|
||||||
|
410 2.009157 2.0732883 0.54128082 6.771521
|
||||||
|
420 2.0081687 2.0785184 0.52711525 6.6868076
|
||||||
|
430 1.9990498 2.0705469 0.51283203 6.6343482
|
||||||
|
440 1.9891528 2.0586814 0.4986104 6.5888679
|
||||||
|
450 1.9829175 2.0465778 0.4846738 6.5332233
|
||||||
|
460 1.9745599 2.031067 0.4711878 6.4903915
|
||||||
|
470 1.9581101 2.006674 0.45837961 6.4836654
|
||||||
|
480 1.9367964 1.9732882 0.44656667 6.501731
|
||||||
|
490 1.9258333 1.9561395 0.43605676 6.4879447
|
||||||
|
500 1.9287 1.9571319 0.42678362 6.4296036
|
||||||
|
510 1.9274696 1.9569118 0.41856553 6.3949919
|
||||||
|
520 1.9100149 1.9392424 0.41134511 6.4307452
|
||||||
|
530 1.8827127 1.9059412 0.40536565 6.5126603
|
||||||
|
540 1.8660696 1.8912024 0.40096324 6.5610607
|
||||||
|
550 1.8701883 1.9043254 0.3982457 6.536251
|
||||||
|
560 1.8842923 1.9289528 0.39698123 6.4785367
|
||||||
|
570 1.8906147 1.9462124 0.39684504 6.4547374
|
||||||
|
580 1.8895472 1.9472747 0.39763233 6.4630103
|
||||||
|
590 1.895375 1.9551336 0.39926725 6.449517
|
||||||
|
600 1.9115711 1.9737109 0.40163655 6.3995241
|
||||||
|
610 1.92823 1.9851787 0.404506 6.3499339
|
||||||
|
620 1.9360678 1.9889572 0.40767569 6.3367514
|
||||||
|
630 1.9346853 1.9836719 0.41105958 6.3637995
|
||||||
|
640 1.9266095 1.9757908 0.41472954 6.4212842
|
||||||
|
650 1.9213863 1.9719496 0.41879537 6.4707692
|
||||||
|
660 1.922962 1.9702923 0.42332926 6.4949933
|
||||||
|
670 1.9238956 1.9707534 0.42836303 6.5212631
|
||||||
|
680 1.9212675 1.9740379 0.43388709 6.5608915
|
||||||
|
690 1.9210314 1.976311 0.43982007 6.5904702
|
||||||
|
700 1.928081 1.9868449 0.44610463 6.5915021
|
||||||
|
710 1.9428895 2.0044235 0.45257857 6.5616141
|
||||||
|
720 1.9554783 2.0176139 0.45898384 6.5367529
|
||||||
|
730 1.969838 2.0327907 0.46505662 6.5017635
|
||||||
|
740 1.9840204 2.0467126 0.47058703 6.4649226
|
||||||
|
750 1.9946633 2.0526929 0.47535832 6.4399342
|
||||||
|
760 2.0018048 2.0535606 0.47924291 6.4280737
|
||||||
|
770 1.9991703 2.0483426 0.48222842 6.4537535
|
||||||
|
780 1.9850797 2.0312444 0.48443072 6.5234271
|
||||||
|
790 1.9691589 2.0154006 0.4861158 6.5995894
|
||||||
|
800 1.9612641 2.0031407 0.48754831 6.6430968
|
||||||
|
810 1.9637155 2.0074142 0.48891261 6.6444644
|
||||||
|
820 1.9691691 2.0110229 0.49018604 6.6304512
|
||||||
|
830 1.9763962 2.0190998 0.49130448 6.6060594
|
||||||
|
840 1.9908278 2.0352615 0.49213189 6.5510683
|
||||||
|
850 2.0105715 2.0558403 0.49238435 6.4743276
|
||||||
|
860 2.0227982 2.0645732 0.49173076 6.4260863
|
||||||
|
870 2.015555 2.064081 0.48998228 6.4528588
|
||||||
|
880 1.9889672 2.0320831 0.48722022 6.5532269
|
||||||
|
890 1.9632172 2.0025881 0.48392295 6.6494723
|
||||||
|
900 1.9527429 1.9887196 0.48054642 6.6846937
|
||||||
|
910 1.9567815 1.9953408 0.47726539 6.6606541
|
||||||
|
920 1.9666996 2.0084955 0.47397593 6.6100666
|
||||||
|
930 1.9702885 2.014774 0.47048741 6.5805871
|
||||||
|
940 1.9661802 2.0116846 0.46671831 6.579539
|
||||||
|
950 1.9576953 1.9960728 0.46273983 6.5967841
|
||||||
|
960 1.9428073 1.9802284 0.45879028 6.6395002
|
||||||
|
970 1.9256011 1.9584581 0.45515059 6.6916425
|
||||||
|
980 1.913512 1.9478848 0.45214528 6.7233279
|
||||||
|
990 1.9174938 1.9449699 0.44994026 6.6943867
|
||||||
|
1000 1.9365527 1.9663901 0.44852349 6.6101761
|
||||||
|
Loop time of 0.324261 on 1 procs for 1000 steps with 2775 atoms
|
||||||
|
|
||||||
|
Performance: 266452.077 tau/day, 3083.936 timesteps/s, 8.558 Matom-step/s
|
||||||
|
99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.19361 | 0.19361 | 0.19361 | 0.0 | 59.71
|
||||||
|
Neigh | 0.025544 | 0.025544 | 0.025544 | 0.0 | 7.88
|
||||||
|
Comm | 0.0023292 | 0.0023292 | 0.0023292 | 0.0 | 0.72
|
||||||
|
Output | 0.0046269 | 0.0046269 | 0.0046269 | 0.0 | 1.43
|
||||||
|
Modify | 0.092779 | 0.092779 | 0.092779 | 0.0 | 28.61
|
||||||
|
Other | | 0.005374 | | | 1.66
|
||||||
|
|
||||||
|
Nlocal: 2775 ave 2775 max 2775 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 527 ave 527 max 527 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 24332 ave 24332 max 24332 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 24332
|
||||||
|
Ave neighs/atom = 8.7682883
|
||||||
|
Neighbor list builds = 38
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#initialize the COM velocity and run to achieve steady-state
|
||||||
|
|
||||||
|
#calculate velocity to add: V=J/rho_total
|
||||||
|
variable Vadd equal $J*lx*ly/count(bulk)
|
||||||
|
variable Vadd equal 0.1*lx*ly/count(bulk)
|
||||||
|
|
||||||
|
#first remove any COM velocity, then add back the streaming velocity
|
||||||
|
velocity bulk zero linear
|
||||||
|
velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no
|
||||||
|
velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no
|
||||||
|
|
||||||
|
fix GD bulk flow/gauss 1 0 0 #energy yes
|
||||||
|
#fix_modify GD energy yes
|
||||||
|
|
||||||
|
run ${stabil}
|
||||||
|
run 1000
|
||||||
|
|
||||||
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||||
|
|
||||||
|
Your simulation uses code contributions which should be cited:
|
||||||
|
|
||||||
|
- Gaussian dynamics package: doi:10.1021/acs.jpcb.6b09387
|
||||||
|
|
||||||
|
@Article{strong_water_2017,
|
||||||
|
title = {The Dynamics of Water in Porous Two-Dimensional Crystals},
|
||||||
|
volume = {121},
|
||||||
|
number = {1},
|
||||||
|
url = {https://doi.org/10.1021/acs.jpcb.6b09387},
|
||||||
|
doi = {10.1021/acs.jpcb.6b09387},
|
||||||
|
urldate = {2016-12-07},
|
||||||
|
journal = {J.~Phys.\ Chem.~B},
|
||||||
|
author = {Strong, Steven E. and Eaves, Joel D.},
|
||||||
|
year = {2017},
|
||||||
|
pages = {189--207}
|
||||||
|
}
|
||||||
|
|
||||||
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||||
|
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes
|
||||||
|
Step c_myT c_myTp TotEng Press
|
||||||
|
1000 1.9477212 1.9663901 0.45928547 6.6176422
|
||||||
|
1010 1.9617328 1.9828061 0.45840963 6.555968
|
||||||
|
1020 1.9570976 1.9825696 0.45782895 6.5690613
|
||||||
|
1030 1.9356292 1.9690101 0.45753984 6.6493822
|
||||||
|
1040 1.9174914 1.9448868 0.4577768 6.7171474
|
||||||
|
1050 1.9202482 1.9432766 0.4588733 6.7039634
|
||||||
|
1060 1.9419998 1.9718217 0.46086407 6.617366
|
||||||
|
1070 1.9666048 1.996346 0.46339522 6.5207175
|
||||||
|
1080 1.9775489 2.0078489 0.46608862 6.4794239
|
||||||
|
1090 1.9725172 2.0005028 0.46876174 6.5044299
|
||||||
|
1100 1.9659582 1.9931537 0.47147394 6.5409107
|
||||||
|
1110 1.9670607 1.9965504 0.47432892 6.5527414
|
||||||
|
1120 1.9716302 1.9984924 0.47732198 6.5530022
|
||||||
|
1130 1.9752703 2.0057031 0.48043914 6.5579379
|
||||||
|
1140 1.976368 2.0061152 0.48358744 6.5719123
|
||||||
|
1150 1.9748014 2.0056689 0.48673155 6.5957896
|
||||||
|
1160 1.9729115 2.0036854 0.48986563 6.6200102
|
||||||
|
1170 1.9702742 2.0016461 0.49302426 6.6455948
|
||||||
|
1180 1.9680418 1.9978705 0.49625385 6.6697165
|
||||||
|
1190 1.9640159 1.9937501 0.49962311 6.7004634
|
||||||
|
1200 1.9616719 1.9932085 0.50320747 6.7253219
|
||||||
|
1210 1.9658831 1.9985624 0.50702861 6.7242078
|
||||||
|
1220 1.9790884 2.0132679 0.51100573 6.688483
|
||||||
|
1230 1.9946749 2.0324782 0.51491484 6.6422423
|
||||||
|
1240 2.0039182 2.0484588 0.5184382 6.6190292
|
||||||
|
1250 2.0033685 2.0545791 0.52130299 6.6322608
|
||||||
|
1260 1.9991533 2.0533011 0.52339221 6.6590872
|
||||||
|
1270 1.9969511 2.0571182 0.5246505 6.6789676
|
||||||
|
1280 1.9911353 2.0488281 0.52501304 6.7125634
|
||||||
|
1290 1.9712819 2.0209437 0.52460315 6.7967237
|
||||||
|
1300 1.9486195 1.9967749 0.5238106 6.886265
|
||||||
|
1310 1.951612 2.0051749 0.52294383 6.8723332
|
||||||
|
1320 1.9800953 2.0397207 0.52186525 6.7537937
|
||||||
|
1330 2.0084961 2.0723584 0.52001894 6.6279995
|
||||||
|
1340 2.021654 2.085105 0.51675149 6.554461
|
||||||
|
1350 2.0193685 2.0672662 0.5117514 6.5349176
|
||||||
|
1360 2.0084017 2.0471065 0.50518646 6.5453141
|
||||||
|
1370 1.994978 2.030683 0.49737164 6.5627932
|
||||||
|
1380 1.9781978 2.0044236 0.48871071 6.5903683
|
||||||
|
1390 1.9572368 1.9833426 0.47978207 6.6326472
|
||||||
|
1400 1.9400481 1.956474 0.47117436 6.6600696
|
||||||
|
1410 1.9380218 1.9552501 0.46336325 6.6314231
|
||||||
|
1420 1.9494747 1.9681145 0.45642218 6.5527615
|
||||||
|
1430 1.9610978 1.9824506 0.4501938 6.4763851
|
||||||
|
1440 1.9639503 1.9890985 0.44452289 6.4375535
|
||||||
|
1450 1.9560428 1.9821594 0.43936988 6.4453654
|
||||||
|
1460 1.9399344 1.9627639 0.43486138 6.488055
|
||||||
|
1470 1.9247229 1.9440629 0.43123378 6.5292381
|
||||||
|
1480 1.9213375 1.9369273 0.42866841 6.5271097
|
||||||
|
1490 1.9265729 1.9383637 0.42719968 6.4940959
|
||||||
|
1500 1.930987 1.9416689 0.4267225 6.4673585
|
||||||
|
1510 1.9303444 1.9418498 0.42714462 6.4648027
|
||||||
|
1520 1.9258423 1.940384 0.42844066 6.4834098
|
||||||
|
1530 1.9131202 1.9296653 0.4306338 6.5390881
|
||||||
|
1540 1.8990016 1.9101025 0.43386405 6.6052091
|
||||||
|
1550 1.9012878 1.9120047 0.43834036 6.6147792
|
||||||
|
1560 1.9153287 1.9388751 0.44404054 6.5851781
|
||||||
|
1570 1.9266928 1.9596147 0.45057056 6.5705776
|
||||||
|
1580 1.9358289 1.9745564 0.45744022 6.5674622
|
||||||
|
1590 1.9415248 1.9818707 0.46425451 6.5778534
|
||||||
|
1600 1.9466876 1.98498 0.47075833 6.5878483
|
||||||
|
1610 1.9557175 1.9930268 0.47674103 6.5777205
|
||||||
|
1620 1.9712902 2.0112337 0.48200984 6.5367922
|
||||||
|
1630 1.9900646 2.0303946 0.48631888 6.4790095
|
||||||
|
1640 1.9960901 2.039173 0.48947508 6.4661574
|
||||||
|
1650 1.9879046 2.0329046 0.49151173 6.504063
|
||||||
|
1660 1.9832967 2.0325843 0.49266284 6.5255647
|
||||||
|
1670 1.9875656 2.034783 0.49313513 6.5093662
|
||||||
|
1680 1.9967654 2.0492931 0.49299896 6.4699787
|
||||||
|
1690 2.0025957 2.0532539 0.49216931 6.4389613
|
||||||
|
1700 2.0022202 2.0424508 0.49070612 6.4276702
|
||||||
|
1710 2.0083188 2.0437945 0.48879489 6.3909243
|
||||||
|
1720 2.0178792 2.0439212 0.48646135 6.3411063
|
||||||
|
1730 2.0210944 2.0444299 0.48367905 6.3141106
|
||||||
|
1740 2.0170566 2.0337564 0.48044951 6.3158785
|
||||||
|
1750 2.0099049 2.0231598 0.47693196 6.3313851
|
||||||
|
1760 1.9990395 2.0132651 0.47329842 6.3631889
|
||||||
|
1770 1.9823237 1.9969291 0.46970233 6.4208124
|
||||||
|
1780 1.9640169 1.9798655 0.4663519 6.4879798
|
||||||
|
1790 1.9457657 1.9626633 0.46348315 6.557165
|
||||||
|
1800 1.9253222 1.9443136 0.46134123 6.6365286
|
||||||
|
1810 1.9123385 1.9339816 0.46011796 6.6879846
|
||||||
|
1820 1.9098744 1.9287702 0.45993599 6.7001355
|
||||||
|
1830 1.9096278 1.9220243 0.460898 6.7020982
|
||||||
|
1840 1.9223081 1.9378963 0.46303724 6.6558132
|
||||||
|
1850 1.9481113 1.9718786 0.46616351 6.5618175
|
||||||
|
1860 1.9704143 1.9931969 0.46987208 6.484088
|
||||||
|
1870 1.9864974 2.017655 0.47377416 6.4360445
|
||||||
|
1880 1.993165 2.0276398 0.47750238 6.4296162
|
||||||
|
1890 1.9852177 2.0249022 0.48088382 6.4843765
|
||||||
|
1900 1.9692398 2.0101062 0.4839255 6.5735477
|
||||||
|
1910 1.9516968 1.9893586 0.48689095 6.6692995
|
||||||
|
1920 1.9380452 1.9750949 0.49014596 6.7488323
|
||||||
|
1930 1.9323223 1.9719977 0.49399992 6.7947629
|
||||||
|
1940 1.9402144 1.9786701 0.49859677 6.7846787
|
||||||
|
1950 1.9589972 1.9956447 0.50392573 6.7291499
|
||||||
|
1960 1.979631 2.0201087 0.50984934 6.6648708
|
||||||
|
1970 2.0002749 2.0392081 0.51605302 6.6026647
|
||||||
|
1980 2.0143746 2.0524405 0.52221277 6.5687042
|
||||||
|
1990 2.0166553 2.0466885 0.5281276 6.5835144
|
||||||
|
2000 2.0130617 2.0424179 0.53381506 6.6234083
|
||||||
|
Loop time of 0.33442 on 1 procs for 1000 steps with 2775 atoms
|
||||||
|
|
||||||
|
Performance: 258357.633 tau/day, 2990.250 timesteps/s, 8.298 Matom-step/s
|
||||||
|
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.19616 | 0.19616 | 0.19616 | 0.0 | 58.66
|
||||||
|
Neigh | 0.023799 | 0.023799 | 0.023799 | 0.0 | 7.12
|
||||||
|
Comm | 0.0022819 | 0.0022819 | 0.0022819 | 0.0 | 0.68
|
||||||
|
Output | 0.0046967 | 0.0046967 | 0.0046967 | 0.0 | 1.40
|
||||||
|
Modify | 0.10212 | 0.10212 | 0.10212 | 0.0 | 30.54
|
||||||
|
Other | | 0.005366 | | | 1.60
|
||||||
|
|
||||||
|
Nlocal: 2775 ave 2775 max 2775 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 530 ave 530 max 530 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 24370 ave 24370 max 24370 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 24370
|
||||||
|
Ave neighs/atom = 8.781982
|
||||||
|
Neighbor list builds = 35
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#collect data
|
||||||
|
|
||||||
|
#print the applied force and total flux to ensure conservation of Jx
|
||||||
|
variable Fapp equal f_GD[1]
|
||||||
|
compute vxBulk bulk reduce sum vx
|
||||||
|
compute vyBulk bulk reduce sum vy
|
||||||
|
variable invVol equal 1.0/(lx*ly)
|
||||||
|
variable jx equal c_vxBulk*${invVol}
|
||||||
|
variable jx equal c_vxBulk*0.00025
|
||||||
|
variable jy equal c_vyBulk*${invVol}
|
||||||
|
variable jy equal c_vyBulk*0.00025
|
||||||
|
variable curr_step equal step
|
||||||
|
variable p_Fapp format Fapp %.3f
|
||||||
|
variable p_jx format jx %.5g
|
||||||
|
variable p_jy format jy %.5g
|
||||||
|
fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
|
||||||
|
fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
|
||||||
|
|
||||||
|
#compute IK1 pressure profile
|
||||||
|
#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627
|
||||||
|
#use profile-unbiased temperature to remove the streaming velocity
|
||||||
|
#from the kinetic part of the pressure
|
||||||
|
compute spa bulk stress/atom myTp
|
||||||
|
|
||||||
|
#for the pressure profile, use the same grid as the PUT
|
||||||
|
compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box
|
||||||
|
compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box
|
||||||
|
|
||||||
|
#output pressure profile and other profiles
|
||||||
|
#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where
|
||||||
|
#V is the volume of a slice
|
||||||
|
fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
|
||||||
|
fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
|
||||||
|
|
||||||
|
#compute velocity profile across the pipe with a finer grid
|
||||||
|
variable dYnew equal ${dY}/10
|
||||||
|
variable dYnew equal 3.07692307692308/10
|
||||||
|
compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe
|
||||||
|
compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe
|
||||||
|
fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite
|
||||||
|
fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite
|
||||||
|
|
||||||
|
#full trajectory
|
||||||
|
# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z
|
||||||
|
# dump_modify 7 sort id
|
||||||
|
|
||||||
|
run ${run}
|
||||||
|
run 2000
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 5.175 | 5.175 | 5.175 Mbytes
|
||||||
|
Step c_myT c_myTp TotEng Press
|
||||||
|
2000 2.0130617 2.0424179 0.53381506 6.6234083
|
||||||
|
2010 2.011712 2.0399428 0.53937165 6.6546944
|
||||||
|
2020 2.0177252 2.0516588 0.54483848 6.6575988
|
||||||
|
2030 2.0192267 2.054258 0.55012466 6.6761208
|
||||||
|
2040 2.0155308 2.0513866 0.55518707 6.7132509
|
||||||
|
2050 2.016831 2.0539288 0.56007247 6.7306192
|
||||||
|
2060 2.0213378 2.0690043 0.56479732 6.7330132
|
||||||
|
2070 2.0292987 2.0799825 0.56913353 6.7186216
|
||||||
|
2080 2.0342188 2.0900923 0.57283821 6.7098434
|
||||||
|
2090 2.0376411 2.096351 0.57566175 6.6998818
|
||||||
|
2100 2.053128 2.1238481 0.57727694 6.637431
|
||||||
|
2110 2.0783941 2.1609599 0.5768993 6.5304031
|
||||||
|
2120 2.0887269 2.1760645 0.57341638 6.4706853
|
||||||
|
2130 2.06944 2.1522354 0.5659988 6.5099284
|
||||||
|
2140 2.0380605 2.115767 0.55466476 6.5802578
|
||||||
|
2150 2.0195872 2.0868424 0.54025148 6.5885111
|
||||||
|
2160 2.0061251 2.069266 0.52417244 6.5682875
|
||||||
|
2170 1.992682 2.0526743 0.50812177 6.5470052
|
||||||
|
2180 1.9816004 2.0352692 0.49354583 6.5244099
|
||||||
|
2190 1.9688265 2.0226679 0.4811848 6.5185172
|
||||||
|
2200 1.9574266 2.000155 0.47107703 6.5176047
|
||||||
|
2210 1.9502736 1.9925522 0.46298224 6.5078398
|
||||||
|
2220 1.9475332 1.9936032 0.45641728 6.4850252
|
||||||
|
2230 1.9545128 2.0045053 0.45087489 6.4291405
|
||||||
|
2240 1.9627871 2.0112148 0.44588526 6.3715676
|
||||||
|
2250 1.9617694 2.0073769 0.44121477 6.3541518
|
||||||
|
2260 1.9579423 2.0079137 0.43675541 6.3542735
|
||||||
|
2270 1.9475845 1.998983 0.43243494 6.3854071
|
||||||
|
2280 1.9253275 1.9715083 0.42839782 6.464845
|
||||||
|
2290 1.8996763 1.9456257 0.42496367 6.5591177
|
||||||
|
2300 1.8823546 1.9240543 0.42247729 6.6211062
|
||||||
|
2310 1.8844318 1.9216768 0.42116372 6.6085376
|
||||||
|
2320 1.8965287 1.933936 0.42103218 6.5584198
|
||||||
|
2330 1.902103 1.9433708 0.421956 6.5350698
|
||||||
|
2340 1.9061826 1.950462 0.42378825 6.5228738
|
||||||
|
2350 1.9180306 1.961141 0.42644522 6.489172
|
||||||
|
2360 1.9296124 1.9748542 0.42981448 6.4628168
|
||||||
|
2370 1.9328566 1.9718181 0.43373762 6.4721746
|
||||||
|
2380 1.9360042 1.9769998 0.43819906 6.4840942
|
||||||
|
2390 1.9387073 1.9778749 0.44317927 6.49778
|
||||||
|
2400 1.9445619 1.9882647 0.4486142 6.4971899
|
||||||
|
2410 1.9553344 1.9997412 0.45435544 6.4749774
|
||||||
|
2420 1.9710783 2.0211926 0.46019236 6.4320181
|
||||||
|
2430 1.9903873 2.046553 0.46575694 6.3751343
|
||||||
|
2440 2.0041158 2.0721071 0.47060398 6.3415121
|
||||||
|
2450 2.0020392 2.0728953 0.47431806 6.3708096
|
||||||
|
2460 1.9839851 2.0568906 0.47681718 6.465129
|
||||||
|
2470 1.9566365 2.0258852 0.47838596 6.5966256
|
||||||
|
2480 1.929674 2.0032606 0.47952215 6.7260074
|
||||||
|
2490 1.9153613 1.990031 0.48061628 6.8035919
|
||||||
|
2500 1.9188373 1.9920514 0.4819225 6.8075788
|
||||||
|
2510 1.9371656 2.0138698 0.48343533 6.7492701
|
||||||
|
2520 1.9566481 2.0340995 0.48485699 6.6821181
|
||||||
|
2530 1.9636141 2.0389496 0.48583392 6.6581326
|
||||||
|
2540 1.9585172 2.0207113 0.48622314 6.6762792
|
||||||
|
2550 1.9516934 2.0024186 0.48621721 6.6980104
|
||||||
|
2560 1.9509543 1.9960852 0.48612286 6.6946311
|
||||||
|
2570 1.9601672 2.0072552 0.48602872 6.6528934
|
||||||
|
2580 1.973804 2.0230879 0.48576601 6.5942862
|
||||||
|
2590 1.9788378 2.034436 0.48505027 6.5689819
|
||||||
|
2600 1.9716493 2.0208578 0.48368043 6.5897554
|
||||||
|
2610 1.9618006 2.007098 0.48174365 6.6188626
|
||||||
|
2620 1.9631458 2.0075461 0.4793429 6.6026194
|
||||||
|
2630 1.9706918 2.0174955 0.47638698 6.5591053
|
||||||
|
2640 1.9759585 2.0213828 0.47264742 6.5198595
|
||||||
|
2650 1.9761708 2.0225139 0.46794373 6.4977306
|
||||||
|
2660 1.9611574 2.0083871 0.46221598 6.5299021
|
||||||
|
2670 1.9342882 1.9720247 0.45576624 6.6034695
|
||||||
|
2680 1.9142009 1.9520382 0.44913109 6.6474082
|
||||||
|
2690 1.9052096 1.9428107 0.4426988 6.645123
|
||||||
|
2700 1.902446 1.9459937 0.43672046 6.6152926
|
||||||
|
2710 1.9099036 1.9594727 0.43120889 6.5473804
|
||||||
|
2720 1.9180788 1.9767479 0.42599739 6.4792536
|
||||||
|
2730 1.9142892 1.9798275 0.42092791 6.4604982
|
||||||
|
2740 1.9019844 1.9674244 0.41601841 6.4795855
|
||||||
|
2750 1.8895632 1.958412 0.41144638 6.5037424
|
||||||
|
2760 1.8824401 1.9494985 0.40739848 6.5113925
|
||||||
|
2770 1.8852759 1.9525073 0.40398809 6.484535
|
||||||
|
2780 1.8998168 1.9664907 0.40114076 6.4159782
|
||||||
|
2790 1.9153937 1.9810349 0.39863439 6.346934
|
||||||
|
2800 1.9162707 1.9824285 0.39627973 6.3364828
|
||||||
|
2810 1.9087999 1.9666258 0.39408314 6.360755
|
||||||
|
2820 1.9073152 1.956153 0.39226387 6.3655719
|
||||||
|
2830 1.9091743 1.9493705 0.39098546 6.3595054
|
||||||
|
2840 1.9042021 1.9424118 0.39036698 6.381752
|
||||||
|
2850 1.8901401 1.9353495 0.39057524 6.4417859
|
||||||
|
2860 1.872943 1.915215 0.39190057 6.5158585
|
||||||
|
2870 1.8732626 1.9181551 0.39474702 6.5269257
|
||||||
|
2880 1.8931021 1.9396049 0.39938934 6.467715
|
||||||
|
2890 1.9217069 1.9733171 0.40581935 6.3811936
|
||||||
|
2900 1.9452213 1.9949806 0.41374968 6.3217226
|
||||||
|
2910 1.9591065 2.0105363 0.42280483 6.3087055
|
||||||
|
2920 1.9649158 2.0234068 0.43256139 6.3353204
|
||||||
|
2930 1.9647653 2.0265233 0.4425691 6.3902862
|
||||||
|
2940 1.9623876 2.0281154 0.45237409 6.4560778
|
||||||
|
2950 1.9591057 2.0276078 0.46164197 6.5239614
|
||||||
|
2960 1.9556907 2.0254377 0.47016674 6.5883236
|
||||||
|
2970 1.9524475 2.0203546 0.47782337 6.6457078
|
||||||
|
2980 1.9556442 2.0212175 0.48459527 6.6731473
|
||||||
|
2990 1.9663638 2.0285202 0.49047217 6.667322
|
||||||
|
3000 1.976263 2.0326354 0.49540098 6.6601492
|
||||||
|
3010 1.9734917 2.0251301 0.49938916 6.6970878
|
||||||
|
3020 1.955368 1.9974693 0.50265656 6.7865104
|
||||||
|
3030 1.9476644 1.9780945 0.50564273 6.8327176
|
||||||
|
3040 1.9584769 1.9887952 0.50867872 6.8046262
|
||||||
|
3050 1.9705616 2.0030557 0.51168699 6.7669575
|
||||||
|
3060 1.9766986 2.0112576 0.51444822 6.74919
|
||||||
|
3070 1.9766671 2.0076853 0.51685838 6.7523339
|
||||||
|
3080 1.9763383 2.0045916 0.51896849 6.7532253
|
||||||
|
3090 1.9855877 2.0260371 0.52081442 6.7160131
|
||||||
|
3100 2.0011042 2.042205 0.52215192 6.653598
|
||||||
|
3110 2.0039819 2.0511266 0.52275172 6.6355885
|
||||||
|
3120 1.9958773 2.0457899 0.52253307 6.6565817
|
||||||
|
3130 1.9933925 2.04521 0.52158082 6.6543706
|
||||||
|
3140 1.9936643 2.0477262 0.51996279 6.639564
|
||||||
|
3150 1.9921223 2.0455965 0.51768794 6.6291901
|
||||||
|
3160 1.9914788 2.0365842 0.51483187 6.6154874
|
||||||
|
3170 1.9922866 2.0422451 0.51144092 6.5976334
|
||||||
|
3180 1.9872806 2.0376593 0.50747923 6.6043774
|
||||||
|
3190 1.9708577 2.0198422 0.50308657 6.6551127
|
||||||
|
3200 1.9534272 1.9982319 0.49857904 6.7093718
|
||||||
|
3210 1.9423425 1.9876311 0.49429833 6.7370529
|
||||||
|
3220 1.941974 1.984738 0.49043179 6.7218879
|
||||||
|
3230 1.9456357 1.9916666 0.48697785 6.6917144
|
||||||
|
3240 1.9392412 1.9874858 0.48388805 6.7004046
|
||||||
|
3250 1.9312152 1.9814714 0.4812083 6.7175714
|
||||||
|
3260 1.9364393 1.9840125 0.47897357 6.6870787
|
||||||
|
3270 1.9490184 1.9871802 0.47715672 6.6308261
|
||||||
|
3280 1.9578901 1.9917218 0.47568803 6.589659
|
||||||
|
3290 1.9598612 1.9918098 0.47449561 6.5756965
|
||||||
|
3300 1.9538424 1.9845316 0.47357576 6.5931068
|
||||||
|
3310 1.944957 1.9676243 0.47302774 6.6211221
|
||||||
|
3320 1.9479975 1.9720828 0.47296613 6.6058089
|
||||||
|
3330 1.9569283 1.98719 0.47330356 6.5698601
|
||||||
|
3340 1.9558114 1.9861834 0.47383928 6.5729191
|
||||||
|
3350 1.9461606 1.9777192 0.47452365 6.6090135
|
||||||
|
3360 1.942095 1.9776297 0.47540879 6.6255417
|
||||||
|
3370 1.9482423 1.981145 0.47643851 6.6032207
|
||||||
|
3380 1.9564098 1.992645 0.47752314 6.5736007
|
||||||
|
3390 1.9607986 2.0006048 0.47852085 6.5587348
|
||||||
|
3400 1.9595637 2.0047228 0.47933656 6.5656692
|
||||||
|
3410 1.9628181 2.013785 0.47991082 6.5570579
|
||||||
|
3420 1.9698466 2.0200788 0.48018617 6.536373
|
||||||
|
3430 1.969877 2.0210764 0.48013786 6.543084
|
||||||
|
3440 1.96327 2.0103631 0.47979187 6.5761448
|
||||||
|
3450 1.9566516 1.9996494 0.47933398 6.6098616
|
||||||
|
3460 1.9511915 1.9976175 0.47891646 6.6401481
|
||||||
|
3470 1.9410601 1.9950284 0.47859124 6.6862584
|
||||||
|
3480 1.9307395 1.98193 0.47840998 6.7307929
|
||||||
|
3490 1.9206678 1.9678856 0.47853003 6.7702613
|
||||||
|
3500 1.9139405 1.955324 0.47914241 6.7934071
|
||||||
|
3510 1.9206383 1.957176 0.48041531 6.763312
|
||||||
|
3520 1.9449301 1.9816996 0.4823109 6.6651453
|
||||||
|
3530 1.9752924 2.0115126 0.48452681 6.5438659
|
||||||
|
3540 1.9951599 2.037759 0.48660439 6.463461
|
||||||
|
3550 2.00071 2.0413872 0.48813252 6.4405933
|
||||||
|
3560 1.9939017 2.0277566 0.48901382 6.4684771
|
||||||
|
3570 1.9766844 2.0031366 0.48946452 6.5392906
|
||||||
|
3580 1.9600495 1.9790718 0.48988281 6.6106541
|
||||||
|
3590 1.9522334 1.9727673 0.49062615 6.6517495
|
||||||
|
3600 1.9522007 1.9829458 0.49183552 6.6635632
|
||||||
|
3610 1.9614098 1.9992781 0.49340617 6.6407777
|
||||||
|
3620 1.9739926 2.0159629 0.49511752 6.6062456
|
||||||
|
3630 1.9726539 2.0152219 0.49675445 6.6254361
|
||||||
|
3640 1.9613098 2.0017247 0.49829011 6.6828523
|
||||||
|
3650 1.9577727 2.0000723 0.49991877 6.7111788
|
||||||
|
3660 1.9626403 2.0037309 0.50175296 6.7072182
|
||||||
|
3670 1.9603974 1.9937256 0.50383808 6.7277464
|
||||||
|
3680 1.9532611 1.9846903 0.50638428 6.766139
|
||||||
|
3690 1.9541656 1.9798331 0.50962883 6.7752527
|
||||||
|
3700 1.9656726 1.9951191 0.51377056 6.7462001
|
||||||
|
3710 1.9834474 2.0193011 0.5187681 6.6957856
|
||||||
|
3720 2.0017372 2.0396413 0.52433682 6.6470375
|
||||||
|
3730 2.0109702 2.0469463 0.53011728 6.6363717
|
||||||
|
3740 2.0096859 2.0458572 0.53588234 6.6682277
|
||||||
|
3750 2.0066189 2.0519843 0.54153099 6.7085484
|
||||||
|
3760 2.0096126 2.0561094 0.54689937 6.7250788
|
||||||
|
3770 2.0117777 2.0668795 0.55183559 6.7400961
|
||||||
|
3780 2.0154601 2.0763941 0.55607392 6.7423369
|
||||||
|
3790 2.0313954 2.0972106 0.55930714 6.6920109
|
||||||
|
3800 2.0496133 2.1176374 0.56110467 6.6271089
|
||||||
|
3810 2.0553084 2.1205041 0.56098738 6.6034667
|
||||||
|
3820 2.0478771 2.1131255 0.5587031 6.6239895
|
||||||
|
3830 2.0342107 2.0991257 0.55418078 6.6632309
|
||||||
|
3840 2.0142205 2.0767164 0.5475632 6.7196407
|
||||||
|
3850 1.9879527 2.0516847 0.53919956 6.7932756
|
||||||
|
3860 1.9593315 2.0232738 0.52966135 6.8686984
|
||||||
|
3870 1.9362884 1.9952027 0.51970091 6.9156688
|
||||||
|
3880 1.9292997 1.988308 0.50996281 6.8957697
|
||||||
|
3890 1.9372437 1.9978667 0.50073928 6.8160964
|
||||||
|
3900 1.949918 2.0107188 0.49208883 6.7186535
|
||||||
|
3910 1.9547594 2.0160936 0.48397839 6.6537347
|
||||||
|
3920 1.9543568 2.0191268 0.47640162 6.6136066
|
||||||
|
3930 1.9582199 2.020036 0.46933873 6.5629723
|
||||||
|
3940 1.9644632 2.0304626 0.4627222 6.5077173
|
||||||
|
3950 1.9645883 2.030183 0.45644411 6.4795254
|
||||||
|
3960 1.9546999 2.0197243 0.45050582 6.4943661
|
||||||
|
3970 1.9424307 2.0063453 0.44500624 6.5237706
|
||||||
|
3980 1.9281472 1.9910524 0.44010499 6.5640156
|
||||||
|
3990 1.9168821 1.976369 0.43594016 6.592621
|
||||||
|
4000 1.9150056 1.9752502 0.43256473 6.5855641
|
||||||
|
Loop time of 0.696491 on 1 procs for 2000 steps with 2775 atoms
|
||||||
|
|
||||||
|
Performance: 248100.709 tau/day, 2871.536 timesteps/s, 7.969 Matom-step/s
|
||||||
|
99.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.39664 | 0.39664 | 0.39664 | 0.0 | 56.95
|
||||||
|
Neigh | 0.051502 | 0.051502 | 0.051502 | 0.0 | 7.39
|
||||||
|
Comm | 0.0047546 | 0.0047546 | 0.0047546 | 0.0 | 0.68
|
||||||
|
Output | 0.0095092 | 0.0095092 | 0.0095092 | 0.0 | 1.37
|
||||||
|
Modify | 0.22322 | 0.22322 | 0.22322 | 0.0 | 32.05
|
||||||
|
Other | | 0.01087 | | | 1.56
|
||||||
|
|
||||||
|
Nlocal: 2775 ave 2775 max 2775 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 512 ave 512 max 512 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 24313 ave 24313 max 24313 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 24313
|
||||||
|
Ave neighs/atom = 8.7614414
|
||||||
|
Neighbor list builds = 75
|
||||||
|
Dangerous builds = 0
|
||||||
|
Total wall time: 0:00:01
|
||||||
941
examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4
Normal file
941
examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4
Normal file
@ -0,0 +1,941 @@
|
|||||||
|
LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
#LAMMPS input script
|
||||||
|
#in.GD
|
||||||
|
#see README for details
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#initialize variables
|
||||||
|
clear
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
|
||||||
|
#frequency for outputting info (timesteps)
|
||||||
|
variable dump_rate equal 50
|
||||||
|
variable thermo_rate equal 10
|
||||||
|
|
||||||
|
#equilibration time (timesteps)
|
||||||
|
variable equil equal 1000
|
||||||
|
|
||||||
|
#stabilization time (timesteps to reach steady-state)
|
||||||
|
variable stabil equal 1000
|
||||||
|
|
||||||
|
#data collection time (timesteps)
|
||||||
|
variable run equal 2000
|
||||||
|
|
||||||
|
#length of pipe
|
||||||
|
variable L equal 30
|
||||||
|
|
||||||
|
#width of pipe
|
||||||
|
variable d equal 20
|
||||||
|
|
||||||
|
#flux (mass/sigma*tau)
|
||||||
|
variable J equal 0.1
|
||||||
|
|
||||||
|
#simulation box dimensions
|
||||||
|
variable Lx equal 100
|
||||||
|
variable Ly equal 40
|
||||||
|
|
||||||
|
#bulk fluid density
|
||||||
|
variable dens equal 0.8
|
||||||
|
|
||||||
|
#lattice spacing for wall atoms
|
||||||
|
variable aWall equal 1.0 #1.7472
|
||||||
|
|
||||||
|
#timestep
|
||||||
|
variable ts equal 0.001
|
||||||
|
|
||||||
|
#temperature
|
||||||
|
variable T equal 2.0
|
||||||
|
|
||||||
|
#thermostat damping constant
|
||||||
|
variable tdamp equal ${ts}*100
|
||||||
|
variable tdamp equal 0.001*100
|
||||||
|
|
||||||
|
units lj
|
||||||
|
dimension 2
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
#create box
|
||||||
|
|
||||||
|
#create lattice with the spacing aWall
|
||||||
|
variable rhoWall equal ${aWall}^(-2)
|
||||||
|
variable rhoWall equal 1^(-2)
|
||||||
|
lattice sq ${rhoWall}
|
||||||
|
lattice sq 1
|
||||||
|
Lattice spacing in x,y,z = 1 1 1
|
||||||
|
|
||||||
|
#modify input dimensions to be multiples of aWall
|
||||||
|
variable L1 equal round($L/${aWall})*${aWall}
|
||||||
|
variable L1 equal round(30/${aWall})*${aWall}
|
||||||
|
variable L1 equal round(30/1)*${aWall}
|
||||||
|
variable L1 equal round(30/1)*1
|
||||||
|
variable d1 equal round($d/${aWall})*${aWall}
|
||||||
|
variable d1 equal round(20/${aWall})*${aWall}
|
||||||
|
variable d1 equal round(20/1)*${aWall}
|
||||||
|
variable d1 equal round(20/1)*1
|
||||||
|
variable Ly1 equal round(${Ly}/${aWall})*${aWall}
|
||||||
|
variable Ly1 equal round(40/${aWall})*${aWall}
|
||||||
|
variable Ly1 equal round(40/1)*${aWall}
|
||||||
|
variable Ly1 equal round(40/1)*1
|
||||||
|
variable Lx1 equal round(${Lx}/${aWall})*${aWall}
|
||||||
|
variable Lx1 equal round(100/${aWall})*${aWall}
|
||||||
|
variable Lx1 equal round(100/1)*${aWall}
|
||||||
|
variable Lx1 equal round(100/1)*1
|
||||||
|
|
||||||
|
#create simulation box
|
||||||
|
variable lx2 equal ${Lx1}/2
|
||||||
|
variable lx2 equal 100/2
|
||||||
|
variable ly2 equal ${Ly1}/2
|
||||||
|
variable ly2 equal 40/2
|
||||||
|
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
|
||||||
|
region simbox block -50 ${lx2} -${ly2} ${ly2} -0.1 0.1 units box
|
||||||
|
region simbox block -50 50 -${ly2} ${ly2} -0.1 0.1 units box
|
||||||
|
region simbox block -50 50 -20 ${ly2} -0.1 0.1 units box
|
||||||
|
region simbox block -50 50 -20 20 -0.1 0.1 units box
|
||||||
|
create_box 2 simbox
|
||||||
|
Created orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
|
||||||
|
4 by 1 by 1 MPI processor grid
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#set up potential
|
||||||
|
|
||||||
|
mass 1 1.0 #fluid atoms
|
||||||
|
mass 2 1.0 #wall atoms
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
pair_modify shift yes
|
||||||
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
pair_coeff 1 2 1.0 1.0 1.12246
|
||||||
|
pair_coeff 2 2 0.0 0.0
|
||||||
|
|
||||||
|
neigh_modify exclude type 2 2
|
||||||
|
|
||||||
|
timestep ${ts}
|
||||||
|
timestep 0.001
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#create atoms
|
||||||
|
|
||||||
|
#create wall atoms everywhere
|
||||||
|
create_atoms 2 box
|
||||||
|
Created 4000 atoms
|
||||||
|
using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
|
||||||
|
create_atoms CPU = 0.000 seconds
|
||||||
|
|
||||||
|
#define region which is "walled off"
|
||||||
|
variable dhalf equal ${d1}/2
|
||||||
|
variable dhalf equal 20/2
|
||||||
|
variable Lhalf equal ${L1}/2
|
||||||
|
variable Lhalf equal 30/2
|
||||||
|
region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
|
||||||
|
region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
|
||||||
|
region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box
|
||||||
|
region walltop block -15 15 10 EDGE -0.1 0.1 units box
|
||||||
|
region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
|
||||||
|
region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
|
||||||
|
region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box
|
||||||
|
region wallbot block -15 15 EDGE -10 -0.1 0.1 units box
|
||||||
|
region outsidewall union 2 walltop wallbot side out
|
||||||
|
|
||||||
|
#remove wall atoms outside wall region
|
||||||
|
group outside region outsidewall
|
||||||
|
3349 atoms in group outside
|
||||||
|
delete_atoms group outside
|
||||||
|
Deleted 3349 atoms, new total = 651
|
||||||
|
|
||||||
|
#remove wall atoms that aren't on edge of wall region
|
||||||
|
variable x1 equal ${Lhalf}-${aWall}
|
||||||
|
variable x1 equal 15-${aWall}
|
||||||
|
variable x1 equal 15-1
|
||||||
|
variable y1 equal ${dhalf}+${aWall}
|
||||||
|
variable y1 equal 10+${aWall}
|
||||||
|
variable y1 equal 10+1
|
||||||
|
region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box
|
||||||
|
region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box
|
||||||
|
region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box
|
||||||
|
region insideTop block -14 14 11 EDGE -0.1 0.1 units box
|
||||||
|
region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box
|
||||||
|
region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box
|
||||||
|
region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box
|
||||||
|
region insideBot block -14 14 EDGE -11 -0.1 0.1 units box
|
||||||
|
region insideWall union 2 insideTop insideBot
|
||||||
|
group insideWall region insideWall
|
||||||
|
551 atoms in group insideWall
|
||||||
|
delete_atoms group insideWall
|
||||||
|
Deleted 551 atoms, new total = 100
|
||||||
|
|
||||||
|
#define new lattice, to give correct fluid density
|
||||||
|
#y lattice const must be a multiple of aWall
|
||||||
|
variable atrue equal ${dens}^(-1/2)
|
||||||
|
variable atrue equal 0.8^(-1/2)
|
||||||
|
variable ay equal round(${atrue}/${aWall})*${aWall}
|
||||||
|
variable ay equal round(1.11803398874989/${aWall})*${aWall}
|
||||||
|
variable ay equal round(1.11803398874989/1)*${aWall}
|
||||||
|
variable ay equal round(1.11803398874989/1)*1
|
||||||
|
|
||||||
|
#choose x lattice const to give correct density
|
||||||
|
variable ax equal (${ay}*${dens})^(-1)
|
||||||
|
variable ax equal (1*${dens})^(-1)
|
||||||
|
variable ax equal (1*0.8)^(-1)
|
||||||
|
|
||||||
|
#change Lx to be multiple of ax
|
||||||
|
variable Lx1 equal round(${Lx}/${ax})*${ax}
|
||||||
|
variable Lx1 equal round(100/${ax})*${ax}
|
||||||
|
variable Lx1 equal round(100/1.25)*${ax}
|
||||||
|
variable Lx1 equal round(100/1.25)*1.25
|
||||||
|
variable lx2 equal ${Lx1}/2
|
||||||
|
variable lx2 equal 100/2
|
||||||
|
change_box all x final -${lx2} ${lx2} units box
|
||||||
|
change_box all x final -50 ${lx2} units box
|
||||||
|
change_box all x final -50 50 units box
|
||||||
|
Changing box ...
|
||||||
|
orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
|
||||||
|
|
||||||
|
#define new lattice
|
||||||
|
lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
||||||
|
lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
||||||
|
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
||||||
|
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
||||||
|
Lattice spacing in x,y,z = 1.25 1 1
|
||||||
|
|
||||||
|
#fill in rest of box with bulk particles
|
||||||
|
variable delta equal 0.001
|
||||||
|
variable Ldelt equal ${Lhalf}+${delta}
|
||||||
|
variable Ldelt equal 15+${delta}
|
||||||
|
variable Ldelt equal 15+0.001
|
||||||
|
variable dDelt equal ${dhalf}-${delta}
|
||||||
|
variable dDelt equal 10-${delta}
|
||||||
|
variable dDelt equal 10-0.001
|
||||||
|
region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box
|
||||||
|
region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box
|
||||||
|
region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box
|
||||||
|
region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box
|
||||||
|
region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
|
||||||
|
region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
|
||||||
|
region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box
|
||||||
|
region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box
|
||||||
|
region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box
|
||||||
|
|
||||||
|
region bulk union 3 left pipe right
|
||||||
|
create_atoms 1 region bulk
|
||||||
|
Created 2675 atoms
|
||||||
|
using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1)
|
||||||
|
create_atoms CPU = 0.000 seconds
|
||||||
|
|
||||||
|
group bulk type 1
|
||||||
|
2675 atoms in group bulk
|
||||||
|
group wall type 2
|
||||||
|
100 atoms in group wall
|
||||||
|
|
||||||
|
#remove atoms that are too close to wall
|
||||||
|
delete_atoms overlap 0.9 bulk wall
|
||||||
|
System init for delete_atoms ...
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update: every = 1 steps, delay = 0 steps, check = yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 2.8
|
||||||
|
ghost atom cutoff = 2.8
|
||||||
|
binsize = 1.4, bins = 72 29 1
|
||||||
|
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||||
|
(1) command delete_atoms, occasional
|
||||||
|
attributes: full, newton on
|
||||||
|
pair build: full/bin/atomonly
|
||||||
|
stencil: full/bin/2d
|
||||||
|
bin: standard
|
||||||
|
(2) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/2d
|
||||||
|
bin: standard
|
||||||
|
Deleted 0 atoms, new total = 2775
|
||||||
|
|
||||||
|
neighbor 0.3 bin
|
||||||
|
neigh_modify delay 0 every 1 check yes
|
||||||
|
neigh_modify exclude group wall wall
|
||||||
|
|
||||||
|
velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom
|
||||||
|
velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#set up PUT
|
||||||
|
#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172
|
||||||
|
|
||||||
|
#average number of particles per box, Evans and Morriss used 2.0
|
||||||
|
variable NperBox equal 8.0
|
||||||
|
|
||||||
|
#calculate box sizes
|
||||||
|
variable boxSide equal sqrt(${NperBox}/${dens})
|
||||||
|
variable boxSide equal sqrt(8/${dens})
|
||||||
|
variable boxSide equal sqrt(8/0.8)
|
||||||
|
variable nX equal round(lx/${boxSide})
|
||||||
|
variable nX equal round(lx/3.16227766016838)
|
||||||
|
variable nY equal round(ly/${boxSide})
|
||||||
|
variable nY equal round(ly/3.16227766016838)
|
||||||
|
variable dX equal lx/${nX}
|
||||||
|
variable dX equal lx/32
|
||||||
|
variable dY equal ly/${nY}
|
||||||
|
variable dY equal ly/13
|
||||||
|
|
||||||
|
#temperature of fluid (excluding wall)
|
||||||
|
compute myT bulk temp
|
||||||
|
|
||||||
|
#profile-unbiased temperature of fluid
|
||||||
|
compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY}
|
||||||
|
compute myTp bulk temp/profile 1 1 0 xy 32 ${nY}
|
||||||
|
compute myTp bulk temp/profile 1 1 0 xy 32 13
|
||||||
|
|
||||||
|
#thermo setup
|
||||||
|
thermo ${thermo_rate}
|
||||||
|
thermo 10
|
||||||
|
thermo_style custom step c_myT c_myTp etotal press
|
||||||
|
|
||||||
|
#dump initial configuration
|
||||||
|
# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz
|
||||||
|
# dump 56 wall custom 1 wall.init.lammpstrj id type x y z
|
||||||
|
# dump_modify 55 sort id
|
||||||
|
# dump_modify 56 sort id
|
||||||
|
run 0
|
||||||
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update: every = 1 steps, delay = 0 steps, check = yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 2.8
|
||||||
|
ghost atom cutoff = 2.8
|
||||||
|
binsize = 1.4, bins = 72 29 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/atomonly/newton
|
||||||
|
stencil: half/bin/2d
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.068 | 3.069 | 3.071 Mbytes
|
||||||
|
Step c_myT c_myTp TotEng Press
|
||||||
|
0 2 2.054601 0.77892922 7.3417096
|
||||||
|
Loop time of 1.90125e-06 on 4 procs for 0 steps with 2775 atoms
|
||||||
|
|
||||||
|
26.3% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Other | | 1.901e-06 | | |100.00
|
||||||
|
|
||||||
|
Nlocal: 693.75 ave 800 max 578 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
Nghost: 266.25 ave 325 max 198 min
|
||||||
|
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||||
|
Neighs: 6601.5 ave 8000 max 5147 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
|
||||||
|
Total # of neighbors = 26406
|
||||||
|
Ave neighs/atom = 9.5156757
|
||||||
|
Neighbor list builds = 0
|
||||||
|
Dangerous builds = 0
|
||||||
|
# undump 55
|
||||||
|
# undump 56
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#equilibrate without GD
|
||||||
|
|
||||||
|
fix nvt bulk nvt temp $T $T ${tdamp}
|
||||||
|
fix nvt bulk nvt temp 2 $T ${tdamp}
|
||||||
|
fix nvt bulk nvt temp 2 2 ${tdamp}
|
||||||
|
fix nvt bulk nvt temp 2 2 0.1
|
||||||
|
fix_modify nvt temp myTp
|
||||||
|
WARNING: Temperature for fix modify is not for group all (src/fix_nh.cpp:1391)
|
||||||
|
fix 2 bulk enforce2d
|
||||||
|
|
||||||
|
run ${equil}
|
||||||
|
run 1000
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.131 | 3.132 | 3.133 Mbytes
|
||||||
|
Step c_myT c_myTp TotEng Press
|
||||||
|
0 2 2.054601 0.77892922 7.3417096
|
||||||
|
10 1.9173668 1.9381538 0.77877698 7.6702283
|
||||||
|
20 1.7033651 1.6967466 0.7798044 8.5615039
|
||||||
|
30 1.5026644 1.4718046 0.78461914 9.4308883
|
||||||
|
40 1.4881235 1.4586031 0.79494919 9.6135307
|
||||||
|
50 1.6193439 1.6144665 0.81119835 9.2594114
|
||||||
|
60 1.7405127 1.7576881 0.82966956 8.9525458
|
||||||
|
70 1.7758506 1.7999706 0.84538866 8.9719793
|
||||||
|
80 1.7574736 1.7806782 0.85780732 9.1938511
|
||||||
|
90 1.7492232 1.7720284 0.86895259 9.3714617
|
||||||
|
100 1.7800292 1.807315 0.88044504 9.3874107
|
||||||
|
110 1.8442295 1.878681 0.89278276 9.2585436
|
||||||
|
120 1.9193695 1.9667163 0.90556381 9.0683654
|
||||||
|
130 1.9885753 2.0478097 0.91782871 8.8815507
|
||||||
|
140 2.04662 2.1105827 0.92850319 8.718882
|
||||||
|
150 2.0957046 2.1672706 0.93677238 8.5718869
|
||||||
|
160 2.144595 2.2210801 0.94188484 8.4089161
|
||||||
|
170 2.1802133 2.2626399 0.9429713 8.2775682
|
||||||
|
180 2.1868284 2.2696504 0.93931537 8.2321283
|
||||||
|
190 2.1838369 2.2706873 0.93069783 8.1970105
|
||||||
|
200 2.1943436 2.2865542 0.91717737 8.0854148
|
||||||
|
210 2.2029439 2.2912731 0.89906796 7.9589187
|
||||||
|
220 2.1891494 2.2768232 0.87764254 7.9016509
|
||||||
|
230 2.1677848 2.2493747 0.85497463 7.8690125
|
||||||
|
240 2.156695 2.2377486 0.83255207 7.8020978
|
||||||
|
250 2.142758 2.2237662 0.81090722 7.7510242
|
||||||
|
260 2.1177881 2.1967699 0.79016944 7.7477503
|
||||||
|
270 2.0862408 2.1669583 0.77040874 7.7740216
|
||||||
|
280 2.0676515 2.1446262 0.75157955 7.7544068
|
||||||
|
290 2.0645498 2.1425534 0.73343008 7.6746729
|
||||||
|
300 2.0563664 2.1358776 0.71562279 7.6114783
|
||||||
|
310 2.0390115 2.1198472 0.69809211 7.581719
|
||||||
|
320 2.0209035 2.1063385 0.68093855 7.5540946
|
||||||
|
330 2.012488 2.1037583 0.66418283 7.4896097
|
||||||
|
340 2.0166095 2.1094212 0.64762479 7.3779677
|
||||||
|
350 2.0172861 2.1072653 0.63109595 7.2807114
|
||||||
|
360 2.0065768 2.0803788 0.6147802 7.2283814
|
||||||
|
370 1.9970858 2.0639903 0.59905362 7.1747592
|
||||||
|
380 1.9925189 2.056563 0.58395055 7.103506
|
||||||
|
390 1.9935388 2.0546596 0.56945318 7.010305
|
||||||
|
400 2.0020199 2.0632095 0.55532013 6.8883647
|
||||||
|
410 2.009157 2.0732883 0.54128082 6.771521
|
||||||
|
420 2.0081687 2.0785184 0.52711525 6.6868076
|
||||||
|
430 1.9990498 2.0705469 0.51283203 6.6343482
|
||||||
|
440 1.9891528 2.0586814 0.4986104 6.5888679
|
||||||
|
450 1.9829175 2.0465778 0.4846738 6.5332233
|
||||||
|
460 1.9745599 2.031067 0.4711878 6.4903915
|
||||||
|
470 1.9581101 2.006674 0.45837961 6.4836654
|
||||||
|
480 1.9367964 1.9732882 0.44656667 6.501731
|
||||||
|
490 1.9258333 1.9561395 0.43605676 6.4879447
|
||||||
|
500 1.9287 1.9571319 0.42678362 6.4296036
|
||||||
|
510 1.9274696 1.9569118 0.41856553 6.3949919
|
||||||
|
520 1.9100149 1.9392424 0.41134511 6.4307452
|
||||||
|
530 1.8827127 1.9059412 0.40536565 6.5126603
|
||||||
|
540 1.8660696 1.8912024 0.40096324 6.5610607
|
||||||
|
550 1.8701883 1.9043254 0.3982457 6.536251
|
||||||
|
560 1.8842923 1.9289528 0.39698123 6.4785367
|
||||||
|
570 1.8906147 1.9462124 0.39684504 6.4547374
|
||||||
|
580 1.8895472 1.9472747 0.39763233 6.4630103
|
||||||
|
590 1.895375 1.9551336 0.39926725 6.449517
|
||||||
|
600 1.9115711 1.9737109 0.40163655 6.3995241
|
||||||
|
610 1.92823 1.9851787 0.404506 6.3499339
|
||||||
|
620 1.9360678 1.9889572 0.40767569 6.3367514
|
||||||
|
630 1.9346853 1.9836719 0.41105958 6.3637995
|
||||||
|
640 1.9266095 1.9757908 0.41472954 6.4212842
|
||||||
|
650 1.9213863 1.9719496 0.41879537 6.4707692
|
||||||
|
660 1.922962 1.9702923 0.42332926 6.4949933
|
||||||
|
670 1.9238956 1.9707534 0.42836303 6.5212631
|
||||||
|
680 1.9212675 1.9740379 0.43388709 6.5608915
|
||||||
|
690 1.9210314 1.976311 0.43982007 6.5904702
|
||||||
|
700 1.928081 1.9868449 0.44610463 6.5915021
|
||||||
|
710 1.9428895 2.0044235 0.45257857 6.5616141
|
||||||
|
720 1.9554783 2.0176139 0.45898384 6.5367529
|
||||||
|
730 1.969838 2.0327907 0.46505662 6.5017635
|
||||||
|
740 1.9840204 2.0467126 0.47058703 6.4649226
|
||||||
|
750 1.9946633 2.0526929 0.47535832 6.4399342
|
||||||
|
760 2.0018048 2.0535606 0.47924291 6.4280737
|
||||||
|
770 1.9991703 2.0483426 0.48222842 6.4537535
|
||||||
|
780 1.9850797 2.0312444 0.48443072 6.5234271
|
||||||
|
790 1.9691589 2.0154006 0.4861158 6.5995894
|
||||||
|
800 1.9612641 2.0031407 0.48754831 6.6430968
|
||||||
|
810 1.9637155 2.0074142 0.48891261 6.6444644
|
||||||
|
820 1.9691691 2.0110229 0.49018604 6.6304512
|
||||||
|
830 1.9763962 2.0190998 0.49130448 6.6060594
|
||||||
|
840 1.9908278 2.0352615 0.49213189 6.5510683
|
||||||
|
850 2.0105715 2.0558403 0.49238435 6.4743276
|
||||||
|
860 2.0227982 2.0645732 0.49173076 6.4260863
|
||||||
|
870 2.015555 2.064081 0.48998228 6.4528588
|
||||||
|
880 1.9889672 2.0320831 0.48722022 6.5532269
|
||||||
|
890 1.9632172 2.0025881 0.48392295 6.6494723
|
||||||
|
900 1.9527429 1.9887196 0.48054642 6.6846937
|
||||||
|
910 1.9567815 1.9953408 0.47726539 6.6606541
|
||||||
|
920 1.9666996 2.0084955 0.47397593 6.6100666
|
||||||
|
930 1.9702885 2.014774 0.47048741 6.5805871
|
||||||
|
940 1.9661802 2.0116846 0.46671831 6.579539
|
||||||
|
950 1.9576953 1.9960728 0.46273983 6.5967841
|
||||||
|
960 1.9428073 1.9802284 0.45879028 6.6395002
|
||||||
|
970 1.9256011 1.9584581 0.45515059 6.6916425
|
||||||
|
980 1.913512 1.9478848 0.45214528 6.7233279
|
||||||
|
990 1.9174938 1.9449699 0.44994026 6.6943867
|
||||||
|
1000 1.9365527 1.9663901 0.44852349 6.6101761
|
||||||
|
Loop time of 0.136245 on 4 procs for 1000 steps with 2775 atoms
|
||||||
|
|
||||||
|
Performance: 634150.810 tau/day, 7339.708 timesteps/s, 20.368 Matom-step/s
|
||||||
|
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.05652 | 0.058835 | 0.061144 | 0.7 | 43.18
|
||||||
|
Neigh | 0.0077706 | 0.0082387 | 0.0086435 | 0.4 | 6.05
|
||||||
|
Comm | 0.0079304 | 0.010631 | 0.013709 | 2.5 | 7.80
|
||||||
|
Output | 0.003516 | 0.0036313 | 0.0038326 | 0.2 | 2.67
|
||||||
|
Modify | 0.045283 | 0.048616 | 0.052008 | 1.3 | 35.68
|
||||||
|
Other | | 0.006293 | | | 4.62
|
||||||
|
|
||||||
|
Nlocal: 693.75 ave 800 max 584 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
Nghost: 255.25 ave 323 max 192 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||||
|
Neighs: 6083 ave 7383 max 4741 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
|
||||||
|
Total # of neighbors = 24332
|
||||||
|
Ave neighs/atom = 8.7682883
|
||||||
|
Neighbor list builds = 38
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#initialize the COM velocity and run to achieve steady-state
|
||||||
|
|
||||||
|
#calculate velocity to add: V=J/rho_total
|
||||||
|
variable Vadd equal $J*lx*ly/count(bulk)
|
||||||
|
variable Vadd equal 0.1*lx*ly/count(bulk)
|
||||||
|
|
||||||
|
#first remove any COM velocity, then add back the streaming velocity
|
||||||
|
velocity bulk zero linear
|
||||||
|
velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no
|
||||||
|
velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no
|
||||||
|
|
||||||
|
fix GD bulk flow/gauss 1 0 0 #energy yes
|
||||||
|
#fix_modify GD energy yes
|
||||||
|
|
||||||
|
run ${stabil}
|
||||||
|
run 1000
|
||||||
|
|
||||||
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||||
|
|
||||||
|
Your simulation uses code contributions which should be cited:
|
||||||
|
|
||||||
|
- Gaussian dynamics package: doi:10.1021/acs.jpcb.6b09387
|
||||||
|
|
||||||
|
@Article{strong_water_2017,
|
||||||
|
title = {The Dynamics of Water in Porous Two-Dimensional Crystals},
|
||||||
|
volume = {121},
|
||||||
|
number = {1},
|
||||||
|
url = {https://doi.org/10.1021/acs.jpcb.6b09387},
|
||||||
|
doi = {10.1021/acs.jpcb.6b09387},
|
||||||
|
urldate = {2016-12-07},
|
||||||
|
journal = {J.~Phys.\ Chem.~B},
|
||||||
|
author = {Strong, Steven E. and Eaves, Joel D.},
|
||||||
|
year = {2017},
|
||||||
|
pages = {189--207}
|
||||||
|
}
|
||||||
|
|
||||||
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||||
|
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.131 | 3.132 | 3.133 Mbytes
|
||||||
|
Step c_myT c_myTp TotEng Press
|
||||||
|
1000 1.9477212 1.9663901 0.45928547 6.6176422
|
||||||
|
1010 1.9617328 1.9828061 0.45840963 6.555968
|
||||||
|
1020 1.9570976 1.9825696 0.45782895 6.5690613
|
||||||
|
1030 1.9356292 1.9690101 0.45753984 6.6493822
|
||||||
|
1040 1.9174914 1.9448868 0.4577768 6.7171474
|
||||||
|
1050 1.9202482 1.9432766 0.4588733 6.7039634
|
||||||
|
1060 1.9419998 1.9718217 0.46086407 6.617366
|
||||||
|
1070 1.9666048 1.996346 0.46339522 6.5207175
|
||||||
|
1080 1.9775489 2.0078489 0.46608862 6.4794239
|
||||||
|
1090 1.9725172 2.0005028 0.46876174 6.5044299
|
||||||
|
1100 1.9659582 1.9931537 0.47147394 6.5409107
|
||||||
|
1110 1.9670607 1.9965504 0.47432892 6.5527414
|
||||||
|
1120 1.9716302 1.9984924 0.47732198 6.5530022
|
||||||
|
1130 1.9752703 2.0057031 0.48043914 6.5579379
|
||||||
|
1140 1.976368 2.0061152 0.48358744 6.5719123
|
||||||
|
1150 1.9748014 2.0056689 0.48673155 6.5957896
|
||||||
|
1160 1.9729115 2.0036854 0.48986563 6.6200102
|
||||||
|
1170 1.9702742 2.0016461 0.49302426 6.6455948
|
||||||
|
1180 1.9680418 1.9978705 0.49625385 6.6697165
|
||||||
|
1190 1.9640159 1.9937501 0.49962311 6.7004634
|
||||||
|
1200 1.9616719 1.9932085 0.50320747 6.7253219
|
||||||
|
1210 1.9658831 1.9985624 0.50702861 6.7242078
|
||||||
|
1220 1.9790884 2.0132679 0.51100573 6.688483
|
||||||
|
1230 1.9946749 2.0324782 0.51491484 6.6422423
|
||||||
|
1240 2.0039182 2.0484588 0.5184382 6.6190292
|
||||||
|
1250 2.0033685 2.0545791 0.52130299 6.6322608
|
||||||
|
1260 1.9991533 2.0533011 0.52339221 6.6590872
|
||||||
|
1270 1.9969511 2.0571182 0.5246505 6.6789676
|
||||||
|
1280 1.9911353 2.0488281 0.52501304 6.7125634
|
||||||
|
1290 1.9712819 2.0209437 0.52460315 6.7967237
|
||||||
|
1300 1.9486195 1.9967749 0.5238106 6.886265
|
||||||
|
1310 1.951612 2.0051749 0.52294383 6.8723332
|
||||||
|
1320 1.9800953 2.0397207 0.52186525 6.7537937
|
||||||
|
1330 2.0084961 2.0723584 0.52001894 6.6279995
|
||||||
|
1340 2.021654 2.085105 0.51675149 6.554461
|
||||||
|
1350 2.0193685 2.0672662 0.5117514 6.5349176
|
||||||
|
1360 2.0084017 2.0471065 0.50518646 6.5453141
|
||||||
|
1370 1.994978 2.030683 0.49737164 6.5627932
|
||||||
|
1380 1.9781978 2.0044236 0.48871071 6.5903683
|
||||||
|
1390 1.9572368 1.9833426 0.47978207 6.6326472
|
||||||
|
1400 1.9400481 1.956474 0.47117436 6.6600696
|
||||||
|
1410 1.9380218 1.9552501 0.46336325 6.6314231
|
||||||
|
1420 1.9494747 1.9681145 0.45642218 6.5527615
|
||||||
|
1430 1.9610978 1.9824506 0.4501938 6.4763851
|
||||||
|
1440 1.9639503 1.9890985 0.44452289 6.4375535
|
||||||
|
1450 1.9560428 1.9821594 0.43936988 6.4453654
|
||||||
|
1460 1.9399344 1.9627639 0.43486138 6.488055
|
||||||
|
1470 1.9247229 1.9440629 0.43123378 6.5292381
|
||||||
|
1480 1.9213375 1.9369273 0.42866841 6.5271097
|
||||||
|
1490 1.9265729 1.9383637 0.42719968 6.4940959
|
||||||
|
1500 1.930987 1.9416689 0.4267225 6.4673585
|
||||||
|
1510 1.9303444 1.9418498 0.42714462 6.4648027
|
||||||
|
1520 1.9258423 1.940384 0.42844066 6.4834098
|
||||||
|
1530 1.9131202 1.9296653 0.4306338 6.5390881
|
||||||
|
1540 1.8990016 1.9101025 0.43386405 6.6052091
|
||||||
|
1550 1.9012878 1.9120047 0.43834036 6.6147792
|
||||||
|
1560 1.9153287 1.9388751 0.44404054 6.5851781
|
||||||
|
1570 1.9266928 1.9596147 0.45057056 6.5705776
|
||||||
|
1580 1.9358289 1.9745564 0.45744022 6.5674622
|
||||||
|
1590 1.9415248 1.9818707 0.46425451 6.5778534
|
||||||
|
1600 1.9466876 1.98498 0.47075833 6.5878483
|
||||||
|
1610 1.9557175 1.9930268 0.47674103 6.5777205
|
||||||
|
1620 1.9712902 2.0112337 0.48200984 6.5367922
|
||||||
|
1630 1.9900646 2.0303946 0.48631888 6.4790095
|
||||||
|
1640 1.9960901 2.039173 0.48947508 6.4661574
|
||||||
|
1650 1.9879046 2.0329046 0.49151173 6.504063
|
||||||
|
1660 1.9832967 2.0325843 0.49266284 6.5255647
|
||||||
|
1670 1.9875656 2.034783 0.49313513 6.5093662
|
||||||
|
1680 1.9967654 2.0492931 0.49299896 6.4699787
|
||||||
|
1690 2.0025957 2.0532539 0.49216931 6.4389613
|
||||||
|
1700 2.0022202 2.0424508 0.49070612 6.4276702
|
||||||
|
1710 2.0083188 2.0437945 0.48879489 6.3909243
|
||||||
|
1720 2.0178792 2.0439212 0.48646135 6.3411063
|
||||||
|
1730 2.0210944 2.0444299 0.48367905 6.3141106
|
||||||
|
1740 2.0170566 2.0337564 0.48044951 6.3158785
|
||||||
|
1750 2.0099049 2.0231598 0.47693196 6.3313851
|
||||||
|
1760 1.9990395 2.0132651 0.47329842 6.3631889
|
||||||
|
1770 1.9823237 1.9969291 0.46970233 6.4208124
|
||||||
|
1780 1.9640169 1.9798655 0.4663519 6.4879798
|
||||||
|
1790 1.9457657 1.9626633 0.46348315 6.557165
|
||||||
|
1800 1.9253222 1.9443136 0.46134123 6.6365286
|
||||||
|
1810 1.9123385 1.9339816 0.46011796 6.6879846
|
||||||
|
1820 1.9098744 1.9287702 0.45993599 6.7001355
|
||||||
|
1830 1.9096278 1.9220243 0.460898 6.7020982
|
||||||
|
1840 1.9223081 1.9378963 0.46303724 6.6558132
|
||||||
|
1850 1.9481113 1.9718786 0.46616351 6.5618175
|
||||||
|
1860 1.9704143 1.9931969 0.46987208 6.484088
|
||||||
|
1870 1.9864974 2.017655 0.47377416 6.4360445
|
||||||
|
1880 1.993165 2.0276398 0.47750238 6.4296162
|
||||||
|
1890 1.9852177 2.0249022 0.48088382 6.4843765
|
||||||
|
1900 1.9692398 2.0101062 0.4839255 6.5735477
|
||||||
|
1910 1.9516968 1.9893586 0.48689095 6.6692995
|
||||||
|
1920 1.9380452 1.9750949 0.49014596 6.7488323
|
||||||
|
1930 1.9323223 1.9719977 0.49399992 6.7947629
|
||||||
|
1940 1.9402144 1.9786701 0.49859677 6.7846787
|
||||||
|
1950 1.9589972 1.9956447 0.50392573 6.7291499
|
||||||
|
1960 1.979631 2.0201087 0.50984934 6.6648708
|
||||||
|
1970 2.0002749 2.0392081 0.51605302 6.6026647
|
||||||
|
1980 2.0143746 2.0524405 0.52221277 6.5687042
|
||||||
|
1990 2.0166553 2.0466885 0.5281276 6.5835144
|
||||||
|
2000 2.0130617 2.0424179 0.53381506 6.6234083
|
||||||
|
Loop time of 0.141455 on 4 procs for 1000 steps with 2775 atoms
|
||||||
|
|
||||||
|
Performance: 610793.635 tau/day, 7069.371 timesteps/s, 19.618 Matom-step/s
|
||||||
|
99.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.05683 | 0.060353 | 0.062989 | 1.0 | 42.67
|
||||||
|
Neigh | 0.0072596 | 0.0077408 | 0.0081397 | 0.4 | 5.47
|
||||||
|
Comm | 0.0075975 | 0.010647 | 0.014725 | 3.0 | 7.53
|
||||||
|
Output | 0.0035631 | 0.0036749 | 0.0038919 | 0.2 | 2.60
|
||||||
|
Modify | 0.050043 | 0.052936 | 0.05613 | 1.2 | 37.42
|
||||||
|
Other | | 0.006104 | | | 4.32
|
||||||
|
|
||||||
|
Nlocal: 693.75 ave 799 max 589 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
Nghost: 259 ave 320 max 196 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
Neighs: 6092.5 ave 7344 max 4845 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
|
||||||
|
Total # of neighbors = 24370
|
||||||
|
Ave neighs/atom = 8.781982
|
||||||
|
Neighbor list builds = 35
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
#collect data
|
||||||
|
|
||||||
|
#print the applied force and total flux to ensure conservation of Jx
|
||||||
|
variable Fapp equal f_GD[1]
|
||||||
|
compute vxBulk bulk reduce sum vx
|
||||||
|
compute vyBulk bulk reduce sum vy
|
||||||
|
variable invVol equal 1.0/(lx*ly)
|
||||||
|
variable jx equal c_vxBulk*${invVol}
|
||||||
|
variable jx equal c_vxBulk*0.00025
|
||||||
|
variable jy equal c_vyBulk*${invVol}
|
||||||
|
variable jy equal c_vyBulk*0.00025
|
||||||
|
variable curr_step equal step
|
||||||
|
variable p_Fapp format Fapp %.3f
|
||||||
|
variable p_jx format jx %.5g
|
||||||
|
variable p_jy format jy %.5g
|
||||||
|
fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
|
||||||
|
fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
|
||||||
|
|
||||||
|
#compute IK1 pressure profile
|
||||||
|
#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627
|
||||||
|
#use profile-unbiased temperature to remove the streaming velocity
|
||||||
|
#from the kinetic part of the pressure
|
||||||
|
compute spa bulk stress/atom myTp
|
||||||
|
|
||||||
|
#for the pressure profile, use the same grid as the PUT
|
||||||
|
compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box
|
||||||
|
compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box
|
||||||
|
|
||||||
|
#output pressure profile and other profiles
|
||||||
|
#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where
|
||||||
|
#V is the volume of a slice
|
||||||
|
fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
|
||||||
|
fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
|
||||||
|
|
||||||
|
#compute velocity profile across the pipe with a finer grid
|
||||||
|
variable dYnew equal ${dY}/10
|
||||||
|
variable dYnew equal 3.07692307692308/10
|
||||||
|
compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe
|
||||||
|
compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe
|
||||||
|
fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite
|
||||||
|
fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite
|
||||||
|
|
||||||
|
#full trajectory
|
||||||
|
# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z
|
||||||
|
# dump_modify 7 sort id
|
||||||
|
|
||||||
|
run ${run}
|
||||||
|
run 2000
|
||||||
|
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 5.139 | 5.14 | 5.141 Mbytes
|
||||||
|
Step c_myT c_myTp TotEng Press
|
||||||
|
2000 2.0130617 2.0424179 0.53381506 6.6234083
|
||||||
|
2010 2.011712 2.0399428 0.53937165 6.6546944
|
||||||
|
2020 2.0177252 2.0516588 0.54483848 6.6575988
|
||||||
|
2030 2.0192267 2.054258 0.55012466 6.6761208
|
||||||
|
2040 2.0155308 2.0513866 0.55518707 6.7132509
|
||||||
|
2050 2.016831 2.0539288 0.56007247 6.7306192
|
||||||
|
2060 2.0213378 2.0690043 0.56479732 6.7330132
|
||||||
|
2070 2.0292987 2.0799825 0.56913353 6.7186216
|
||||||
|
2080 2.0342188 2.0900923 0.57283821 6.7098434
|
||||||
|
2090 2.0376411 2.096351 0.57566175 6.6998818
|
||||||
|
2100 2.053128 2.1238481 0.57727694 6.637431
|
||||||
|
2110 2.0783941 2.1609599 0.5768993 6.5304031
|
||||||
|
2120 2.0887269 2.1760645 0.57341638 6.4706853
|
||||||
|
2130 2.06944 2.1522354 0.5659988 6.5099284
|
||||||
|
2140 2.0380605 2.115767 0.55466476 6.5802578
|
||||||
|
2150 2.0195872 2.0868424 0.54025148 6.5885111
|
||||||
|
2160 2.0061251 2.069266 0.52417244 6.5682875
|
||||||
|
2170 1.992682 2.0526743 0.50812177 6.5470052
|
||||||
|
2180 1.9816004 2.0352692 0.49354583 6.5244099
|
||||||
|
2190 1.9688265 2.0226679 0.4811848 6.5185172
|
||||||
|
2200 1.9574266 2.000155 0.47107703 6.5176047
|
||||||
|
2210 1.9502736 1.9925522 0.46298224 6.5078398
|
||||||
|
2220 1.9475332 1.9936032 0.45641728 6.4850252
|
||||||
|
2230 1.9545128 2.0045053 0.45087489 6.4291405
|
||||||
|
2240 1.9627871 2.0112148 0.44588526 6.3715676
|
||||||
|
2250 1.9617694 2.0073769 0.44121477 6.3541518
|
||||||
|
2260 1.9579423 2.0079137 0.43675541 6.3542735
|
||||||
|
2270 1.9475845 1.998983 0.43243494 6.3854071
|
||||||
|
2280 1.9253275 1.9715083 0.42839782 6.464845
|
||||||
|
2290 1.8996763 1.9456257 0.42496367 6.5591177
|
||||||
|
2300 1.8823546 1.9240543 0.42247729 6.6211062
|
||||||
|
2310 1.8844318 1.9216768 0.42116372 6.6085376
|
||||||
|
2320 1.8965287 1.933936 0.42103218 6.5584198
|
||||||
|
2330 1.902103 1.9433708 0.421956 6.5350698
|
||||||
|
2340 1.9061826 1.950462 0.42378825 6.5228738
|
||||||
|
2350 1.9180306 1.961141 0.42644522 6.489172
|
||||||
|
2360 1.9296124 1.9748542 0.42981448 6.4628168
|
||||||
|
2370 1.9328566 1.9718181 0.43373762 6.4721746
|
||||||
|
2380 1.9360042 1.9769998 0.43819906 6.4840942
|
||||||
|
2390 1.9387073 1.9778749 0.44317927 6.49778
|
||||||
|
2400 1.9445619 1.9882647 0.4486142 6.4971899
|
||||||
|
2410 1.9553344 1.9997412 0.45435544 6.4749774
|
||||||
|
2420 1.9710783 2.0211926 0.46019236 6.4320181
|
||||||
|
2430 1.9903873 2.046553 0.46575694 6.3751343
|
||||||
|
2440 2.0041158 2.0721071 0.47060398 6.3415121
|
||||||
|
2450 2.0020392 2.0728953 0.47431806 6.3708096
|
||||||
|
2460 1.9839851 2.0568906 0.47681718 6.465129
|
||||||
|
2470 1.9566365 2.0258852 0.47838596 6.5966256
|
||||||
|
2480 1.929674 2.0032606 0.47952215 6.7260074
|
||||||
|
2490 1.9153613 1.990031 0.48061628 6.8035919
|
||||||
|
2500 1.9188373 1.9920514 0.4819225 6.8075788
|
||||||
|
2510 1.9371656 2.0138698 0.48343533 6.7492701
|
||||||
|
2520 1.9566481 2.0340995 0.48485699 6.6821181
|
||||||
|
2530 1.9636141 2.0389496 0.48583392 6.6581326
|
||||||
|
2540 1.9585172 2.0207113 0.48622314 6.6762792
|
||||||
|
2550 1.9516934 2.0024186 0.48621721 6.6980104
|
||||||
|
2560 1.9509543 1.9960852 0.48612286 6.6946311
|
||||||
|
2570 1.9601672 2.0072552 0.48602872 6.6528934
|
||||||
|
2580 1.973804 2.0230879 0.48576601 6.5942862
|
||||||
|
2590 1.9788378 2.034436 0.48505027 6.5689819
|
||||||
|
2600 1.9716493 2.0208578 0.48368043 6.5897554
|
||||||
|
2610 1.9618006 2.007098 0.48174365 6.6188626
|
||||||
|
2620 1.9631458 2.0075461 0.4793429 6.6026194
|
||||||
|
2630 1.9706918 2.0174955 0.47638698 6.5591053
|
||||||
|
2640 1.9759585 2.0213828 0.47264742 6.5198595
|
||||||
|
2650 1.9761708 2.0225139 0.46794373 6.4977306
|
||||||
|
2660 1.9611574 2.0083871 0.46221598 6.5299021
|
||||||
|
2670 1.9342882 1.9720247 0.45576624 6.6034695
|
||||||
|
2680 1.9142009 1.9520382 0.44913109 6.6474082
|
||||||
|
2690 1.9052096 1.9428107 0.4426988 6.645123
|
||||||
|
2700 1.902446 1.9459937 0.43672046 6.6152926
|
||||||
|
2710 1.9099036 1.9594727 0.43120889 6.5473804
|
||||||
|
2720 1.9180788 1.9767479 0.42599739 6.4792536
|
||||||
|
2730 1.9142892 1.9798275 0.42092791 6.4604982
|
||||||
|
2740 1.9019844 1.9674244 0.41601841 6.4795855
|
||||||
|
2750 1.8895632 1.958412 0.41144638 6.5037424
|
||||||
|
2760 1.8824401 1.9494985 0.40739848 6.5113925
|
||||||
|
2770 1.8852759 1.9525073 0.40398809 6.484535
|
||||||
|
2780 1.8998168 1.9664907 0.40114076 6.4159782
|
||||||
|
2790 1.9153937 1.9810349 0.39863439 6.346934
|
||||||
|
2800 1.9162707 1.9824285 0.39627973 6.3364828
|
||||||
|
2810 1.9087999 1.9666258 0.39408314 6.360755
|
||||||
|
2820 1.9073152 1.956153 0.39226387 6.3655719
|
||||||
|
2830 1.9091743 1.9493705 0.39098546 6.3595054
|
||||||
|
2840 1.9042021 1.9424118 0.39036698 6.381752
|
||||||
|
2850 1.8901401 1.9353495 0.39057524 6.4417859
|
||||||
|
2860 1.872943 1.915215 0.39190057 6.5158585
|
||||||
|
2870 1.8732626 1.9181551 0.39474702 6.5269257
|
||||||
|
2880 1.8931021 1.9396049 0.39938934 6.467715
|
||||||
|
2890 1.9217069 1.9733171 0.40581935 6.3811936
|
||||||
|
2900 1.9452213 1.9949806 0.41374968 6.3217226
|
||||||
|
2910 1.9591065 2.0105363 0.42280483 6.3087055
|
||||||
|
2920 1.9649158 2.0234068 0.43256139 6.3353204
|
||||||
|
2930 1.9647653 2.0265233 0.4425691 6.3902862
|
||||||
|
2940 1.9623876 2.0281154 0.45237409 6.4560778
|
||||||
|
2950 1.9591057 2.0276078 0.46164197 6.5239614
|
||||||
|
2960 1.9556907 2.0254377 0.47016674 6.5883236
|
||||||
|
2970 1.9524475 2.0203546 0.47782337 6.6457078
|
||||||
|
2980 1.9556442 2.0212175 0.48459527 6.6731473
|
||||||
|
2990 1.9663638 2.0285202 0.49047217 6.667322
|
||||||
|
3000 1.976263 2.0326354 0.49540098 6.6601492
|
||||||
|
3010 1.9734917 2.0251301 0.49938916 6.6970878
|
||||||
|
3020 1.955368 1.9974693 0.50265656 6.7865104
|
||||||
|
3030 1.9476644 1.9780945 0.50564273 6.8327176
|
||||||
|
3040 1.9584769 1.9887952 0.50867872 6.8046262
|
||||||
|
3050 1.9705616 2.0030557 0.51168699 6.7669575
|
||||||
|
3060 1.9766986 2.0112576 0.51444822 6.74919
|
||||||
|
3070 1.9766671 2.0076853 0.51685838 6.7523339
|
||||||
|
3080 1.9763383 2.0045916 0.51896849 6.7532253
|
||||||
|
3090 1.9855877 2.0260371 0.52081441 6.7160131
|
||||||
|
3100 2.0011042 2.042205 0.52215192 6.653598
|
||||||
|
3110 2.0039819 2.0511266 0.52275172 6.6355885
|
||||||
|
3120 1.9958773 2.0457899 0.52253307 6.6565817
|
||||||
|
3130 1.9933925 2.04521 0.52158082 6.6543706
|
||||||
|
3140 1.9936643 2.0477262 0.51996279 6.639564
|
||||||
|
3150 1.9921223 2.0455965 0.51768794 6.6291901
|
||||||
|
3160 1.9914788 2.0365842 0.51483187 6.6154874
|
||||||
|
3170 1.9922866 2.0422451 0.51144091 6.5976334
|
||||||
|
3180 1.9872806 2.0376593 0.50747923 6.6043774
|
||||||
|
3190 1.9708577 2.0198422 0.50308657 6.6551127
|
||||||
|
3200 1.9534272 1.9982319 0.49857904 6.7093718
|
||||||
|
3210 1.9423425 1.9876311 0.49429833 6.7370529
|
||||||
|
3220 1.941974 1.984738 0.49043179 6.7218879
|
||||||
|
3230 1.9456357 1.9916666 0.48697785 6.6917144
|
||||||
|
3240 1.9392412 1.9874858 0.48388805 6.7004046
|
||||||
|
3250 1.9312152 1.9814714 0.4812083 6.7175714
|
||||||
|
3260 1.9364393 1.9840125 0.47897357 6.6870787
|
||||||
|
3270 1.9490184 1.9871802 0.47715672 6.6308261
|
||||||
|
3280 1.9578901 1.9917218 0.47568803 6.5896589
|
||||||
|
3290 1.9598612 1.9918098 0.47449561 6.5756965
|
||||||
|
3300 1.9538424 1.9845316 0.47357576 6.5931068
|
||||||
|
3310 1.944957 1.9676243 0.47302774 6.6211221
|
||||||
|
3320 1.9479975 1.9720828 0.47296613 6.6058089
|
||||||
|
3330 1.9569283 1.98719 0.47330356 6.5698601
|
||||||
|
3340 1.9558114 1.9861834 0.47383928 6.5729191
|
||||||
|
3350 1.9461606 1.9777192 0.47452365 6.6090135
|
||||||
|
3360 1.942095 1.9776297 0.47540879 6.6255417
|
||||||
|
3370 1.9482423 1.981145 0.47643851 6.6032207
|
||||||
|
3380 1.9564098 1.992645 0.47752314 6.5736007
|
||||||
|
3390 1.9607986 2.0006048 0.47852085 6.5587349
|
||||||
|
3400 1.9595637 2.0047228 0.47933656 6.5656692
|
||||||
|
3410 1.9628181 2.013785 0.47991082 6.5570579
|
||||||
|
3420 1.9698466 2.0200788 0.48018617 6.536373
|
||||||
|
3430 1.969877 2.0210764 0.48013786 6.543084
|
||||||
|
3440 1.96327 2.0103631 0.47979187 6.5761448
|
||||||
|
3450 1.9566516 1.9996494 0.47933398 6.6098616
|
||||||
|
3460 1.9511915 1.9976175 0.47891646 6.6401481
|
||||||
|
3470 1.9410601 1.9950284 0.47859124 6.6862584
|
||||||
|
3480 1.9307395 1.98193 0.47840998 6.7307929
|
||||||
|
3490 1.9206678 1.9678856 0.47853003 6.7702613
|
||||||
|
3500 1.9139405 1.955324 0.47914241 6.7934071
|
||||||
|
3510 1.9206383 1.9571761 0.48041531 6.763312
|
||||||
|
3520 1.9449301 1.9816996 0.4823109 6.6651452
|
||||||
|
3530 1.9752924 2.0115126 0.48452681 6.5438659
|
||||||
|
3540 1.9951599 2.037759 0.48660438 6.463461
|
||||||
|
3550 2.00071 2.0413872 0.48813252 6.4405933
|
||||||
|
3560 1.9939017 2.0277566 0.48901382 6.4684771
|
||||||
|
3570 1.9766844 2.0031366 0.48946452 6.5392906
|
||||||
|
3580 1.9600494 1.9790718 0.48988281 6.6106542
|
||||||
|
3590 1.9522334 1.9727673 0.49062615 6.6517495
|
||||||
|
3600 1.9522007 1.9829458 0.49183552 6.6635632
|
||||||
|
3610 1.9614098 1.9992781 0.49340617 6.6407777
|
||||||
|
3620 1.9739926 2.0159629 0.49511752 6.6062456
|
||||||
|
3630 1.9726539 2.0152219 0.49675445 6.6254361
|
||||||
|
3640 1.9613098 2.0017247 0.49829012 6.6828523
|
||||||
|
3650 1.9577727 2.0000723 0.49991877 6.7111789
|
||||||
|
3660 1.9626403 2.0037309 0.50175296 6.7072182
|
||||||
|
3670 1.9603974 1.9937256 0.50383808 6.7277464
|
||||||
|
3680 1.9532611 1.9846903 0.50638429 6.766139
|
||||||
|
3690 1.9541656 1.9798331 0.50962883 6.7752527
|
||||||
|
3700 1.9656726 1.9951191 0.51377056 6.7462001
|
||||||
|
3710 1.9834474 2.0193011 0.5187681 6.6957856
|
||||||
|
3720 2.0017373 2.0396413 0.52433682 6.6470375
|
||||||
|
3730 2.0109702 2.0469463 0.53011728 6.6363717
|
||||||
|
3740 2.0096858 2.0458572 0.53588234 6.6682278
|
||||||
|
3750 2.0066189 2.0519842 0.54153099 6.7085484
|
||||||
|
3760 2.0096126 2.0561094 0.54689937 6.7250789
|
||||||
|
3770 2.0117777 2.0668795 0.55183559 6.7400962
|
||||||
|
3780 2.0154601 2.0763941 0.55607392 6.7423369
|
||||||
|
3790 2.0313954 2.0972106 0.55930714 6.6920109
|
||||||
|
3800 2.0496133 2.1176374 0.56110467 6.6271089
|
||||||
|
3810 2.0553084 2.1205041 0.56098738 6.6034668
|
||||||
|
3820 2.0478771 2.1131255 0.5587031 6.6239896
|
||||||
|
3830 2.0342107 2.0991257 0.55418078 6.6632309
|
||||||
|
3840 2.0142205 2.0767165 0.54756321 6.7196407
|
||||||
|
3850 1.9879527 2.0516847 0.53919957 6.7932756
|
||||||
|
3860 1.9593315 2.0232738 0.52966136 6.8686983
|
||||||
|
3870 1.9362884 1.9952027 0.51970092 6.9156687
|
||||||
|
3880 1.9292997 1.9883081 0.50996282 6.8957696
|
||||||
|
3890 1.9372438 1.9978667 0.50073929 6.8160963
|
||||||
|
3900 1.949918 2.0107188 0.49208883 6.7186535
|
||||||
|
3910 1.9547594 2.0160936 0.48397839 6.6537348
|
||||||
|
3920 1.9543567 2.0191268 0.47640162 6.6136067
|
||||||
|
3930 1.9582199 2.0200359 0.46933873 6.5629726
|
||||||
|
3940 1.9644631 2.0304625 0.4627222 6.5077177
|
||||||
|
3950 1.9645882 2.0301829 0.45644411 6.4795258
|
||||||
|
3960 1.9546999 2.0197242 0.45050583 6.4943664
|
||||||
|
3970 1.9424307 2.0063453 0.44500625 6.5237707
|
||||||
|
3980 1.9281472 1.9910524 0.440105 6.5640156
|
||||||
|
3990 1.9168821 1.9763691 0.43594018 6.592621
|
||||||
|
4000 1.9150056 1.9752502 0.43256475 6.585564
|
||||||
|
Loop time of 0.29535 on 4 procs for 2000 steps with 2775 atoms
|
||||||
|
|
||||||
|
Performance: 585068.702 tau/day, 6771.628 timesteps/s, 18.791 Matom-step/s
|
||||||
|
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.11499 | 0.12105 | 0.12753 | 1.6 | 40.99
|
||||||
|
Neigh | 0.015593 | 0.01655 | 0.017426 | 0.6 | 5.60
|
||||||
|
Comm | 0.011343 | 0.020696 | 0.029105 | 5.0 | 7.01
|
||||||
|
Output | 0.0076551 | 0.010557 | 0.01165 | 1.6 | 3.57
|
||||||
|
Modify | 0.10677 | 0.11421 | 0.1196 | 1.4 | 38.67
|
||||||
|
Other | | 0.01228 | | | 4.16
|
||||||
|
|
||||||
|
Nlocal: 693.75 ave 801 max 584 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
Nghost: 256.25 ave 313 max 200 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
Neighs: 6078.25 ave 7398 max 4746 min
|
||||||
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||||
|
|
||||||
|
Total # of neighbors = 24313
|
||||||
|
Ave neighs/atom = 8.7614414
|
||||||
|
Neighbor list builds = 75
|
||||||
|
Dangerous builds = 0
|
||||||
|
Total wall time: 0:00:00
|
||||||
@ -1,909 +0,0 @@
|
|||||||
LAMMPS (6 Jul 2017)
|
|
||||||
using 1 OpenMP thread(s) per MPI task
|
|
||||||
#LAMMPS input script
|
|
||||||
#in.GD
|
|
||||||
#see README for details
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
#initialize variables
|
|
||||||
clear
|
|
||||||
using 1 OpenMP thread(s) per MPI task
|
|
||||||
|
|
||||||
#frequency for outputting info (timesteps)
|
|
||||||
variable dump_rate equal 50
|
|
||||||
variable thermo_rate equal 10
|
|
||||||
|
|
||||||
#equilibration time (timesteps)
|
|
||||||
variable equil equal 1000
|
|
||||||
|
|
||||||
#stabilization time (timesteps to reach steady-state)
|
|
||||||
variable stabil equal 1000
|
|
||||||
|
|
||||||
#data collection time (timesteps)
|
|
||||||
variable run equal 2000
|
|
||||||
|
|
||||||
#length of pipe
|
|
||||||
variable L equal 30
|
|
||||||
|
|
||||||
#width of pipe
|
|
||||||
variable d equal 20
|
|
||||||
|
|
||||||
#flux (mass/sigma*tau)
|
|
||||||
variable J equal 0.1
|
|
||||||
|
|
||||||
#simulation box dimensions
|
|
||||||
variable Lx equal 100
|
|
||||||
variable Ly equal 40
|
|
||||||
|
|
||||||
#bulk fluid density
|
|
||||||
variable dens equal 0.8
|
|
||||||
|
|
||||||
#lattice spacing for wall atoms
|
|
||||||
variable aWall equal 1.0 #1.7472
|
|
||||||
|
|
||||||
#timestep
|
|
||||||
variable ts equal 0.001
|
|
||||||
|
|
||||||
#temperature
|
|
||||||
variable T equal 2.0
|
|
||||||
|
|
||||||
#thermostat damping constant
|
|
||||||
variable tdamp equal ${ts}*100
|
|
||||||
variable tdamp equal 0.001*100
|
|
||||||
|
|
||||||
units lj
|
|
||||||
dimension 2
|
|
||||||
atom_style atomic
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
#create box
|
|
||||||
|
|
||||||
#create lattice with the spacing aWall
|
|
||||||
variable rhoWall equal ${aWall}^(-2)
|
|
||||||
variable rhoWall equal 1^(-2)
|
|
||||||
lattice sq ${rhoWall}
|
|
||||||
lattice sq 1
|
|
||||||
Lattice spacing in x,y,z = 1 1 1
|
|
||||||
|
|
||||||
#modify input dimensions to be multiples of aWall
|
|
||||||
variable L1 equal round($L/${aWall})*${aWall}
|
|
||||||
variable L1 equal round(30/${aWall})*${aWall}
|
|
||||||
variable L1 equal round(30/1)*${aWall}
|
|
||||||
variable L1 equal round(30/1)*1
|
|
||||||
variable d1 equal round($d/${aWall})*${aWall}
|
|
||||||
variable d1 equal round(20/${aWall})*${aWall}
|
|
||||||
variable d1 equal round(20/1)*${aWall}
|
|
||||||
variable d1 equal round(20/1)*1
|
|
||||||
variable Ly1 equal round(${Ly}/${aWall})*${aWall}
|
|
||||||
variable Ly1 equal round(40/${aWall})*${aWall}
|
|
||||||
variable Ly1 equal round(40/1)*${aWall}
|
|
||||||
variable Ly1 equal round(40/1)*1
|
|
||||||
variable Lx1 equal round(${Lx}/${aWall})*${aWall}
|
|
||||||
variable Lx1 equal round(100/${aWall})*${aWall}
|
|
||||||
variable Lx1 equal round(100/1)*${aWall}
|
|
||||||
variable Lx1 equal round(100/1)*1
|
|
||||||
|
|
||||||
#create simulation box
|
|
||||||
variable lx2 equal ${Lx1}/2
|
|
||||||
variable lx2 equal 100/2
|
|
||||||
variable ly2 equal ${Ly1}/2
|
|
||||||
variable ly2 equal 40/2
|
|
||||||
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box
|
|
||||||
region simbox block -50 ${lx2} -${ly2} ${ly2} 0 0.1 units box
|
|
||||||
region simbox block -50 50 -${ly2} ${ly2} 0 0.1 units box
|
|
||||||
region simbox block -50 50 -20 ${ly2} 0 0.1 units box
|
|
||||||
region simbox block -50 50 -20 20 0 0.1 units box
|
|
||||||
create_box 2 simbox
|
|
||||||
Created orthogonal box = (-50 -20 0) to (50 20 0.1)
|
|
||||||
1 by 1 by 1 MPI processor grid
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#set up potential
|
|
||||||
|
|
||||||
mass 1 1.0 #fluid atoms
|
|
||||||
mass 2 1.0 #wall atoms
|
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
|
||||||
pair_modify shift yes
|
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
|
||||||
pair_coeff 1 2 1.0 1.0 1.12246
|
|
||||||
pair_coeff 2 2 0.0 0.0
|
|
||||||
|
|
||||||
neigh_modify exclude type 2 2
|
|
||||||
|
|
||||||
timestep ${ts}
|
|
||||||
timestep 0.001
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#create atoms
|
|
||||||
|
|
||||||
#create wall atoms everywhere
|
|
||||||
create_atoms 2 box
|
|
||||||
Created 4000 atoms
|
|
||||||
|
|
||||||
#define region which is "walled off"
|
|
||||||
variable dhalf equal ${d1}/2
|
|
||||||
variable dhalf equal 20/2
|
|
||||||
variable Lhalf equal ${L1}/2
|
|
||||||
variable Lhalf equal 30/2
|
|
||||||
region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
|
|
||||||
region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
|
|
||||||
region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box
|
|
||||||
region walltop block -15 15 10 EDGE -0.1 0.1 units box
|
|
||||||
region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
|
|
||||||
region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
|
|
||||||
region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box
|
|
||||||
region wallbot block -15 15 EDGE -10 -0.1 0.1 units box
|
|
||||||
region outsidewall union 2 walltop wallbot side out
|
|
||||||
|
|
||||||
#remove wall atoms outside wall region
|
|
||||||
group outside region outsidewall
|
|
||||||
3349 atoms in group outside
|
|
||||||
delete_atoms group outside
|
|
||||||
Deleted 3349 atoms, new total = 651
|
|
||||||
|
|
||||||
#remove wall atoms that aren't on edge of wall region
|
|
||||||
variable x1 equal ${Lhalf}-${aWall}
|
|
||||||
variable x1 equal 15-${aWall}
|
|
||||||
variable x1 equal 15-1
|
|
||||||
variable y1 equal ${dhalf}+${aWall}
|
|
||||||
variable y1 equal 10+${aWall}
|
|
||||||
variable y1 equal 10+1
|
|
||||||
region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box
|
|
||||||
region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box
|
|
||||||
region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box
|
|
||||||
region insideTop block -14 14 11 EDGE -0.1 0.1 units box
|
|
||||||
region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box
|
|
||||||
region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box
|
|
||||||
region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box
|
|
||||||
region insideBot block -14 14 EDGE -11 -0.1 0.1 units box
|
|
||||||
region insideWall union 2 insideTop insideBot
|
|
||||||
group insideWall region insideWall
|
|
||||||
551 atoms in group insideWall
|
|
||||||
delete_atoms group insideWall
|
|
||||||
Deleted 551 atoms, new total = 100
|
|
||||||
|
|
||||||
#define new lattice, to give correct fluid density
|
|
||||||
#y lattice const must be a multiple of aWall
|
|
||||||
variable atrue equal ${dens}^(-1/2)
|
|
||||||
variable atrue equal 0.8^(-1/2)
|
|
||||||
variable ay equal round(${atrue}/${aWall})*${aWall}
|
|
||||||
variable ay equal round(1.11803398874989/${aWall})*${aWall}
|
|
||||||
variable ay equal round(1.11803398874989/1)*${aWall}
|
|
||||||
variable ay equal round(1.11803398874989/1)*1
|
|
||||||
|
|
||||||
#choose x lattice const to give correct density
|
|
||||||
variable ax equal (${ay}*${dens})^(-1)
|
|
||||||
variable ax equal (1*${dens})^(-1)
|
|
||||||
variable ax equal (1*0.8)^(-1)
|
|
||||||
|
|
||||||
#change Lx to be multiple of ax
|
|
||||||
variable Lx1 equal round(${Lx}/${ax})*${ax}
|
|
||||||
variable Lx1 equal round(100/${ax})*${ax}
|
|
||||||
variable Lx1 equal round(100/1.25)*${ax}
|
|
||||||
variable Lx1 equal round(100/1.25)*1.25
|
|
||||||
variable lx2 equal ${Lx1}/2
|
|
||||||
variable lx2 equal 100/2
|
|
||||||
change_box all x final -${lx2} ${lx2} units box
|
|
||||||
change_box all x final -50 ${lx2} units box
|
|
||||||
change_box all x final -50 50 units box
|
|
||||||
orthogonal box = (-50 -20 0) to (50 20 0.1)
|
|
||||||
|
|
||||||
#define new lattice
|
|
||||||
lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
|
||||||
lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
|
||||||
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
|
||||||
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
|
||||||
Lattice spacing in x,y,z = 1.25 1 1
|
|
||||||
|
|
||||||
#fill in rest of box with bulk particles
|
|
||||||
variable delta equal 0.001
|
|
||||||
variable Ldelt equal ${Lhalf}+${delta}
|
|
||||||
variable Ldelt equal 15+${delta}
|
|
||||||
variable Ldelt equal 15+0.001
|
|
||||||
variable dDelt equal ${dhalf}-${delta}
|
|
||||||
variable dDelt equal 10-${delta}
|
|
||||||
variable dDelt equal 10-0.001
|
|
||||||
region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box
|
|
||||||
region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box
|
|
||||||
region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box
|
|
||||||
region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box
|
|
||||||
region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
|
|
||||||
region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
|
|
||||||
region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box
|
|
||||||
region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box
|
|
||||||
region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box
|
|
||||||
|
|
||||||
region bulk union 3 left pipe right
|
|
||||||
create_atoms 1 region bulk
|
|
||||||
Created 2675 atoms
|
|
||||||
|
|
||||||
group bulk type 1
|
|
||||||
2675 atoms in group bulk
|
|
||||||
group wall type 2
|
|
||||||
100 atoms in group wall
|
|
||||||
|
|
||||||
#remove atoms that are too close to wall
|
|
||||||
delete_atoms overlap 0.9 bulk wall
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 10 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 2.8
|
|
||||||
ghost atom cutoff = 2.8
|
|
||||||
binsize = 1.4, bins = 72 29 1
|
|
||||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
|
||||||
(1) command delete_atoms, occasional
|
|
||||||
attributes: full, newton on
|
|
||||||
pair build: full/bin/atomonly
|
|
||||||
stencil: full/bin/2d
|
|
||||||
bin: standard
|
|
||||||
(2) pair lj/cut, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/atomonly/newton
|
|
||||||
stencil: half/bin/2d/newton
|
|
||||||
bin: standard
|
|
||||||
Deleted 0 atoms, new total = 2775
|
|
||||||
|
|
||||||
neighbor 0.3 bin
|
|
||||||
neigh_modify delay 0 every 1 check yes
|
|
||||||
neigh_modify exclude group wall wall
|
|
||||||
|
|
||||||
velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom
|
|
||||||
velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#set up PUT
|
|
||||||
#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172
|
|
||||||
|
|
||||||
#average number of particles per box, Evans and Morriss used 2.0
|
|
||||||
variable NperBox equal 8.0
|
|
||||||
|
|
||||||
#calculate box sizes
|
|
||||||
variable boxSide equal sqrt(${NperBox}/${dens})
|
|
||||||
variable boxSide equal sqrt(8/${dens})
|
|
||||||
variable boxSide equal sqrt(8/0.8)
|
|
||||||
variable nX equal round(lx/${boxSide})
|
|
||||||
variable nX equal round(lx/3.16227766016838)
|
|
||||||
variable nY equal round(ly/${boxSide})
|
|
||||||
variable nY equal round(ly/3.16227766016838)
|
|
||||||
variable dX equal lx/${nX}
|
|
||||||
variable dX equal lx/32
|
|
||||||
variable dY equal ly/${nY}
|
|
||||||
variable dY equal ly/13
|
|
||||||
|
|
||||||
#temperature of fluid (excluding wall)
|
|
||||||
compute myT bulk temp
|
|
||||||
|
|
||||||
#profile-unbiased temperature of fluid
|
|
||||||
compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY}
|
|
||||||
compute myTp bulk temp/profile 1 1 0 xy 32 ${nY}
|
|
||||||
compute myTp bulk temp/profile 1 1 0 xy 32 13
|
|
||||||
|
|
||||||
#thermo setup
|
|
||||||
thermo ${thermo_rate}
|
|
||||||
thermo 10
|
|
||||||
thermo_style custom step c_myT c_myTp etotal press
|
|
||||||
|
|
||||||
#dump initial configuration
|
|
||||||
# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz
|
|
||||||
# dump 56 wall custom 1 wall.init.lammpstrj id type x y z
|
|
||||||
# dump_modify 55 sort id
|
|
||||||
# dump_modify 56 sort id
|
|
||||||
run 0
|
|
||||||
WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 0 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 2.8
|
|
||||||
ghost atom cutoff = 2.8
|
|
||||||
binsize = 1.4, bins = 72 29 1
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair lj/cut, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/atomonly/newton
|
|
||||||
stencil: half/bin/2d/newton
|
|
||||||
bin: standard
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes
|
|
||||||
Step c_myT c_myTp TotEng Press
|
|
||||||
0 2 2.0555109 0.77892922 7.3417096
|
|
||||||
Loop time of 9.53674e-07 on 1 procs for 0 steps with 2775 atoms
|
|
||||||
|
|
||||||
314.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Other | | 9.537e-07 | | |100.00
|
|
||||||
|
|
||||||
Nlocal: 2775 ave 2775 max 2775 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 510 ave 510 max 510 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 26406 ave 26406 max 26406 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
|
|
||||||
Total # of neighbors = 26406
|
|
||||||
Ave neighs/atom = 9.51568
|
|
||||||
Neighbor list builds = 0
|
|
||||||
Dangerous builds = 0
|
|
||||||
# undump 55
|
|
||||||
# undump 56
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#equilibrate without GD
|
|
||||||
|
|
||||||
fix nvt bulk nvt temp $T $T ${tdamp}
|
|
||||||
fix nvt bulk nvt temp 2 $T ${tdamp}
|
|
||||||
fix nvt bulk nvt temp 2 2 ${tdamp}
|
|
||||||
fix nvt bulk nvt temp 2 2 0.1
|
|
||||||
fix_modify nvt temp myTp
|
|
||||||
WARNING: Temperature for fix modify is not for group all (../fix_nh.cpp:1395)
|
|
||||||
fix 2 bulk enforce2d
|
|
||||||
|
|
||||||
run ${equil}
|
|
||||||
run 1000
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes
|
|
||||||
Step c_myT c_myTp TotEng Press
|
|
||||||
0 2 2.0555109 0.77892922 7.3417096
|
|
||||||
10 1.9173594 1.9390034 0.77876976 7.6702228
|
|
||||||
20 1.7033394 1.6974676 0.77977799 8.5614784
|
|
||||||
30 1.5026161 1.4723993 0.78456655 9.4308258
|
|
||||||
40 1.4880481 1.4591602 0.79486693 9.6134304
|
|
||||||
50 1.6192437 1.6150635 0.81109069 9.2592835
|
|
||||||
60 1.7404087 1.7583444 0.82955456 8.952392
|
|
||||||
70 1.7757591 1.8006606 0.8452778 8.9717917
|
|
||||||
80 1.7573847 1.7813629 0.85769389 9.1936368
|
|
||||||
90 1.7491183 1.7726908 0.86882429 9.3712357
|
|
||||||
100 1.7798944 1.8079583 0.88029084 9.3871755
|
|
||||||
110 1.8440582 1.8793133 0.89259397 9.2582848
|
|
||||||
120 1.9191606 1.9673434 0.90533438 9.0680574
|
|
||||||
130 1.9883299 2.0484299 0.91755461 8.88117
|
|
||||||
140 2.0463366 2.1111872 0.92818114 8.7184178
|
|
||||||
150 2.0953769 2.167849 0.93639789 8.5713408
|
|
||||||
160 2.1442147 2.2216228 0.94145082 8.4082835
|
|
||||||
170 2.1797848 2.2631458 0.94246877 8.2767903
|
|
||||||
180 2.1863476 2.2700986 0.93873326 8.2311689
|
|
||||||
190 2.1832866 2.2710551 0.93003012 8.1959062
|
|
||||||
200 2.1937154 2.2868403 0.91642537 8.0842007
|
|
||||||
210 2.2022708 2.2915142 0.89824533 7.9575312
|
|
||||||
220 2.1884715 2.2770564 0.87677613 7.9000591
|
|
||||||
230 2.1671124 2.2496063 0.85409501 7.8673156
|
|
||||||
240 2.1560417 2.2379998 0.83167878 7.8003228
|
|
||||||
250 2.1421449 2.2240624 0.81004723 7.7491508
|
|
||||||
260 2.1172164 2.1971044 0.78931978 7.7457415
|
|
||||||
270 2.0856847 2.1672998 0.76956352 7.7719788
|
|
||||||
280 2.0670685 2.1449303 0.75073364 7.7524614
|
|
||||||
290 2.0639481 2.1428374 0.73258016 7.6727716
|
|
||||||
300 2.055776 2.1361719 0.7147669 7.6095248
|
|
||||||
310 2.038425 2.1209353 0.69722853 7.5797085
|
|
||||||
320 2.0203023 2.1066031 0.68006634 7.5521081
|
|
||||||
330 2.0118478 2.1039797 0.66330302 7.4877535
|
|
||||||
340 2.0159442 2.1096258 0.64673694 7.3761703
|
|
||||||
350 2.0166408 2.1075061 0.63020017 7.2788
|
|
||||||
360 2.0059407 2.0806316 0.61387618 7.2263941
|
|
||||||
370 1.9964281 2.0642074 0.59814148 7.1728041
|
|
||||||
380 1.9918446 2.0567527 0.58303017 7.101597
|
|
||||||
390 1.992835 2.0548138 0.56852431 7.0084774
|
|
||||||
400 2.0012934 2.0615016 0.55438401 6.8865948
|
|
||||||
410 2.0084291 2.073418 0.54034073 6.7697478
|
|
||||||
420 2.007464 2.0786717 0.52617041 6.6849032
|
|
||||||
430 1.9983712 2.0704366 0.51188183 6.6323103
|
|
||||||
440 1.9884651 2.0588515 0.49765394 6.5868356
|
|
||||||
450 1.982221 2.0467396 0.4837102 6.5311681
|
|
||||||
460 1.9738673 2.031238 0.47021649 6.4882783
|
|
||||||
470 1.9574246 2.0060447 0.45740021 6.4814923
|
|
||||||
480 1.9361065 1.9734507 0.44557947 6.4995199
|
|
||||||
490 1.9251024 1.9562469 0.43506067 6.4858343
|
|
||||||
500 1.9279545 1.9572145 0.42577835 6.4274765
|
|
||||||
510 1.9267504 1.9570246 0.41755013 6.3927027
|
|
||||||
520 1.9093405 1.9393872 0.41031829 6.4281888
|
|
||||||
530 1.8820555 1.9060756 0.40432569 6.5099401
|
|
||||||
540 1.86537 1.8912682 0.3999087 6.55843
|
|
||||||
550 1.8694252 1.9043192 0.39717519 6.5337875
|
|
||||||
560 1.8835224 1.9294105 0.39589322 6.4760141
|
|
||||||
570 1.8898719 1.9462433 0.39573596 6.4520041
|
|
||||||
580 1.8887698 1.9472764 0.39649878 6.4602989
|
|
||||||
590 1.8945125 1.9550624 0.39810844 6.4470226
|
|
||||||
600 1.9106571 1.9735939 0.40045321 6.3971026
|
|
||||||
610 1.9273243 1.98509 0.40330026 6.3474421
|
|
||||||
620 1.9351802 1.9888986 0.4064498 6.3340566
|
|
||||||
630 1.9337889 1.9846794 0.40981479 6.3610556
|
|
||||||
640 1.9257018 1.9757153 0.4134641 6.4184721
|
|
||||||
650 1.9204429 1.9718256 0.41750942 6.4679594
|
|
||||||
660 1.9220449 1.9701963 0.42202455 6.4919724
|
|
||||||
670 1.9230578 1.9707406 0.4270412 6.5178484
|
|
||||||
680 1.9204554 1.9740485 0.43255127 6.5572507
|
|
||||||
690 1.9201811 1.9762854 0.43847123 6.5869126
|
|
||||||
700 1.9271511 1.9867455 0.44474356 6.5882669
|
|
||||||
710 1.9418851 2.0042477 0.45120727 6.558573
|
|
||||||
720 1.9544547 2.0186724 0.4576061 6.5338329
|
|
||||||
730 1.9687971 2.0326169 0.46367507 6.4988775
|
|
||||||
740 1.9830308 2.0466267 0.46920367 6.4618136
|
|
||||||
750 1.9936981 2.0526606 0.47397868 6.4367349
|
|
||||||
760 2.0008431 2.0535449 0.47786748 6.4249001
|
|
||||||
770 1.9982133 2.0483219 0.48085757 6.4504786
|
|
||||||
780 1.9841544 2.0311693 0.48306488 6.5200512
|
|
||||||
790 1.9683122 2.0158738 0.48475632 6.5959263
|
|
||||||
800 1.9604618 2.003224 0.48619405 6.6392559
|
|
||||||
810 1.9629155 2.0075077 0.48756075 6.6406486
|
|
||||||
820 1.9683056 2.0110554 0.48883443 6.6269424
|
|
||||||
830 1.975409 2.0189161 0.48995399 6.6030215
|
|
||||||
840 1.9897264 2.035016 0.4907852 6.5485575
|
|
||||||
850 2.0094338 2.0555358 0.49104505 6.4719926
|
|
||||||
860 2.0217589 2.0643603 0.49040437 6.4233305
|
|
||||||
870 2.0147718 2.0641627 0.48866908 6.4491964
|
|
||||||
880 1.9883859 2.0324092 0.48592007 6.5488061
|
|
||||||
890 1.9625853 2.0028776 0.48263002 6.6452734
|
|
||||||
900 1.9520401 1.9889124 0.47925524 6.6808078
|
|
||||||
910 1.9559583 1.9952984 0.47597346 6.6573059
|
|
||||||
920 1.9657244 2.0083503 0.47268726 6.6073704
|
|
||||||
930 1.969288 2.0152339 0.4692054 6.5780416
|
|
||||||
940 1.9652206 2.0116384 0.4654438 6.5769812
|
|
||||||
950 1.9567495 1.9960693 0.46147541 6.5942022
|
|
||||||
960 1.9418452 1.980858 0.45753557 6.6369454
|
|
||||||
970 1.9247196 1.9585585 0.45390337 6.6888821
|
|
||||||
980 1.9128262 1.9481721 0.45090045 6.7198221
|
|
||||||
990 1.9167211 1.9451096 0.44869731 6.6912394
|
|
||||||
1000 1.935529 1.9662384 0.44728238 6.6079829
|
|
||||||
Loop time of 1.307 on 1 procs for 1000 steps with 2775 atoms
|
|
||||||
|
|
||||||
Performance: 66105.601 tau/day, 765.111 timesteps/s
|
|
||||||
98.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0.7676 | 0.7676 | 0.7676 | 0.0 | 58.73
|
|
||||||
Neigh | 0.088947 | 0.088947 | 0.088947 | 0.0 | 6.81
|
|
||||||
Comm | 0.0094135 | 0.0094135 | 0.0094135 | 0.0 | 0.72
|
|
||||||
Output | 0.019547 | 0.019547 | 0.019547 | 0.0 | 1.50
|
|
||||||
Modify | 0.39755 | 0.39755 | 0.39755 | 0.0 | 30.42
|
|
||||||
Other | | 0.02394 | | | 1.83
|
|
||||||
|
|
||||||
Nlocal: 2775 ave 2775 max 2775 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 527 ave 527 max 527 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 24332 ave 24332 max 24332 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
|
|
||||||
Total # of neighbors = 24332
|
|
||||||
Ave neighs/atom = 8.76829
|
|
||||||
Neighbor list builds = 38
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#initialize the COM velocity and run to achieve steady-state
|
|
||||||
|
|
||||||
#calculate velocity to add: V=J/rho_total
|
|
||||||
variable Vadd equal $J*lx*ly/count(bulk)
|
|
||||||
variable Vadd equal 0.1*lx*ly/count(bulk)
|
|
||||||
|
|
||||||
#first remove any COM velocity, then add back the streaming velocity
|
|
||||||
velocity bulk zero linear
|
|
||||||
velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no
|
|
||||||
velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no
|
|
||||||
|
|
||||||
fix GD bulk flow/gauss 1 0 0 #energy yes
|
|
||||||
#fix_modify GD energy yes
|
|
||||||
|
|
||||||
run ${stabil}
|
|
||||||
run 1000
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes
|
|
||||||
Step c_myT c_myTp TotEng Press
|
|
||||||
1000 1.9466974 1.9662384 0.45804438 6.615449
|
|
||||||
1010 1.9605467 1.9815754 0.45717241 6.5545496
|
|
||||||
1020 1.9560139 1.9823875 0.45660431 6.5672421
|
|
||||||
1030 1.9348326 1.9691606 0.45633148 6.6463667
|
|
||||||
1040 1.9167809 1.9449522 0.45657707 6.7139486
|
|
||||||
1050 1.9193541 1.943342 0.45767968 6.7014054
|
|
||||||
1060 1.9410751 1.9720491 0.45967742 6.6150379
|
|
||||||
1070 1.9658493 1.9964883 0.46221539 6.5178418
|
|
||||||
1080 1.9767205 2.0074304 0.46491236 6.4768594
|
|
||||||
1090 1.9714544 2.0003054 0.46759126 6.5026957
|
|
||||||
1100 1.9647035 1.9927455 0.4703109 6.5400181
|
|
||||||
1110 1.9657667 1.9959656 0.47317481 6.5519094
|
|
||||||
1120 1.9706062 1.9980802 0.476185 6.5512675
|
|
||||||
1130 1.9747655 2.0062292 0.47932281 6.554091
|
|
||||||
1140 1.9761245 2.0075076 0.48248327 6.5670381
|
|
||||||
1150 1.9744197 2.0073027 0.48562483 6.5914441
|
|
||||||
1160 1.9722698 2.0046687 0.48874207 6.6165575
|
|
||||||
1170 1.9692145 2.0013845 0.49187442 6.6438115
|
|
||||||
1180 1.9665609 1.9970724 0.49508053 6.6693821
|
|
||||||
1190 1.9625031 1.9908427 0.49843816 6.7002606
|
|
||||||
1200 1.960528 1.993084 0.50203044 6.7237076
|
|
||||||
1210 1.9649156 1.9981485 0.50587066 6.7217755
|
|
||||||
1220 1.9788059 2.0134511 0.50987442 6.6833452
|
|
||||||
1230 1.9952283 2.0343101 0.51379781 6.6340278
|
|
||||||
1240 2.0039391 2.0494196 0.51730872 6.6129751
|
|
||||||
1250 2.0019006 2.0526773 0.52014603 6.6320217
|
|
||||||
1260 1.9974025 2.0528914 0.52221385 6.6601786
|
|
||||||
1270 1.9953949 2.0561121 0.5234754 6.6796142
|
|
||||||
1280 1.9893864 2.0470375 0.5238632 6.7140134
|
|
||||||
1290 1.9694951 2.019253 0.5235093 6.798442
|
|
||||||
1300 1.9473901 1.9965919 0.52280384 6.8863369
|
|
||||||
1310 1.9511151 2.006161 0.52203882 6.8700917
|
|
||||||
1320 1.979341 2.0388959 0.52106938 6.7529595
|
|
||||||
1330 2.0073235 2.0720045 0.51935291 6.6297731
|
|
||||||
1340 2.0202482 2.0841419 0.51624273 6.55803
|
|
||||||
1350 2.0177489 2.0669046 0.51142591 6.5401753
|
|
||||||
1360 2.0069274 2.04717 0.50505824 6.5506533
|
|
||||||
1370 1.994854 2.0311383 0.49743042 6.5633001
|
|
||||||
1380 1.9793176 2.0077184 0.48890503 6.5859072
|
|
||||||
1390 1.9580907 1.9839831 0.48004316 6.6288992
|
|
||||||
1400 1.9415542 1.9594192 0.47143599 6.6534105
|
|
||||||
1410 1.9405188 1.9591825 0.46353105 6.620549
|
|
||||||
1420 1.9504784 1.9730647 0.45640199 6.5471784
|
|
||||||
1430 1.9594158 1.9819854 0.44995052 6.4802874
|
|
||||||
1440 1.9615108 1.9863792 0.44406411 6.44391
|
|
||||||
1450 1.9544127 1.9806249 0.43873409 6.4484818
|
|
||||||
1460 1.9384927 1.9614953 0.43408605 6.4905259
|
|
||||||
1470 1.9214711 1.9425515 0.43035972 6.5390434
|
|
||||||
1480 1.9170761 1.9300809 0.42775046 6.5409502
|
|
||||||
1490 1.9242904 1.9385731 0.42631007 6.5005057
|
|
||||||
1500 1.9307133 1.9446119 0.4258836 6.4660754
|
|
||||||
1510 1.9303576 1.9435389 0.42633976 6.4616415
|
|
||||||
1520 1.9248382 1.9408306 0.42765441 6.4832059
|
|
||||||
1530 1.9120794 1.9278123 0.42986958 6.5380951
|
|
||||||
1540 1.899122 1.9125029 0.4331459 6.5987181
|
|
||||||
1550 1.9030956 1.9187821 0.43765067 6.6012019
|
|
||||||
1560 1.9182961 1.9453782 0.44330842 6.5674222
|
|
||||||
1570 1.9272863 1.9613129 0.44971962 6.5619794
|
|
||||||
1580 1.931679 1.9698134 0.45643436 6.5780809
|
|
||||||
1590 1.9336692 1.9728684 0.46314752 6.6035675
|
|
||||||
1600 1.938895 1.9823104 0.46964519 6.6138411
|
|
||||||
1610 1.9510838 1.9937914 0.47568807 6.5916989
|
|
||||||
1620 1.9685387 2.0087314 0.48102339 6.5424432
|
|
||||||
1630 1.9894416 2.0295715 0.48539861 6.4757743
|
|
||||||
1640 1.9982699 2.0426949 0.48860411 6.4512418
|
|
||||||
1650 1.9901677 2.0363837 0.49062424 6.4879985
|
|
||||||
1660 1.9814216 2.0291326 0.49172203 6.5248034
|
|
||||||
1670 1.9812111 2.0293629 0.49218297 6.5253876
|
|
||||||
1680 1.9903906 2.0408376 0.49211747 6.4852787
|
|
||||||
1690 2.0015983 2.0538843 0.4914581 6.4325081
|
|
||||||
1700 2.009727 2.0503407 0.49011163 6.3878577
|
|
||||||
1710 2.0167822 2.0531002 0.4881688 6.3477054
|
|
||||||
1720 2.0189021 2.0445033 0.48564798 6.3273063
|
|
||||||
1730 2.0129713 2.0354734 0.48270666 6.3385541
|
|
||||||
1740 2.0048763 2.0199836 0.47950943 6.3587586
|
|
||||||
1750 1.9994843 2.0085942 0.47624908 6.3694119
|
|
||||||
1760 1.9940025 2.0072098 0.47305283 6.3816295
|
|
||||||
1770 1.9817431 1.9974066 0.46994486 6.4224295
|
|
||||||
1780 1.965171 1.9805421 0.4670779 6.4832371
|
|
||||||
1790 1.9474078 1.9662605 0.46466823 6.5516524
|
|
||||||
1800 1.9286009 1.9507751 0.46292015 6.6263366
|
|
||||||
1810 1.9168087 1.9437961 0.46199899 6.6759834
|
|
||||||
1820 1.9107555 1.9306323 0.46204129 6.7029857
|
|
||||||
1830 1.9135569 1.930819 0.46316484 6.6949737
|
|
||||||
1840 1.9345342 1.9553413 0.46532704 6.6178988
|
|
||||||
1850 1.9630349 1.9929548 0.46822932 6.5137866
|
|
||||||
1860 1.9820746 2.0188839 0.47135068 6.4489028
|
|
||||||
1870 1.9834959 2.0217145 0.47427805 6.4552721
|
|
||||||
1880 1.9731564 2.0120293 0.47692755 6.5100251
|
|
||||||
1890 1.9653605 2.0070624 0.47943307 6.5594235
|
|
||||||
1900 1.9630631 2.0095488 0.48192185 6.5912876
|
|
||||||
1910 1.9556778 2.0035006 0.48443107 6.6437189
|
|
||||||
1920 1.9408788 1.9828296 0.48710124 6.7228731
|
|
||||||
1930 1.9292393 1.9732376 0.49025327 6.7880112
|
|
||||||
1940 1.9263081 1.9708942 0.49416086 6.8162477
|
|
||||||
1950 1.9358375 1.976323 0.49899895 6.7946964
|
|
||||||
1960 1.9520543 1.9936542 0.50485961 6.7467481
|
|
||||||
1970 1.9709064 2.0108957 0.51165586 6.6909455
|
|
||||||
1980 1.9940026 2.0375428 0.51918913 6.6250463
|
|
||||||
1990 2.0171261 2.0646948 0.52705638 6.5649879
|
|
||||||
2000 2.0302713 2.0802515 0.53472229 6.5470853
|
|
||||||
Loop time of 1.34877 on 1 procs for 1000 steps with 2775 atoms
|
|
||||||
|
|
||||||
Performance: 64058.154 tau/day, 741.414 timesteps/s
|
|
||||||
98.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0.77091 | 0.77091 | 0.77091 | 0.0 | 57.16
|
|
||||||
Neigh | 0.085835 | 0.085835 | 0.085835 | 0.0 | 6.36
|
|
||||||
Comm | 0.0093472 | 0.0093472 | 0.0093472 | 0.0 | 0.69
|
|
||||||
Output | 0.019047 | 0.019047 | 0.019047 | 0.0 | 1.41
|
|
||||||
Modify | 0.43949 | 0.43949 | 0.43949 | 0.0 | 32.58
|
|
||||||
Other | | 0.02415 | | | 1.79
|
|
||||||
|
|
||||||
Nlocal: 2775 ave 2775 max 2775 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 530 ave 530 max 530 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 24404 ave 24404 max 24404 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
|
|
||||||
Total # of neighbors = 24404
|
|
||||||
Ave neighs/atom = 8.79423
|
|
||||||
Neighbor list builds = 36
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#collect data
|
|
||||||
|
|
||||||
#print the applied force and total flux to ensure conservation of Jx
|
|
||||||
variable Fapp equal f_GD[1]
|
|
||||||
compute vxBulk bulk reduce sum vx
|
|
||||||
compute vyBulk bulk reduce sum vy
|
|
||||||
variable invVol equal 1.0/(lx*ly)
|
|
||||||
variable jx equal c_vxBulk*${invVol}
|
|
||||||
variable jx equal c_vxBulk*0.00025
|
|
||||||
variable jy equal c_vyBulk*${invVol}
|
|
||||||
variable jy equal c_vyBulk*0.00025
|
|
||||||
variable curr_step equal step
|
|
||||||
variable p_Fapp format Fapp %.3f
|
|
||||||
variable p_jx format jx %.5g
|
|
||||||
variable p_jy format jy %.5g
|
|
||||||
fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
|
|
||||||
fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
|
|
||||||
|
|
||||||
#compute IK1 pressure profile
|
|
||||||
#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627
|
|
||||||
#use profile-unbiased temperature to remove the streaming velocity
|
|
||||||
#from the kinetic part of the pressure
|
|
||||||
compute spa bulk stress/atom myTp
|
|
||||||
|
|
||||||
#for the pressure profile, use the same grid as the PUT
|
|
||||||
compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box
|
|
||||||
compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box
|
|
||||||
|
|
||||||
#output pressure profile and other profiles
|
|
||||||
#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where
|
|
||||||
#V is the volume of a slice
|
|
||||||
fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
|
|
||||||
fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
|
|
||||||
|
|
||||||
#compute velocity profile across the pipe with a finer grid
|
|
||||||
variable dYnew equal ${dY}/10
|
|
||||||
variable dYnew equal 3.07692307692308/10
|
|
||||||
compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe
|
|
||||||
compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe
|
|
||||||
fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite
|
|
||||||
fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite
|
|
||||||
|
|
||||||
#full trajectory
|
|
||||||
# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z
|
|
||||||
# dump_modify 7 sort id
|
|
||||||
|
|
||||||
run ${run}
|
|
||||||
run 2000
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 5.174 | 5.174 | 5.174 Mbytes
|
|
||||||
Step c_myT c_myTp TotEng Press
|
|
||||||
2000 2.0302713 2.0802515 0.53472229 6.5470853
|
|
||||||
2010 2.0303419 2.0806129 0.54177821 6.5808527
|
|
||||||
2020 2.0245167 2.0792991 0.54803523 6.6381758
|
|
||||||
2030 2.0169072 2.065404 0.55345227 6.7008962
|
|
||||||
2040 2.0052526 2.0513817 0.55818432 6.7755868
|
|
||||||
2050 1.9953625 2.0366564 0.56245299 6.8382569
|
|
||||||
2060 2.0003667 2.0462109 0.56649798 6.8390557
|
|
||||||
2070 2.0238288 2.0834553 0.57023651 6.7637821
|
|
||||||
2080 2.045765 2.1173867 0.5730944 6.6861321
|
|
||||||
2090 2.0563925 2.1370313 0.57430831 6.6422581
|
|
||||||
2100 2.0620437 2.1480293 0.57319824 6.6080678
|
|
||||||
2110 2.0584437 2.1473173 0.56913597 6.5969671
|
|
||||||
2120 2.0532825 2.1393006 0.56154606 6.5799417
|
|
||||||
2130 2.0450143 2.1234905 0.55009479 6.5616931
|
|
||||||
2140 2.0229537 2.1004507 0.53511912 6.5854627
|
|
||||||
2150 1.9832556 2.0554119 0.51812599 6.6700591
|
|
||||||
2160 1.9444027 2.0110758 0.50163049 6.7534263
|
|
||||||
2170 1.9267473 1.9904528 0.48759542 6.76469
|
|
||||||
2180 1.9262232 1.9809353 0.47662199 6.7188048
|
|
||||||
2190 1.9359331 1.9854626 0.46836289 6.6406985
|
|
||||||
2200 1.9530728 1.9971865 0.4620366 6.5409943
|
|
||||||
2210 1.9657099 2.0056761 0.45692542 6.4639397
|
|
||||||
2220 1.9661008 2.0046161 0.45253504 6.4388081
|
|
||||||
2230 1.9574696 1.9947839 0.44864257 6.4528687
|
|
||||||
2240 1.9522284 1.9922663 0.44518111 6.4584458
|
|
||||||
2250 1.9518203 1.9950044 0.44206844 6.4491722
|
|
||||||
2260 1.9527908 1.9989603 0.4391804 6.4377912
|
|
||||||
2270 1.9452231 1.9932538 0.43643529 6.4607516
|
|
||||||
2280 1.9249341 1.9759145 0.43392742 6.5320897
|
|
||||||
2290 1.9087464 1.960985 0.43186869 6.5875176
|
|
||||||
2300 1.9103289 1.964731 0.43039882 6.5765021
|
|
||||||
2310 1.9182062 1.9783814 0.4294628 6.5434488
|
|
||||||
2320 1.9204281 1.9796609 0.42889381 6.5351629
|
|
||||||
2330 1.916279 1.9720659 0.42866391 6.5562619
|
|
||||||
2340 1.9062866 1.9587628 0.42890166 6.6033936
|
|
||||||
2350 1.9024117 1.9566812 0.42979475 6.6297969
|
|
||||||
2360 1.908153 1.960687 0.43141898 6.6215148
|
|
||||||
2370 1.9115944 1.9663337 0.43376668 6.6236491
|
|
||||||
2380 1.9086193 1.9637867 0.4367911 6.6529568
|
|
||||||
2390 1.9039907 1.9610268 0.44053991 6.6926343
|
|
||||||
2400 1.9034944 1.9609406 0.44508818 6.7193441
|
|
||||||
2410 1.9151521 1.9753641 0.4504458 6.7015957
|
|
||||||
2420 1.9314517 1.9925924 0.45644382 6.6669864
|
|
||||||
2430 1.9433933 2.0062001 0.46277215 6.6481527
|
|
||||||
2440 1.9504631 2.0087015 0.46917209 6.6475757
|
|
||||||
2450 1.9550092 2.0094957 0.47550077 6.6556459
|
|
||||||
2460 1.9609689 2.0147997 0.48170141 6.6568282
|
|
||||||
2470 1.9730726 2.0328127 0.48763131 6.6337545
|
|
||||||
2480 1.9838562 2.0466643 0.49303443 6.6143423
|
|
||||||
2490 1.9862031 2.0473388 0.49767532 6.6245587
|
|
||||||
2500 1.9817565 2.0455432 0.50152131 6.6573893
|
|
||||||
2510 1.9785788 2.0423176 0.50460561 6.6808042
|
|
||||||
2520 1.9823006 2.0505106 0.50696374 6.6726698
|
|
||||||
2530 1.9907178 2.0553736 0.50852885 6.6402082
|
|
||||||
2540 2.0005205 2.0690408 0.50919421 6.5966469
|
|
||||||
2550 2.0079727 2.0809816 0.50872954 6.5568419
|
|
||||||
2560 2.0133128 2.096271 0.50682742 6.5199915
|
|
||||||
2570 2.0141298 2.0990846 0.50314491 6.4951991
|
|
||||||
2580 2.0048768 2.0874319 0.49750096 6.5025454
|
|
||||||
2590 1.9876498 2.0638834 0.4900201 6.5333038
|
|
||||||
2600 1.9720479 2.0474479 0.48105263 6.5527157
|
|
||||||
2610 1.9596324 2.0355764 0.4710001 6.5547867
|
|
||||||
2620 1.9439039 2.0106405 0.46046644 6.5646889
|
|
||||||
2630 1.9321714 1.9924346 0.45021207 6.5589454
|
|
||||||
2640 1.9349378 1.9923889 0.44082833 6.5012762
|
|
||||||
2650 1.9448459 2.0069955 0.43251999 6.4228945
|
|
||||||
2660 1.9446852 2.0050346 0.42525857 6.3921645
|
|
||||||
2670 1.9325594 1.9884937 0.41913362 6.4169726
|
|
||||||
2680 1.9121687 1.9606084 0.41434428 6.4821267
|
|
||||||
2690 1.8923613 1.9339385 0.41105831 6.5517615
|
|
||||||
2700 1.8807238 1.9191801 0.40933203 6.5949447
|
|
||||||
2710 1.8797367 1.918758 0.40906826 6.6001309
|
|
||||||
2720 1.8852961 1.9225996 0.41005611 6.58191
|
|
||||||
2730 1.8937478 1.9357751 0.41204348 6.5541946
|
|
||||||
2740 1.9019279 1.9449374 0.41476104 6.5278575
|
|
||||||
2750 1.9134396 1.9614415 0.41800066 6.4890769
|
|
||||||
2760 1.9339551 1.9913779 0.42150554 6.4159805
|
|
||||||
2770 1.9597826 2.0220988 0.42487614 6.3232273
|
|
||||||
2780 1.9753466 2.0414907 0.42771704 6.2715489
|
|
||||||
2790 1.9720423 2.0402016 0.42976012 6.2949288
|
|
||||||
2800 1.9512893 2.0172711 0.43109201 6.3878056
|
|
||||||
2810 1.9232302 1.9870212 0.4320928 6.5101822
|
|
||||||
2820 1.9026913 1.959286 0.43326424 6.6024967
|
|
||||||
2830 1.9033802 1.9621601 0.43500785 6.6114274
|
|
||||||
2840 1.9214292 1.9833838 0.43733454 6.5508757
|
|
||||||
2850 1.9440563 2.0087358 0.43995473 6.4713496
|
|
||||||
2860 1.9589136 2.0211107 0.44250821 6.4232961
|
|
||||||
2870 1.9588429 2.022232 0.44477492 6.4355861
|
|
||||||
2880 1.9456751 2.0009513 0.44676532 6.5021746
|
|
||||||
2890 1.9269155 1.9782929 0.44877858 6.5926531
|
|
||||||
2900 1.9125262 1.9554653 0.45121196 6.6657808
|
|
||||||
2910 1.9187855 1.9572583 0.45438665 6.6589954
|
|
||||||
2920 1.9416112 1.9784518 0.45839212 6.5888253
|
|
||||||
2930 1.9613579 1.9975032 0.46305788 6.5317424
|
|
||||||
2940 1.9711529 2.0102501 0.46812715 6.5148943
|
|
||||||
2950 1.9707865 2.0133283 0.47345305 6.5389543
|
|
||||||
2960 1.9732526 2.0170219 0.47898306 6.5537092
|
|
||||||
2970 1.9871126 2.0282309 0.48465048 6.5273492
|
|
||||||
2980 1.9953449 2.0404164 0.49032615 6.5227325
|
|
||||||
2990 1.9909136 2.037246 0.49581423 6.5664662
|
|
||||||
3000 1.9872474 2.0307896 0.5011051 6.6060698
|
|
||||||
3010 1.9944885 2.0457308 0.5062755 6.6031811
|
|
||||||
3020 2.0103461 2.0599491 0.51116655 6.5654871
|
|
||||||
3030 2.0240275 2.077342 0.5154921 6.5358852
|
|
||||||
3040 2.0205953 2.0704954 0.51898871 6.5708937
|
|
||||||
3050 2.0032184 2.0463036 0.52167438 6.657741
|
|
||||||
3060 1.9889341 2.0265284 0.52385964 6.7329171
|
|
||||||
3070 1.9795143 2.0201081 0.52588914 6.7881407
|
|
||||||
3080 1.9713362 2.0123964 0.52797238 6.8362858
|
|
||||||
3090 1.9692592 2.0106467 0.53025538 6.8616268
|
|
||||||
3100 1.9722487 2.0259566 0.53277635 6.8689898
|
|
||||||
3110 1.9703322 2.0314028 0.53541462 6.895271
|
|
||||||
3120 1.9594359 2.0217586 0.53808512 6.954362
|
|
||||||
3130 1.9524729 2.0148628 0.5409094 6.9965233
|
|
||||||
3140 1.9630381 2.0260807 0.54400259 6.968082
|
|
||||||
3150 1.9902598 2.0549364 0.54720142 6.8698796
|
|
||||||
3160 2.029715 2.0923999 0.54995378 6.7193678
|
|
||||||
3170 2.0581544 2.1137995 0.55150021 6.6053728
|
|
||||||
3180 2.0590739 2.1156535 0.55123668 6.5919337
|
|
||||||
3190 2.0400682 2.0904721 0.54894762 6.6505757
|
|
||||||
3200 2.0211594 2.0682597 0.54484887 6.7046468
|
|
||||||
3210 2.012712 2.0573114 0.53922056 6.7130909
|
|
||||||
3220 2.0102377 2.0554701 0.53219251 6.6919068
|
|
||||||
3230 2.0017671 2.0505068 0.52386898 6.6867054
|
|
||||||
3240 1.9854941 2.0308454 0.51458791 6.7051085
|
|
||||||
3250 1.9767009 2.0187664 0.50486784 6.6916859
|
|
||||||
3260 1.9771733 2.0186148 0.49510721 6.6424305
|
|
||||||
3270 1.974003 2.0136039 0.48556818 6.6078903
|
|
||||||
3280 1.9627665 1.9989122 0.47654147 6.6067904
|
|
||||||
3290 1.9491247 1.9826247 0.46834865 6.6186709
|
|
||||||
3300 1.9414093 1.9724941 0.4612122 6.6119543
|
|
||||||
3310 1.9433901 1.9715482 0.45518879 6.570612
|
|
||||||
3320 1.9518837 1.9872717 0.45010165 6.5057947
|
|
||||||
3330 1.9603874 1.9957995 0.44566728 6.4428221
|
|
||||||
3340 1.9615962 1.9945224 0.44167201 6.4099339
|
|
||||||
3350 1.955918 1.9882866 0.4380303 6.4070811
|
|
||||||
3360 1.9463445 1.9763654 0.43480086 6.4241178
|
|
||||||
3370 1.9411187 1.9683081 0.4320639 6.4296577
|
|
||||||
3380 1.9407224 1.9580074 0.42991627 6.4210217
|
|
||||||
3390 1.9402479 1.9530447 0.42850635 6.4170536
|
|
||||||
3400 1.9451337 1.9555771 0.42787382 6.3990336
|
|
||||||
3410 1.9475586 1.9612432 0.42797178 6.3953251
|
|
||||||
3420 1.9434927 1.960532 0.4286887 6.4210681
|
|
||||||
3430 1.9339054 1.9516935 0.43003682 6.4707071
|
|
||||||
3440 1.9234014 1.9464343 0.43214965 6.5248205
|
|
||||||
3450 1.9191846 1.9444777 0.43516361 6.5558451
|
|
||||||
3460 1.923218 1.9594606 0.43915611 6.5549213
|
|
||||||
3470 1.9328953 1.9792053 0.44397878 6.5327637
|
|
||||||
3480 1.9466227 1.9997841 0.44940599 6.4954965
|
|
||||||
3490 1.9672374 2.0323219 0.45511091 6.4358811
|
|
||||||
3500 1.9799622 2.0479841 0.46061029 6.4100217
|
|
||||||
3510 1.97942 2.0493411 0.46551964 6.4368108
|
|
||||||
3520 1.9725674 2.0389602 0.46976379 6.4892049
|
|
||||||
3530 1.9716429 2.0389798 0.47344292 6.5200899
|
|
||||||
3540 1.9789254 2.0486162 0.47659268 6.5198212
|
|
||||||
3550 1.9872455 2.0577517 0.47908145 6.5144586
|
|
||||||
3560 1.9808834 2.0545963 0.48076562 6.5633282
|
|
||||||
3570 1.9637165 2.0335394 0.4816783 6.6519124
|
|
||||||
3580 1.9407948 2.0067763 0.48212406 6.7605224
|
|
||||||
3590 1.9226532 1.9825887 0.482523 6.8486041
|
|
||||||
3600 1.9135067 1.9700999 0.48328349 6.8977859
|
|
||||||
3610 1.9157516 1.9720028 0.48470695 6.8977759
|
|
||||||
3620 1.9328644 2.0001154 0.48688778 6.8361569
|
|
||||||
3630 1.9568208 2.0243053 0.48963934 6.7442107
|
|
||||||
3640 1.9824587 2.0569223 0.49259174 6.6452535
|
|
||||||
3650 1.9934906 2.0686357 0.49529039 6.6020218
|
|
||||||
3660 1.9996281 2.0747054 0.49732231 6.5808905
|
|
||||||
3670 2.0038801 2.0772777 0.49838834 6.5691351
|
|
||||||
3680 1.9941342 2.0712365 0.49826732 6.6088108
|
|
||||||
3690 1.9762631 2.0486045 0.49689109 6.6739003
|
|
||||||
3700 1.9667284 2.034939 0.49438991 6.7010266
|
|
||||||
3710 1.9615089 2.0168112 0.49093736 6.7040385
|
|
||||||
3720 1.9613068 2.014749 0.48673789 6.6813041
|
|
||||||
3730 1.9731234 2.0290151 0.48175562 6.6096756
|
|
||||||
3740 1.9829764 2.0461907 0.47575174 6.5424752
|
|
||||||
3750 1.9792839 2.0454423 0.4685271 6.5237752
|
|
||||||
3760 1.9599692 2.0287015 0.46022485 6.5616271
|
|
||||||
3770 1.935975 2.0000948 0.45138017 6.6136471
|
|
||||||
3780 1.9236713 1.9834802 0.44262437 6.6187463
|
|
||||||
3790 1.9268004 1.9875324 0.43430113 6.5632772
|
|
||||||
3800 1.932601 1.9872595 0.42649564 6.4984765
|
|
||||||
3810 1.9322506 1.9814946 0.41928856 6.4617054
|
|
||||||
3820 1.9245737 1.9712821 0.4128224 6.461378
|
|
||||||
3830 1.9148568 1.9555602 0.40721003 6.4774474
|
|
||||||
3840 1.9049961 1.9457058 0.4026118 6.5029211
|
|
||||||
3850 1.8915137 1.9265199 0.39914962 6.5483592
|
|
||||||
3860 1.8784768 1.9058055 0.39700153 6.5962113
|
|
||||||
3870 1.8755236 1.9045158 0.39632769 6.6079033
|
|
||||||
3880 1.8841415 1.9140314 0.39710038 6.5777071
|
|
||||||
3890 1.8958027 1.9331148 0.39918951 6.5359786
|
|
||||||
3900 1.9064085 1.948805 0.40238576 6.4998591
|
|
||||||
3910 1.9185092 1.9675732 0.40647523 6.4610682
|
|
||||||
3920 1.9342595 1.9933225 0.41115392 6.4122308
|
|
||||||
3930 1.9482664 2.007614 0.41603495 6.373684
|
|
||||||
3940 1.9557759 2.0161573 0.42084462 6.3636707
|
|
||||||
3950 1.9573687 2.016612 0.42540421 6.3804123
|
|
||||||
3960 1.9486354 1.9998027 0.42974612 6.4404943
|
|
||||||
3970 1.936214 1.980721 0.43412037 6.5176787
|
|
||||||
3980 1.9274292 1.9595259 0.43885103 6.5846211
|
|
||||||
3990 1.9233082 1.953436 0.44425085 6.6354275
|
|
||||||
4000 1.9289165 1.9522097 0.45042645 6.6513836
|
|
||||||
Loop time of 2.49114 on 1 procs for 2000 steps with 2775 atoms
|
|
||||||
|
|
||||||
Performance: 69365.902 tau/day, 802.846 timesteps/s
|
|
||||||
98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 1.4257 | 1.4257 | 1.4257 | 0.0 | 57.23
|
|
||||||
Neigh | 0.15501 | 0.15501 | 0.15501 | 0.0 | 6.22
|
|
||||||
Comm | 0.017206 | 0.017206 | 0.017206 | 0.0 | 0.69
|
|
||||||
Output | 0.034183 | 0.034183 | 0.034183 | 0.0 | 1.37
|
|
||||||
Modify | 0.81531 | 0.81531 | 0.81531 | 0.0 | 32.73
|
|
||||||
Other | | 0.04374 | | | 1.76
|
|
||||||
|
|
||||||
Nlocal: 2775 ave 2775 max 2775 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 517 ave 517 max 517 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 24366 ave 24366 max 24366 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
|
|
||||||
Total # of neighbors = 24366
|
|
||||||
Ave neighs/atom = 8.78054
|
|
||||||
Neighbor list builds = 72
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
Please see the log.cite file for references relevant to this simulation
|
|
||||||
|
|
||||||
Total wall time: 0:00:05
|
|
||||||
@ -1,909 +0,0 @@
|
|||||||
LAMMPS (6 Jul 2017)
|
|
||||||
using 1 OpenMP thread(s) per MPI task
|
|
||||||
#LAMMPS input script
|
|
||||||
#in.GD
|
|
||||||
#see README for details
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
#initialize variables
|
|
||||||
clear
|
|
||||||
using 1 OpenMP thread(s) per MPI task
|
|
||||||
|
|
||||||
#frequency for outputting info (timesteps)
|
|
||||||
variable dump_rate equal 50
|
|
||||||
variable thermo_rate equal 10
|
|
||||||
|
|
||||||
#equilibration time (timesteps)
|
|
||||||
variable equil equal 1000
|
|
||||||
|
|
||||||
#stabilization time (timesteps to reach steady-state)
|
|
||||||
variable stabil equal 1000
|
|
||||||
|
|
||||||
#data collection time (timesteps)
|
|
||||||
variable run equal 2000
|
|
||||||
|
|
||||||
#length of pipe
|
|
||||||
variable L equal 30
|
|
||||||
|
|
||||||
#width of pipe
|
|
||||||
variable d equal 20
|
|
||||||
|
|
||||||
#flux (mass/sigma*tau)
|
|
||||||
variable J equal 0.1
|
|
||||||
|
|
||||||
#simulation box dimensions
|
|
||||||
variable Lx equal 100
|
|
||||||
variable Ly equal 40
|
|
||||||
|
|
||||||
#bulk fluid density
|
|
||||||
variable dens equal 0.8
|
|
||||||
|
|
||||||
#lattice spacing for wall atoms
|
|
||||||
variable aWall equal 1.0 #1.7472
|
|
||||||
|
|
||||||
#timestep
|
|
||||||
variable ts equal 0.001
|
|
||||||
|
|
||||||
#temperature
|
|
||||||
variable T equal 2.0
|
|
||||||
|
|
||||||
#thermostat damping constant
|
|
||||||
variable tdamp equal ${ts}*100
|
|
||||||
variable tdamp equal 0.001*100
|
|
||||||
|
|
||||||
units lj
|
|
||||||
dimension 2
|
|
||||||
atom_style atomic
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
#create box
|
|
||||||
|
|
||||||
#create lattice with the spacing aWall
|
|
||||||
variable rhoWall equal ${aWall}^(-2)
|
|
||||||
variable rhoWall equal 1^(-2)
|
|
||||||
lattice sq ${rhoWall}
|
|
||||||
lattice sq 1
|
|
||||||
Lattice spacing in x,y,z = 1 1 1
|
|
||||||
|
|
||||||
#modify input dimensions to be multiples of aWall
|
|
||||||
variable L1 equal round($L/${aWall})*${aWall}
|
|
||||||
variable L1 equal round(30/${aWall})*${aWall}
|
|
||||||
variable L1 equal round(30/1)*${aWall}
|
|
||||||
variable L1 equal round(30/1)*1
|
|
||||||
variable d1 equal round($d/${aWall})*${aWall}
|
|
||||||
variable d1 equal round(20/${aWall})*${aWall}
|
|
||||||
variable d1 equal round(20/1)*${aWall}
|
|
||||||
variable d1 equal round(20/1)*1
|
|
||||||
variable Ly1 equal round(${Ly}/${aWall})*${aWall}
|
|
||||||
variable Ly1 equal round(40/${aWall})*${aWall}
|
|
||||||
variable Ly1 equal round(40/1)*${aWall}
|
|
||||||
variable Ly1 equal round(40/1)*1
|
|
||||||
variable Lx1 equal round(${Lx}/${aWall})*${aWall}
|
|
||||||
variable Lx1 equal round(100/${aWall})*${aWall}
|
|
||||||
variable Lx1 equal round(100/1)*${aWall}
|
|
||||||
variable Lx1 equal round(100/1)*1
|
|
||||||
|
|
||||||
#create simulation box
|
|
||||||
variable lx2 equal ${Lx1}/2
|
|
||||||
variable lx2 equal 100/2
|
|
||||||
variable ly2 equal ${Ly1}/2
|
|
||||||
variable ly2 equal 40/2
|
|
||||||
region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box
|
|
||||||
region simbox block -50 ${lx2} -${ly2} ${ly2} 0 0.1 units box
|
|
||||||
region simbox block -50 50 -${ly2} ${ly2} 0 0.1 units box
|
|
||||||
region simbox block -50 50 -20 ${ly2} 0 0.1 units box
|
|
||||||
region simbox block -50 50 -20 20 0 0.1 units box
|
|
||||||
create_box 2 simbox
|
|
||||||
Created orthogonal box = (-50 -20 0) to (50 20 0.1)
|
|
||||||
4 by 1 by 1 MPI processor grid
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#set up potential
|
|
||||||
|
|
||||||
mass 1 1.0 #fluid atoms
|
|
||||||
mass 2 1.0 #wall atoms
|
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
|
||||||
pair_modify shift yes
|
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
|
||||||
pair_coeff 1 2 1.0 1.0 1.12246
|
|
||||||
pair_coeff 2 2 0.0 0.0
|
|
||||||
|
|
||||||
neigh_modify exclude type 2 2
|
|
||||||
|
|
||||||
timestep ${ts}
|
|
||||||
timestep 0.001
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#create atoms
|
|
||||||
|
|
||||||
#create wall atoms everywhere
|
|
||||||
create_atoms 2 box
|
|
||||||
Created 4000 atoms
|
|
||||||
|
|
||||||
#define region which is "walled off"
|
|
||||||
variable dhalf equal ${d1}/2
|
|
||||||
variable dhalf equal 20/2
|
|
||||||
variable Lhalf equal ${L1}/2
|
|
||||||
variable Lhalf equal 30/2
|
|
||||||
region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
|
|
||||||
region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box
|
|
||||||
region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box
|
|
||||||
region walltop block -15 15 10 EDGE -0.1 0.1 units box
|
|
||||||
region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
|
|
||||||
region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box
|
|
||||||
region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box
|
|
||||||
region wallbot block -15 15 EDGE -10 -0.1 0.1 units box
|
|
||||||
region outsidewall union 2 walltop wallbot side out
|
|
||||||
|
|
||||||
#remove wall atoms outside wall region
|
|
||||||
group outside region outsidewall
|
|
||||||
3349 atoms in group outside
|
|
||||||
delete_atoms group outside
|
|
||||||
Deleted 3349 atoms, new total = 651
|
|
||||||
|
|
||||||
#remove wall atoms that aren't on edge of wall region
|
|
||||||
variable x1 equal ${Lhalf}-${aWall}
|
|
||||||
variable x1 equal 15-${aWall}
|
|
||||||
variable x1 equal 15-1
|
|
||||||
variable y1 equal ${dhalf}+${aWall}
|
|
||||||
variable y1 equal 10+${aWall}
|
|
||||||
variable y1 equal 10+1
|
|
||||||
region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box
|
|
||||||
region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box
|
|
||||||
region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box
|
|
||||||
region insideTop block -14 14 11 EDGE -0.1 0.1 units box
|
|
||||||
region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box
|
|
||||||
region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box
|
|
||||||
region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box
|
|
||||||
region insideBot block -14 14 EDGE -11 -0.1 0.1 units box
|
|
||||||
region insideWall union 2 insideTop insideBot
|
|
||||||
group insideWall region insideWall
|
|
||||||
551 atoms in group insideWall
|
|
||||||
delete_atoms group insideWall
|
|
||||||
Deleted 551 atoms, new total = 100
|
|
||||||
|
|
||||||
#define new lattice, to give correct fluid density
|
|
||||||
#y lattice const must be a multiple of aWall
|
|
||||||
variable atrue equal ${dens}^(-1/2)
|
|
||||||
variable atrue equal 0.8^(-1/2)
|
|
||||||
variable ay equal round(${atrue}/${aWall})*${aWall}
|
|
||||||
variable ay equal round(1.11803398874989/${aWall})*${aWall}
|
|
||||||
variable ay equal round(1.11803398874989/1)*${aWall}
|
|
||||||
variable ay equal round(1.11803398874989/1)*1
|
|
||||||
|
|
||||||
#choose x lattice const to give correct density
|
|
||||||
variable ax equal (${ay}*${dens})^(-1)
|
|
||||||
variable ax equal (1*${dens})^(-1)
|
|
||||||
variable ax equal (1*0.8)^(-1)
|
|
||||||
|
|
||||||
#change Lx to be multiple of ax
|
|
||||||
variable Lx1 equal round(${Lx}/${ax})*${ax}
|
|
||||||
variable Lx1 equal round(100/${ax})*${ax}
|
|
||||||
variable Lx1 equal round(100/1.25)*${ax}
|
|
||||||
variable Lx1 equal round(100/1.25)*1.25
|
|
||||||
variable lx2 equal ${Lx1}/2
|
|
||||||
variable lx2 equal 100/2
|
|
||||||
change_box all x final -${lx2} ${lx2} units box
|
|
||||||
change_box all x final -50 ${lx2} units box
|
|
||||||
change_box all x final -50 50 units box
|
|
||||||
orthogonal box = (-50 -20 0) to (50 20 0.1)
|
|
||||||
|
|
||||||
#define new lattice
|
|
||||||
lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
|
||||||
lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
|
||||||
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
|
||||||
lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0
|
|
||||||
Lattice spacing in x,y,z = 1.25 1 1
|
|
||||||
|
|
||||||
#fill in rest of box with bulk particles
|
|
||||||
variable delta equal 0.001
|
|
||||||
variable Ldelt equal ${Lhalf}+${delta}
|
|
||||||
variable Ldelt equal 15+${delta}
|
|
||||||
variable Ldelt equal 15+0.001
|
|
||||||
variable dDelt equal ${dhalf}-${delta}
|
|
||||||
variable dDelt equal 10-${delta}
|
|
||||||
variable dDelt equal 10-0.001
|
|
||||||
region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box
|
|
||||||
region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box
|
|
||||||
region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box
|
|
||||||
region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box
|
|
||||||
region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
|
|
||||||
region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box
|
|
||||||
region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box
|
|
||||||
region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box
|
|
||||||
region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box
|
|
||||||
|
|
||||||
region bulk union 3 left pipe right
|
|
||||||
create_atoms 1 region bulk
|
|
||||||
Created 2675 atoms
|
|
||||||
|
|
||||||
group bulk type 1
|
|
||||||
2675 atoms in group bulk
|
|
||||||
group wall type 2
|
|
||||||
100 atoms in group wall
|
|
||||||
|
|
||||||
#remove atoms that are too close to wall
|
|
||||||
delete_atoms overlap 0.9 bulk wall
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 10 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 2.8
|
|
||||||
ghost atom cutoff = 2.8
|
|
||||||
binsize = 1.4, bins = 72 29 1
|
|
||||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
|
||||||
(1) command delete_atoms, occasional
|
|
||||||
attributes: full, newton on
|
|
||||||
pair build: full/bin/atomonly
|
|
||||||
stencil: full/bin/2d
|
|
||||||
bin: standard
|
|
||||||
(2) pair lj/cut, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/atomonly/newton
|
|
||||||
stencil: half/bin/2d/newton
|
|
||||||
bin: standard
|
|
||||||
Deleted 0 atoms, new total = 2775
|
|
||||||
|
|
||||||
neighbor 0.3 bin
|
|
||||||
neigh_modify delay 0 every 1 check yes
|
|
||||||
neigh_modify exclude group wall wall
|
|
||||||
|
|
||||||
velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom
|
|
||||||
velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#set up PUT
|
|
||||||
#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172
|
|
||||||
|
|
||||||
#average number of particles per box, Evans and Morriss used 2.0
|
|
||||||
variable NperBox equal 8.0
|
|
||||||
|
|
||||||
#calculate box sizes
|
|
||||||
variable boxSide equal sqrt(${NperBox}/${dens})
|
|
||||||
variable boxSide equal sqrt(8/${dens})
|
|
||||||
variable boxSide equal sqrt(8/0.8)
|
|
||||||
variable nX equal round(lx/${boxSide})
|
|
||||||
variable nX equal round(lx/3.16227766016838)
|
|
||||||
variable nY equal round(ly/${boxSide})
|
|
||||||
variable nY equal round(ly/3.16227766016838)
|
|
||||||
variable dX equal lx/${nX}
|
|
||||||
variable dX equal lx/32
|
|
||||||
variable dY equal ly/${nY}
|
|
||||||
variable dY equal ly/13
|
|
||||||
|
|
||||||
#temperature of fluid (excluding wall)
|
|
||||||
compute myT bulk temp
|
|
||||||
|
|
||||||
#profile-unbiased temperature of fluid
|
|
||||||
compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY}
|
|
||||||
compute myTp bulk temp/profile 1 1 0 xy 32 ${nY}
|
|
||||||
compute myTp bulk temp/profile 1 1 0 xy 32 13
|
|
||||||
|
|
||||||
#thermo setup
|
|
||||||
thermo ${thermo_rate}
|
|
||||||
thermo 10
|
|
||||||
thermo_style custom step c_myT c_myTp etotal press
|
|
||||||
|
|
||||||
#dump initial configuration
|
|
||||||
# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz
|
|
||||||
# dump 56 wall custom 1 wall.init.lammpstrj id type x y z
|
|
||||||
# dump_modify 55 sort id
|
|
||||||
# dump_modify 56 sort id
|
|
||||||
run 0
|
|
||||||
WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 0 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 2.8
|
|
||||||
ghost atom cutoff = 2.8
|
|
||||||
binsize = 1.4, bins = 72 29 1
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair lj/cut, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/atomonly/newton
|
|
||||||
stencil: half/bin/2d/newton
|
|
||||||
bin: standard
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.067 | 3.068 | 3.07 Mbytes
|
|
||||||
Step c_myT c_myTp TotEng Press
|
|
||||||
0 2 2.0555109 0.77892922 7.3417096
|
|
||||||
Loop time of 4.35114e-06 on 4 procs for 0 steps with 2775 atoms
|
|
||||||
|
|
||||||
114.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Other | | 4.351e-06 | | |100.00
|
|
||||||
|
|
||||||
Nlocal: 693.75 ave 800 max 578 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
Nghost: 266.25 ave 325 max 198 min
|
|
||||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
|
||||||
Neighs: 6601.5 ave 8000 max 5147 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
|
|
||||||
Total # of neighbors = 26406
|
|
||||||
Ave neighs/atom = 9.51568
|
|
||||||
Neighbor list builds = 0
|
|
||||||
Dangerous builds = 0
|
|
||||||
# undump 55
|
|
||||||
# undump 56
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#equilibrate without GD
|
|
||||||
|
|
||||||
fix nvt bulk nvt temp $T $T ${tdamp}
|
|
||||||
fix nvt bulk nvt temp 2 $T ${tdamp}
|
|
||||||
fix nvt bulk nvt temp 2 2 ${tdamp}
|
|
||||||
fix nvt bulk nvt temp 2 2 0.1
|
|
||||||
fix_modify nvt temp myTp
|
|
||||||
WARNING: Temperature for fix modify is not for group all (../fix_nh.cpp:1395)
|
|
||||||
fix 2 bulk enforce2d
|
|
||||||
|
|
||||||
run ${equil}
|
|
||||||
run 1000
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.13 | 3.131 | 3.132 Mbytes
|
|
||||||
Step c_myT c_myTp TotEng Press
|
|
||||||
0 2 2.0555109 0.77892922 7.3417096
|
|
||||||
10 1.9173594 1.9390034 0.77876976 7.6702228
|
|
||||||
20 1.7033394 1.6974676 0.77977799 8.5614784
|
|
||||||
30 1.5026161 1.4723993 0.78456655 9.4308258
|
|
||||||
40 1.4880481 1.4591602 0.79486693 9.6134304
|
|
||||||
50 1.6192437 1.6150635 0.81109069 9.2592835
|
|
||||||
60 1.7404087 1.7583444 0.82955456 8.952392
|
|
||||||
70 1.7757591 1.8006606 0.8452778 8.9717917
|
|
||||||
80 1.7573847 1.7813629 0.85769389 9.1936368
|
|
||||||
90 1.7491183 1.7726908 0.86882429 9.3712357
|
|
||||||
100 1.7798944 1.8079583 0.88029084 9.3871755
|
|
||||||
110 1.8440582 1.8793133 0.89259397 9.2582848
|
|
||||||
120 1.9191606 1.9673434 0.90533438 9.0680574
|
|
||||||
130 1.9883299 2.0484299 0.91755461 8.88117
|
|
||||||
140 2.0463366 2.1111872 0.92818114 8.7184178
|
|
||||||
150 2.0953769 2.167849 0.93639789 8.5713408
|
|
||||||
160 2.1442147 2.2216228 0.94145082 8.4082835
|
|
||||||
170 2.1797848 2.2631458 0.94246877 8.2767903
|
|
||||||
180 2.1863476 2.2700986 0.93873326 8.2311689
|
|
||||||
190 2.1832866 2.2710551 0.93003012 8.1959062
|
|
||||||
200 2.1937154 2.2868403 0.91642537 8.0842007
|
|
||||||
210 2.2022708 2.2915142 0.89824533 7.9575312
|
|
||||||
220 2.1884715 2.2770564 0.87677613 7.9000591
|
|
||||||
230 2.1671124 2.2496063 0.85409501 7.8673156
|
|
||||||
240 2.1560417 2.2379998 0.83167878 7.8003228
|
|
||||||
250 2.1421449 2.2240624 0.81004723 7.7491508
|
|
||||||
260 2.1172164 2.1971044 0.78931978 7.7457415
|
|
||||||
270 2.0856847 2.1672998 0.76956352 7.7719788
|
|
||||||
280 2.0670685 2.1449303 0.75073364 7.7524614
|
|
||||||
290 2.0639481 2.1428374 0.73258016 7.6727716
|
|
||||||
300 2.055776 2.1361719 0.7147669 7.6095248
|
|
||||||
310 2.038425 2.1209353 0.69722853 7.5797085
|
|
||||||
320 2.0203023 2.1066031 0.68006634 7.5521081
|
|
||||||
330 2.0118478 2.1039797 0.66330302 7.4877535
|
|
||||||
340 2.0159442 2.1096258 0.64673694 7.3761703
|
|
||||||
350 2.0166408 2.1075061 0.63020017 7.2788
|
|
||||||
360 2.0059407 2.0806316 0.61387618 7.2263941
|
|
||||||
370 1.9964281 2.0642074 0.59814148 7.1728041
|
|
||||||
380 1.9918446 2.0567527 0.58303017 7.101597
|
|
||||||
390 1.992835 2.0548138 0.56852431 7.0084774
|
|
||||||
400 2.0012934 2.0615016 0.55438401 6.8865948
|
|
||||||
410 2.0084291 2.073418 0.54034073 6.7697478
|
|
||||||
420 2.007464 2.0786717 0.52617041 6.6849032
|
|
||||||
430 1.9983712 2.0704366 0.51188183 6.6323103
|
|
||||||
440 1.9884651 2.0588515 0.49765394 6.5868356
|
|
||||||
450 1.982221 2.0467396 0.4837102 6.5311681
|
|
||||||
460 1.9738673 2.031238 0.47021649 6.4882783
|
|
||||||
470 1.9574246 2.0060447 0.45740021 6.4814923
|
|
||||||
480 1.9361065 1.9734507 0.44557947 6.4995199
|
|
||||||
490 1.9251024 1.9562469 0.43506067 6.4858343
|
|
||||||
500 1.9279545 1.9572145 0.42577835 6.4274765
|
|
||||||
510 1.9267504 1.9570246 0.41755013 6.3927027
|
|
||||||
520 1.9093405 1.9393872 0.41031829 6.4281888
|
|
||||||
530 1.8820555 1.9060756 0.40432569 6.5099401
|
|
||||||
540 1.86537 1.8912682 0.3999087 6.55843
|
|
||||||
550 1.8694252 1.9043192 0.39717519 6.5337875
|
|
||||||
560 1.8835224 1.9294105 0.39589322 6.4760141
|
|
||||||
570 1.8898719 1.9462433 0.39573596 6.4520041
|
|
||||||
580 1.8887698 1.9472764 0.39649878 6.4602989
|
|
||||||
590 1.8945125 1.9550624 0.39810844 6.4470226
|
|
||||||
600 1.9106571 1.9735939 0.40045321 6.3971026
|
|
||||||
610 1.9273243 1.98509 0.40330026 6.3474421
|
|
||||||
620 1.9351802 1.9888986 0.4064498 6.3340566
|
|
||||||
630 1.9337889 1.9846794 0.40981479 6.3610556
|
|
||||||
640 1.9257018 1.9757153 0.4134641 6.4184721
|
|
||||||
650 1.9204429 1.9718256 0.41750942 6.4679594
|
|
||||||
660 1.9220449 1.9701963 0.42202455 6.4919724
|
|
||||||
670 1.9230578 1.9707406 0.4270412 6.5178484
|
|
||||||
680 1.9204554 1.9740485 0.43255127 6.5572507
|
|
||||||
690 1.9201811 1.9762854 0.43847123 6.5869126
|
|
||||||
700 1.9271511 1.9867455 0.44474356 6.5882669
|
|
||||||
710 1.9418851 2.0042477 0.45120727 6.558573
|
|
||||||
720 1.9544547 2.0186724 0.4576061 6.5338329
|
|
||||||
730 1.9687971 2.0326169 0.46367507 6.4988775
|
|
||||||
740 1.9830308 2.0466267 0.46920367 6.4618136
|
|
||||||
750 1.9936981 2.0526606 0.47397868 6.4367349
|
|
||||||
760 2.0008431 2.0535449 0.47786748 6.4249001
|
|
||||||
770 1.9982133 2.0483219 0.48085757 6.4504786
|
|
||||||
780 1.9841544 2.0311693 0.48306488 6.5200512
|
|
||||||
790 1.9683122 2.0158738 0.48475632 6.5959263
|
|
||||||
800 1.9604618 2.003224 0.48619405 6.6392559
|
|
||||||
810 1.9629155 2.0075077 0.48756075 6.6406486
|
|
||||||
820 1.9683056 2.0110554 0.48883443 6.6269424
|
|
||||||
830 1.975409 2.0189161 0.48995399 6.6030215
|
|
||||||
840 1.9897264 2.035016 0.4907852 6.5485575
|
|
||||||
850 2.0094338 2.0555358 0.49104505 6.4719926
|
|
||||||
860 2.0217589 2.0643603 0.49040437 6.4233305
|
|
||||||
870 2.0147718 2.0641627 0.48866908 6.4491964
|
|
||||||
880 1.9883859 2.0324092 0.48592007 6.5488061
|
|
||||||
890 1.9625853 2.0028776 0.48263002 6.6452734
|
|
||||||
900 1.9520401 1.9889124 0.47925524 6.6808078
|
|
||||||
910 1.9559583 1.9952984 0.47597346 6.6573059
|
|
||||||
920 1.9657244 2.0083503 0.47268726 6.6073704
|
|
||||||
930 1.969288 2.0152339 0.4692054 6.5780416
|
|
||||||
940 1.9652206 2.0116384 0.4654438 6.5769812
|
|
||||||
950 1.9567495 1.9960693 0.46147541 6.5942022
|
|
||||||
960 1.9418452 1.980858 0.45753557 6.6369454
|
|
||||||
970 1.9247196 1.9585585 0.45390337 6.6888821
|
|
||||||
980 1.9128262 1.9481721 0.45090045 6.7198221
|
|
||||||
990 1.9167211 1.9451096 0.44869731 6.6912394
|
|
||||||
1000 1.935529 1.9662384 0.44728238 6.6079829
|
|
||||||
Loop time of 0.474418 on 4 procs for 1000 steps with 2775 atoms
|
|
||||||
|
|
||||||
Performance: 182118.045 tau/day, 2107.848 timesteps/s
|
|
||||||
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0.13953 | 0.19068 | 0.23764 | 10.4 | 40.19
|
|
||||||
Neigh | 0.016439 | 0.022345 | 0.027069 | 3.2 | 4.71
|
|
||||||
Comm | 0.018215 | 0.068071 | 0.12178 | 18.6 | 14.35
|
|
||||||
Output | 0.011982 | 0.012633 | 0.013047 | 0.4 | 2.66
|
|
||||||
Modify | 0.14494 | 0.15597 | 0.16628 | 2.4 | 32.88
|
|
||||||
Other | | 0.02472 | | | 5.21
|
|
||||||
|
|
||||||
Nlocal: 693.75 ave 800 max 584 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
Nghost: 255.5 ave 323 max 192 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
|
||||||
Neighs: 6083 ave 7384 max 4742 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
|
|
||||||
Total # of neighbors = 24332
|
|
||||||
Ave neighs/atom = 8.76829
|
|
||||||
Neighbor list builds = 38
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#initialize the COM velocity and run to achieve steady-state
|
|
||||||
|
|
||||||
#calculate velocity to add: V=J/rho_total
|
|
||||||
variable Vadd equal $J*lx*ly/count(bulk)
|
|
||||||
variable Vadd equal 0.1*lx*ly/count(bulk)
|
|
||||||
|
|
||||||
#first remove any COM velocity, then add back the streaming velocity
|
|
||||||
velocity bulk zero linear
|
|
||||||
velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no
|
|
||||||
velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no
|
|
||||||
|
|
||||||
fix GD bulk flow/gauss 1 0 0 #energy yes
|
|
||||||
#fix_modify GD energy yes
|
|
||||||
|
|
||||||
run ${stabil}
|
|
||||||
run 1000
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.13 | 3.131 | 3.132 Mbytes
|
|
||||||
Step c_myT c_myTp TotEng Press
|
|
||||||
1000 1.9466974 1.9662384 0.45804438 6.615449
|
|
||||||
1010 1.9605467 1.9815754 0.45717241 6.5545496
|
|
||||||
1020 1.9560139 1.9823875 0.45660431 6.5672421
|
|
||||||
1030 1.9348326 1.9691606 0.45633148 6.6463667
|
|
||||||
1040 1.9167809 1.9449522 0.45657707 6.7139486
|
|
||||||
1050 1.9193541 1.943342 0.45767968 6.7014054
|
|
||||||
1060 1.9410751 1.9720491 0.45967742 6.6150379
|
|
||||||
1070 1.9658493 1.9964883 0.46221539 6.5178418
|
|
||||||
1080 1.9767205 2.0074304 0.46491236 6.4768594
|
|
||||||
1090 1.9714544 2.0003054 0.46759126 6.5026957
|
|
||||||
1100 1.9647035 1.9927455 0.4703109 6.5400181
|
|
||||||
1110 1.9657667 1.9959656 0.47317481 6.5519094
|
|
||||||
1120 1.9706062 1.9980802 0.476185 6.5512675
|
|
||||||
1130 1.9747655 2.0062292 0.47932281 6.554091
|
|
||||||
1140 1.9761245 2.0075076 0.48248327 6.5670381
|
|
||||||
1150 1.9744197 2.0073027 0.48562483 6.5914441
|
|
||||||
1160 1.9722698 2.0046687 0.48874207 6.6165575
|
|
||||||
1170 1.9692145 2.0013845 0.49187442 6.6438115
|
|
||||||
1180 1.9665609 1.9970724 0.49508053 6.6693821
|
|
||||||
1190 1.9625031 1.9908427 0.49843816 6.7002606
|
|
||||||
1200 1.960528 1.993084 0.50203044 6.7237076
|
|
||||||
1210 1.9649156 1.9981485 0.50587066 6.7217755
|
|
||||||
1220 1.9788059 2.0134511 0.50987442 6.6833452
|
|
||||||
1230 1.9952283 2.0343101 0.51379781 6.6340278
|
|
||||||
1240 2.0039391 2.0494196 0.51730872 6.6129751
|
|
||||||
1250 2.0019006 2.0526773 0.52014603 6.6320217
|
|
||||||
1260 1.9974025 2.0528914 0.52221385 6.6601786
|
|
||||||
1270 1.9953949 2.0561121 0.5234754 6.6796142
|
|
||||||
1280 1.9893864 2.0470375 0.5238632 6.7140134
|
|
||||||
1290 1.9694951 2.019253 0.5235093 6.798442
|
|
||||||
1300 1.9473901 1.9965919 0.52280384 6.8863369
|
|
||||||
1310 1.9511151 2.006161 0.52203882 6.8700917
|
|
||||||
1320 1.979341 2.0388959 0.52106938 6.7529595
|
|
||||||
1330 2.0073235 2.0720045 0.51935291 6.6297731
|
|
||||||
1340 2.0202482 2.0841419 0.51624273 6.55803
|
|
||||||
1350 2.0177489 2.0669046 0.51142591 6.5401753
|
|
||||||
1360 2.0069274 2.04717 0.50505824 6.5506533
|
|
||||||
1370 1.994854 2.0311383 0.49743042 6.5633001
|
|
||||||
1380 1.9793176 2.0077184 0.48890503 6.5859072
|
|
||||||
1390 1.9580907 1.9839831 0.48004316 6.6288992
|
|
||||||
1400 1.9415542 1.9594192 0.47143599 6.6534105
|
|
||||||
1410 1.9405188 1.9591825 0.46353105 6.620549
|
|
||||||
1420 1.9504784 1.9730647 0.45640199 6.5471784
|
|
||||||
1430 1.9594158 1.9819854 0.44995052 6.4802874
|
|
||||||
1440 1.9615108 1.9863792 0.44406411 6.44391
|
|
||||||
1450 1.9544127 1.9806249 0.43873409 6.4484818
|
|
||||||
1460 1.9384927 1.9614953 0.43408605 6.4905259
|
|
||||||
1470 1.9214711 1.9425515 0.43035972 6.5390434
|
|
||||||
1480 1.9170761 1.9300809 0.42775046 6.5409502
|
|
||||||
1490 1.9242904 1.9385731 0.42631007 6.5005057
|
|
||||||
1500 1.9307133 1.9446119 0.4258836 6.4660754
|
|
||||||
1510 1.9303576 1.9435389 0.42633976 6.4616415
|
|
||||||
1520 1.9248382 1.9408306 0.42765441 6.4832059
|
|
||||||
1530 1.9120794 1.9278123 0.42986958 6.5380951
|
|
||||||
1540 1.899122 1.9125029 0.4331459 6.5987181
|
|
||||||
1550 1.9030956 1.9187821 0.43765067 6.6012019
|
|
||||||
1560 1.9182961 1.9453782 0.44330842 6.5674222
|
|
||||||
1570 1.9272863 1.9613129 0.44971962 6.5619794
|
|
||||||
1580 1.931679 1.9698134 0.45643436 6.5780809
|
|
||||||
1590 1.9336692 1.9728684 0.46314752 6.6035675
|
|
||||||
1600 1.938895 1.9823104 0.46964519 6.6138411
|
|
||||||
1610 1.9510838 1.9937914 0.47568807 6.5916989
|
|
||||||
1620 1.9685387 2.0087314 0.48102339 6.5424432
|
|
||||||
1630 1.9894416 2.0295715 0.48539861 6.4757743
|
|
||||||
1640 1.9982699 2.0426949 0.48860411 6.4512418
|
|
||||||
1650 1.9901677 2.0363837 0.49062424 6.4879985
|
|
||||||
1660 1.9814216 2.0291326 0.49172203 6.5248034
|
|
||||||
1670 1.9812111 2.0293629 0.49218297 6.5253876
|
|
||||||
1680 1.9903906 2.0408376 0.49211747 6.4852787
|
|
||||||
1690 2.0015983 2.0538843 0.4914581 6.4325081
|
|
||||||
1700 2.009727 2.0503407 0.49011163 6.3878577
|
|
||||||
1710 2.0167822 2.0531002 0.4881688 6.3477054
|
|
||||||
1720 2.0189021 2.0445033 0.48564798 6.3273063
|
|
||||||
1730 2.0129713 2.0354734 0.48270666 6.3385541
|
|
||||||
1740 2.0048763 2.0199836 0.47950943 6.3587586
|
|
||||||
1750 1.9994843 2.0085942 0.47624908 6.3694119
|
|
||||||
1760 1.9940025 2.0072098 0.47305283 6.3816295
|
|
||||||
1770 1.9817431 1.9974066 0.46994486 6.4224295
|
|
||||||
1780 1.965171 1.9805421 0.4670779 6.4832371
|
|
||||||
1790 1.9474078 1.9662605 0.46466823 6.5516524
|
|
||||||
1800 1.9286009 1.9507751 0.46292015 6.6263366
|
|
||||||
1810 1.9168087 1.9437961 0.46199899 6.6759834
|
|
||||||
1820 1.9107555 1.9306323 0.46204129 6.7029857
|
|
||||||
1830 1.9135569 1.930819 0.46316484 6.6949737
|
|
||||||
1840 1.9345342 1.9553413 0.46532704 6.6178988
|
|
||||||
1850 1.9630349 1.9929548 0.46822932 6.5137866
|
|
||||||
1860 1.9820746 2.0188839 0.47135068 6.4489028
|
|
||||||
1870 1.9834959 2.0217145 0.47427805 6.4552721
|
|
||||||
1880 1.9731564 2.0120293 0.47692755 6.5100251
|
|
||||||
1890 1.9653605 2.0070624 0.47943307 6.5594235
|
|
||||||
1900 1.9630631 2.0095488 0.48192185 6.5912876
|
|
||||||
1910 1.9556778 2.0035006 0.48443107 6.6437189
|
|
||||||
1920 1.9408788 1.9828296 0.48710124 6.7228731
|
|
||||||
1930 1.9292393 1.9732376 0.49025327 6.7880112
|
|
||||||
1940 1.9263081 1.9708942 0.49416086 6.8162477
|
|
||||||
1950 1.9358375 1.976323 0.49899895 6.7946964
|
|
||||||
1960 1.9520543 1.9936542 0.50485961 6.7467481
|
|
||||||
1970 1.9709064 2.0108957 0.51165586 6.6909455
|
|
||||||
1980 1.9940026 2.0375428 0.51918913 6.6250463
|
|
||||||
1990 2.0171261 2.0646948 0.52705638 6.5649879
|
|
||||||
2000 2.0302713 2.0802515 0.53472229 6.5470853
|
|
||||||
Loop time of 0.482133 on 4 procs for 1000 steps with 2775 atoms
|
|
||||||
|
|
||||||
Performance: 179203.608 tau/day, 2074.116 timesteps/s
|
|
||||||
98.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0.1081 | 0.18228 | 0.23471 | 12.7 | 37.81
|
|
||||||
Neigh | 0.011443 | 0.019967 | 0.025651 | 4.1 | 4.14
|
|
||||||
Comm | 0.01639 | 0.073615 | 0.15634 | 21.8 | 15.27
|
|
||||||
Output | 0.011851 | 0.012603 | 0.013287 | 0.5 | 2.61
|
|
||||||
Modify | 0.14306 | 0.16634 | 0.18018 | 3.6 | 34.50
|
|
||||||
Other | | 0.02733 | | | 5.67
|
|
||||||
|
|
||||||
Nlocal: 693.75 ave 797 max 590 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
Nghost: 259 ave 320 max 195 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
Neighs: 6101 ave 7360 max 4853 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
|
|
||||||
Total # of neighbors = 24404
|
|
||||||
Ave neighs/atom = 8.79423
|
|
||||||
Neighbor list builds = 36
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
#collect data
|
|
||||||
|
|
||||||
#print the applied force and total flux to ensure conservation of Jx
|
|
||||||
variable Fapp equal f_GD[1]
|
|
||||||
compute vxBulk bulk reduce sum vx
|
|
||||||
compute vyBulk bulk reduce sum vy
|
|
||||||
variable invVol equal 1.0/(lx*ly)
|
|
||||||
variable jx equal c_vxBulk*${invVol}
|
|
||||||
variable jx equal c_vxBulk*0.00025
|
|
||||||
variable jy equal c_vyBulk*${invVol}
|
|
||||||
variable jy equal c_vyBulk*0.00025
|
|
||||||
variable curr_step equal step
|
|
||||||
variable p_Fapp format Fapp %.3f
|
|
||||||
variable p_jx format jx %.5g
|
|
||||||
variable p_jy format jy %.5g
|
|
||||||
fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
|
|
||||||
fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy"
|
|
||||||
|
|
||||||
#compute IK1 pressure profile
|
|
||||||
#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627
|
|
||||||
#use profile-unbiased temperature to remove the streaming velocity
|
|
||||||
#from the kinetic part of the pressure
|
|
||||||
compute spa bulk stress/atom myTp
|
|
||||||
|
|
||||||
#for the pressure profile, use the same grid as the PUT
|
|
||||||
compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box
|
|
||||||
compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box
|
|
||||||
|
|
||||||
#output pressure profile and other profiles
|
|
||||||
#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where
|
|
||||||
#V is the volume of a slice
|
|
||||||
fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
|
|
||||||
fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite
|
|
||||||
|
|
||||||
#compute velocity profile across the pipe with a finer grid
|
|
||||||
variable dYnew equal ${dY}/10
|
|
||||||
variable dYnew equal 3.07692307692308/10
|
|
||||||
compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe
|
|
||||||
compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe
|
|
||||||
fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite
|
|
||||||
fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite
|
|
||||||
|
|
||||||
#full trajectory
|
|
||||||
# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z
|
|
||||||
# dump_modify 7 sort id
|
|
||||||
|
|
||||||
run ${run}
|
|
||||||
run 2000
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 5.138 | 5.139 | 5.14 Mbytes
|
|
||||||
Step c_myT c_myTp TotEng Press
|
|
||||||
2000 2.0302713 2.0802515 0.53472229 6.5470853
|
|
||||||
2010 2.0303419 2.0806129 0.54177821 6.5808527
|
|
||||||
2020 2.0245167 2.0792991 0.54803523 6.6381758
|
|
||||||
2030 2.0169072 2.065404 0.55345227 6.7008962
|
|
||||||
2040 2.0052526 2.0513817 0.55818432 6.7755868
|
|
||||||
2050 1.9953625 2.0366564 0.56245299 6.8382569
|
|
||||||
2060 2.0003667 2.0462109 0.56649798 6.8390557
|
|
||||||
2070 2.0238288 2.0834553 0.57023651 6.7637821
|
|
||||||
2080 2.045765 2.1173867 0.5730944 6.6861321
|
|
||||||
2090 2.0563925 2.1370313 0.57430831 6.6422581
|
|
||||||
2100 2.0620437 2.1480293 0.57319824 6.6080678
|
|
||||||
2110 2.0584437 2.1473173 0.56913597 6.5969671
|
|
||||||
2120 2.0532825 2.1393006 0.56154606 6.5799417
|
|
||||||
2130 2.0450143 2.1234905 0.55009479 6.5616931
|
|
||||||
2140 2.0229537 2.1004507 0.53511912 6.5854627
|
|
||||||
2150 1.9832556 2.0554119 0.51812599 6.6700591
|
|
||||||
2160 1.9444027 2.0110758 0.50163049 6.7534263
|
|
||||||
2170 1.9267473 1.9904528 0.48759542 6.76469
|
|
||||||
2180 1.9262232 1.9809353 0.47662199 6.7188048
|
|
||||||
2190 1.9359331 1.9854626 0.46836289 6.6406985
|
|
||||||
2200 1.9530728 1.9971865 0.4620366 6.5409943
|
|
||||||
2210 1.9657099 2.0056761 0.45692542 6.4639397
|
|
||||||
2220 1.9661008 2.0046161 0.45253504 6.4388081
|
|
||||||
2230 1.9574696 1.9947839 0.44864257 6.4528687
|
|
||||||
2240 1.9522284 1.9922663 0.44518111 6.4584458
|
|
||||||
2250 1.9518203 1.9950044 0.44206844 6.4491722
|
|
||||||
2260 1.9527908 1.9989603 0.4391804 6.4377912
|
|
||||||
2270 1.9452231 1.9932538 0.43643529 6.4607516
|
|
||||||
2280 1.9249341 1.9759145 0.43392742 6.5320897
|
|
||||||
2290 1.9087464 1.960985 0.43186869 6.5875176
|
|
||||||
2300 1.9103289 1.964731 0.43039882 6.5765021
|
|
||||||
2310 1.9182062 1.9783814 0.4294628 6.5434488
|
|
||||||
2320 1.9204281 1.9796609 0.42889381 6.5351629
|
|
||||||
2330 1.916279 1.9720659 0.42866391 6.5562619
|
|
||||||
2340 1.9062866 1.9587628 0.42890166 6.6033936
|
|
||||||
2350 1.9024117 1.9566812 0.42979475 6.6297969
|
|
||||||
2360 1.908153 1.960687 0.43141898 6.6215148
|
|
||||||
2370 1.9115944 1.9663337 0.43376668 6.6236491
|
|
||||||
2380 1.9086193 1.9637867 0.4367911 6.6529568
|
|
||||||
2390 1.9039907 1.9610268 0.44053991 6.6926343
|
|
||||||
2400 1.9034944 1.9609406 0.44508818 6.7193441
|
|
||||||
2410 1.9151521 1.9753641 0.4504458 6.7015957
|
|
||||||
2420 1.9314517 1.9925924 0.45644382 6.6669864
|
|
||||||
2430 1.9433933 2.0062001 0.46277215 6.6481527
|
|
||||||
2440 1.9504631 2.0087015 0.46917209 6.6475757
|
|
||||||
2450 1.9550092 2.0094957 0.47550077 6.6556459
|
|
||||||
2460 1.9609689 2.0147997 0.48170141 6.6568282
|
|
||||||
2470 1.9730726 2.0328127 0.48763131 6.6337545
|
|
||||||
2480 1.9838562 2.0466643 0.49303443 6.6143423
|
|
||||||
2490 1.9862031 2.0473388 0.49767532 6.6245587
|
|
||||||
2500 1.9817565 2.0455432 0.50152131 6.6573893
|
|
||||||
2510 1.9785788 2.0423176 0.50460561 6.6808042
|
|
||||||
2520 1.9823006 2.0505106 0.50696374 6.6726698
|
|
||||||
2530 1.9907178 2.0553736 0.50852885 6.6402082
|
|
||||||
2540 2.0005205 2.0690408 0.50919421 6.5966469
|
|
||||||
2550 2.0079727 2.0809816 0.50872954 6.5568419
|
|
||||||
2560 2.0133128 2.096271 0.50682742 6.5199915
|
|
||||||
2570 2.0141298 2.0990846 0.50314491 6.4951991
|
|
||||||
2580 2.0048768 2.0874319 0.49750096 6.5025454
|
|
||||||
2590 1.9876498 2.0638834 0.4900201 6.5333038
|
|
||||||
2600 1.9720479 2.0474479 0.48105263 6.5527157
|
|
||||||
2610 1.9596324 2.0355764 0.4710001 6.5547867
|
|
||||||
2620 1.9439039 2.0106405 0.46046644 6.5646889
|
|
||||||
2630 1.9321714 1.9924346 0.45021207 6.5589454
|
|
||||||
2640 1.9349378 1.9923889 0.44082833 6.5012762
|
|
||||||
2650 1.9448459 2.0069955 0.43251999 6.4228945
|
|
||||||
2660 1.9446852 2.0050346 0.42525857 6.3921645
|
|
||||||
2670 1.9325594 1.9884937 0.41913362 6.4169726
|
|
||||||
2680 1.9121687 1.9606084 0.41434428 6.4821267
|
|
||||||
2690 1.8923613 1.9339385 0.41105831 6.5517615
|
|
||||||
2700 1.8807238 1.9191801 0.40933203 6.5949447
|
|
||||||
2710 1.8797367 1.918758 0.40906826 6.6001309
|
|
||||||
2720 1.8852961 1.9225996 0.41005611 6.58191
|
|
||||||
2730 1.8937478 1.9357751 0.41204348 6.5541946
|
|
||||||
2740 1.9019279 1.9449374 0.41476104 6.5278575
|
|
||||||
2750 1.9134396 1.9614415 0.41800066 6.4890769
|
|
||||||
2760 1.9339551 1.9913779 0.42150554 6.4159805
|
|
||||||
2770 1.9597826 2.0220988 0.42487614 6.3232273
|
|
||||||
2780 1.9753466 2.0414907 0.42771704 6.2715489
|
|
||||||
2790 1.9720423 2.0402016 0.42976012 6.2949288
|
|
||||||
2800 1.9512893 2.0172711 0.43109201 6.3878056
|
|
||||||
2810 1.9232302 1.9870212 0.4320928 6.5101822
|
|
||||||
2820 1.9026913 1.959286 0.43326424 6.6024967
|
|
||||||
2830 1.9033802 1.9621601 0.43500785 6.6114274
|
|
||||||
2840 1.9214292 1.9833838 0.43733454 6.5508757
|
|
||||||
2850 1.9440563 2.0087358 0.43995473 6.4713496
|
|
||||||
2860 1.9589136 2.0211107 0.44250821 6.4232961
|
|
||||||
2870 1.9588429 2.022232 0.44477492 6.4355861
|
|
||||||
2880 1.9456751 2.0009513 0.44676532 6.5021746
|
|
||||||
2890 1.9269155 1.9782929 0.44877858 6.5926531
|
|
||||||
2900 1.9125262 1.9554653 0.45121196 6.6657808
|
|
||||||
2910 1.9187855 1.9572583 0.45438665 6.6589954
|
|
||||||
2920 1.9416112 1.9784518 0.45839212 6.5888253
|
|
||||||
2930 1.9613579 1.9975032 0.46305788 6.5317424
|
|
||||||
2940 1.9711529 2.0102501 0.46812715 6.5148943
|
|
||||||
2950 1.9707865 2.0133283 0.47345305 6.5389543
|
|
||||||
2960 1.9732526 2.0170219 0.47898306 6.5537092
|
|
||||||
2970 1.9871126 2.0282309 0.48465048 6.5273492
|
|
||||||
2980 1.9953449 2.0404164 0.49032615 6.5227325
|
|
||||||
2990 1.9909136 2.037246 0.49581423 6.5664662
|
|
||||||
3000 1.9872474 2.0307896 0.50110509 6.6060698
|
|
||||||
3010 1.9944885 2.0457308 0.5062755 6.6031811
|
|
||||||
3020 2.0103461 2.0599491 0.51116655 6.5654871
|
|
||||||
3030 2.0240275 2.077342 0.5154921 6.5358852
|
|
||||||
3040 2.0205953 2.0704954 0.51898871 6.5708937
|
|
||||||
3050 2.0032184 2.0463036 0.52167438 6.657741
|
|
||||||
3060 1.9889341 2.0265284 0.52385964 6.7329171
|
|
||||||
3070 1.9795143 2.0201081 0.52588914 6.7881407
|
|
||||||
3080 1.9713362 2.0123964 0.52797238 6.8362858
|
|
||||||
3090 1.9692592 2.0106467 0.53025538 6.8616268
|
|
||||||
3100 1.9722487 2.0259566 0.53277635 6.8689898
|
|
||||||
3110 1.9703322 2.0314028 0.53541462 6.895271
|
|
||||||
3120 1.9594359 2.0217586 0.53808512 6.954362
|
|
||||||
3130 1.9524729 2.0148628 0.5409094 6.9965233
|
|
||||||
3140 1.9630381 2.0260807 0.54400259 6.968082
|
|
||||||
3150 1.9902598 2.0549364 0.54720142 6.8698796
|
|
||||||
3160 2.029715 2.0923999 0.54995378 6.7193678
|
|
||||||
3170 2.0581544 2.1137995 0.55150021 6.6053728
|
|
||||||
3180 2.059074 2.1156535 0.55123668 6.5919337
|
|
||||||
3190 2.0400682 2.0904721 0.54894762 6.6505757
|
|
||||||
3200 2.0211594 2.0682597 0.54484887 6.7046468
|
|
||||||
3210 2.012712 2.0573114 0.53922057 6.7130909
|
|
||||||
3220 2.0102377 2.0554701 0.53219251 6.6919069
|
|
||||||
3230 2.0017671 2.0505068 0.52386898 6.6867054
|
|
||||||
3240 1.9854941 2.0308454 0.51458792 6.7051085
|
|
||||||
3250 1.9767009 2.0187664 0.50486785 6.6916859
|
|
||||||
3260 1.9771733 2.0186148 0.49510722 6.6424305
|
|
||||||
3270 1.974003 2.0136039 0.48556819 6.6078903
|
|
||||||
3280 1.9627665 1.9989122 0.47654147 6.6067904
|
|
||||||
3290 1.9491247 1.9826248 0.46834866 6.6186709
|
|
||||||
3300 1.9414093 1.9724941 0.4612122 6.6119543
|
|
||||||
3310 1.9433901 1.9715482 0.45518879 6.570612
|
|
||||||
3320 1.9518837 1.9872717 0.45010165 6.5057947
|
|
||||||
3330 1.9603874 1.9957995 0.44566728 6.4428221
|
|
||||||
3340 1.9615962 1.9945224 0.44167201 6.4099339
|
|
||||||
3350 1.955918 1.9882866 0.4380303 6.4070811
|
|
||||||
3360 1.9463445 1.9763654 0.43480086 6.4241178
|
|
||||||
3370 1.9411187 1.9683081 0.43206391 6.4296577
|
|
||||||
3380 1.9407224 1.9580074 0.42991627 6.4210217
|
|
||||||
3390 1.9402479 1.9530447 0.42850635 6.4170536
|
|
||||||
3400 1.9451337 1.9555771 0.42787382 6.3990336
|
|
||||||
3410 1.9475586 1.9612432 0.42797178 6.3953251
|
|
||||||
3420 1.9434927 1.960532 0.4286887 6.4210681
|
|
||||||
3430 1.9339054 1.9516935 0.43003682 6.4707071
|
|
||||||
3440 1.9234014 1.9464343 0.43214965 6.5248205
|
|
||||||
3450 1.9191846 1.9444777 0.43516361 6.5558451
|
|
||||||
3460 1.923218 1.9594606 0.43915611 6.5549213
|
|
||||||
3470 1.9328953 1.9792053 0.44397878 6.5327637
|
|
||||||
3480 1.9466227 1.9997841 0.44940599 6.4954965
|
|
||||||
3490 1.9672374 2.0323219 0.45511091 6.4358811
|
|
||||||
3500 1.9799622 2.0479841 0.46061029 6.4100217
|
|
||||||
3510 1.97942 2.0493411 0.46551964 6.4368108
|
|
||||||
3520 1.9725674 2.0389602 0.46976378 6.4892049
|
|
||||||
3530 1.9716429 2.0389798 0.47344292 6.5200899
|
|
||||||
3540 1.9789254 2.0486162 0.47659268 6.5198212
|
|
||||||
3550 1.9872455 2.0577517 0.47908145 6.5144586
|
|
||||||
3560 1.9808834 2.0545962 0.48076561 6.5633282
|
|
||||||
3570 1.9637165 2.0335394 0.4816783 6.6519124
|
|
||||||
3580 1.9407948 2.0067763 0.48212405 6.7605224
|
|
||||||
3590 1.9226532 1.9825887 0.48252299 6.8486041
|
|
||||||
3600 1.9135067 1.9700999 0.48328348 6.8977858
|
|
||||||
3610 1.9157516 1.9720028 0.48470695 6.8977759
|
|
||||||
3620 1.9328644 2.0001154 0.48688777 6.8361569
|
|
||||||
3630 1.9568208 2.0243053 0.48963933 6.7442107
|
|
||||||
3640 1.9824587 2.0569223 0.49259173 6.6452535
|
|
||||||
3650 1.9934906 2.0686356 0.49529038 6.6020218
|
|
||||||
3660 1.9996281 2.0747054 0.4973223 6.5808904
|
|
||||||
3670 2.0038801 2.0772777 0.49838833 6.5691351
|
|
||||||
3680 1.9941342 2.0712365 0.49826732 6.6088107
|
|
||||||
3690 1.9762631 2.0486045 0.49689108 6.6739002
|
|
||||||
3700 1.9667284 2.0349391 0.4943899 6.7010265
|
|
||||||
3710 1.9615089 2.0168112 0.49093735 6.7040384
|
|
||||||
3720 1.9613068 2.0147489 0.48673788 6.6813041
|
|
||||||
3730 1.9731234 2.0290151 0.48175561 6.6096757
|
|
||||||
3740 1.9829764 2.0461907 0.47575173 6.5424752
|
|
||||||
3750 1.9792839 2.0454423 0.46852709 6.5237753
|
|
||||||
3760 1.9599692 2.0287014 0.46022484 6.5616271
|
|
||||||
3770 1.935975 2.0000948 0.45138016 6.6136471
|
|
||||||
3780 1.9236713 1.9834802 0.44262435 6.6187463
|
|
||||||
3790 1.9268004 1.9875324 0.43430112 6.5632772
|
|
||||||
3800 1.932601 1.9872595 0.42649563 6.4984764
|
|
||||||
3810 1.9322506 1.9814946 0.41928855 6.4617054
|
|
||||||
3820 1.9245737 1.9712821 0.4128224 6.4613779
|
|
||||||
3830 1.9148568 1.9555602 0.40721003 6.4774474
|
|
||||||
3840 1.9049961 1.9457058 0.40261179 6.5029211
|
|
||||||
3850 1.8915137 1.9265199 0.39914961 6.5483592
|
|
||||||
3860 1.8784768 1.9058055 0.39700153 6.5962113
|
|
||||||
3870 1.8755236 1.9045158 0.39632768 6.6079033
|
|
||||||
3880 1.8841415 1.9140314 0.39710037 6.577707
|
|
||||||
3890 1.8958027 1.9331149 0.39918951 6.5359785
|
|
||||||
3900 1.9064085 1.948805 0.40238576 6.499859
|
|
||||||
3910 1.9185092 1.9675733 0.40647523 6.4610682
|
|
||||||
3920 1.9342595 1.9933225 0.41115392 6.4122308
|
|
||||||
3930 1.9482664 2.0076139 0.41603495 6.3736841
|
|
||||||
3940 1.9557759 2.0161573 0.42084462 6.3636708
|
|
||||||
3950 1.9573687 2.016612 0.42540421 6.3804124
|
|
||||||
3960 1.9486354 1.9998027 0.42974612 6.4404944
|
|
||||||
3970 1.936214 1.9807209 0.43412037 6.5176788
|
|
||||||
3980 1.9274292 1.9595259 0.43885103 6.5846212
|
|
||||||
3990 1.9233082 1.953436 0.44425085 6.6354276
|
|
||||||
4000 1.9289166 1.9522097 0.45042645 6.6513835
|
|
||||||
Loop time of 0.998413 on 4 procs for 2000 steps with 2775 atoms
|
|
||||||
|
|
||||||
Performance: 173074.634 tau/day, 2003.179 timesteps/s
|
|
||||||
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0.25646 | 0.3672 | 0.47947 | 15.7 | 36.78
|
|
||||||
Neigh | 0.027925 | 0.039163 | 0.050221 | 4.5 | 3.92
|
|
||||||
Comm | 0.032807 | 0.14565 | 0.27684 | 25.4 | 14.59
|
|
||||||
Output | 0.025572 | 0.032272 | 0.035355 | 2.2 | 3.23
|
|
||||||
Modify | 0.31519 | 0.35781 | 0.375 | 4.1 | 35.84
|
|
||||||
Other | | 0.05632 | | | 5.64
|
|
||||||
|
|
||||||
Nlocal: 693.75 ave 805 max 582 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
Nghost: 255.5 ave 312 max 199 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
Neighs: 6091.5 ave 7423 max 4780 min
|
|
||||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
||||||
|
|
||||||
Total # of neighbors = 24366
|
|
||||||
Ave neighs/atom = 8.78054
|
|
||||||
Neighbor list builds = 72
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
Please see the log.cite file for references relevant to this simulation
|
|
||||||
|
|
||||||
Total wall time: 0:00:01
|
|
||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
0.00000000 64.00000000 xlo xhi
|
0.00000000 64.00000000 xlo xhi
|
||||||
0.00000000 1.00000000 ylo yhi
|
0.00000000 1.00000000 ylo yhi
|
||||||
-0.5 0.5 zlo zhi
|
-0.50000000 0.50000000 zlo zhi
|
||||||
|
|
||||||
Atoms
|
Atoms
|
||||||
|
|
||||||
|
|||||||
20125
examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1
Normal file
20125
examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1
Normal file
File diff suppressed because it is too large
Load Diff
20125
examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4
Normal file
20125
examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,206 +0,0 @@
|
|||||||
############################################################
|
|
||||||
# group name of the atoms under study : all
|
|
||||||
# total number of atoms in the group : 64
|
|
||||||
# dimension of the system : 1 D
|
|
||||||
# number of atoms per unit cell : 2
|
|
||||||
# dimension of the FFT mesh : 32 x 1 x 1
|
|
||||||
# number of wait steps before measurement : 500000
|
|
||||||
# frequency of the measurement : 10
|
|
||||||
# output result after this many measurement: 50000
|
|
||||||
# number of processors used by this run : 1
|
|
||||||
############################################################
|
|
||||||
# mapping information between lattice index and atom id
|
|
||||||
# nx ny nz nucell
|
|
||||||
32 1 1 2
|
|
||||||
# l1 l2 l3 k atom_id
|
|
||||||
0 0 0 0 1
|
|
||||||
0 0 0 1 2
|
|
||||||
1 0 0 0 3
|
|
||||||
1 0 0 1 4
|
|
||||||
2 0 0 0 5
|
|
||||||
2 0 0 1 6
|
|
||||||
3 0 0 0 7
|
|
||||||
3 0 0 1 8
|
|
||||||
4 0 0 0 9
|
|
||||||
4 0 0 1 10
|
|
||||||
5 0 0 0 11
|
|
||||||
5 0 0 1 12
|
|
||||||
6 0 0 0 13
|
|
||||||
6 0 0 1 14
|
|
||||||
7 0 0 0 15
|
|
||||||
7 0 0 1 16
|
|
||||||
8 0 0 0 17
|
|
||||||
8 0 0 1 18
|
|
||||||
9 0 0 0 19
|
|
||||||
9 0 0 1 20
|
|
||||||
10 0 0 0 21
|
|
||||||
10 0 0 1 22
|
|
||||||
11 0 0 0 23
|
|
||||||
11 0 0 1 24
|
|
||||||
12 0 0 0 25
|
|
||||||
12 0 0 1 26
|
|
||||||
13 0 0 0 27
|
|
||||||
13 0 0 1 28
|
|
||||||
14 0 0 0 29
|
|
||||||
14 0 0 1 30
|
|
||||||
15 0 0 0 31
|
|
||||||
15 0 0 1 32
|
|
||||||
16 0 0 0 33
|
|
||||||
16 0 0 1 34
|
|
||||||
17 0 0 0 35
|
|
||||||
17 0 0 1 36
|
|
||||||
18 0 0 0 37
|
|
||||||
18 0 0 1 38
|
|
||||||
19 0 0 0 39
|
|
||||||
19 0 0 1 40
|
|
||||||
20 0 0 0 41
|
|
||||||
20 0 0 1 42
|
|
||||||
21 0 0 0 43
|
|
||||||
21 0 0 1 44
|
|
||||||
22 0 0 0 45
|
|
||||||
22 0 0 1 46
|
|
||||||
23 0 0 0 47
|
|
||||||
23 0 0 1 48
|
|
||||||
24 0 0 0 49
|
|
||||||
24 0 0 1 50
|
|
||||||
25 0 0 0 51
|
|
||||||
25 0 0 1 52
|
|
||||||
26 0 0 0 53
|
|
||||||
26 0 0 1 54
|
|
||||||
27 0 0 0 55
|
|
||||||
27 0 0 1 56
|
|
||||||
28 0 0 0 57
|
|
||||||
28 0 0 1 58
|
|
||||||
29 0 0 0 59
|
|
||||||
29 0 0 1 60
|
|
||||||
30 0 0 0 61
|
|
||||||
30 0 0 1 62
|
|
||||||
31 0 0 0 63
|
|
||||||
31 0 0 1 64
|
|
||||||
############################################################
|
|
||||||
############################################################
|
|
||||||
# Current time step : 1000000
|
|
||||||
# Total number of measurements : 50000
|
|
||||||
# Average temperature of the measurement : 0.00499889
|
|
||||||
# Boltzmann constant under current units : 1
|
|
||||||
# basis vector A1 = [2 0 0]
|
|
||||||
# basis vector A2 = [0 1 0]
|
|
||||||
# basis vector A3 = [0 0 1]
|
|
||||||
############################################################
|
|
||||||
# qx qy qz Phi(q)
|
|
||||||
0 0 0 2.0269 0 -1.43323 0 -1.43323 0 1.01345 0
|
|
||||||
0.03125 0 0 2.06958 0 -1.44367 0.144297 -1.44367 -0.144297 1.03745 0
|
|
||||||
0.0625 0 0 2.00734 -7.10386e-17 -1.36818 0.273607 -1.36818 -0.273607 1.02097 0
|
|
||||||
0.09375 0 0 2.06033 7.36546e-16 -1.32894 0.389454 -1.32894 -0.389454 1.00889 3.19674e-16
|
|
||||||
0.125 0 0 2.04516 7.25738e-16 -1.20961 0.516478 -1.20961 -0.516478 1.0073 2.84154e-16
|
|
||||||
0.15625 0 0 2.05756 0 -1.12954 0.615757 -1.12954 -0.615757 1.02862 0
|
|
||||||
0.1875 0 0 2.01319 0 -0.970491 0.627631 -0.970491 -0.627631 0.998014 0
|
|
||||||
0.21875 0 0 1.92269 1.42077e-16 -0.863486 0.66779 -0.863486 -0.66779 1.00343 8.73509e-17
|
|
||||||
0.25 0 0 1.99044 1.71855e-16 -0.671658 0.661397 -0.671658 -0.661397 0.956893 7.10386e-17
|
|
||||||
0.28125 0 0 1.96341 -7.10386e-17 -0.556809 0.66713 -0.556809 -0.66713 0.987126 4.2268e-17
|
|
||||||
0.3125 0 0 2.04354 0 -0.442943 0.661601 -0.442943 -0.661601 0.961726 1.77596e-17
|
|
||||||
0.34375 0 0 1.98412 0 -0.313464 0.632666 -0.313464 -0.632666 1.01134 -2.21836e-17
|
|
||||||
0.375 0 0 2.00509 2.17993e-17 -0.187554 0.499349 -0.187554 -0.499349 0.953607 -8.87982e-18
|
|
||||||
0.40625 0 0 1.91679 0 -0.0962947 0.408121 -0.0962947 -0.408121 1.02919 0
|
|
||||||
0.4375 0 0 1.98963 0 -0.0137565 0.277826 -0.0137565 -0.277826 1.01624 0
|
|
||||||
0.46875 0 0 2.08228 0 -0.0312083 0.0872272 -0.0312083 -0.0872272 0.991567 0
|
|
||||||
0.5 0 0 1.95481 0 0.0542224 0 0.0542224 0 1.00583 0
|
|
||||||
0.53125 0 0 2.08228 0 -0.0312083 -0.0872272 -0.0312083 0.0872272 0.991567 0
|
|
||||||
0.5625 0 0 1.98963 0 -0.0137565 -0.277826 -0.0137565 0.277826 1.01624 0
|
|
||||||
0.59375 0 0 1.91679 0 -0.0962947 -0.408121 -0.0962947 0.408121 1.02919 0
|
|
||||||
0.625 0 0 2.00509 -2.17993e-17 -0.187554 -0.499349 -0.187554 0.499349 0.953607 8.87982e-18
|
|
||||||
0.65625 0 0 1.98412 0 -0.313464 -0.632666 -0.313464 0.632666 1.01134 2.21836e-17
|
|
||||||
0.6875 0 0 2.04354 0 -0.442943 -0.661601 -0.442943 0.661601 0.961726 -1.77596e-17
|
|
||||||
0.71875 0 0 1.96341 7.10386e-17 -0.556809 -0.66713 -0.556809 0.66713 0.987126 -4.2268e-17
|
|
||||||
0.75 0 0 1.99044 -1.71855e-16 -0.671658 -0.661397 -0.671658 0.661397 0.956893 -7.10386e-17
|
|
||||||
0.78125 0 0 1.92269 -1.42077e-16 -0.863486 -0.66779 -0.863486 0.66779 1.00343 -8.73509e-17
|
|
||||||
0.8125 0 0 2.01319 0 -0.970491 -0.627631 -0.970491 0.627631 0.998014 0
|
|
||||||
0.84375 0 0 2.05756 0 -1.12954 -0.615757 -1.12954 0.615757 1.02862 0
|
|
||||||
0.875 0 0 2.04516 -7.25738e-16 -1.20961 -0.516478 -1.20961 0.516478 1.0073 -2.84154e-16
|
|
||||||
0.90625 0 0 2.06033 -7.36546e-16 -1.32894 -0.389454 -1.32894 0.389454 1.00889 -3.19674e-16
|
|
||||||
0.9375 0 0 2.00734 7.10386e-17 -1.36818 -0.273607 -1.36818 0.273607 1.02097 0
|
|
||||||
0.96875 0 0 2.06958 0 -1.44367 -0.144297 -1.44367 0.144297 1.03745 0
|
|
||||||
############################################################
|
|
||||||
# Current time step : 1500000
|
|
||||||
# Total number of measurements : 100000
|
|
||||||
# Average temperature of the measurement : 0.00499969
|
|
||||||
# Boltzmann constant under current units : 1
|
|
||||||
# basis vector A1 = [2 0 0]
|
|
||||||
# basis vector A2 = [0 1 0]
|
|
||||||
# basis vector A3 = [0 0 1]
|
|
||||||
############################################################
|
|
||||||
# qx qy qz Phi(q)
|
|
||||||
0 0 0 2.00227 0 -1.41582 0 -1.41582 0 1.00114 0
|
|
||||||
0.03125 0 0 2.06839 -2.94857e-15 -1.44775 0.141336 -1.44775 -0.141336 1.03568 -1.48867e-15
|
|
||||||
0.0625 0 0 1.99449 0 -1.35985 0.267438 -1.35985 -0.267438 0.997747 0
|
|
||||||
0.09375 0 0 2.01906 7.07225e-16 -1.30258 0.390432 -1.30258 -0.390432 1.00279 3.55249e-16
|
|
||||||
0.125 0 0 2.0047 0 -1.19787 0.503497 -1.19787 -0.503497 1.00067 -3.55249e-17
|
|
||||||
0.15625 0 0 2.05042 4.26299e-16 -1.12849 0.613659 -1.12849 -0.613659 1.03457 1.85685e-16
|
|
||||||
0.1875 0 0 1.99151 0 -0.971684 0.625667 -0.971684 -0.625667 0.990665 0
|
|
||||||
0.21875 0 0 1.96519 -7.10498e-17 -0.861495 0.687109 -0.861495 -0.687109 1.0008 0
|
|
||||||
0.25 0 0 2.01865 0 -0.687312 0.684014 -0.687312 -0.684014 0.977055 0
|
|
||||||
0.28125 0 0 1.9933 0 -0.560168 0.698726 -0.560168 -0.698726 1.00805 -4.40715e-17
|
|
||||||
0.3125 0 0 2.01323 0 -0.446505 0.648764 -0.446505 -0.648764 1.00283 -1.77625e-17
|
|
||||||
0.34375 0 0 2.00398 0 -0.313827 0.630741 -0.313827 -0.630741 0.996834 0
|
|
||||||
0.375 0 0 2.0191 0 -0.216211 0.499651 -0.216211 -0.499651 0.978322 0
|
|
||||||
0.40625 0 0 1.97734 -4.44061e-18 -0.102328 0.398954 -0.102328 -0.398954 1.03793 0
|
|
||||||
0.4375 0 0 1.99332 -2.22031e-18 -0.0639782 0.238226 -0.0639782 -0.238226 1.00811 -1.3774e-18
|
|
||||||
0.46875 0 0 2.02854 0 -0.0151203 0.0911116 -0.0151203 -0.0911116 1.00593 0
|
|
||||||
0.5 0 0 1.99466 0 0.0671755 0 0.0671755 0 0.967275 0
|
|
||||||
0.53125 0 0 2.02854 0 -0.0151203 -0.0911116 -0.0151203 0.0911116 1.00593 0
|
|
||||||
0.5625 0 0 1.99332 2.22031e-18 -0.0639782 -0.238226 -0.0639782 0.238226 1.00811 1.3774e-18
|
|
||||||
0.59375 0 0 1.97734 4.44061e-18 -0.102328 -0.398954 -0.102328 0.398954 1.03793 0
|
|
||||||
0.625 0 0 2.0191 0 -0.216211 -0.499651 -0.216211 0.499651 0.978322 0
|
|
||||||
0.65625 0 0 2.00398 0 -0.313827 -0.630741 -0.313827 0.630741 0.996834 0
|
|
||||||
0.6875 0 0 2.01323 0 -0.446505 -0.648764 -0.446505 0.648764 1.00283 1.77625e-17
|
|
||||||
0.71875 0 0 1.9933 0 -0.560168 -0.698726 -0.560168 0.698726 1.00805 4.40715e-17
|
|
||||||
0.75 0 0 2.01865 0 -0.687312 -0.684014 -0.687312 0.684014 0.977055 0
|
|
||||||
0.78125 0 0 1.96519 7.10498e-17 -0.861495 -0.687109 -0.861495 0.687109 1.0008 0
|
|
||||||
0.8125 0 0 1.99151 0 -0.971684 -0.625667 -0.971684 0.625667 0.990665 0
|
|
||||||
0.84375 0 0 2.05042 -4.26299e-16 -1.12849 -0.613659 -1.12849 0.613659 1.03457 -1.85685e-16
|
|
||||||
0.875 0 0 2.0047 0 -1.19787 -0.503497 -1.19787 0.503497 1.00067 3.55249e-17
|
|
||||||
0.90625 0 0 2.01906 -7.07225e-16 -1.30258 -0.390432 -1.30258 0.390432 1.00279 -3.55249e-16
|
|
||||||
0.9375 0 0 1.99449 0 -1.35985 -0.267438 -1.35985 0.267438 0.997747 0
|
|
||||||
0.96875 0 0 2.06839 2.94857e-15 -1.44775 -0.141336 -1.44775 0.141336 1.03568 1.48867e-15
|
|
||||||
############################################################
|
|
||||||
# Current time step : 2000000
|
|
||||||
# Total number of measurements : 150000
|
|
||||||
# Average temperature of the measurement : 0.00499897
|
|
||||||
# Boltzmann constant under current units : 1
|
|
||||||
# basis vector A1 = [2 0 0]
|
|
||||||
# basis vector A2 = [0 1 0]
|
|
||||||
# basis vector A3 = [0 0 1]
|
|
||||||
############################################################
|
|
||||||
# qx qy qz Phi(q)
|
|
||||||
0 0 0 1.99479 0 -1.41053 0 -1.41053 0 0.997396 0
|
|
||||||
0.03125 0 0 2.03068 0 -1.41965 0.138345 -1.41965 -0.138345 1.0155 0
|
|
||||||
0.0625 0 0 1.99892 7.10396e-17 -1.36162 0.269053 -1.36162 -0.269053 1.00066 0
|
|
||||||
0.09375 0 0 2.00599 0 -1.29893 0.389829 -1.29893 -0.389829 0.995323 0
|
|
||||||
0.125 0 0 1.991 6.87803e-16 -1.20232 0.495552 -1.20232 -0.495552 0.991252 2.84159e-16
|
|
||||||
0.15625 0 0 2.05187 1.42079e-16 -1.12612 0.617447 -1.12612 -0.617447 1.02736 0
|
|
||||||
0.1875 0 0 1.97476 7.10396e-17 -0.972012 0.630423 -0.972012 -0.630423 0.996946 0
|
|
||||||
0.21875 0 0 2.00314 0 -0.862555 0.695244 -0.862555 -0.695244 0.999215 0
|
|
||||||
0.25 0 0 1.9755 0 -0.69573 0.680591 -0.69573 -0.680591 0.988546 0
|
|
||||||
0.28125 0 0 1.99393 0 -0.560979 0.692292 -0.560979 -0.692292 0.995507 -3.55198e-17
|
|
||||||
0.3125 0 0 2.00817 0 -0.436753 0.642127 -0.436753 -0.642127 0.989051 0
|
|
||||||
0.34375 0 0 2.02348 0 -0.310766 0.620888 -0.310766 -0.620888 1.01631 0
|
|
||||||
0.375 0 0 2.01177 0 -0.213987 0.483325 -0.213987 -0.483325 0.98933 0
|
|
||||||
0.40625 0 0 1.97394 0 -0.116509 0.382146 -0.116509 -0.382146 1.03672 0
|
|
||||||
0.4375 0 0 1.98656 0 -0.0609164 0.250798 -0.0609164 -0.250798 1.01266 1.39007e-18
|
|
||||||
0.46875 0 0 2.03013 0 -0.0242785 0.120597 -0.0242785 -0.120597 1.02741 1.78858e-19
|
|
||||||
0.5 0 0 1.98872 0 0.0648313 0 0.0648313 0 0.973791 0
|
|
||||||
0.53125 0 0 2.03013 0 -0.0242785 -0.120597 -0.0242785 0.120597 1.02741 -1.78858e-19
|
|
||||||
0.5625 0 0 1.98656 0 -0.0609164 -0.250798 -0.0609164 0.250798 1.01266 -1.39007e-18
|
|
||||||
0.59375 0 0 1.97394 0 -0.116509 -0.382146 -0.116509 0.382146 1.03672 0
|
|
||||||
0.625 0 0 2.01177 0 -0.213987 -0.483325 -0.213987 0.483325 0.98933 0
|
|
||||||
0.65625 0 0 2.02348 0 -0.310766 -0.620888 -0.310766 0.620888 1.01631 0
|
|
||||||
0.6875 0 0 2.00817 0 -0.436753 -0.642127 -0.436753 0.642127 0.989051 0
|
|
||||||
0.71875 0 0 1.99393 0 -0.560979 -0.692292 -0.560979 0.692292 0.995507 3.55198e-17
|
|
||||||
0.75 0 0 1.9755 0 -0.69573 -0.680591 -0.69573 0.680591 0.988546 0
|
|
||||||
0.78125 0 0 2.00314 0 -0.862555 -0.695244 -0.862555 0.695244 0.999215 0
|
|
||||||
0.8125 0 0 1.97476 -7.10396e-17 -0.972012 -0.630423 -0.972012 0.630423 0.996946 0
|
|
||||||
0.84375 0 0 2.05187 -1.42079e-16 -1.12612 -0.617447 -1.12612 0.617447 1.02736 0
|
|
||||||
0.875 0 0 1.991 -6.87803e-16 -1.20232 -0.495552 -1.20232 0.495552 0.991252 -2.84159e-16
|
|
||||||
0.90625 0 0 2.00599 0 -1.29893 -0.389829 -1.29893 0.389829 0.995323 0
|
|
||||||
0.9375 0 0 1.99892 -7.10396e-17 -1.36162 -0.269053 -1.36162 0.269053 1.00066 0
|
|
||||||
0.96875 0 0 2.03068 0 -1.41965 -0.138345 -1.41965 0.138345 1.0155 0
|
|
||||||
@ -15,7 +15,7 @@ lattice hex 1.0 origin 0.5 0.5 0.0
|
|||||||
|
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
region box block 0 ${len} 0 ${len} 0.0 ${lenz}
|
region box block 0 ${len} 0 ${len} -0.5 0.5
|
||||||
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 region atoms
|
create_atoms 1 region atoms
|
||||||
|
|||||||
@ -11,7 +11,7 @@ lattice hex 1.0 origin 0.25 0.25 0.0
|
|||||||
|
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
region box block 0 ${len} 0 ${len} 0.0 ${lenz}
|
region box block 0 ${len} 0 ${len} -0.5 0.5
|
||||||
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 region atoms
|
create_atoms 1 region atoms
|
||||||
|
|||||||
@ -1,170 +0,0 @@
|
|||||||
LAMMPS (27 Nov 2018)
|
|
||||||
using 1 OpenMP thread(s) per MPI task
|
|
||||||
# Exercise different output data options
|
|
||||||
|
|
||||||
variable len equal 4.0
|
|
||||||
variable lenz equal 10.0
|
|
||||||
|
|
||||||
dimension 2
|
|
||||||
units metal
|
|
||||||
boundary f f p
|
|
||||||
|
|
||||||
lattice hex 1.0 origin 0.25 0.25 0.0
|
|
||||||
Lattice spacing in x,y,z = 1 1.73205 1
|
|
||||||
|
|
||||||
atom_style atomic
|
|
||||||
|
|
||||||
region box block 0 ${len} 0 ${len} 0.0 ${lenz}
|
|
||||||
region box block 0 4 0 ${len} 0.0 ${lenz}
|
|
||||||
region box block 0 4 0 4 0.0 ${lenz}
|
|
||||||
region box block 0 4 0 4 0.0 10
|
|
||||||
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
|
||||||
region atoms block 0 4 0 ${len} 0.0 0.0
|
|
||||||
region atoms block 0 4 0 4 0.0 0.0
|
|
||||||
create_box 1 box
|
|
||||||
Created orthogonal box = (0 0 0) to (4 6.9282 10)
|
|
||||||
1 by 1 by 1 MPI processor grid
|
|
||||||
create_atoms 1 region atoms
|
|
||||||
Created 32 atoms
|
|
||||||
Time spent = 0.000315666 secs
|
|
||||||
|
|
||||||
mass 1 1.0
|
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
|
||||||
pair_coeff 1 1 0.0 1.0
|
|
||||||
|
|
||||||
neighbor 1.0 nsq
|
|
||||||
|
|
||||||
#
|
|
||||||
# TEST 1:
|
|
||||||
#
|
|
||||||
|
|
||||||
# This compute voronoi generates all three
|
|
||||||
# types of quantity: per-atom, local, and global
|
|
||||||
|
|
||||||
compute v1 all voronoi/atom neighbors yes edge_histo 6
|
|
||||||
|
|
||||||
# write voronoi per-atom quantities to a file
|
|
||||||
|
|
||||||
dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2]
|
|
||||||
|
|
||||||
# writing voronoi local quantities to a file
|
|
||||||
|
|
||||||
dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3]
|
|
||||||
|
|
||||||
# sum up a voronoi per-atom quantity
|
|
||||||
|
|
||||||
compute volvor all reduce sum c_v1[1]
|
|
||||||
|
|
||||||
variable volsys equal lz*lx*ly
|
|
||||||
variable err equal c_volvor-v_volsys
|
|
||||||
|
|
||||||
# output voronoi global quantities
|
|
||||||
|
|
||||||
thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7]
|
|
||||||
thermo 1
|
|
||||||
|
|
||||||
run 0
|
|
||||||
WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55)
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 10 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 3.5
|
|
||||||
ghost atom cutoff = 3.5
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair lj/cut, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/nsq/newton
|
|
||||||
stencil: none
|
|
||||||
bin: none
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 10.04 | 10.04 | 10.04 Mbytes
|
|
||||||
c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7]
|
|
||||||
277.12813 277.12813 27.712813 3.9790393e-13 0 186 12 36 0
|
|
||||||
Loop time of 7.15256e-07 on 1 procs for 0 steps with 32 atoms
|
|
||||||
|
|
||||||
0.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
|
||||||
Other | | 7.153e-07 | | |100.00
|
|
||||||
|
|
||||||
Nlocal: 32 ave 32 max 32 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 0 ave 0 max 0 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 325 ave 325 max 325 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
|
|
||||||
Total # of neighbors = 325
|
|
||||||
Ave neighs/atom = 10.1562
|
|
||||||
Neighbor list builds = 0
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
uncompute v1
|
|
||||||
uncompute volvor
|
|
||||||
undump dperatom
|
|
||||||
undump dlocal
|
|
||||||
|
|
||||||
#
|
|
||||||
# TEST 2:
|
|
||||||
#
|
|
||||||
|
|
||||||
# This compute voronoi generates
|
|
||||||
# local and global quantities, but
|
|
||||||
# not per-atom quantities
|
|
||||||
|
|
||||||
compute v2 all voronoi/atom neighbors yes edge_histo 6 peratom no
|
|
||||||
|
|
||||||
# write voronoi local quantities to a file
|
|
||||||
|
|
||||||
dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3]
|
|
||||||
|
|
||||||
# sum up a voronoi local quantity
|
|
||||||
|
|
||||||
compute sumarea all reduce sum c_v2[3]
|
|
||||||
|
|
||||||
# output voronoi global quantities
|
|
||||||
|
|
||||||
thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7]
|
|
||||||
thermo 1
|
|
||||||
|
|
||||||
run 0
|
|
||||||
WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55)
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 8.787 | 8.787 | 8.787 Mbytes
|
|
||||||
c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7]
|
|
||||||
1215.0706 0 186 12 36 0
|
|
||||||
Loop time of 7.15256e-07 on 1 procs for 0 steps with 32 atoms
|
|
||||||
|
|
||||||
139.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 | | 7.153e-07 | | |100.00
|
|
||||||
|
|
||||||
Nlocal: 32 ave 32 max 32 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 0 ave 0 max 0 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 325 ave 325 max 325 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
|
|
||||||
Total # of neighbors = 325
|
|
||||||
Ave neighs/atom = 10.1562
|
|
||||||
Neighbor list builds = 0
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Total wall time: 0:00:00
|
|
||||||
@ -1,170 +0,0 @@
|
|||||||
LAMMPS (27 Nov 2018)
|
|
||||||
using 1 OpenMP thread(s) per MPI task
|
|
||||||
# Exercise different output data options
|
|
||||||
|
|
||||||
variable len equal 4.0
|
|
||||||
variable lenz equal 10.0
|
|
||||||
|
|
||||||
dimension 2
|
|
||||||
units metal
|
|
||||||
boundary f f p
|
|
||||||
|
|
||||||
lattice hex 1.0 origin 0.25 0.25 0.0
|
|
||||||
Lattice spacing in x,y,z = 1 1.73205 1
|
|
||||||
|
|
||||||
atom_style atomic
|
|
||||||
|
|
||||||
region box block 0 ${len} 0 ${len} 0.0 ${lenz}
|
|
||||||
region box block 0 4 0 ${len} 0.0 ${lenz}
|
|
||||||
region box block 0 4 0 4 0.0 ${lenz}
|
|
||||||
region box block 0 4 0 4 0.0 10
|
|
||||||
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
|
||||||
region atoms block 0 4 0 ${len} 0.0 0.0
|
|
||||||
region atoms block 0 4 0 4 0.0 0.0
|
|
||||||
create_box 1 box
|
|
||||||
Created orthogonal box = (0 0 0) to (4 6.9282 10)
|
|
||||||
2 by 2 by 1 MPI processor grid
|
|
||||||
create_atoms 1 region atoms
|
|
||||||
Created 32 atoms
|
|
||||||
Time spent = 0.000311136 secs
|
|
||||||
|
|
||||||
mass 1 1.0
|
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
|
||||||
pair_coeff 1 1 0.0 1.0
|
|
||||||
|
|
||||||
neighbor 1.0 nsq
|
|
||||||
|
|
||||||
#
|
|
||||||
# TEST 1:
|
|
||||||
#
|
|
||||||
|
|
||||||
# This compute voronoi generates all three
|
|
||||||
# types of quantity: per-atom, local, and global
|
|
||||||
|
|
||||||
compute v1 all voronoi/atom neighbors yes edge_histo 6
|
|
||||||
|
|
||||||
# write voronoi per-atom quantities to a file
|
|
||||||
|
|
||||||
dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2]
|
|
||||||
|
|
||||||
# writing voronoi local quantities to a file
|
|
||||||
|
|
||||||
dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3]
|
|
||||||
|
|
||||||
# sum up a voronoi per-atom quantity
|
|
||||||
|
|
||||||
compute volvor all reduce sum c_v1[1]
|
|
||||||
|
|
||||||
variable volsys equal lz*lx*ly
|
|
||||||
variable err equal c_volvor-v_volsys
|
|
||||||
|
|
||||||
# output voronoi global quantities
|
|
||||||
|
|
||||||
thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7]
|
|
||||||
thermo 1
|
|
||||||
|
|
||||||
run 0
|
|
||||||
WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55)
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 10 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 3.5
|
|
||||||
ghost atom cutoff = 3.5
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair lj/cut, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/nsq/newton
|
|
||||||
stencil: none
|
|
||||||
bin: none
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 9.922 | 9.922 | 9.922 Mbytes
|
|
||||||
c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7]
|
|
||||||
277.12813 277.12813 27.712813 3.4106051e-13 0 186 12 36 0
|
|
||||||
Loop time of 1.40667e-05 on 4 procs for 0 steps with 32 atoms
|
|
||||||
|
|
||||||
46.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 | | 1.407e-05 | | |100.00
|
|
||||||
|
|
||||||
Nlocal: 8 ave 8 max 8 min
|
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 24 ave 24 max 24 min
|
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 81.25 ave 84 max 77 min
|
|
||||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
|
||||||
|
|
||||||
Total # of neighbors = 325
|
|
||||||
Ave neighs/atom = 10.1562
|
|
||||||
Neighbor list builds = 0
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
uncompute v1
|
|
||||||
uncompute volvor
|
|
||||||
undump dperatom
|
|
||||||
undump dlocal
|
|
||||||
|
|
||||||
#
|
|
||||||
# TEST 2:
|
|
||||||
#
|
|
||||||
|
|
||||||
# This compute voronoi generates
|
|
||||||
# local and global quantities, but
|
|
||||||
# not per-atom quantities
|
|
||||||
|
|
||||||
compute v2 all voronoi/atom neighbors yes edge_histo 6 peratom no
|
|
||||||
|
|
||||||
# write voronoi local quantities to a file
|
|
||||||
|
|
||||||
dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3]
|
|
||||||
|
|
||||||
# sum up a voronoi local quantity
|
|
||||||
|
|
||||||
compute sumarea all reduce sum c_v2[3]
|
|
||||||
|
|
||||||
# output voronoi global quantities
|
|
||||||
|
|
||||||
thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7]
|
|
||||||
thermo 1
|
|
||||||
|
|
||||||
run 0
|
|
||||||
WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55)
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 8.671 | 8.671 | 8.671 Mbytes
|
|
||||||
c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7]
|
|
||||||
1215.0706 0 186 12 36 0
|
|
||||||
Loop time of 2.71797e-05 on 4 procs for 0 steps with 32 atoms
|
|
||||||
|
|
||||||
57.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 | | 2.718e-05 | | |100.00
|
|
||||||
|
|
||||||
Nlocal: 8 ave 8 max 8 min
|
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 24 ave 24 max 24 min
|
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 81.25 ave 84 max 77 min
|
|
||||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
|
||||||
|
|
||||||
Total # of neighbors = 325
|
|
||||||
Ave neighs/atom = 10.1562
|
|
||||||
Neighbor list builds = 0
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Total wall time: 0:00:00
|
|
||||||
@ -1,4 +1,5 @@
|
|||||||
LAMMPS (27 Nov 2018)
|
LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
using 1 OpenMP thread(s) per MPI task
|
using 1 OpenMP thread(s) per MPI task
|
||||||
# Test volume definitions for 2d and finite systems
|
# Test volume definitions for 2d and finite systems
|
||||||
|
|
||||||
@ -14,23 +15,23 @@ boundary p p p
|
|||||||
|
|
||||||
#lattice sq 1.0 origin 0.5 0.5 0.0
|
#lattice sq 1.0 origin 0.5 0.5 0.0
|
||||||
lattice hex 1.0 origin 0.5 0.5 0.0
|
lattice hex 1.0 origin 0.5 0.5 0.0
|
||||||
Lattice spacing in x,y,z = 1 1.73205 1
|
Lattice spacing in x,y,z = 1 1.7320508 1
|
||||||
|
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
region box block 0 ${len} 0 ${len} 0.0 ${lenz}
|
region box block 0 ${len} 0 ${len} -0.5 0.5
|
||||||
region box block 0 4 0 ${len} 0.0 ${lenz}
|
region box block 0 4 0 ${len} -0.5 0.5
|
||||||
region box block 0 4 0 4 0.0 ${lenz}
|
region box block 0 4 0 4 -0.5 0.5
|
||||||
region box block 0 4 0 4 0.0 10
|
|
||||||
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
||||||
region atoms block 0 4 0 ${len} 0.0 0.0
|
region atoms block 0 4 0 ${len} 0.0 0.0
|
||||||
region atoms block 0 4 0 4 0.0 0.0
|
region atoms block 0 4 0 4 0.0 0.0
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
Created orthogonal box = (0 0 0) to (4 6.9282 10)
|
Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5)
|
||||||
1 by 1 by 1 MPI processor grid
|
1 by 1 by 1 MPI processor grid
|
||||||
create_atoms 1 region atoms
|
create_atoms 1 region atoms
|
||||||
Created 32 atoms
|
Created 32 atoms
|
||||||
Time spent = 0.000315905 secs
|
using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5)
|
||||||
|
create_atoms CPU = 0.000 seconds
|
||||||
|
|
||||||
mass 1 1.0
|
mass 1 1.0
|
||||||
|
|
||||||
@ -57,9 +58,10 @@ thermo 1
|
|||||||
#
|
#
|
||||||
|
|
||||||
run 0
|
run 0
|
||||||
WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55)
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||||
Neighbor list info ...
|
Neighbor list info ...
|
||||||
update every 1 steps, delay 10 steps, check yes
|
update: every = 1 steps, delay = 0 steps, check = yes
|
||||||
max neighbors/atom: 2000, page size: 100000
|
max neighbors/atom: 2000, page size: 100000
|
||||||
master list distance cutoff = 12
|
master list distance cutoff = 12
|
||||||
ghost atom cutoff = 20
|
ghost atom cutoff = 20
|
||||||
@ -69,12 +71,12 @@ Neighbor list info ...
|
|||||||
pair build: half/nsq/newton
|
pair build: half/nsq/newton
|
||||||
stencil: none
|
stencil: none
|
||||||
bin: none
|
bin: none
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.007 | 3.007 | 3.007 Mbytes
|
Per MPI rank memory allocation (min/avg/max) = 3.008 | 3.008 | 3.008 Mbytes
|
||||||
c_volvor v_volsys Volume v_err
|
c_volvor v_volsys Volume v_err
|
||||||
277.12813 277.12813 27.712813 5.6843419e-14
|
27.712813 27.712813 27.712813 -3.5527137e-15
|
||||||
Loop time of 9.53674e-07 on 1 procs for 0 steps with 32 atoms
|
Loop time of 6.33e-07 on 1 procs for 0 steps with 32 atoms
|
||||||
|
|
||||||
209.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
316.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
@ -84,7 +86,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
|||||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Other | | 9.537e-07 | | |100.00
|
Other | | 6.33e-07 | | |100.00
|
||||||
|
|
||||||
Nlocal: 32 ave 32 max 32 min
|
Nlocal: 32 ave 32 max 32 min
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
@ -104,14 +106,16 @@ Dangerous builds = 0
|
|||||||
#
|
#
|
||||||
|
|
||||||
change_box all boundary f f p
|
change_box all boundary f f p
|
||||||
|
Changing box ...
|
||||||
run 0
|
run 0
|
||||||
WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55)
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||||
Per MPI rank memory allocation (min/avg/max) = 7.688 | 7.688 | 7.688 Mbytes
|
Per MPI rank memory allocation (min/avg/max) = 7.688 | 7.688 | 7.688 Mbytes
|
||||||
c_volvor v_volsys Volume v_err
|
c_volvor v_volsys Volume v_err
|
||||||
277.12813 277.12813 27.712813 3.4106051e-13
|
27.712813 27.712813 27.712813 3.5527137e-14
|
||||||
Loop time of 4.76837e-07 on 1 procs for 0 steps with 32 atoms
|
Loop time of 3.93e-07 on 1 procs for 0 steps with 32 atoms
|
||||||
|
|
||||||
209.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
254.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
@ -121,7 +125,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
|||||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Other | | 4.768e-07 | | |100.00
|
Other | | 3.93e-07 | | |100.00
|
||||||
|
|
||||||
Nlocal: 32 ave 32 max 32 min
|
Nlocal: 32 ave 32 max 32 min
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
@ -1,4 +1,5 @@
|
|||||||
LAMMPS (27 Nov 2018)
|
LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
using 1 OpenMP thread(s) per MPI task
|
using 1 OpenMP thread(s) per MPI task
|
||||||
# Test volume definitions for 2d and finite systems
|
# Test volume definitions for 2d and finite systems
|
||||||
|
|
||||||
@ -14,23 +15,23 @@ boundary p p p
|
|||||||
|
|
||||||
#lattice sq 1.0 origin 0.5 0.5 0.0
|
#lattice sq 1.0 origin 0.5 0.5 0.0
|
||||||
lattice hex 1.0 origin 0.5 0.5 0.0
|
lattice hex 1.0 origin 0.5 0.5 0.0
|
||||||
Lattice spacing in x,y,z = 1 1.73205 1
|
Lattice spacing in x,y,z = 1 1.7320508 1
|
||||||
|
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
|
|
||||||
region box block 0 ${len} 0 ${len} 0.0 ${lenz}
|
region box block 0 ${len} 0 ${len} -0.5 0.5
|
||||||
region box block 0 4 0 ${len} 0.0 ${lenz}
|
region box block 0 4 0 ${len} -0.5 0.5
|
||||||
region box block 0 4 0 4 0.0 ${lenz}
|
region box block 0 4 0 4 -0.5 0.5
|
||||||
region box block 0 4 0 4 0.0 10
|
|
||||||
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
||||||
region atoms block 0 4 0 ${len} 0.0 0.0
|
region atoms block 0 4 0 ${len} 0.0 0.0
|
||||||
region atoms block 0 4 0 4 0.0 0.0
|
region atoms block 0 4 0 4 0.0 0.0
|
||||||
create_box 1 box
|
create_box 1 box
|
||||||
Created orthogonal box = (0 0 0) to (4 6.9282 10)
|
Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5)
|
||||||
2 by 2 by 1 MPI processor grid
|
2 by 2 by 1 MPI processor grid
|
||||||
create_atoms 1 region atoms
|
create_atoms 1 region atoms
|
||||||
Created 32 atoms
|
Created 32 atoms
|
||||||
Time spent = 0.000319481 secs
|
using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5)
|
||||||
|
create_atoms CPU = 0.000 seconds
|
||||||
|
|
||||||
mass 1 1.0
|
mass 1 1.0
|
||||||
|
|
||||||
@ -57,9 +58,10 @@ thermo 1
|
|||||||
#
|
#
|
||||||
|
|
||||||
run 0
|
run 0
|
||||||
WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55)
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||||
Neighbor list info ...
|
Neighbor list info ...
|
||||||
update every 1 steps, delay 10 steps, check yes
|
update: every = 1 steps, delay = 0 steps, check = yes
|
||||||
max neighbors/atom: 2000, page size: 100000
|
max neighbors/atom: 2000, page size: 100000
|
||||||
master list distance cutoff = 12
|
master list distance cutoff = 12
|
||||||
ghost atom cutoff = 20
|
ghost atom cutoff = 20
|
||||||
@ -69,12 +71,12 @@ Neighbor list info ...
|
|||||||
pair build: half/nsq/newton
|
pair build: half/nsq/newton
|
||||||
stencil: none
|
stencil: none
|
||||||
bin: none
|
bin: none
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.042 | 3.042 | 3.042 Mbytes
|
Per MPI rank memory allocation (min/avg/max) = 3.038 | 3.038 | 3.038 Mbytes
|
||||||
c_volvor v_volsys Volume v_err
|
c_volvor v_volsys Volume v_err
|
||||||
277.12813 277.12813 27.712813 5.1159077e-13
|
27.712813 27.712813 27.712813 2.1316282e-14
|
||||||
Loop time of 2.79546e-05 on 4 procs for 0 steps with 32 atoms
|
Loop time of 2.18725e-06 on 4 procs for 0 steps with 32 atoms
|
||||||
|
|
||||||
51.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
45.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
@ -84,7 +86,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
|||||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Other | | 2.795e-05 | | |100.00
|
Other | | 2.187e-06 | | |100.00
|
||||||
|
|
||||||
Nlocal: 8 ave 8 max 8 min
|
Nlocal: 8 ave 8 max 8 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||||
@ -104,14 +106,16 @@ Dangerous builds = 0
|
|||||||
#
|
#
|
||||||
|
|
||||||
change_box all boundary f f p
|
change_box all boundary f f p
|
||||||
|
Changing box ...
|
||||||
run 0
|
run 0
|
||||||
WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55)
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
Per MPI rank memory allocation (min/avg/max) = 7.678 | 7.678 | 7.678 Mbytes
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||||
c_volvor v_volsys Volume v_err
|
Per MPI rank memory allocation (min/avg/max) = 7.671 | 7.671 | 7.671 Mbytes
|
||||||
277.12813 277.12813 27.712813 3.4106051e-13
|
c_volvor v_volsys Volume v_err
|
||||||
Loop time of 1.88947e-05 on 4 procs for 0 steps with 32 atoms
|
27.712813 27.712813 27.712813 3.907985e-14
|
||||||
|
Loop time of 2.22e-06 on 4 procs for 0 steps with 32 atoms
|
||||||
|
|
||||||
47.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
112.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
MPI task timing breakdown:
|
MPI task timing breakdown:
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
@ -121,7 +125,7 @@ Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
|||||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
Other | | 1.889e-05 | | |100.00
|
Other | | 2.22e-06 | | |100.00
|
||||||
|
|
||||||
Nlocal: 8 ave 8 max 8 min
|
Nlocal: 8 ave 8 max 8 min
|
||||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||||
168
examples/voronoi/log.6Dec23.voronoi.data.g++.1
Normal file
168
examples/voronoi/log.6Dec23.voronoi.data.g++.1
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
# Exercise different output data options
|
||||||
|
|
||||||
|
variable len equal 4.0
|
||||||
|
variable lenz equal 10.0
|
||||||
|
|
||||||
|
dimension 2
|
||||||
|
units metal
|
||||||
|
boundary f f p
|
||||||
|
|
||||||
|
lattice hex 1.0 origin 0.25 0.25 0.0
|
||||||
|
Lattice spacing in x,y,z = 1 1.7320508 1
|
||||||
|
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
region box block 0 ${len} 0 ${len} -0.5 0.5
|
||||||
|
region box block 0 4 0 ${len} -0.5 0.5
|
||||||
|
region box block 0 4 0 4 -0.5 0.5
|
||||||
|
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
||||||
|
region atoms block 0 4 0 ${len} 0.0 0.0
|
||||||
|
region atoms block 0 4 0 4 0.0 0.0
|
||||||
|
create_box 1 box
|
||||||
|
Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
create_atoms 1 region atoms
|
||||||
|
Created 32 atoms
|
||||||
|
using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5)
|
||||||
|
create_atoms CPU = 0.000 seconds
|
||||||
|
|
||||||
|
mass 1 1.0
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
pair_coeff 1 1 0.0 1.0
|
||||||
|
|
||||||
|
neighbor 1.0 nsq
|
||||||
|
|
||||||
|
#
|
||||||
|
# TEST 1:
|
||||||
|
#
|
||||||
|
|
||||||
|
# This compute voronoi generates all three
|
||||||
|
# types of quantity: per-atom, local, and global
|
||||||
|
|
||||||
|
compute v1 all voronoi/atom neighbors yes edge_histo 6
|
||||||
|
|
||||||
|
# write voronoi per-atom quantities to a file
|
||||||
|
|
||||||
|
dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2]
|
||||||
|
|
||||||
|
# writing voronoi local quantities to a file
|
||||||
|
|
||||||
|
dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3]
|
||||||
|
|
||||||
|
# sum up a voronoi per-atom quantity
|
||||||
|
|
||||||
|
compute volvor all reduce sum c_v1[1]
|
||||||
|
|
||||||
|
variable volsys equal lz*lx*ly
|
||||||
|
variable err equal c_volvor-v_volsys
|
||||||
|
|
||||||
|
# output voronoi global quantities
|
||||||
|
|
||||||
|
thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7]
|
||||||
|
thermo 1
|
||||||
|
|
||||||
|
run 0
|
||||||
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update: every = 1 steps, delay = 0 steps, check = yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 3.5
|
||||||
|
ghost atom cutoff = 3.5
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/nsq/newton
|
||||||
|
stencil: none
|
||||||
|
bin: none
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.03 | 3.03 | 3.03 Mbytes
|
||||||
|
c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7]
|
||||||
|
27.712813 27.712813 27.712813 3.1974423e-14 0 186 12 36 0
|
||||||
|
Loop time of 7.96e-07 on 1 procs for 0 steps with 32 atoms
|
||||||
|
|
||||||
|
125.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Other | | 7.96e-07 | | |100.00
|
||||||
|
|
||||||
|
Nlocal: 32 ave 32 max 32 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 0 ave 0 max 0 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 325 ave 325 max 325 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 325
|
||||||
|
Ave neighs/atom = 10.15625
|
||||||
|
Neighbor list builds = 0
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
uncompute v1
|
||||||
|
uncompute volvor
|
||||||
|
undump dperatom
|
||||||
|
undump dlocal
|
||||||
|
|
||||||
|
#
|
||||||
|
# TEST 2:
|
||||||
|
#
|
||||||
|
|
||||||
|
# This compute voronoi generates peratom and local and global quantities
|
||||||
|
|
||||||
|
compute v2 all voronoi/atom neighbors yes edge_histo 6
|
||||||
|
|
||||||
|
# write voronoi local quantities to a file
|
||||||
|
|
||||||
|
dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3]
|
||||||
|
|
||||||
|
# sum up a voronoi local quantity
|
||||||
|
|
||||||
|
compute sumarea all reduce sum c_v2[3] inputs local
|
||||||
|
|
||||||
|
# output voronoi global quantities
|
||||||
|
|
||||||
|
thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7]
|
||||||
|
thermo 1
|
||||||
|
|
||||||
|
run 0
|
||||||
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.03 | 3.03 | 3.03 Mbytes
|
||||||
|
c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7]
|
||||||
|
171.39013 0 186 12 36 0
|
||||||
|
Loop time of 3.74e-07 on 1 procs for 0 steps with 32 atoms
|
||||||
|
|
||||||
|
0.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||||
|
Other | | 3.74e-07 | | |100.00
|
||||||
|
|
||||||
|
Nlocal: 32 ave 32 max 32 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 0 ave 0 max 0 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 325 ave 325 max 325 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 325
|
||||||
|
Ave neighs/atom = 10.15625
|
||||||
|
Neighbor list builds = 0
|
||||||
|
Dangerous builds = 0
|
||||||
|
Total wall time: 0:00:00
|
||||||
168
examples/voronoi/log.6Dec23.voronoi.data.g++.4
Normal file
168
examples/voronoi/log.6Dec23.voronoi.data.g++.4
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332)
|
||||||
|
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
# Exercise different output data options
|
||||||
|
|
||||||
|
variable len equal 4.0
|
||||||
|
variable lenz equal 10.0
|
||||||
|
|
||||||
|
dimension 2
|
||||||
|
units metal
|
||||||
|
boundary f f p
|
||||||
|
|
||||||
|
lattice hex 1.0 origin 0.25 0.25 0.0
|
||||||
|
Lattice spacing in x,y,z = 1 1.7320508 1
|
||||||
|
|
||||||
|
atom_style atomic
|
||||||
|
|
||||||
|
region box block 0 ${len} 0 ${len} -0.5 0.5
|
||||||
|
region box block 0 4 0 ${len} -0.5 0.5
|
||||||
|
region box block 0 4 0 4 -0.5 0.5
|
||||||
|
region atoms block 0 ${len} 0 ${len} 0.0 0.0
|
||||||
|
region atoms block 0 4 0 ${len} 0.0 0.0
|
||||||
|
region atoms block 0 4 0 4 0.0 0.0
|
||||||
|
create_box 1 box
|
||||||
|
Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5)
|
||||||
|
2 by 2 by 1 MPI processor grid
|
||||||
|
create_atoms 1 region atoms
|
||||||
|
Created 32 atoms
|
||||||
|
using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5)
|
||||||
|
create_atoms CPU = 0.000 seconds
|
||||||
|
|
||||||
|
mass 1 1.0
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
pair_coeff 1 1 0.0 1.0
|
||||||
|
|
||||||
|
neighbor 1.0 nsq
|
||||||
|
|
||||||
|
#
|
||||||
|
# TEST 1:
|
||||||
|
#
|
||||||
|
|
||||||
|
# This compute voronoi generates all three
|
||||||
|
# types of quantity: per-atom, local, and global
|
||||||
|
|
||||||
|
compute v1 all voronoi/atom neighbors yes edge_histo 6
|
||||||
|
|
||||||
|
# write voronoi per-atom quantities to a file
|
||||||
|
|
||||||
|
dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2]
|
||||||
|
|
||||||
|
# writing voronoi local quantities to a file
|
||||||
|
|
||||||
|
dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3]
|
||||||
|
|
||||||
|
# sum up a voronoi per-atom quantity
|
||||||
|
|
||||||
|
compute volvor all reduce sum c_v1[1]
|
||||||
|
|
||||||
|
variable volsys equal lz*lx*ly
|
||||||
|
variable err equal c_volvor-v_volsys
|
||||||
|
|
||||||
|
# output voronoi global quantities
|
||||||
|
|
||||||
|
thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7]
|
||||||
|
thermo 1
|
||||||
|
|
||||||
|
run 0
|
||||||
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Neighbor list info ...
|
||||||
|
update: every = 1 steps, delay = 0 steps, check = yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 3.5
|
||||||
|
ghost atom cutoff = 3.5
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/nsq/newton
|
||||||
|
stencil: none
|
||||||
|
bin: none
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 2.921 | 2.921 | 2.921 Mbytes
|
||||||
|
c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7]
|
||||||
|
27.712813 27.712813 27.712813 3.907985e-14 0 186 12 36 0
|
||||||
|
Loop time of 2.21425e-06 on 4 procs for 0 steps with 32 atoms
|
||||||
|
|
||||||
|
45.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 | | 2.214e-06 | | |100.00
|
||||||
|
|
||||||
|
Nlocal: 8 ave 8 max 8 min
|
||||||
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 24 ave 24 max 24 min
|
||||||
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 81.25 ave 84 max 77 min
|
||||||
|
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||||
|
|
||||||
|
Total # of neighbors = 325
|
||||||
|
Ave neighs/atom = 10.15625
|
||||||
|
Neighbor list builds = 0
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
uncompute v1
|
||||||
|
uncompute volvor
|
||||||
|
undump dperatom
|
||||||
|
undump dlocal
|
||||||
|
|
||||||
|
#
|
||||||
|
# TEST 2:
|
||||||
|
#
|
||||||
|
|
||||||
|
# This compute voronoi generates peratom and local and global quantities
|
||||||
|
|
||||||
|
compute v2 all voronoi/atom neighbors yes edge_histo 6
|
||||||
|
|
||||||
|
# write voronoi local quantities to a file
|
||||||
|
|
||||||
|
dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3]
|
||||||
|
|
||||||
|
# sum up a voronoi local quantity
|
||||||
|
|
||||||
|
compute sumarea all reduce sum c_v2[3] inputs local
|
||||||
|
|
||||||
|
# output voronoi global quantities
|
||||||
|
|
||||||
|
thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7]
|
||||||
|
thermo 1
|
||||||
|
|
||||||
|
run 0
|
||||||
|
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||||
|
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 2.921 | 2.921 | 2.921 Mbytes
|
||||||
|
c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7]
|
||||||
|
171.39013 0 186 12 36 0
|
||||||
|
Loop time of 1.82375e-06 on 4 procs for 0 steps with 32 atoms
|
||||||
|
|
||||||
|
82.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 | | 1.824e-06 | | |100.00
|
||||||
|
|
||||||
|
Nlocal: 8 ave 8 max 8 min
|
||||||
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 24 ave 24 max 24 min
|
||||||
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 81.25 ave 84 max 77 min
|
||||||
|
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||||
|
|
||||||
|
Total # of neighbors = 325
|
||||||
|
Ave neighs/atom = 10.15625
|
||||||
|
Neighbor list builds = 0
|
||||||
|
Dangerous builds = 0
|
||||||
|
Total wall time: 0:00:00
|
||||||
@ -18,11 +18,11 @@ from install_helpers import fullpath, geturl, checkmd5sum, getfallback
|
|||||||
# settings
|
# settings
|
||||||
|
|
||||||
thisdir = fullpath('.')
|
thisdir = fullpath('.')
|
||||||
version ='v.2023.10.04'
|
version ='v.2023.11.25.fix'
|
||||||
|
|
||||||
# known checksums for different PACE versions. used to validate the download.
|
# known checksums for different PACE versions. used to validate the download.
|
||||||
checksums = { \
|
checksums = { \
|
||||||
'v.2023.10.04': '70ff79f4e59af175e55d24f3243ad1ff'
|
'v.2023.11.25.fix': 'b45de9a633f42ed65422567e3ce56f9f'
|
||||||
}
|
}
|
||||||
|
|
||||||
parser = ArgumentParser(prog='Install.py', description="LAMMPS library build wrapper script")
|
parser = ArgumentParser(prog='Install.py', description="LAMMPS library build wrapper script")
|
||||||
|
|||||||
4
src/.gitignore
vendored
4
src/.gitignore
vendored
@ -629,6 +629,8 @@
|
|||||||
/compute_pressure_grem.h
|
/compute_pressure_grem.h
|
||||||
/compute_ptm_atom.cpp
|
/compute_ptm_atom.cpp
|
||||||
/compute_ptm_atom.h
|
/compute_ptm_atom.h
|
||||||
|
/compute_rattlers_atom.cpp
|
||||||
|
/compute_rattlers_atom.h
|
||||||
/compute_rigid_local.cpp
|
/compute_rigid_local.cpp
|
||||||
/compute_rigid_local.h
|
/compute_rigid_local.h
|
||||||
/compute_smd_triangle_vertices.cpp
|
/compute_smd_triangle_vertices.cpp
|
||||||
@ -912,6 +914,8 @@
|
|||||||
/fix_nvt_sllod_eff.h
|
/fix_nvt_sllod_eff.h
|
||||||
/fix_nve_tri.cpp
|
/fix_nve_tri.cpp
|
||||||
/fix_nve_tri.h
|
/fix_nve_tri.h
|
||||||
|
/fix_nonaffine_displacement.cpp
|
||||||
|
/fix_nonaffine_displacement.h
|
||||||
/fix_oneway.cpp
|
/fix_oneway.cpp
|
||||||
/fix_oneway.h
|
/fix_oneway.h
|
||||||
/fix_orient_bcc.cpp
|
/fix_orient_bcc.cpp
|
||||||
|
|||||||
312
src/EXTRA-COMPUTE/compute_rattlers_atom.cpp
Normal file
312
src/EXTRA-COMPUTE/compute_rattlers_atom.cpp
Normal file
@ -0,0 +1,312 @@
|
|||||||
|
// clang-format off
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||||
|
https://www.lammps.org/, Sandia National Laboratories
|
||||||
|
LAMMPS development team: developers@lammps.org
|
||||||
|
|
||||||
|
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||||
|
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||||
|
certain rights in this software. This software is distributed under
|
||||||
|
the GNU General Public License.
|
||||||
|
|
||||||
|
See the README file in the top-level LAMMPS directory.
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
Contributing authors: Joel Clemmer (SNL), Ishan Srivastava (LBNL)
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#include "compute_rattlers_atom.h"
|
||||||
|
|
||||||
|
#include "atom.h"
|
||||||
|
#include "comm.h"
|
||||||
|
#include "error.h"
|
||||||
|
#include "force.h"
|
||||||
|
#include "memory.h"
|
||||||
|
#include "neigh_list.h"
|
||||||
|
#include "neigh_request.h"
|
||||||
|
#include "neighbor.h"
|
||||||
|
#include "pair.h"
|
||||||
|
#include "update.h"
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
|
using namespace LAMMPS_NS;
|
||||||
|
|
||||||
|
enum { TYPE, RADIUS };
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
ComputeRattlersAtom::ComputeRattlersAtom(LAMMPS *lmp, int narg, char **arg) :
|
||||||
|
Compute(lmp, narg, arg), ncontacts(nullptr), rattler(nullptr)
|
||||||
|
{
|
||||||
|
if (narg != 6) error->all(FLERR, "Illegal compute rattlers/atom command");
|
||||||
|
|
||||||
|
if (strcmp(arg[3], "type") == 0)
|
||||||
|
cutstyle = TYPE;
|
||||||
|
else if (strcmp(arg[3], "radius") == 0)
|
||||||
|
cutstyle = RADIUS;
|
||||||
|
else
|
||||||
|
error->all(FLERR, "Illegal compute rattlers/atom command");
|
||||||
|
|
||||||
|
if (cutstyle == RADIUS && !atom->radius_flag)
|
||||||
|
error->all(FLERR, "Compute rattlers/atom radius style requires atom attribute radius");
|
||||||
|
|
||||||
|
ncontacts_rattler = utils::inumeric(FLERR, arg[4], false, lmp);
|
||||||
|
max_tries = utils::inumeric(FLERR, arg[5], false, lmp);
|
||||||
|
|
||||||
|
nmax = 0;
|
||||||
|
invoked_peratom = -1;
|
||||||
|
|
||||||
|
scalar_flag = 1;
|
||||||
|
extscalar = 1;
|
||||||
|
peratom_flag = 1;
|
||||||
|
size_peratom_cols = 0;
|
||||||
|
comm_forward = 1;
|
||||||
|
comm_reverse = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
ComputeRattlersAtom::~ComputeRattlersAtom()
|
||||||
|
{
|
||||||
|
memory->destroy(ncontacts);
|
||||||
|
memory->destroy(rattler);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void ComputeRattlersAtom::init()
|
||||||
|
{
|
||||||
|
if (force->pair == nullptr) error->all(FLERR, "No pair style is defined for compute rattlers");
|
||||||
|
|
||||||
|
// Cannot calculate distance from radii for JKR/DMT
|
||||||
|
if (force->pair->beyond_contact)
|
||||||
|
error->all(FLERR, "Compute rattlers does not currently support pair styles that extend beyond contact");
|
||||||
|
|
||||||
|
// need an occasional half neighbor list
|
||||||
|
// set size to same value as request made by force->pair
|
||||||
|
// this should enable it to always be a copy list (e.g. for granular pstyle)
|
||||||
|
|
||||||
|
auto pairrequest = neighbor->find_request(force->pair);
|
||||||
|
if (pairrequest && pairrequest->get_size())
|
||||||
|
neighbor->add_request(this, NeighConst::REQ_SIZE | NeighConst::REQ_OCCASIONAL);
|
||||||
|
else
|
||||||
|
neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void ComputeRattlersAtom::init_list(int /*id*/, NeighList *ptr)
|
||||||
|
{
|
||||||
|
list = ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void ComputeRattlersAtom::compute_peratom()
|
||||||
|
{
|
||||||
|
if (invoked_peratom == update->ntimestep) return;
|
||||||
|
invoked_peratom = update->ntimestep;
|
||||||
|
|
||||||
|
int i, j, ii, jj, inum, jnum, itype, jtype, tmp_flag;
|
||||||
|
tagint itag, jtag;
|
||||||
|
double xtmp, ytmp, ztmp, delx, dely, delz;
|
||||||
|
double rsq, radsum;
|
||||||
|
|
||||||
|
if (nmax < atom->nmax) {
|
||||||
|
nmax = atom->nmax;
|
||||||
|
memory->destroy(ncontacts);
|
||||||
|
memory->destroy(rattler);
|
||||||
|
memory->create(ncontacts, nmax, "rattlers:ncontacts");
|
||||||
|
memory->create(rattler, nmax, "rattlers:rattler");
|
||||||
|
vector_atom = rattler;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < nmax; i++) rattler[i] = 0;
|
||||||
|
|
||||||
|
int *ilist, *jlist, *numneigh, **firstneigh;
|
||||||
|
|
||||||
|
double **x = atom->x;
|
||||||
|
double *radius = atom->radius;
|
||||||
|
tagint *tag = atom->tag;
|
||||||
|
int *type = atom->type;
|
||||||
|
int *mask = atom->mask;
|
||||||
|
int nlocal = atom->nlocal;
|
||||||
|
int newton_pair = force->newton_pair;
|
||||||
|
|
||||||
|
// invoke half neighbor list (will copy or build if necessary)
|
||||||
|
neighbor->build_one(list);
|
||||||
|
|
||||||
|
inum = list->inum;
|
||||||
|
ilist = list->ilist;
|
||||||
|
numneigh = list->numneigh;
|
||||||
|
firstneigh = list->firstneigh;
|
||||||
|
|
||||||
|
Pair *pair = force->pair;
|
||||||
|
double **cutsq = force->pair->cutsq;
|
||||||
|
|
||||||
|
int change_flag = 1;
|
||||||
|
int ntry = 0;
|
||||||
|
while (ntry < max_tries) {
|
||||||
|
change_flag = 0;
|
||||||
|
|
||||||
|
for (i = 0; i < nmax; i++) ncontacts[i] = 0;
|
||||||
|
|
||||||
|
for (ii = 0; ii < inum; ii++) {
|
||||||
|
i = ilist[ii];
|
||||||
|
if (!(mask[i] & groupbit)) continue;
|
||||||
|
if (rattler[i] == 1) continue;
|
||||||
|
|
||||||
|
xtmp = x[i][0];
|
||||||
|
ytmp = x[i][1];
|
||||||
|
ztmp = x[i][2];
|
||||||
|
itag = tag[i];
|
||||||
|
itype = type[i];
|
||||||
|
jlist = firstneigh[i];
|
||||||
|
jnum = numneigh[i];
|
||||||
|
|
||||||
|
for (jj = 0; jj < jnum; jj++) {
|
||||||
|
j = jlist[jj];
|
||||||
|
j &= NEIGHMASK;
|
||||||
|
|
||||||
|
if (!(mask[j] & groupbit)) continue;
|
||||||
|
if (rattler[j] == 1) continue;
|
||||||
|
|
||||||
|
// itag = jtag is possible for long cutoffs that include images of self
|
||||||
|
|
||||||
|
if (newton_pair == 0 && j >= nlocal) {
|
||||||
|
jtag = tag[j];
|
||||||
|
if (itag > jtag) {
|
||||||
|
if ((itag + jtag) % 2 == 0) continue;
|
||||||
|
} else if (itag < jtag) {
|
||||||
|
if ((itag + jtag) % 2 == 1) continue;
|
||||||
|
} else {
|
||||||
|
if (x[j][2] < ztmp) continue;
|
||||||
|
if (x[j][2] == ztmp) {
|
||||||
|
if (x[j][1] < ytmp) continue;
|
||||||
|
if (x[j][1] == ytmp && x[j][0] < xtmp) continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
jtype = type[j];
|
||||||
|
|
||||||
|
delx = xtmp - x[j][0];
|
||||||
|
dely = ytmp - x[j][1];
|
||||||
|
delz = ztmp - x[j][2];
|
||||||
|
rsq = delx * delx + dely * dely + delz * delz;
|
||||||
|
|
||||||
|
if (cutstyle == TYPE) {
|
||||||
|
if (rsq >= cutsq[itype][jtype]) continue;
|
||||||
|
} else {
|
||||||
|
radsum = radius[i] + radius[j];
|
||||||
|
if (rsq >= radsum * radsum) continue;
|
||||||
|
}
|
||||||
|
ncontacts[i] += 1;
|
||||||
|
if (newton_pair || j < nlocal)
|
||||||
|
ncontacts[j] += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// add contributions from ghosts
|
||||||
|
if (force->newton_pair) comm->reverse_comm(this);
|
||||||
|
|
||||||
|
// Set flags for rattlers
|
||||||
|
for (i = 0; i < atom->nlocal; i++) {
|
||||||
|
if (ncontacts[i] < ncontacts_rattler && rattler[i] == 0) {
|
||||||
|
rattler[i] = 1;
|
||||||
|
change_flag = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
comm->forward_comm(this);
|
||||||
|
|
||||||
|
MPI_Allreduce(&change_flag, &tmp_flag, 1, MPI_INT, MPI_MAX, world);
|
||||||
|
change_flag = tmp_flag;
|
||||||
|
if (change_flag == 0) break;
|
||||||
|
|
||||||
|
ntry += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (change_flag == 1)
|
||||||
|
error->warning(FLERR, "Rattler calculation failed to converge within max tries");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
double ComputeRattlersAtom::compute_scalar()
|
||||||
|
{
|
||||||
|
if (invoked_peratom != update->ntimestep)
|
||||||
|
compute_peratom();
|
||||||
|
|
||||||
|
invoked_scalar = update->ntimestep;
|
||||||
|
|
||||||
|
double total_rattlers = 0;
|
||||||
|
for (int i = 0; i < atom->nlocal; i++) {
|
||||||
|
if (rattler[i] == 1) {
|
||||||
|
total_rattlers += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Total across processors
|
||||||
|
MPI_Allreduce(&total_rattlers, &scalar, 1, MPI_DOUBLE, MPI_SUM, world);
|
||||||
|
return scalar;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
int ComputeRattlersAtom::pack_reverse_comm(int n, int first, double *buf)
|
||||||
|
{
|
||||||
|
int i, m, last;
|
||||||
|
|
||||||
|
m = 0;
|
||||||
|
last = first + n;
|
||||||
|
for (i = first; i < last; i++) {
|
||||||
|
buf[m++] = ubuf(ncontacts[i]).d;
|
||||||
|
}
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void ComputeRattlersAtom::unpack_reverse_comm(int n, int *list, double *buf)
|
||||||
|
{
|
||||||
|
int i, j, m;
|
||||||
|
|
||||||
|
m = 0;
|
||||||
|
for (i = 0; i < n; i++) {
|
||||||
|
j = list[i];
|
||||||
|
ncontacts[j] += (int) ubuf(buf[m++]).i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
int ComputeRattlersAtom::pack_forward_comm(int n, int *list, double *buf,
|
||||||
|
int /*pbc_flag*/, int * /*pbc*/)
|
||||||
|
{
|
||||||
|
int i, j, m;
|
||||||
|
|
||||||
|
m = 0;
|
||||||
|
for (i = 0; i < n; i++) {
|
||||||
|
j = list[i];
|
||||||
|
buf[m++] = rattler[j];
|
||||||
|
}
|
||||||
|
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void ComputeRattlersAtom::unpack_forward_comm(int n, int first, double *buf)
|
||||||
|
{
|
||||||
|
int i, m, last;
|
||||||
|
|
||||||
|
m = 0;
|
||||||
|
last = first + n;
|
||||||
|
for (i = first; i < last; i++) {
|
||||||
|
rattler[i] = buf[m++];
|
||||||
|
}
|
||||||
|
}
|
||||||
52
src/EXTRA-COMPUTE/compute_rattlers_atom.h
Normal file
52
src/EXTRA-COMPUTE/compute_rattlers_atom.h
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/* -*- c++ -*- ----------------------------------------------------------
|
||||||
|
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||||
|
https://www.lammps.org/, Sandia National Laboratories
|
||||||
|
LAMMPS development team: developers@lammps.org
|
||||||
|
|
||||||
|
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||||
|
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||||
|
certain rights in this software. This software is distributed under
|
||||||
|
the GNU General Public License.
|
||||||
|
|
||||||
|
See the README file in the top-level LAMMPS directory.
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#ifdef COMPUTE_CLASS
|
||||||
|
// clang-format off
|
||||||
|
ComputeStyle(rattlers/atom,ComputeRattlersAtom);
|
||||||
|
// clang-format on
|
||||||
|
#else
|
||||||
|
|
||||||
|
#ifndef LMP_COMPUTE_RATTLERS_ATOM_H
|
||||||
|
#define LMP_COMPUTE_RATTLERS_ATOM_H
|
||||||
|
|
||||||
|
#include "compute.h"
|
||||||
|
|
||||||
|
namespace LAMMPS_NS {
|
||||||
|
|
||||||
|
class ComputeRattlersAtom : public Compute {
|
||||||
|
public:
|
||||||
|
ComputeRattlersAtom(class LAMMPS *, int, char **);
|
||||||
|
~ComputeRattlersAtom() override;
|
||||||
|
void init() override;
|
||||||
|
void init_list(int, class NeighList *) override;
|
||||||
|
void compute_peratom() override;
|
||||||
|
double compute_scalar() override;
|
||||||
|
int pack_forward_comm(int, int *, double *, int, int *) override;
|
||||||
|
void unpack_forward_comm(int, int, double *) override;
|
||||||
|
int pack_reverse_comm(int, int, double *) override;
|
||||||
|
void unpack_reverse_comm(int, int *, double *) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
int pstyle, cutstyle;
|
||||||
|
int ncontacts_rattler, max_tries, nmax, invoked_peratom;
|
||||||
|
int *ncontacts;
|
||||||
|
double *rattler;
|
||||||
|
class NeighList *list;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace LAMMPS_NS
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
736
src/EXTRA-FIX/fix_nonaffine_displacement.cpp
Normal file
736
src/EXTRA-FIX/fix_nonaffine_displacement.cpp
Normal file
@ -0,0 +1,736 @@
|
|||||||
|
// clang-format off
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||||
|
https://www.lammps.org/, Sandia National Laboratories
|
||||||
|
LAMMPS development team: developers@lammps.org
|
||||||
|
|
||||||
|
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||||
|
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||||
|
certain rights in this software. This software is distributed under
|
||||||
|
the GNU General Public License.
|
||||||
|
|
||||||
|
See the README file in the top-level LAMMPS directory.
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
Contributing authors: Joel Clemmer (SNL), Ishan Srivastava (LBNL)
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#include "fix_nonaffine_displacement.h"
|
||||||
|
|
||||||
|
#include "atom.h"
|
||||||
|
#include "citeme.h"
|
||||||
|
#include "comm.h"
|
||||||
|
#include "domain.h"
|
||||||
|
#include "error.h"
|
||||||
|
#include "fix_store_atom.h"
|
||||||
|
#include "force.h"
|
||||||
|
#include "group.h"
|
||||||
|
#include "math_extra.h"
|
||||||
|
#include "memory.h"
|
||||||
|
#include "modify.h"
|
||||||
|
#include "neigh_list.h"
|
||||||
|
#include "neigh_request.h"
|
||||||
|
#include "neighbor.h"
|
||||||
|
#include "pair.h"
|
||||||
|
#include "update.h"
|
||||||
|
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
|
using namespace LAMMPS_NS;
|
||||||
|
using namespace FixConst;
|
||||||
|
using namespace MathExtra;
|
||||||
|
|
||||||
|
enum { TYPE, RADIUS, CUSTOM };
|
||||||
|
enum { INTEGRATED, D2MIN };
|
||||||
|
enum { FIXED, OFFSET, UPDATE };
|
||||||
|
|
||||||
|
static const char cite_nonaffine_d2min[] =
|
||||||
|
"@article{PhysRevE.57.7192,\n"
|
||||||
|
" title = {Dynamics of viscoplastic deformation in amorphous solids},\n"
|
||||||
|
" author = {Falk, M. L. and Langer, J. S.},\n"
|
||||||
|
" journal = {Phys. Rev. E},\n"
|
||||||
|
" volume = {57},\n"
|
||||||
|
" issue = {6},\n"
|
||||||
|
" pages = {7192--7205},\n"
|
||||||
|
" numpages = {0},\n"
|
||||||
|
" year = {1998},\n"
|
||||||
|
" month = {Jun},\n"
|
||||||
|
" publisher = {American Physical Society},\n"
|
||||||
|
" doi = {10.1103/PhysRevE.57.7192},\n"
|
||||||
|
"url = {https://link.aps.org/doi/10.1103/PhysRevE.57.7192}\n"
|
||||||
|
"}\n\n";
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char **arg) :
|
||||||
|
Fix(lmp, narg, arg), id_fix(nullptr), X(nullptr), Y(nullptr), F(nullptr), norm(nullptr)
|
||||||
|
{
|
||||||
|
if (narg < 4) error->all(FLERR,"Illegal fix nonaffine/displacement command");
|
||||||
|
|
||||||
|
nevery = utils::inumeric(FLERR, arg[3], false, lmp);
|
||||||
|
if (nevery <= 0) error->all(FLERR,"Illegal nevery value {} in fix nonaffine/displacement", nevery);
|
||||||
|
|
||||||
|
int iarg = 4;
|
||||||
|
if (strcmp(arg[iarg], "integrated") == 0) {
|
||||||
|
nad_style = INTEGRATED;
|
||||||
|
nevery = 1;
|
||||||
|
iarg += 1;
|
||||||
|
} else if (strcmp(arg[iarg], "d2min") == 0) {
|
||||||
|
if (iarg + 1 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command");
|
||||||
|
nad_style = D2MIN;
|
||||||
|
if (strcmp(arg[iarg + 1], "type") == 0) {
|
||||||
|
cut_style = TYPE;
|
||||||
|
} else if (strcmp(arg[iarg + 1], "radius") == 0) {
|
||||||
|
cut_style = RADIUS;
|
||||||
|
} else if (strcmp(arg[iarg + 1], "custom") == 0) {
|
||||||
|
if (iarg + 2 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command");
|
||||||
|
cut_style = CUSTOM;
|
||||||
|
cutoff_custom = utils::numeric(FLERR, arg[iarg + 2], false, lmp);
|
||||||
|
cutsq_custom = cutoff_custom * cutoff_custom;
|
||||||
|
if (cutoff_custom <= 0)
|
||||||
|
error->all(FLERR, "Illegal custom cutoff length {}", arg[iarg + 2]);
|
||||||
|
iarg += 1;
|
||||||
|
} else error->all(FLERR,"Illegal cutoff style {} in fix nonaffine/displacement", arg[iarg + 1]);
|
||||||
|
iarg += 2;
|
||||||
|
} else error->all(FLERR,"Illegal nonaffine displacement style {} in fix nonaffine/displacement", arg[iarg]);
|
||||||
|
|
||||||
|
if (iarg + 2 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command");
|
||||||
|
if (strcmp(arg[iarg], "fixed") == 0) {
|
||||||
|
reference_style = FIXED;
|
||||||
|
reference_timestep = utils::inumeric(FLERR, arg[iarg + 1], false, lmp);
|
||||||
|
if (update_timestep < 0)
|
||||||
|
error->all(FLERR, "Illegal reference timestep {} in fix nonaffine/displacement", arg[iarg + 1]);
|
||||||
|
} else if (strcmp(arg[iarg], "update") == 0) {
|
||||||
|
reference_style = UPDATE;
|
||||||
|
update_timestep = utils::inumeric(FLERR, arg[iarg + 1], false, lmp);
|
||||||
|
if (update_timestep < 0)
|
||||||
|
error->all(FLERR, "Illegal update timestep {} in fix nonaffine/displacement", arg[iarg + 1]);
|
||||||
|
} else if (strcmp(arg[iarg], "offset") == 0) {
|
||||||
|
reference_style = OFFSET;
|
||||||
|
offset_timestep = utils::inumeric(FLERR, arg[iarg + 1], false, lmp);
|
||||||
|
if ((offset_timestep <= 0) || (offset_timestep > nevery))
|
||||||
|
error->all(FLERR, "Illegal offset timestep {} in fix nonaffine/displacement", arg[iarg + 1]);
|
||||||
|
} else error->all(FLERR,"Illegal reference style {} in fix nonaffine/displacement", arg[iarg]);
|
||||||
|
|
||||||
|
if (nad_style == D2MIN)
|
||||||
|
if (cut_style == RADIUS && (!atom->radius_flag))
|
||||||
|
error->all(FLERR, "Fix nonaffine/displacement radius style requires atom attribute radius");
|
||||||
|
|
||||||
|
if (nad_style == INTEGRATED && reference_style == OFFSET)
|
||||||
|
error->all(FLERR, "Fix nonaffine/displacement cannot use the integrated style with an offset reference state");
|
||||||
|
|
||||||
|
peratom_flag = 1;
|
||||||
|
peratom_freq = nevery;
|
||||||
|
nmax = -1;
|
||||||
|
reference_saved = 0;
|
||||||
|
restart_global = 1;
|
||||||
|
|
||||||
|
size_peratom_cols = 3;
|
||||||
|
comm_reverse = 0;
|
||||||
|
comm_forward = 0;
|
||||||
|
if (nad_style == D2MIN) {
|
||||||
|
comm_reverse = 18;
|
||||||
|
comm_forward = 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nad_style == D2MIN && lmp->citeme) lmp->citeme->add(cite_nonaffine_d2min);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
FixNonaffineDisplacement::~FixNonaffineDisplacement()
|
||||||
|
{
|
||||||
|
if (id_fix && modify->nfix) modify->delete_fix(id_fix);
|
||||||
|
delete[] id_fix;
|
||||||
|
|
||||||
|
if (nad_style == D2MIN) {
|
||||||
|
memory->destroy(X);
|
||||||
|
memory->destroy(Y);
|
||||||
|
memory->destroy(F);
|
||||||
|
memory->destroy(norm);
|
||||||
|
memory->destroy(array_atom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
int FixNonaffineDisplacement::setmask()
|
||||||
|
{
|
||||||
|
int mask = 0;
|
||||||
|
mask |= POST_FORCE;
|
||||||
|
return mask;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::post_constructor()
|
||||||
|
{
|
||||||
|
// Create persistent peratom storage for either an integrated velocity or reference position
|
||||||
|
// Ghost atoms need reference coordinates for D2min
|
||||||
|
std::string ghost_status = "0";
|
||||||
|
if (nad_style == D2MIN) ghost_status = "1";
|
||||||
|
|
||||||
|
id_fix = utils::strdup(id + std::string("_FIX_PA"));
|
||||||
|
fix = dynamic_cast<FixStoreAtom *>(modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 {} 1", id_fix, group->names[igroup], ghost_status)));
|
||||||
|
|
||||||
|
if (nad_style == INTEGRATED)
|
||||||
|
array_atom = fix->astore;
|
||||||
|
|
||||||
|
if (nad_style == D2MIN)
|
||||||
|
grow_arrays(atom->nmax);
|
||||||
|
|
||||||
|
for (int i = 0; i < atom->nlocal; i++)
|
||||||
|
for (int j = 0; j < 3; j++) array_atom[i][j] = 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::init()
|
||||||
|
{
|
||||||
|
dtv = update->dt;
|
||||||
|
|
||||||
|
if ((!reference_saved) && (reference_style == FIXED) && (update->ntimestep > reference_timestep))
|
||||||
|
error->all(FLERR, "Initial timestep exceeds that of the reference state in fix nonaffine/displacement");
|
||||||
|
|
||||||
|
if (nad_style == D2MIN) {
|
||||||
|
if ((!force->pair) && (cut_style == TYPE))
|
||||||
|
error->all(FLERR,"Fix nonaffine/displacement D2Min option requires a pair style be defined "
|
||||||
|
"or cutoff specified");
|
||||||
|
|
||||||
|
// need an occasional half neighbor list
|
||||||
|
|
||||||
|
if (cut_style == RADIUS) {
|
||||||
|
auto req = neighbor->add_request(this, NeighConst::REQ_SIZE | NeighConst::REQ_OCCASIONAL);
|
||||||
|
} else {
|
||||||
|
auto req = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL);
|
||||||
|
if (cut_style == CUSTOM) {
|
||||||
|
double skin = neighbor->skin;
|
||||||
|
mycutneigh = cutoff_custom + skin;
|
||||||
|
|
||||||
|
double cutghost; // as computed by Neighbor and Comm
|
||||||
|
if (force->pair)
|
||||||
|
cutghost = MAX(force->pair->cutforce + skin, comm->cutghostuser);
|
||||||
|
else
|
||||||
|
cutghost = comm->cutghostuser;
|
||||||
|
|
||||||
|
if (mycutneigh > cutghost)
|
||||||
|
error->all(FLERR,"Fix nonaffine/displacement D2Min option cutoff exceeds ghost atom range - use comm_modify cutoff command");
|
||||||
|
|
||||||
|
req->set_cutoff(mycutneigh);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::init_list(int /*id*/, NeighList *ptr)
|
||||||
|
{
|
||||||
|
list = ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::setup(int vflag)
|
||||||
|
{
|
||||||
|
post_force(0); // Save state if needed before starting the 1st timestep
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::post_force(int /*vflag*/)
|
||||||
|
{
|
||||||
|
if (reference_saved && (!update->setupflag)) {
|
||||||
|
if (nad_style == INTEGRATED) {
|
||||||
|
integrate_velocity();
|
||||||
|
} else {
|
||||||
|
if ((update->ntimestep % nevery) == 0) calculate_D2Min();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (reference_style == FIXED)
|
||||||
|
if (update->ntimestep == reference_timestep)
|
||||||
|
save_reference_state();
|
||||||
|
|
||||||
|
if (reference_style == UPDATE)
|
||||||
|
if ((update->ntimestep % update_timestep) == 0)
|
||||||
|
save_reference_state();
|
||||||
|
|
||||||
|
if (reference_style == OFFSET)
|
||||||
|
if (((update->ntimestep + offset_timestep) % nevery) == 0)
|
||||||
|
save_reference_state();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::write_restart(FILE *fp)
|
||||||
|
{
|
||||||
|
if (comm->me == 0) {
|
||||||
|
int size = sizeof(int);
|
||||||
|
fwrite(&size, sizeof(int), 1, fp);
|
||||||
|
fwrite(&reference_saved, sizeof(int), 1, fp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::restart(char *buf)
|
||||||
|
{
|
||||||
|
reference_saved = (int) ubuf(buf[0]).i;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::integrate_velocity()
|
||||||
|
{
|
||||||
|
int i,n;
|
||||||
|
dtv = update->dt;
|
||||||
|
|
||||||
|
double **v = atom->v;
|
||||||
|
|
||||||
|
int *mask = atom->mask;
|
||||||
|
int nlocal = atom->nlocal;
|
||||||
|
|
||||||
|
for (int m = 0; m < 3; m++) {
|
||||||
|
for (int i = 0; i < nlocal; i++) {
|
||||||
|
if (mask[i] & groupbit) {
|
||||||
|
array_atom[i][m] += dtv * v[i][m];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::save_reference_state()
|
||||||
|
{
|
||||||
|
int i, n;
|
||||||
|
double **x = atom->x;
|
||||||
|
|
||||||
|
int *mask = atom->mask;
|
||||||
|
int nlocal = atom->nlocal;
|
||||||
|
int nall = nlocal + atom->nghost;
|
||||||
|
|
||||||
|
if (nad_style == D2MIN) {
|
||||||
|
for (int m = 0; m < 3; m++) {
|
||||||
|
for (int i = 0; i < nall; i++) {
|
||||||
|
if (mask[i] & groupbit) array_atom[i][m] = x[i][m];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (int m = 0; m < 3; m++) {
|
||||||
|
for (int i = 0; i < nall; i++) {
|
||||||
|
if (mask[i] & groupbit) array_atom[i][m] = 0.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nad_style == D2MIN) {
|
||||||
|
xprd0 = domain->xprd;
|
||||||
|
yprd0 = domain->yprd;
|
||||||
|
zprd0 = domain->zprd;
|
||||||
|
xprd0_half = domain->xprd_half;
|
||||||
|
yprd0_half = domain->yprd_half;
|
||||||
|
zprd0_half = domain->zprd_half;
|
||||||
|
xy0 = domain->xy;
|
||||||
|
xz0 = domain->xz;
|
||||||
|
yz0 = domain->yz;
|
||||||
|
}
|
||||||
|
|
||||||
|
reference_saved = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::calculate_D2Min()
|
||||||
|
{
|
||||||
|
// invoke half neighbor list (will copy or build if necessary)
|
||||||
|
neighbor->build_one(list);
|
||||||
|
|
||||||
|
if (atom->nmax > nmax)
|
||||||
|
grow_arrays(atom->nmax);
|
||||||
|
|
||||||
|
int i, j, k, l, ii, jj, inum, jnum, itype, jtype;
|
||||||
|
double evol, j2, edev;
|
||||||
|
double r[3], r0[3], rsq, rsq0, radsum, temp[3];
|
||||||
|
double X_tmp[3][3], Y_tmp[3][3], F_tmp[3][3], E[3][3];
|
||||||
|
double Y_inv[3][3] = {0.0}; // Zero for 2d since not all entries used
|
||||||
|
int *ilist, *jlist, *numneigh, **firstneigh;
|
||||||
|
|
||||||
|
double **x = atom->x;
|
||||||
|
double **x0 = array_atom;
|
||||||
|
double *radius = atom->radius;
|
||||||
|
tagint *tag = atom->tag;
|
||||||
|
int *type = atom->type;
|
||||||
|
int *mask = atom->mask;
|
||||||
|
int nlocal = atom->nlocal;
|
||||||
|
int newton_pair = force->newton_pair;
|
||||||
|
int dim = domain->dimension;
|
||||||
|
|
||||||
|
inum = list->inum;
|
||||||
|
ilist = list->ilist;
|
||||||
|
numneigh = list->numneigh;
|
||||||
|
firstneigh = list->firstneigh;
|
||||||
|
|
||||||
|
Pair *pair = force->pair;
|
||||||
|
double **cutsq;
|
||||||
|
if (pair) cutsq = force->pair->cutsq;
|
||||||
|
|
||||||
|
for (i = 0; i < nmax; i++) {
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
for (l = 0; l < 3; l++) {
|
||||||
|
X[i][k][l] = 0.0;
|
||||||
|
Y[i][k][l] = 0.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
norm[i] = 0;
|
||||||
|
array_atom[i][0] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// First loop through neighbors
|
||||||
|
for (ii = 0; ii < inum; ii++) {
|
||||||
|
i = ilist[ii];
|
||||||
|
if (!(mask[i] & groupbit)) continue;
|
||||||
|
|
||||||
|
itype = type[i];
|
||||||
|
jlist = firstneigh[i];
|
||||||
|
jnum = numneigh[i];
|
||||||
|
|
||||||
|
for (jj = 0; jj < jnum; jj++) {
|
||||||
|
j = jlist[jj];
|
||||||
|
j &= NEIGHMASK;
|
||||||
|
|
||||||
|
if (!(mask[j] & groupbit)) continue;
|
||||||
|
|
||||||
|
jtype = type[j];
|
||||||
|
r[0] = x[i][0] - x[j][0];
|
||||||
|
r[1] = x[i][1] - x[j][1];
|
||||||
|
r[2] = x[i][2] - x[j][2];
|
||||||
|
rsq = lensq3(r);
|
||||||
|
|
||||||
|
// Only include contributions from atoms that are CURRENTLY neighbors
|
||||||
|
if (cut_style == TYPE) {
|
||||||
|
if (rsq > cutsq[itype][jtype]) continue;
|
||||||
|
} else if (cut_style == CUSTOM) {
|
||||||
|
if (rsq > cutsq_custom) continue;
|
||||||
|
} else {
|
||||||
|
radsum = radius[i] + radius[j];
|
||||||
|
if (rsq > (radsum * radsum)) continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
r0[0] = x0[i][0] - x0[j][0];
|
||||||
|
r0[1] = x0[i][1] - x0[j][1];
|
||||||
|
r0[2] = x0[i][2] - x0[j][2];
|
||||||
|
minimum_image0(r0);
|
||||||
|
|
||||||
|
// Using notation from Falk & Langer 1998
|
||||||
|
outer3(r, r0, X_tmp);
|
||||||
|
outer3(r0, r0, Y_tmp);
|
||||||
|
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
for (l = 0; l < 3; l++) {
|
||||||
|
X[i][k][l] += X_tmp[k][l];
|
||||||
|
Y[i][k][l] += Y_tmp[k][l];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newton_pair || j < nlocal) {
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
for (l = 0; l < 3; l++) {
|
||||||
|
X[j][k][l] += X_tmp[k][l];
|
||||||
|
Y[j][k][l] += Y_tmp[k][l];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
comm_flag = 0;
|
||||||
|
if (newton_pair) comm->reverse_comm(this, 18);
|
||||||
|
|
||||||
|
// Calculate contributions to strain tensor
|
||||||
|
double denom;
|
||||||
|
for (i = 0; i < nlocal; i++) {
|
||||||
|
if (!(mask[i] & groupbit)) continue;
|
||||||
|
for (j = 0; j < 3; j++) {
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
Y_tmp[j][k] = Y[i][j][k];
|
||||||
|
X_tmp[j][k] = X[i][j][k];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dim == 3) {
|
||||||
|
invert3(Y_tmp, Y_inv);
|
||||||
|
} else {
|
||||||
|
denom = Y_tmp[0][0] * Y_tmp[1][1] - Y_tmp[0][1] * Y_tmp[1][0];
|
||||||
|
if (denom != 0.0) denom = 1.0 / denom;
|
||||||
|
Y_inv[0][0] = Y_tmp[1][1] * denom;
|
||||||
|
Y_inv[0][1] = -Y_tmp[0][1] * denom;
|
||||||
|
Y_inv[1][0] = -Y_tmp[1][0] * denom;
|
||||||
|
Y_inv[1][1] = Y_tmp[0][0] * denom;
|
||||||
|
}
|
||||||
|
|
||||||
|
times3(X_tmp, Y_inv, F_tmp);
|
||||||
|
|
||||||
|
for (j = 0; j < 3; j++) {
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
F[i][j][k] = F_tmp[j][k];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
comm->forward_comm(this);
|
||||||
|
|
||||||
|
// Second loop through neighbors
|
||||||
|
for (ii = 0; ii < inum; ii++) {
|
||||||
|
i = ilist[ii];
|
||||||
|
if (!(mask[i] & groupbit)) continue;
|
||||||
|
|
||||||
|
itype = type[i];
|
||||||
|
jlist = firstneigh[i];
|
||||||
|
jnum = numneigh[i];
|
||||||
|
|
||||||
|
for (jj = 0; jj < jnum; jj++) {
|
||||||
|
j = jlist[jj];
|
||||||
|
j &= NEIGHMASK;
|
||||||
|
|
||||||
|
if (!(mask[j] & groupbit)) continue;
|
||||||
|
|
||||||
|
jtype = type[j];
|
||||||
|
r[0] = x[i][0] - x[j][0];
|
||||||
|
r[1] = x[i][1] - x[j][1];
|
||||||
|
r[2] = x[i][2] - x[j][2];
|
||||||
|
rsq = lensq3(r);
|
||||||
|
|
||||||
|
// Only include contributions from atoms that are CURRENTLY neighbors
|
||||||
|
if (cut_style == TYPE) {
|
||||||
|
if (rsq >= cutsq[itype][jtype]) continue;
|
||||||
|
} else if (cut_style == CUSTOM) {
|
||||||
|
if (rsq >= cutsq_custom) continue;
|
||||||
|
} else {
|
||||||
|
radsum = radius[i] + radius[j];
|
||||||
|
if (rsq >= radsum * radsum) continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
r0[0] = x0[i][0] - x0[j][0];
|
||||||
|
r0[1] = x0[i][1] - x0[j][1];
|
||||||
|
r0[2] = x0[i][2] - x0[j][2];
|
||||||
|
minimum_image0(r0);
|
||||||
|
|
||||||
|
// E * r0
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
temp[k] = 0.0;
|
||||||
|
for (l = 0; l < 3; l++)
|
||||||
|
temp[k] += F[i][k][l] * r0[l];
|
||||||
|
}
|
||||||
|
|
||||||
|
sub3(r, temp, temp);
|
||||||
|
array_atom[i][0] += lensq3(temp);
|
||||||
|
norm[i] += 1;
|
||||||
|
|
||||||
|
if (newton_pair || j < nlocal) {
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
temp[k] = 0.0;
|
||||||
|
for (l = 0; l < 3; l++)
|
||||||
|
temp[k] += F[j][k][l] * r0[l];
|
||||||
|
}
|
||||||
|
|
||||||
|
sub3(r, temp, temp);
|
||||||
|
array_atom[j][0] += lensq3(temp);
|
||||||
|
norm[j] += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
comm_flag = 1;
|
||||||
|
if (newton_pair) comm->reverse_comm(this, 2);
|
||||||
|
|
||||||
|
for (i = 0; i < nlocal; i++) {
|
||||||
|
if (!(mask[i] & groupbit)) continue;
|
||||||
|
|
||||||
|
if (norm[i] != 0)
|
||||||
|
array_atom[i][0] /= norm[i];
|
||||||
|
else
|
||||||
|
array_atom[i][0] = 0.0;
|
||||||
|
array_atom[i][0] = sqrt(array_atom[i][0]);
|
||||||
|
|
||||||
|
for (j = 0; j < 3; j++)
|
||||||
|
for (k = 0; k < 3; k++)
|
||||||
|
F_tmp[j][k] = F[i][j][k];
|
||||||
|
|
||||||
|
transpose_times3(F_tmp, F_tmp, E);
|
||||||
|
for (j = 0; j < dim; j++) E[j][j] -= 1.0;
|
||||||
|
|
||||||
|
evol = (E[0][0] + E[1][1] + E[2][2]) / dim;
|
||||||
|
|
||||||
|
// Calculate deviatoric strain
|
||||||
|
for (j = 0; j < dim; j++) E[j][j] -= evol;
|
||||||
|
j2 = 0.0;
|
||||||
|
for (j = 0; j < 3; j++)
|
||||||
|
for (k = 0; k < 3; k++)
|
||||||
|
j2 += E[j][k] * E[j][k];
|
||||||
|
|
||||||
|
edev = sqrt(0.5 * j2);
|
||||||
|
|
||||||
|
array_atom[i][1] = evol;
|
||||||
|
array_atom[i][2] = edev;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
int FixNonaffineDisplacement::pack_reverse_comm(int n, int first, double *buf)
|
||||||
|
{
|
||||||
|
int i, m, last, k, l;
|
||||||
|
|
||||||
|
m = 0;
|
||||||
|
last = first + n;
|
||||||
|
for (i = first; i < last; i++) {
|
||||||
|
if (comm_flag == 0) {
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
for (l = 0; l < 3; l++) {
|
||||||
|
buf[m++] = X[i][k][l];
|
||||||
|
buf[m++] = Y[i][k][l];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
buf[m++] = array_atom[i][0];
|
||||||
|
buf[m++] = ubuf(norm[i]).d;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::unpack_reverse_comm(int n, int *list, double *buf)
|
||||||
|
{
|
||||||
|
int i, j, m, k, l;
|
||||||
|
|
||||||
|
m = 0;
|
||||||
|
for (i = 0; i < n; i++) {
|
||||||
|
j = list[i];
|
||||||
|
if (comm_flag == 0) {
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
for (l = 0; l < 3; l++) {
|
||||||
|
X[j][k][l] += buf[m++];
|
||||||
|
Y[j][k][l] += buf[m++];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
array_atom[j][0] += buf[m++];
|
||||||
|
norm[j] += (int) ubuf(buf[m++]).i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
int FixNonaffineDisplacement::pack_forward_comm(int n, int *list, double *buf,
|
||||||
|
int /*pbc_flag*/, int * /*pbc*/)
|
||||||
|
{
|
||||||
|
int i, j, m, k, l;
|
||||||
|
|
||||||
|
m = 0;
|
||||||
|
for (i = 0; i < n; i++) {
|
||||||
|
j = list[i];
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
for (l = 0; l < 3; l ++) {
|
||||||
|
buf[m++] = F[j][k][l];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::unpack_forward_comm(int n, int first, double *buf)
|
||||||
|
{
|
||||||
|
int i, m, last, k, l;
|
||||||
|
|
||||||
|
m = 0;
|
||||||
|
last = first + n;
|
||||||
|
for (i = first; i < last; i++) {
|
||||||
|
for (k = 0; k < 3; k++) {
|
||||||
|
for (l = 0; l < 3; l ++) {
|
||||||
|
F[i][k][l] = buf[m++];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::minimum_image0(double *delta)
|
||||||
|
{
|
||||||
|
if (domain->triclinic == 0) {
|
||||||
|
if (domain->xperiodic) {
|
||||||
|
while (fabs(delta[0]) > xprd0_half) {
|
||||||
|
if (delta[0] < 0.0) delta[0] += xprd0;
|
||||||
|
else delta[0] -= xprd0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (domain->yperiodic) {
|
||||||
|
while (fabs(delta[1]) > yprd0_half) {
|
||||||
|
if (delta[1] < 0.0) delta[1] += yprd0;
|
||||||
|
else delta[1] -= yprd0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (domain->zperiodic) {
|
||||||
|
while (fabs(delta[2]) > zprd0_half) {
|
||||||
|
if (delta[2] < 0.0) delta[2] += zprd0;
|
||||||
|
else delta[2] -= zprd0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (domain->zperiodic) {
|
||||||
|
while (fabs(delta[2]) > zprd0_half) {
|
||||||
|
if (delta[2] < 0.0) {
|
||||||
|
delta[2] += zprd0;
|
||||||
|
delta[1] += yz0;
|
||||||
|
delta[0] += xz0;
|
||||||
|
} else {
|
||||||
|
delta[2] -= zprd0;
|
||||||
|
delta[1] -= yz0;
|
||||||
|
delta[0] -= xz0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (domain->yperiodic) {
|
||||||
|
while (fabs(delta[1]) > yprd0_half) {
|
||||||
|
if (delta[1] < 0.0) {
|
||||||
|
delta[1] += yprd0;
|
||||||
|
delta[0] += xy0;
|
||||||
|
} else {
|
||||||
|
delta[1] -= yprd0;
|
||||||
|
delta[0] -= xy0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (domain->xperiodic) {
|
||||||
|
while (fabs(delta[0]) > xprd0_half) {
|
||||||
|
if (delta[0] < 0.0) delta[0] += xprd0;
|
||||||
|
else delta[0] -= xprd0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void FixNonaffineDisplacement::grow_arrays(int nmax_new)
|
||||||
|
{
|
||||||
|
nmax = nmax_new;
|
||||||
|
memory->destroy(X);
|
||||||
|
memory->destroy(Y);
|
||||||
|
memory->destroy(F);
|
||||||
|
memory->destroy(norm);
|
||||||
|
memory->create(X, nmax, 3, 3, "fix_nonaffine_displacement:X");
|
||||||
|
memory->create(Y, nmax, 3, 3, "fix_nonaffine_displacement:Y");
|
||||||
|
memory->create(F, nmax, 3, 3, "fix_nonaffine_displacement:F");
|
||||||
|
memory->create(norm, nmax, "fix_nonaffine_displacement:norm");
|
||||||
|
}
|
||||||
71
src/EXTRA-FIX/fix_nonaffine_displacement.h
Normal file
71
src/EXTRA-FIX/fix_nonaffine_displacement.h
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
/* -*- c++ -*- ----------------------------------------------------------
|
||||||
|
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||||
|
https://www.lammps.org/, Sandia National Laboratories
|
||||||
|
LAMMPS development team: developers@lammps.org
|
||||||
|
|
||||||
|
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||||
|
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||||
|
certain rights in this software. This software is distributed under
|
||||||
|
the GNU General Public License.
|
||||||
|
|
||||||
|
See the README file in the top-level LAMMPS directory.
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#ifdef FIX_CLASS
|
||||||
|
// clang-format off
|
||||||
|
FixStyle(nonaffine/displacement,FixNonaffineDisplacement)
|
||||||
|
// clang-format on
|
||||||
|
#else
|
||||||
|
|
||||||
|
#ifndef LMP_FIX_NONAFFINE_DISPLACEMENT_H
|
||||||
|
#define LMP_FIX_NONAFFINE_DISPLACEMENT_H
|
||||||
|
|
||||||
|
#include "fix.h"
|
||||||
|
|
||||||
|
namespace LAMMPS_NS {
|
||||||
|
|
||||||
|
class FixNonaffineDisplacement : public Fix {
|
||||||
|
public:
|
||||||
|
FixNonaffineDisplacement(class LAMMPS *, int, char **);
|
||||||
|
~FixNonaffineDisplacement() override;
|
||||||
|
int setmask() override;
|
||||||
|
void post_constructor() override;
|
||||||
|
void init() override;
|
||||||
|
void init_list(int, class NeighList *) override;
|
||||||
|
void setup(int);
|
||||||
|
void post_force(int) override;
|
||||||
|
void write_restart(FILE *fp) override;
|
||||||
|
void restart(char *buf) override;
|
||||||
|
int pack_forward_comm(int, int *, double *, int, int *) override;
|
||||||
|
void unpack_forward_comm(int, int, double *) override;
|
||||||
|
int pack_reverse_comm(int, int, double *) override;
|
||||||
|
void unpack_reverse_comm(int, int *, double *) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
double dtv;
|
||||||
|
char *id_fix;
|
||||||
|
class FixStoreAtom *fix;
|
||||||
|
int nmax, comm_flag;
|
||||||
|
int nad_style, cut_style;
|
||||||
|
int reference_style, offset_timestep, reference_timestep, update_timestep;
|
||||||
|
int reference_saved;
|
||||||
|
double cutoff_custom, cutsq_custom, mycutneigh;
|
||||||
|
double xprd0, yprd0, zprd0, xprd0_half, yprd0_half, zprd0_half, xy0, xz0, yz0;
|
||||||
|
|
||||||
|
double ***X, ***Y, ***F;
|
||||||
|
int *norm;
|
||||||
|
|
||||||
|
class NeighList *list; // half neighbor list
|
||||||
|
|
||||||
|
|
||||||
|
void integrate_velocity();
|
||||||
|
void calculate_D2Min();
|
||||||
|
void save_reference_state();
|
||||||
|
void minimum_image0(double *);
|
||||||
|
void grow_arrays(int);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace LAMMPS_NS
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
@ -11,6 +11,10 @@
|
|||||||
See the README file in the top-level LAMMPS directory.
|
See the README file in the top-level LAMMPS directory.
|
||||||
------------------------------------------------------------------------- */
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
Contributing authors: Joel Clemmer (SNL), Ishan Srivastava (LBNL)
|
||||||
|
------------------------------------------------------------------------- */
|
||||||
|
|
||||||
#include "compute_fabric.h"
|
#include "compute_fabric.h"
|
||||||
|
|
||||||
#include "atom.h"
|
#include "atom.h"
|
||||||
|
|||||||
@ -123,6 +123,10 @@ void PairPACEExtrapolationKokkos<DeviceType>::grow(int natom, int maxneigh)
|
|||||||
// hard-core repulsion
|
// hard-core repulsion
|
||||||
MemKK::realloc_kokkos(rho_core, "pace:rho_core", natom);
|
MemKK::realloc_kokkos(rho_core, "pace:rho_core", natom);
|
||||||
MemKK::realloc_kokkos(dF_drho_core, "pace:dF_drho_core", natom);
|
MemKK::realloc_kokkos(dF_drho_core, "pace:dF_drho_core", natom);
|
||||||
|
MemKK::realloc_kokkos(dF_dfcut, "pace:dF_dfcut", natom);
|
||||||
|
MemKK::realloc_kokkos(d_d_min, "pace:r_min_pair", natom);
|
||||||
|
MemKK::realloc_kokkos(d_jj_min, "pace:j_min_pair", natom);
|
||||||
|
MemKK::realloc_kokkos(d_corerep, "pace:corerep", natom); // per-atom corerep
|
||||||
|
|
||||||
MemKK::realloc_kokkos(dB_flatten, "pace:dB_flatten", natom, idx_ms_combs_max, basis_set->rankmax);
|
MemKK::realloc_kokkos(dB_flatten, "pace:dB_flatten", natom, idx_ms_combs_max, basis_set->rankmax);
|
||||||
|
|
||||||
@ -219,6 +223,24 @@ void PairPACEExtrapolationKokkos<DeviceType>::copy_pertype()
|
|||||||
|
|
||||||
Kokkos::deep_copy(d_wpre, h_wpre);
|
Kokkos::deep_copy(d_wpre, h_wpre);
|
||||||
Kokkos::deep_copy(d_mexp, h_mexp);
|
Kokkos::deep_copy(d_mexp, h_mexp);
|
||||||
|
|
||||||
|
|
||||||
|
// ZBL core-rep
|
||||||
|
MemKK::realloc_kokkos(d_cut_in, "pace:d_cut_in", nelements, nelements);
|
||||||
|
MemKK::realloc_kokkos(d_dcut_in, "pace:d_dcut_in", nelements, nelements);
|
||||||
|
auto h_cut_in = Kokkos::create_mirror_view(d_cut_in);
|
||||||
|
auto h_dcut_in = Kokkos::create_mirror_view(d_dcut_in);
|
||||||
|
|
||||||
|
for (int mu_i = 0; mu_i < nelements; ++mu_i) {
|
||||||
|
for (int mu_j = 0; mu_j < nelements; ++mu_j) {
|
||||||
|
h_cut_in(mu_i,mu_j) = basis_set->map_bond_specifications.at({mu_i,mu_j}).rcut_in;
|
||||||
|
h_dcut_in(mu_i,mu_j) = basis_set->map_bond_specifications.at({mu_i,mu_j}).dcut_in;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Kokkos::deep_copy(d_cut_in, h_cut_in);
|
||||||
|
Kokkos::deep_copy(d_dcut_in, h_dcut_in);
|
||||||
|
|
||||||
|
is_zbl = basis_set->radial_functions->inner_cutoff_type == "zbl";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
@ -573,13 +595,20 @@ void PairPACEExtrapolationKokkos<DeviceType>::compute(int eflag_in, int vflag_in
|
|||||||
d_vatom = k_vatom.view<DeviceType>();
|
d_vatom = k_vatom.view<DeviceType>();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gamma_flag && atom->nlocal > nmax) {
|
if (flag_compute_extrapolation_grade && atom->nlocal > nmax) {
|
||||||
memory->destroy(extrapolation_grade_gamma);
|
memory->destroy(extrapolation_grade_gamma);
|
||||||
nmax = atom->nlocal;
|
nmax = atom->nlocal;
|
||||||
memory->create(extrapolation_grade_gamma, nmax, "pace/atom:gamma");
|
memory->create(extrapolation_grade_gamma, nmax, "pace/atom:gamma");
|
||||||
//zeroify array
|
//zeroify array
|
||||||
memset(extrapolation_grade_gamma, 0, nmax * sizeof(*extrapolation_grade_gamma));
|
memset(extrapolation_grade_gamma, 0, nmax * sizeof(*extrapolation_grade_gamma));
|
||||||
}
|
}
|
||||||
|
if (flag_corerep_factor && atom->nlocal > nmax_corerep) {
|
||||||
|
memory->destroy(corerep_factor);
|
||||||
|
nmax_corerep = atom->nlocal;
|
||||||
|
memory->create(corerep_factor, nmax_corerep, "pace/atom:corerep");
|
||||||
|
//zeroify array
|
||||||
|
memset(corerep_factor, 0, nmax_corerep * sizeof(*corerep_factor));
|
||||||
|
}
|
||||||
|
|
||||||
copymode = 1;
|
copymode = 1;
|
||||||
if (!force->newton_pair)
|
if (!force->newton_pair)
|
||||||
@ -631,8 +660,13 @@ void PairPACEExtrapolationKokkos<DeviceType>::compute(int eflag_in, int vflag_in
|
|||||||
Kokkos::deep_copy(A_rank1, 0.0);
|
Kokkos::deep_copy(A_rank1, 0.0);
|
||||||
Kokkos::deep_copy(rhos, 0.0);
|
Kokkos::deep_copy(rhos, 0.0);
|
||||||
|
|
||||||
|
Kokkos::deep_copy(rho_core, 0.0);
|
||||||
|
Kokkos::deep_copy(d_d_min, PairPACEExtrapolation::aceimpl->basis_set->cutoffmax);
|
||||||
|
Kokkos::deep_copy(d_jj_min, -1);
|
||||||
|
|
||||||
Kokkos::deep_copy(projections, 0.0);
|
Kokkos::deep_copy(projections, 0.0);
|
||||||
Kokkos::deep_copy(d_gamma, 0.0);
|
Kokkos::deep_copy(d_gamma, 0.0);
|
||||||
|
Kokkos::deep_copy(d_corerep, 0.0);
|
||||||
|
|
||||||
EV_FLOAT ev_tmp;
|
EV_FLOAT ev_tmp;
|
||||||
|
|
||||||
@ -696,7 +730,7 @@ void PairPACEExtrapolationKokkos<DeviceType>::compute(int eflag_in, int vflag_in
|
|||||||
}
|
}
|
||||||
|
|
||||||
//ComputeGamma
|
//ComputeGamma
|
||||||
if (gamma_flag) {
|
if (flag_compute_extrapolation_grade) {
|
||||||
typename Kokkos::RangePolicy<DeviceType,TagPairPACEComputeGamma> policy_gamma(0,chunk_size);
|
typename Kokkos::RangePolicy<DeviceType,TagPairPACEComputeGamma> policy_gamma(0,chunk_size);
|
||||||
Kokkos::parallel_for("ComputeGamma",policy_gamma,*this);
|
Kokkos::parallel_for("ComputeGamma",policy_gamma,*this);
|
||||||
}
|
}
|
||||||
@ -738,12 +772,17 @@ void PairPACEExtrapolationKokkos<DeviceType>::compute(int eflag_in, int vflag_in
|
|||||||
}
|
}
|
||||||
ev += ev_tmp;
|
ev += ev_tmp;
|
||||||
|
|
||||||
//if gamma_flag - copy current d_gamma to extrapolation_grade_gamma
|
//if flag_compute_extrapolation_grade - copy current d_gamma to extrapolation_grade_gamma
|
||||||
if (gamma_flag){
|
if (flag_compute_extrapolation_grade){
|
||||||
h_gamma = Kokkos::create_mirror_view(d_gamma);
|
h_gamma = Kokkos::create_mirror_view(d_gamma);
|
||||||
Kokkos::deep_copy(h_gamma, d_gamma);
|
Kokkos::deep_copy(h_gamma, d_gamma);
|
||||||
memcpy(extrapolation_grade_gamma+chunk_offset, (void *) h_gamma.data(), sizeof(double)*chunk_size);
|
memcpy(extrapolation_grade_gamma+chunk_offset, (void *) h_gamma.data(), sizeof(double)*chunk_size);
|
||||||
}
|
}
|
||||||
|
if (flag_corerep_factor) {
|
||||||
|
h_corerep = Kokkos::create_mirror_view(d_corerep);
|
||||||
|
Kokkos::deep_copy(h_corerep,d_corerep);
|
||||||
|
memcpy(corerep_factor+chunk_offset, (void *) h_corerep.data(), sizeof(double)*chunk_size);
|
||||||
|
}
|
||||||
|
|
||||||
chunk_offset += chunk_size;
|
chunk_offset += chunk_size;
|
||||||
} // end while
|
} // end while
|
||||||
@ -799,6 +838,7 @@ void PairPACEExtrapolationKokkos<DeviceType>::operator() (TagPairPACEComputeNeig
|
|||||||
const X_FLOAT ytmp = x(i,1);
|
const X_FLOAT ytmp = x(i,1);
|
||||||
const X_FLOAT ztmp = x(i,2);
|
const X_FLOAT ztmp = x(i,2);
|
||||||
const int jnum = d_numneigh[i];
|
const int jnum = d_numneigh[i];
|
||||||
|
const int mu_i = d_map(type(i));
|
||||||
|
|
||||||
// get a pointer to scratch memory
|
// get a pointer to scratch memory
|
||||||
// This is used to cache whether or not an atom is within the cutoff
|
// This is used to cache whether or not an atom is within the cutoff
|
||||||
@ -858,6 +898,36 @@ void PairPACEExtrapolationKokkos<DeviceType>::operator() (TagPairPACEComputeNeig
|
|||||||
}
|
}
|
||||||
offset++;
|
offset++;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (is_zbl) {
|
||||||
|
//adapted from https://www.osti.gov/servlets/purl/1429450
|
||||||
|
if (ncount > 0) {
|
||||||
|
using minloc_value_type=Kokkos::MinLoc<F_FLOAT,int>::value_type;
|
||||||
|
minloc_value_type djjmin;
|
||||||
|
djjmin.val=1e20;
|
||||||
|
djjmin.loc=-1;
|
||||||
|
Kokkos::MinLoc<F_FLOAT,int> reducer_scalar(djjmin);
|
||||||
|
// loop over ncount (actual neighbours withing cutoff) rather than jnum (total number of neigh in cutoff+skin)
|
||||||
|
Kokkos::parallel_reduce(Kokkos::TeamThreadRange(team, ncount),
|
||||||
|
[&](const int offset, minloc_value_type &min_d_dist) {
|
||||||
|
int j = d_nearest(ii,offset);
|
||||||
|
j &= NEIGHMASK;
|
||||||
|
const int jtype = type(j);
|
||||||
|
auto r = d_rnorms(ii,offset);
|
||||||
|
const int mu_j = d_map(type(j));
|
||||||
|
const F_FLOAT d = r - (d_cut_in(mu_i, mu_j) - d_dcut_in(mu_i, mu_j));
|
||||||
|
if (d < min_d_dist.val) {
|
||||||
|
min_d_dist.val = d;
|
||||||
|
min_d_dist.loc = offset;
|
||||||
|
}
|
||||||
|
}, reducer_scalar);
|
||||||
|
d_d_min(ii) = djjmin.val;
|
||||||
|
d_jj_min(ii) = djjmin.loc;// d_jj_min should be NOT in 0..jnum range, but in 0..d_ncount(<=jnum)
|
||||||
|
} else {
|
||||||
|
d_d_min(ii) = 1e20;
|
||||||
|
d_jj_min(ii) = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
@ -998,7 +1068,7 @@ void PairPACEExtrapolationKokkos<DeviceType>::operator() (TagPairPACEComputeRho,
|
|||||||
|
|
||||||
|
|
||||||
//gamma_i
|
//gamma_i
|
||||||
if (gamma_flag)
|
if (flag_compute_extrapolation_grade)
|
||||||
Kokkos::atomic_add(&projections(ii, func_ind), d_gen_cgs(mu_i, idx_ms_comb) * A_cur);
|
Kokkos::atomic_add(&projections(ii, func_ind), d_gen_cgs(mu_i, idx_ms_comb) * A_cur);
|
||||||
|
|
||||||
} else { // rank > 1
|
} else { // rank > 1
|
||||||
@ -1037,7 +1107,7 @@ void PairPACEExtrapolationKokkos<DeviceType>::operator() (TagPairPACEComputeRho,
|
|||||||
Kokkos::atomic_add(&rhos(ii, p), B.real_part_product(d_coeffs(mu_i, func_ind, p) * d_gen_cgs(mu_i, idx_ms_comb)));
|
Kokkos::atomic_add(&rhos(ii, p), B.real_part_product(d_coeffs(mu_i, func_ind, p) * d_gen_cgs(mu_i, idx_ms_comb)));
|
||||||
}
|
}
|
||||||
//gamma_i
|
//gamma_i
|
||||||
if (gamma_flag)
|
if (flag_compute_extrapolation_grade)
|
||||||
Kokkos::atomic_add(&projections(ii, func_ind), B.real_part_product(d_gen_cgs(mu_i, idx_ms_comb)));
|
Kokkos::atomic_add(&projections(ii, func_ind), B.real_part_product(d_gen_cgs(mu_i, idx_ms_comb)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1056,23 +1126,45 @@ void PairPACEExtrapolationKokkos<DeviceType>::operator() (TagPairPACEComputeFS,
|
|||||||
const int ndensity = d_ndensity(mu_i);
|
const int ndensity = d_ndensity(mu_i);
|
||||||
|
|
||||||
double evdwl, fcut, dfcut;
|
double evdwl, fcut, dfcut;
|
||||||
|
double evdwl_cut;
|
||||||
evdwl = fcut = dfcut = 0.0;
|
evdwl = fcut = dfcut = 0.0;
|
||||||
|
|
||||||
inner_cutoff(rho_core(ii), rho_cut, drho_cut, fcut, dfcut);
|
inner_cutoff(rho_core(ii), rho_cut, drho_cut, fcut, dfcut);
|
||||||
FS_values_and_derivatives(ii, evdwl, mu_i);
|
FS_values_and_derivatives(ii, evdwl, mu_i);
|
||||||
|
|
||||||
|
if (is_zbl) {
|
||||||
|
if (d_jj_min(ii) != -1) {
|
||||||
|
const int mu_jmin = d_mu(ii,d_jj_min(ii));
|
||||||
|
F_FLOAT dcutin = d_dcut_in(mu_i, mu_jmin);
|
||||||
|
F_FLOAT transition_coordinate = dcutin - d_d_min(ii); // == cutin - r_min
|
||||||
|
cutoff_func_poly(transition_coordinate, dcutin, dcutin, fcut, dfcut);
|
||||||
|
dfcut = -dfcut; // invert, because rho_core = cutin - r_min
|
||||||
|
} else {
|
||||||
|
// no neighbours
|
||||||
|
fcut = 1;
|
||||||
|
dfcut = 0;
|
||||||
|
}
|
||||||
|
evdwl_cut = evdwl * fcut + rho_core(ii) * (1 - fcut); // evdwl * fcut + rho_core_uncut - rho_core_uncut* fcut
|
||||||
|
dF_drho_core(ii) = 1 - fcut;
|
||||||
|
dF_dfcut(ii) = evdwl * dfcut - rho_core(ii) * dfcut;
|
||||||
|
} else {
|
||||||
|
inner_cutoff(rho_core(ii), rho_cut, drho_cut, fcut, dfcut);
|
||||||
dF_drho_core(ii) = evdwl * dfcut + 1;
|
dF_drho_core(ii) = evdwl * dfcut + 1;
|
||||||
|
evdwl_cut = evdwl * fcut + rho_core(ii);
|
||||||
|
}
|
||||||
for (int p = 0; p < ndensity; ++p)
|
for (int p = 0; p < ndensity; ++p)
|
||||||
dF_drho(ii, p) *= fcut;
|
dF_drho(ii, p) *= fcut;
|
||||||
|
|
||||||
|
|
||||||
// tally energy contribution
|
// tally energy contribution
|
||||||
if (eflag) {
|
if (eflag) {
|
||||||
double evdwl_cut = evdwl * fcut + rho_core(ii);
|
|
||||||
// E0 shift
|
// E0 shift
|
||||||
evdwl_cut += d_E0vals(mu_i);
|
evdwl_cut += d_E0vals(mu_i);
|
||||||
e_atom(ii) = evdwl_cut;
|
e_atom(ii) = evdwl_cut;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flag_corerep_factor)
|
||||||
|
d_corerep(ii) = 1-fcut;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
@ -1240,6 +1332,15 @@ void PairPACEExtrapolationKokkos<DeviceType>::operator() (TagPairPACEComputeDeri
|
|||||||
f_ij(ii, jj, 0) = scale * f_ji[0] + fpair * r_hat[0];
|
f_ij(ii, jj, 0) = scale * f_ji[0] + fpair * r_hat[0];
|
||||||
f_ij(ii, jj, 1) = scale * f_ji[1] + fpair * r_hat[1];
|
f_ij(ii, jj, 1) = scale * f_ji[1] + fpair * r_hat[1];
|
||||||
f_ij(ii, jj, 2) = scale * f_ji[2] + fpair * r_hat[2];
|
f_ij(ii, jj, 2) = scale * f_ji[2] + fpair * r_hat[2];
|
||||||
|
|
||||||
|
if (is_zbl) {
|
||||||
|
if (jj==d_jj_min(ii)) {
|
||||||
|
// DCRU = 1.0
|
||||||
|
f_ij(ii, jj, 0) += dF_dfcut(ii) * r_hat[0];
|
||||||
|
f_ij(ii, jj, 1) += dF_dfcut(ii) * r_hat[1];
|
||||||
|
f_ij(ii, jj, 2) += dF_dfcut(ii) * r_hat[2];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
@ -1777,6 +1878,8 @@ double PairPACEExtrapolationKokkos<DeviceType>::memory_usage()
|
|||||||
bytes += MemKK::memory_usage(weights_rank1);
|
bytes += MemKK::memory_usage(weights_rank1);
|
||||||
bytes += MemKK::memory_usage(rho_core);
|
bytes += MemKK::memory_usage(rho_core);
|
||||||
bytes += MemKK::memory_usage(dF_drho_core);
|
bytes += MemKK::memory_usage(dF_drho_core);
|
||||||
|
bytes += MemKK::memory_usage(dF_dfcut);
|
||||||
|
bytes += MemKK::memory_usage(d_corerep);
|
||||||
bytes += MemKK::memory_usage(dB_flatten);
|
bytes += MemKK::memory_usage(dB_flatten);
|
||||||
bytes += MemKK::memory_usage(fr);
|
bytes += MemKK::memory_usage(fr);
|
||||||
bytes += MemKK::memory_usage(dfr);
|
bytes += MemKK::memory_usage(dfr);
|
||||||
@ -1794,6 +1897,8 @@ double PairPACEExtrapolationKokkos<DeviceType>::memory_usage()
|
|||||||
bytes += MemKK::memory_usage(d_mu);
|
bytes += MemKK::memory_usage(d_mu);
|
||||||
bytes += MemKK::memory_usage(d_rhats);
|
bytes += MemKK::memory_usage(d_rhats);
|
||||||
bytes += MemKK::memory_usage(d_rnorms);
|
bytes += MemKK::memory_usage(d_rnorms);
|
||||||
|
bytes += MemKK::memory_usage(d_d_min);
|
||||||
|
bytes += MemKK::memory_usage(d_jj_min);
|
||||||
bytes += MemKK::memory_usage(d_nearest);
|
bytes += MemKK::memory_usage(d_nearest);
|
||||||
bytes += MemKK::memory_usage(f_ij);
|
bytes += MemKK::memory_usage(f_ij);
|
||||||
bytes += MemKK::memory_usage(d_rho_core_cutoff);
|
bytes += MemKK::memory_usage(d_rho_core_cutoff);
|
||||||
@ -1842,9 +1947,10 @@ double PairPACEExtrapolationKokkos<DeviceType>::memory_usage()
|
|||||||
template<class DeviceType>
|
template<class DeviceType>
|
||||||
void *PairPACEExtrapolationKokkos<DeviceType>::extract(const char *str, int &dim)
|
void *PairPACEExtrapolationKokkos<DeviceType>::extract(const char *str, int &dim)
|
||||||
{
|
{
|
||||||
//check if str=="gamma_flag" then compute extrapolation grades on this iteration
|
|
||||||
dim = 0;
|
dim = 0;
|
||||||
if (strcmp(str, "gamma_flag") == 0) return (void *) &gamma_flag;
|
//check if str=="flag_compute_extrapolation_grade" then compute extrapolation grades on this iteration
|
||||||
|
if (strcmp(str, "gamma_flag") == 0) return (void *) &flag_compute_extrapolation_grade;
|
||||||
|
if (strcmp(str, "corerep_flag") == 0) return (void *) &flag_corerep_factor;
|
||||||
|
|
||||||
dim = 2;
|
dim = 2;
|
||||||
if (strcmp(str, "scale") == 0) return (void *) scale;
|
if (strcmp(str, "scale") == 0) return (void *) scale;
|
||||||
@ -1867,6 +1973,10 @@ void *PairPACEExtrapolationKokkos<DeviceType>::extract_peratom(const char *str,
|
|||||||
ncol = 0;
|
ncol = 0;
|
||||||
return (void *) extrapolation_grade_gamma;
|
return (void *) extrapolation_grade_gamma;
|
||||||
}
|
}
|
||||||
|
if (strcmp(str, "corerep") == 0) {
|
||||||
|
ncol = 0;
|
||||||
|
return (void *) corerep_factor;
|
||||||
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,7 +106,6 @@ class PairPACEExtrapolationKokkos : public PairPACEExtrapolation {
|
|||||||
protected:
|
protected:
|
||||||
int inum, maxneigh, chunk_size, chunk_offset, idx_ms_combs_max, total_num_functions_max;
|
int inum, maxneigh, chunk_size, chunk_offset, idx_ms_combs_max, total_num_functions_max;
|
||||||
int host_flag;
|
int host_flag;
|
||||||
int gamma_flag;
|
|
||||||
|
|
||||||
int eflag, vflag;
|
int eflag, vflag;
|
||||||
|
|
||||||
@ -130,6 +129,7 @@ class PairPACEExtrapolationKokkos : public PairPACEExtrapolation {
|
|||||||
tdual_fparams k_cutsq, k_scale;
|
tdual_fparams k_cutsq, k_scale;
|
||||||
typedef Kokkos::View<F_FLOAT**, DeviceType> t_fparams;
|
typedef Kokkos::View<F_FLOAT**, DeviceType> t_fparams;
|
||||||
t_fparams d_cutsq, d_scale;
|
t_fparams d_cutsq, d_scale;
|
||||||
|
t_fparams d_cut_in, d_dcut_in; // inner cutoff
|
||||||
|
|
||||||
typename AT::t_int_1d d_map;
|
typename AT::t_int_1d d_map;
|
||||||
|
|
||||||
@ -234,12 +234,16 @@ class PairPACEExtrapolationKokkos : public PairPACEExtrapolation {
|
|||||||
t_ace_2d rhos;
|
t_ace_2d rhos;
|
||||||
t_ace_2d dF_drho;
|
t_ace_2d dF_drho;
|
||||||
|
|
||||||
|
t_ace_3c dB_flatten;
|
||||||
|
|
||||||
// hard-core repulsion
|
// hard-core repulsion
|
||||||
t_ace_1d rho_core;
|
t_ace_1d rho_core;
|
||||||
t_ace_3c dB_flatten;
|
|
||||||
t_ace_2d cr;
|
t_ace_2d cr;
|
||||||
t_ace_2d dcr;
|
t_ace_2d dcr;
|
||||||
t_ace_1d dF_drho_core;
|
t_ace_1d dF_drho_core;
|
||||||
|
t_ace_1d dF_dfcut;
|
||||||
|
t_ace_1d d_corerep;
|
||||||
|
th_ace_1d h_corerep;
|
||||||
|
|
||||||
// radial functions
|
// radial functions
|
||||||
t_ace_4d fr;
|
t_ace_4d fr;
|
||||||
@ -282,6 +286,11 @@ class PairPACEExtrapolationKokkos : public PairPACEExtrapolation {
|
|||||||
t_ace_3d3 d_rhats;
|
t_ace_3d3 d_rhats;
|
||||||
t_ace_2i d_nearest;
|
t_ace_2i d_nearest;
|
||||||
|
|
||||||
|
// for ZBL core-rep implementation
|
||||||
|
t_ace_1d d_d_min; // [i] -> min-d for atom ii, d=d = r - (cut_in(mu_i, mu_j) - dcut_in(mu_i, mu_j))
|
||||||
|
t_ace_1i d_jj_min; // [i] -> jj-index of nearest neigh (by r-(cut_in-dcut_in) criterion)
|
||||||
|
bool is_zbl;
|
||||||
|
|
||||||
// per-type
|
// per-type
|
||||||
t_ace_1i d_ndensity;
|
t_ace_1i d_ndensity;
|
||||||
t_ace_1i d_npoti;
|
t_ace_1i d_npoti;
|
||||||
|
|||||||
@ -121,6 +121,11 @@ void PairPACEKokkos<DeviceType>::grow(int natom, int maxneigh)
|
|||||||
// hard-core repulsion
|
// hard-core repulsion
|
||||||
MemKK::realloc_kokkos(rho_core, "pace:rho_core", natom);
|
MemKK::realloc_kokkos(rho_core, "pace:rho_core", natom);
|
||||||
MemKK::realloc_kokkos(dF_drho_core, "pace:dF_drho_core", natom);
|
MemKK::realloc_kokkos(dF_drho_core, "pace:dF_drho_core", natom);
|
||||||
|
MemKK::realloc_kokkos(dF_dfcut, "pace:dF_dfcut", natom);
|
||||||
|
MemKK::realloc_kokkos(d_d_min, "pace:r_min_pair", natom);
|
||||||
|
MemKK::realloc_kokkos(d_jj_min, "pace:j_min_pair", natom);
|
||||||
|
MemKK::realloc_kokkos(d_corerep, "pace:corerep", natom); // per-atom corerep
|
||||||
|
|
||||||
MemKK::realloc_kokkos(dB_flatten, "pace:dB_flatten", natom, idx_rho_max, basis_set->rankmax);
|
MemKK::realloc_kokkos(dB_flatten, "pace:dB_flatten", natom, idx_rho_max, basis_set->rankmax);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -212,6 +217,23 @@ void PairPACEKokkos<DeviceType>::copy_pertype()
|
|||||||
|
|
||||||
Kokkos::deep_copy(d_wpre, h_wpre);
|
Kokkos::deep_copy(d_wpre, h_wpre);
|
||||||
Kokkos::deep_copy(d_mexp, h_mexp);
|
Kokkos::deep_copy(d_mexp, h_mexp);
|
||||||
|
|
||||||
|
// ZBL core-rep
|
||||||
|
MemKK::realloc_kokkos(d_cut_in, "pace:d_cut_in", nelements, nelements);
|
||||||
|
MemKK::realloc_kokkos(d_dcut_in, "pace:d_dcut_in", nelements, nelements);
|
||||||
|
auto h_cut_in = Kokkos::create_mirror_view(d_cut_in);
|
||||||
|
auto h_dcut_in = Kokkos::create_mirror_view(d_dcut_in);
|
||||||
|
|
||||||
|
for (int mu_i = 0; mu_i < nelements; ++mu_i) {
|
||||||
|
for (int mu_j = 0; mu_j < nelements; ++mu_j) {
|
||||||
|
h_cut_in(mu_i,mu_j) = basis_set->map_bond_specifications.at({mu_i,mu_j}).rcut_in;
|
||||||
|
h_dcut_in(mu_i,mu_j) = basis_set->map_bond_specifications.at({mu_i,mu_j}).dcut_in;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Kokkos::deep_copy(d_cut_in, h_cut_in);
|
||||||
|
Kokkos::deep_copy(d_dcut_in, h_dcut_in);
|
||||||
|
|
||||||
|
is_zbl = basis_set->radial_functions->inner_cutoff_type == "zbl";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
@ -535,6 +557,13 @@ void PairPACEKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||||||
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,"pair:vatom");
|
memoryKK->create_kokkos(k_vatom,vatom,maxvatom,"pair:vatom");
|
||||||
d_vatom = k_vatom.view<DeviceType>();
|
d_vatom = k_vatom.view<DeviceType>();
|
||||||
}
|
}
|
||||||
|
if (flag_corerep_factor && atom->nlocal > nmax_corerep) {
|
||||||
|
memory->destroy(corerep_factor);
|
||||||
|
nmax_corerep = atom->nlocal;
|
||||||
|
memory->create(corerep_factor, nmax_corerep, "pace/atom:corerep");
|
||||||
|
//zeroify array
|
||||||
|
memset(corerep_factor, 0, nmax_corerep * sizeof(*corerep_factor));
|
||||||
|
}
|
||||||
|
|
||||||
copymode = 1;
|
copymode = 1;
|
||||||
if (!force->newton_pair)
|
if (!force->newton_pair)
|
||||||
@ -588,6 +617,9 @@ void PairPACEKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||||||
Kokkos::deep_copy(A_rank1, 0.0);
|
Kokkos::deep_copy(A_rank1, 0.0);
|
||||||
Kokkos::deep_copy(rhos, 0.0);
|
Kokkos::deep_copy(rhos, 0.0);
|
||||||
Kokkos::deep_copy(rho_core, 0.0);
|
Kokkos::deep_copy(rho_core, 0.0);
|
||||||
|
Kokkos::deep_copy(d_d_min, PairPACE::aceimpl->basis_set->cutoffmax);
|
||||||
|
Kokkos::deep_copy(d_jj_min, -1);
|
||||||
|
Kokkos::deep_copy(d_corerep, 0.0);
|
||||||
|
|
||||||
EV_FLOAT ev_tmp;
|
EV_FLOAT ev_tmp;
|
||||||
|
|
||||||
@ -686,6 +718,13 @@ void PairPACEKokkos<DeviceType>::compute(int eflag_in, int vflag_in)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ev += ev_tmp;
|
ev += ev_tmp;
|
||||||
|
|
||||||
|
if (flag_corerep_factor) {
|
||||||
|
h_corerep = Kokkos::create_mirror_view(d_corerep);
|
||||||
|
Kokkos::deep_copy(h_corerep,d_corerep);
|
||||||
|
memcpy(corerep_factor+chunk_offset, (void *) h_corerep.data(), sizeof(double)*chunk_size);
|
||||||
|
}
|
||||||
|
|
||||||
chunk_offset += chunk_size;
|
chunk_offset += chunk_size;
|
||||||
|
|
||||||
} // end while
|
} // end while
|
||||||
@ -741,6 +780,7 @@ void PairPACEKokkos<DeviceType>::operator() (TagPairPACEComputeNeigh,const typen
|
|||||||
const X_FLOAT ytmp = x(i,1);
|
const X_FLOAT ytmp = x(i,1);
|
||||||
const X_FLOAT ztmp = x(i,2);
|
const X_FLOAT ztmp = x(i,2);
|
||||||
const int jnum = d_numneigh[i];
|
const int jnum = d_numneigh[i];
|
||||||
|
const int mu_i = d_map(type(i));
|
||||||
|
|
||||||
// get a pointer to scratch memory
|
// get a pointer to scratch memory
|
||||||
// This is used to cache whether or not an atom is within the cutoff
|
// This is used to cache whether or not an atom is within the cutoff
|
||||||
@ -800,6 +840,36 @@ void PairPACEKokkos<DeviceType>::operator() (TagPairPACEComputeNeigh,const typen
|
|||||||
}
|
}
|
||||||
offset++;
|
offset++;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (is_zbl) {
|
||||||
|
//adapted from https://www.osti.gov/servlets/purl/1429450
|
||||||
|
if(ncount>0) {
|
||||||
|
using minloc_value_type=Kokkos::MinLoc<F_FLOAT,int>::value_type;
|
||||||
|
minloc_value_type djjmin;
|
||||||
|
djjmin.val=1e20;
|
||||||
|
djjmin.loc=-1;
|
||||||
|
Kokkos::MinLoc<F_FLOAT,int> reducer_scalar(djjmin);
|
||||||
|
// loop over ncount (actual neighbours withing cutoff) rather than jnum (total number of neigh in cutoff+skin)
|
||||||
|
Kokkos::parallel_reduce(Kokkos::TeamThreadRange(team, ncount),
|
||||||
|
[&](const int offset, minloc_value_type &min_d_dist) {
|
||||||
|
int j = d_nearest(ii,offset);
|
||||||
|
j &= NEIGHMASK;
|
||||||
|
const int jtype = type(j);
|
||||||
|
auto r = d_rnorms(ii,offset);
|
||||||
|
const int mu_j = d_map(type(j));
|
||||||
|
const F_FLOAT d = r - (d_cut_in(mu_i, mu_j) - d_dcut_in(mu_i, mu_j));
|
||||||
|
if (d < min_d_dist.val) {
|
||||||
|
min_d_dist.val = d;
|
||||||
|
min_d_dist.loc = offset;
|
||||||
|
}
|
||||||
|
}, reducer_scalar);
|
||||||
|
d_d_min(ii) = djjmin.val;
|
||||||
|
d_jj_min(ii) = djjmin.loc;// d_jj_min should be NOT in 0..jnum range, but in 0..d_ncount(<=jnum)
|
||||||
|
} else {
|
||||||
|
d_d_min(ii) = 1e20;
|
||||||
|
d_jj_min(ii) = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
@ -990,23 +1060,42 @@ void PairPACEKokkos<DeviceType>::operator() (TagPairPACEComputeFS, const int& ii
|
|||||||
const int ndensity = d_ndensity(mu_i);
|
const int ndensity = d_ndensity(mu_i);
|
||||||
|
|
||||||
double evdwl, fcut, dfcut;
|
double evdwl, fcut, dfcut;
|
||||||
|
double evdwl_cut;
|
||||||
evdwl = fcut = dfcut = 0.0;
|
evdwl = fcut = dfcut = 0.0;
|
||||||
|
|
||||||
inner_cutoff(rho_core(ii), rho_cut, drho_cut, fcut, dfcut);
|
|
||||||
FS_values_and_derivatives(ii, evdwl, mu_i);
|
FS_values_and_derivatives(ii, evdwl, mu_i);
|
||||||
|
if (is_zbl) {
|
||||||
|
if (d_jj_min(ii) != -1) {
|
||||||
|
const int mu_jmin = d_mu(ii,d_jj_min(ii));
|
||||||
|
F_FLOAT dcutin = d_dcut_in(mu_i, mu_jmin);
|
||||||
|
F_FLOAT transition_coordinate = dcutin - d_d_min(ii); // == cutin - r_min
|
||||||
|
cutoff_func_poly(transition_coordinate, dcutin, dcutin, fcut, dfcut);
|
||||||
|
dfcut = -dfcut; // invert, because rho_core = cutin - r_min
|
||||||
|
} else {
|
||||||
|
// no neighbours
|
||||||
|
fcut = 1;
|
||||||
|
dfcut = 0;
|
||||||
|
}
|
||||||
|
evdwl_cut = evdwl * fcut + rho_core(ii) * (1 - fcut); // evdwl * fcut + rho_core_uncut - rho_core_uncut* fcut
|
||||||
|
dF_drho_core(ii) = 1 - fcut;
|
||||||
|
dF_dfcut(ii) = evdwl * dfcut - rho_core(ii) * dfcut;
|
||||||
|
} else {
|
||||||
|
inner_cutoff(rho_core(ii), rho_cut, drho_cut, fcut, dfcut);
|
||||||
dF_drho_core(ii) = evdwl * dfcut + 1;
|
dF_drho_core(ii) = evdwl * dfcut + 1;
|
||||||
|
evdwl_cut = evdwl * fcut + rho_core(ii);
|
||||||
|
}
|
||||||
for (int p = 0; p < ndensity; ++p)
|
for (int p = 0; p < ndensity; ++p)
|
||||||
dF_drho(ii, p) *= fcut;
|
dF_drho(ii, p) *= fcut;
|
||||||
|
|
||||||
|
|
||||||
// tally energy contribution
|
// tally energy contribution
|
||||||
if (eflag) {
|
if (eflag) {
|
||||||
double evdwl_cut = evdwl * fcut + rho_core(ii);
|
|
||||||
// E0 shift
|
// E0 shift
|
||||||
evdwl_cut += d_E0vals(mu_i);
|
evdwl_cut += d_E0vals(mu_i);
|
||||||
e_atom(ii) = evdwl_cut;
|
e_atom(ii) = evdwl_cut;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flag_corerep_factor)
|
||||||
|
d_corerep(ii) = 1-fcut;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
@ -1146,6 +1235,15 @@ void PairPACEKokkos<DeviceType>::operator() (TagPairPACEComputeDerivative, const
|
|||||||
f_ij(ii, jj, 0) = scale * f_ji[0] + fpair * r_hat[0];
|
f_ij(ii, jj, 0) = scale * f_ji[0] + fpair * r_hat[0];
|
||||||
f_ij(ii, jj, 1) = scale * f_ji[1] + fpair * r_hat[1];
|
f_ij(ii, jj, 1) = scale * f_ji[1] + fpair * r_hat[1];
|
||||||
f_ij(ii, jj, 2) = scale * f_ji[2] + fpair * r_hat[2];
|
f_ij(ii, jj, 2) = scale * f_ji[2] + fpair * r_hat[2];
|
||||||
|
|
||||||
|
if (is_zbl) {
|
||||||
|
if (jj==d_jj_min(ii)) {
|
||||||
|
// DCRU = 1.0
|
||||||
|
f_ij(ii, jj, 0) += dF_dfcut(ii) * r_hat[0];
|
||||||
|
f_ij(ii, jj, 1) += dF_dfcut(ii) * r_hat[1];
|
||||||
|
f_ij(ii, jj, 2) += dF_dfcut(ii) * r_hat[2];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
@ -1683,6 +1781,8 @@ double PairPACEKokkos<DeviceType>::memory_usage()
|
|||||||
bytes += MemKK::memory_usage(weights_rank1);
|
bytes += MemKK::memory_usage(weights_rank1);
|
||||||
bytes += MemKK::memory_usage(rho_core);
|
bytes += MemKK::memory_usage(rho_core);
|
||||||
bytes += MemKK::memory_usage(dF_drho_core);
|
bytes += MemKK::memory_usage(dF_drho_core);
|
||||||
|
bytes += MemKK::memory_usage(dF_dfcut);
|
||||||
|
bytes += MemKK::memory_usage(d_corerep);
|
||||||
bytes += MemKK::memory_usage(dB_flatten);
|
bytes += MemKK::memory_usage(dB_flatten);
|
||||||
bytes += MemKK::memory_usage(fr);
|
bytes += MemKK::memory_usage(fr);
|
||||||
bytes += MemKK::memory_usage(dfr);
|
bytes += MemKK::memory_usage(dfr);
|
||||||
@ -1700,6 +1800,8 @@ double PairPACEKokkos<DeviceType>::memory_usage()
|
|||||||
bytes += MemKK::memory_usage(d_mu);
|
bytes += MemKK::memory_usage(d_mu);
|
||||||
bytes += MemKK::memory_usage(d_rhats);
|
bytes += MemKK::memory_usage(d_rhats);
|
||||||
bytes += MemKK::memory_usage(d_rnorms);
|
bytes += MemKK::memory_usage(d_rnorms);
|
||||||
|
bytes += MemKK::memory_usage(d_d_min);
|
||||||
|
bytes += MemKK::memory_usage(d_jj_min);
|
||||||
bytes += MemKK::memory_usage(d_nearest);
|
bytes += MemKK::memory_usage(d_nearest);
|
||||||
bytes += MemKK::memory_usage(f_ij);
|
bytes += MemKK::memory_usage(f_ij);
|
||||||
bytes += MemKK::memory_usage(d_rho_core_cutoff);
|
bytes += MemKK::memory_usage(d_rho_core_cutoff);
|
||||||
|
|||||||
@ -121,6 +121,7 @@ class PairPACEKokkos : public PairPACE {
|
|||||||
tdual_fparams k_cutsq, k_scale;
|
tdual_fparams k_cutsq, k_scale;
|
||||||
typedef Kokkos::View<F_FLOAT**, DeviceType> t_fparams;
|
typedef Kokkos::View<F_FLOAT**, DeviceType> t_fparams;
|
||||||
t_fparams d_cutsq, d_scale;
|
t_fparams d_cutsq, d_scale;
|
||||||
|
t_fparams d_cut_in, d_dcut_in; // inner cutoff
|
||||||
|
|
||||||
typename AT::t_int_1d d_map;
|
typename AT::t_int_1d d_map;
|
||||||
|
|
||||||
@ -209,6 +210,8 @@ class PairPACEKokkos : public PairPACE {
|
|||||||
typedef Kokkos::View<complex****, DeviceType> t_ace_4c;
|
typedef Kokkos::View<complex****, DeviceType> t_ace_4c;
|
||||||
typedef Kokkos::View<complex***[3], DeviceType> t_ace_4c3;
|
typedef Kokkos::View<complex***[3], DeviceType> t_ace_4c3;
|
||||||
|
|
||||||
|
typedef typename Kokkos::View<double*, DeviceType>::HostMirror th_ace_1d;
|
||||||
|
|
||||||
t_ace_3d A_rank1;
|
t_ace_3d A_rank1;
|
||||||
t_ace_4c A;
|
t_ace_4c A;
|
||||||
|
|
||||||
@ -222,12 +225,16 @@ class PairPACEKokkos : public PairPACE {
|
|||||||
t_ace_2d rhos;
|
t_ace_2d rhos;
|
||||||
t_ace_2d dF_drho;
|
t_ace_2d dF_drho;
|
||||||
|
|
||||||
|
t_ace_3c dB_flatten;
|
||||||
|
|
||||||
// hard-core repulsion
|
// hard-core repulsion
|
||||||
t_ace_1d rho_core;
|
t_ace_1d rho_core;
|
||||||
t_ace_3c dB_flatten;
|
|
||||||
t_ace_2d cr;
|
t_ace_2d cr;
|
||||||
t_ace_2d dcr;
|
t_ace_2d dcr;
|
||||||
t_ace_1d dF_drho_core;
|
t_ace_1d dF_drho_core;
|
||||||
|
t_ace_1d dF_dfcut;
|
||||||
|
t_ace_1d d_corerep;
|
||||||
|
th_ace_1d h_corerep;
|
||||||
|
|
||||||
// radial functions
|
// radial functions
|
||||||
t_ace_4d fr;
|
t_ace_4d fr;
|
||||||
@ -265,6 +272,11 @@ class PairPACEKokkos : public PairPACE {
|
|||||||
t_ace_3d3 d_rhats;
|
t_ace_3d3 d_rhats;
|
||||||
t_ace_2i d_nearest;
|
t_ace_2i d_nearest;
|
||||||
|
|
||||||
|
// for ZBL core-rep implementation
|
||||||
|
t_ace_1d d_d_min; // [i] -> min-d for atom ii, d=d = r - (cut_in(mu_i, mu_j) - dcut_in(mu_i, mu_j))
|
||||||
|
t_ace_1i d_jj_min; // [i] -> jj-index of nearest neigh (by r-(cut_in-dcut_in) criterion)
|
||||||
|
bool is_zbl;
|
||||||
|
|
||||||
// per-type
|
// per-type
|
||||||
t_ace_1i d_ndensity;
|
t_ace_1i d_ndensity;
|
||||||
t_ace_1i d_npoti;
|
t_ace_1i d_npoti;
|
||||||
|
|||||||
@ -45,6 +45,7 @@ Copyright 2021 Yury Lysogorskiy^1, Cas van der Oord^2, Anton Bochkarev^1,
|
|||||||
#include "ace-evaluator/ace_evaluator.h"
|
#include "ace-evaluator/ace_evaluator.h"
|
||||||
#include "ace-evaluator/ace_recursive.h"
|
#include "ace-evaluator/ace_recursive.h"
|
||||||
#include "ace-evaluator/ace_version.h"
|
#include "ace-evaluator/ace_version.h"
|
||||||
|
#include "ace/ace_b_basis.h"
|
||||||
|
|
||||||
namespace LAMMPS_NS {
|
namespace LAMMPS_NS {
|
||||||
struct ACEImpl {
|
struct ACEImpl {
|
||||||
@ -87,6 +88,10 @@ PairPACE::PairPACE(LAMMPS *lmp) : Pair(lmp)
|
|||||||
one_coeff = 1;
|
one_coeff = 1;
|
||||||
manybody_flag = 1;
|
manybody_flag = 1;
|
||||||
|
|
||||||
|
nmax_corerep = 0;
|
||||||
|
flag_corerep_factor = 0;
|
||||||
|
corerep_factor = nullptr;
|
||||||
|
|
||||||
aceimpl = new ACEImpl;
|
aceimpl = new ACEImpl;
|
||||||
recursive = false;
|
recursive = false;
|
||||||
|
|
||||||
@ -109,6 +114,7 @@ PairPACE::~PairPACE()
|
|||||||
memory->destroy(setflag);
|
memory->destroy(setflag);
|
||||||
memory->destroy(cutsq);
|
memory->destroy(cutsq);
|
||||||
memory->destroy(scale);
|
memory->destroy(scale);
|
||||||
|
memory->destroy(corerep_factor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,10 +149,18 @@ void PairPACE::compute(int eflag, int vflag)
|
|||||||
// the pointer to the list of neighbors of "i"
|
// the pointer to the list of neighbors of "i"
|
||||||
firstneigh = list->firstneigh;
|
firstneigh = list->firstneigh;
|
||||||
|
|
||||||
|
if (flag_corerep_factor && atom->nlocal > nmax_corerep) {
|
||||||
|
memory->destroy(corerep_factor);
|
||||||
|
nmax_corerep = atom->nlocal;
|
||||||
|
memory->create(corerep_factor, nmax_corerep, "pace/atom:corerep_factor");
|
||||||
|
//zeroify array
|
||||||
|
memset(corerep_factor, 0, nmax_corerep * sizeof(*corerep_factor));
|
||||||
|
}
|
||||||
|
|
||||||
//determine the maximum number of neighbours
|
//determine the maximum number of neighbours
|
||||||
int max_jnum = 0;
|
int max_jnum = 0;
|
||||||
int nei = 0;
|
int nei = 0;
|
||||||
for (ii = 0; ii < list->inum; ii++) {
|
for (ii = 0; ii < inum; ii++) {
|
||||||
i = ilist[ii];
|
i = ilist[ii];
|
||||||
jnum = numneigh[i];
|
jnum = numneigh[i];
|
||||||
nei = nei + jnum;
|
nei = nei + jnum;
|
||||||
@ -156,7 +170,7 @@ void PairPACE::compute(int eflag, int vflag)
|
|||||||
aceimpl->ace->resize_neighbours_cache(max_jnum);
|
aceimpl->ace->resize_neighbours_cache(max_jnum);
|
||||||
|
|
||||||
//loop over atoms
|
//loop over atoms
|
||||||
for (ii = 0; ii < list->inum; ii++) {
|
for (ii = 0; ii < inum; ii++) {
|
||||||
i = list->ilist[ii];
|
i = list->ilist[ii];
|
||||||
const int itype = type[i];
|
const int itype = type[i];
|
||||||
|
|
||||||
@ -181,6 +195,9 @@ void PairPACE::compute(int eflag, int vflag)
|
|||||||
error->one(FLERR, e.what());
|
error->one(FLERR, e.what());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flag_corerep_factor)
|
||||||
|
corerep_factor[i] = 1 - aceimpl->ace->ace_fcut;
|
||||||
|
|
||||||
// 'compute_atom' will update the `aceimpl->ace->e_atom` and `aceimpl->ace->neighbours_forces(jj, alpha)` arrays
|
// 'compute_atom' will update the `aceimpl->ace->e_atom` and `aceimpl->ace->neighbours_forces(jj, alpha)` arrays
|
||||||
|
|
||||||
for (jj = 0; jj < jnum; jj++) {
|
for (jj = 0; jj < jnum; jj++) {
|
||||||
@ -287,7 +304,14 @@ void PairPACE::coeff(int narg, char **arg)
|
|||||||
//load potential file
|
//load potential file
|
||||||
delete aceimpl->basis_set;
|
delete aceimpl->basis_set;
|
||||||
if (comm->me == 0) utils::logmesg(lmp, "Loading {}\n", potential_file_name);
|
if (comm->me == 0) utils::logmesg(lmp, "Loading {}\n", potential_file_name);
|
||||||
|
// if potential is in ACEBBasisSet (YAML) format, then convert to ACECTildeBasisSet automatically
|
||||||
|
if (utils::strmatch(potential_file_name,".*\\.yaml$")) {
|
||||||
|
ACEBBasisSet bBasisSet = ACEBBasisSet(potential_file_name);
|
||||||
|
ACECTildeBasisSet cTildeBasisSet = bBasisSet.to_ACECTildeBasisSet();
|
||||||
|
aceimpl->basis_set = new ACECTildeBasisSet(cTildeBasisSet);
|
||||||
|
} else {
|
||||||
aceimpl->basis_set = new ACECTildeBasisSet(potential_file_name);
|
aceimpl->basis_set = new ACECTildeBasisSet(potential_file_name);
|
||||||
|
}
|
||||||
|
|
||||||
if (comm->me == 0) {
|
if (comm->me == 0) {
|
||||||
utils::logmesg(lmp, "Total number of basis functions\n");
|
utils::logmesg(lmp, "Total number of basis functions\n");
|
||||||
@ -374,7 +398,29 @@ double PairPACE::init_one(int i, int j)
|
|||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void *PairPACE::extract(const char *str, int &dim)
|
void *PairPACE::extract(const char *str, int &dim)
|
||||||
{
|
{
|
||||||
|
dim = 0;
|
||||||
|
//check if str=="corerep_flag" then compute extrapolation grades on this iteration
|
||||||
|
if (strcmp(str, "corerep_flag") == 0) return (void *) &flag_corerep_factor;
|
||||||
|
|
||||||
dim = 2;
|
dim = 2;
|
||||||
if (strcmp(str, "scale") == 0) return (void *) scale;
|
if (strcmp(str, "scale") == 0) return (void *) scale;
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------
|
||||||
|
peratom requests from FixPair
|
||||||
|
return ptr to requested data
|
||||||
|
also return ncol = # of quantites per atom
|
||||||
|
0 = per-atom vector
|
||||||
|
1 or more = # of columns in per-atom array
|
||||||
|
return NULL if str is not recognized
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void *PairPACE::extract_peratom(const char *str, int &ncol)
|
||||||
|
{
|
||||||
|
if (strcmp(str, "corerep") == 0) {
|
||||||
|
ncol = 0;
|
||||||
|
return (void *) corerep_factor;
|
||||||
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|||||||
@ -48,11 +48,15 @@ class PairPACE : public Pair {
|
|||||||
double init_one(int, int) override;
|
double init_one(int, int) override;
|
||||||
|
|
||||||
void *extract(const char *, int &) override;
|
void *extract(const char *, int &) override;
|
||||||
|
void *extract_peratom(const char *, int &) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
struct ACEImpl *aceimpl;
|
struct ACEImpl *aceimpl;
|
||||||
|
int nmax_corerep = 0;
|
||||||
|
|
||||||
virtual void allocate();
|
virtual void allocate();
|
||||||
|
double *corerep_factor; //per-atom core-rep factor (= 1 - fcut)
|
||||||
|
int flag_corerep_factor;
|
||||||
|
|
||||||
double **scale;
|
double **scale;
|
||||||
bool recursive; // "recursive" option for ACERecursiveEvaluator
|
bool recursive; // "recursive" option for ACERecursiveEvaluator
|
||||||
|
|||||||
@ -93,11 +93,14 @@ PairPACEExtrapolation::PairPACEExtrapolation(LAMMPS *lmp) : Pair(lmp)
|
|||||||
manybody_flag = 1;
|
manybody_flag = 1;
|
||||||
|
|
||||||
nmax = 0;
|
nmax = 0;
|
||||||
|
nmax_corerep = 0;
|
||||||
|
|
||||||
aceimpl = new ACEALImpl;
|
aceimpl = new ACEALImpl;
|
||||||
scale = nullptr;
|
scale = nullptr;
|
||||||
flag_compute_extrapolation_grade = 0;
|
flag_compute_extrapolation_grade = 0;
|
||||||
extrapolation_grade_gamma = nullptr;
|
extrapolation_grade_gamma = nullptr;
|
||||||
|
flag_corerep_factor = 0;
|
||||||
|
corerep_factor = nullptr;
|
||||||
|
|
||||||
chunksize = 4096;
|
chunksize = 4096;
|
||||||
}
|
}
|
||||||
@ -118,6 +121,7 @@ PairPACEExtrapolation::~PairPACEExtrapolation()
|
|||||||
memory->destroy(scale);
|
memory->destroy(scale);
|
||||||
memory->destroy(map);
|
memory->destroy(map);
|
||||||
memory->destroy(extrapolation_grade_gamma);
|
memory->destroy(extrapolation_grade_gamma);
|
||||||
|
memory->destroy(corerep_factor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -166,11 +170,18 @@ void PairPACEExtrapolation::compute(int eflag, int vflag)
|
|||||||
//zeroify array
|
//zeroify array
|
||||||
memset(extrapolation_grade_gamma, 0, nmax * sizeof(*extrapolation_grade_gamma));
|
memset(extrapolation_grade_gamma, 0, nmax * sizeof(*extrapolation_grade_gamma));
|
||||||
}
|
}
|
||||||
|
if (flag_corerep_factor && atom->nlocal > nmax_corerep) {
|
||||||
|
memory->destroy(corerep_factor);
|
||||||
|
nmax_corerep = atom->nlocal;
|
||||||
|
memory->create(corerep_factor, nmax_corerep, "pace/atom:corerep_factor");
|
||||||
|
//zeroify array
|
||||||
|
memset(corerep_factor, 0, nmax_corerep * sizeof(*corerep_factor));
|
||||||
|
}
|
||||||
|
|
||||||
//determine the maximum number of neighbours
|
//determine the maximum number of neighbours
|
||||||
int max_jnum = 0;
|
int max_jnum = 0;
|
||||||
int nei = 0;
|
int nei = 0;
|
||||||
for (ii = 0; ii < list->inum; ii++) {
|
for (ii = 0; ii < inum; ii++) {
|
||||||
i = ilist[ii];
|
i = ilist[ii];
|
||||||
jnum = numneigh[i];
|
jnum = numneigh[i];
|
||||||
nei = nei + jnum;
|
nei = nei + jnum;
|
||||||
@ -183,7 +194,7 @@ void PairPACEExtrapolation::compute(int eflag, int vflag)
|
|||||||
aceimpl->rec_ace->resize_neighbours_cache(max_jnum);
|
aceimpl->rec_ace->resize_neighbours_cache(max_jnum);
|
||||||
|
|
||||||
//loop over atoms
|
//loop over atoms
|
||||||
for (ii = 0; ii < list->inum; ii++) {
|
for (ii = 0; ii < inum; ii++) {
|
||||||
i = list->ilist[ii];
|
i = list->ilist[ii];
|
||||||
const int itype = type[i];
|
const int itype = type[i];
|
||||||
|
|
||||||
@ -216,6 +227,11 @@ void PairPACEExtrapolation::compute(int eflag, int vflag)
|
|||||||
if (flag_compute_extrapolation_grade)
|
if (flag_compute_extrapolation_grade)
|
||||||
extrapolation_grade_gamma[i] = aceimpl->ace->max_gamma_grade;
|
extrapolation_grade_gamma[i] = aceimpl->ace->max_gamma_grade;
|
||||||
|
|
||||||
|
if (flag_corerep_factor) {
|
||||||
|
corerep_factor[i] = 1 - (flag_compute_extrapolation_grade ? aceimpl->ace->ace_fcut
|
||||||
|
: aceimpl->rec_ace->ace_fcut);
|
||||||
|
}
|
||||||
|
|
||||||
Array2D<DOUBLE_TYPE> &neighbours_forces =
|
Array2D<DOUBLE_TYPE> &neighbours_forces =
|
||||||
(flag_compute_extrapolation_grade ? aceimpl->ace->neighbours_forces
|
(flag_compute_extrapolation_grade ? aceimpl->ace->neighbours_forces
|
||||||
: aceimpl->rec_ace->neighbours_forces);
|
: aceimpl->rec_ace->neighbours_forces);
|
||||||
@ -437,9 +453,11 @@ double PairPACEExtrapolation::init_one(int i, int j)
|
|||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void *PairPACEExtrapolation::extract(const char *str, int &dim)
|
void *PairPACEExtrapolation::extract(const char *str, int &dim)
|
||||||
{
|
{
|
||||||
//check if str=="gamma_flag" then compute extrapolation grades on this iteration
|
|
||||||
dim = 0;
|
dim = 0;
|
||||||
|
//check if str=="gamma_flag" then compute extrapolation grades on this iteration
|
||||||
if (strcmp(str, "gamma_flag") == 0) return (void *) &flag_compute_extrapolation_grade;
|
if (strcmp(str, "gamma_flag") == 0) return (void *) &flag_compute_extrapolation_grade;
|
||||||
|
//check if str=="corerep_flag" then compute extrapolation grades on this iteration
|
||||||
|
if (strcmp(str, "corerep_flag") == 0) return (void *) &flag_corerep_factor;
|
||||||
|
|
||||||
dim = 2;
|
dim = 2;
|
||||||
if (strcmp(str, "scale") == 0) return (void *) scale;
|
if (strcmp(str, "scale") == 0) return (void *) scale;
|
||||||
@ -461,5 +479,10 @@ void *PairPACEExtrapolation::extract_peratom(const char *str, int &ncol)
|
|||||||
return (void *) extrapolation_grade_gamma;
|
return (void *) extrapolation_grade_gamma;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strcmp(str, "corerep") == 0) {
|
||||||
|
ncol = 0;
|
||||||
|
return (void *) corerep_factor;
|
||||||
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,13 +47,15 @@ class PairPACEExtrapolation : public Pair {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
struct ACEALImpl *aceimpl;
|
struct ACEALImpl *aceimpl;
|
||||||
int nmax;
|
int nmax = 0, nmax_corerep = 0;
|
||||||
|
|
||||||
virtual void allocate();
|
virtual void allocate();
|
||||||
std::vector<std::string> element_names; // list of elements (used by dump pace/extrapolation)
|
std::vector<std::string> element_names; // list of elements (used by dump pace/extrapolation)
|
||||||
double *extrapolation_grade_gamma; //per-atom gamma value
|
double *extrapolation_grade_gamma = nullptr; //per-atom gamma value
|
||||||
|
double *corerep_factor = nullptr; //per-atom core-rep factor (= 1 - fcut)
|
||||||
|
|
||||||
int flag_compute_extrapolation_grade;
|
int flag_compute_extrapolation_grade = 0;
|
||||||
|
int flag_corerep_factor = 0;
|
||||||
|
|
||||||
double **scale;
|
double **scale;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user