Merge branch 'develop' into intel_fixes_2023Jun
This commit is contained in:
@ -52,7 +52,7 @@ can be translated to different output format using the `Sphinx
|
||||
incorporates programmer documentation extracted from the LAMMPS C++
|
||||
sources through the `Doxygen <https://doxygen.nl/>`_ program. Currently
|
||||
the translation to HTML, PDF (via LaTeX), ePUB (for many e-book readers)
|
||||
and MOBI (for Amazon Kindle(tm) readers) are supported. For that to work a
|
||||
and MOBI (for Amazon Kindle readers) are supported. For that to work a
|
||||
Python interpreter version 3.8 or later, the ``doxygen`` tools and
|
||||
internet access to download additional files and tools are required.
|
||||
This download is usually only required once or after the documentation
|
||||
|
||||
@ -171,6 +171,7 @@ OPT.
|
||||
* :doc:`pafi <fix_pafi>`
|
||||
* :doc:`pair <fix_pair>`
|
||||
* :doc:`phonon <fix_phonon>`
|
||||
* :doc:`pimd/langevin <fix_pimd>`
|
||||
* :doc:`pimd/nvt <fix_pimd>`
|
||||
* :doc:`planeforce <fix_planeforce>`
|
||||
* :doc:`plumed <fix_plumed>`
|
||||
|
||||
@ -37,6 +37,7 @@ OPT.
|
||||
*
|
||||
* :doc:`adp (ko) <pair_adp>`
|
||||
* :doc:`agni (o) <pair_agni>`
|
||||
* :doc:`aip/water/2dm (t) <pair_aip_water_2dm>`
|
||||
* :doc:`airebo (io) <pair_airebo>`
|
||||
* :doc:`airebo/morse (io) <pair_airebo>`
|
||||
* :doc:`amoeba (g) <pair_amoeba>`
|
||||
|
||||
@ -203,40 +203,62 @@ Below is an example demonstrating some of the possible uses.
|
||||
|
||||
.. code-block:: fortran
|
||||
|
||||
PROGRAM testprop
|
||||
USE LIBLAMMPS
|
||||
USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_double, c_int64_t
|
||||
USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : OUTPUT_UNIT
|
||||
TYPE(lammps) :: lmp
|
||||
INTEGER(KIND=c_int64_t), POINTER :: natoms
|
||||
REAL(KIND=c_double), POINTER :: dt
|
||||
INTEGER(KIND=c_int64_t), POINTER :: ntimestep
|
||||
REAL(KIND=c_double) :: pe, ke
|
||||
PROGRAM testprop
|
||||
USE LIBLAMMPS
|
||||
USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_double, c_int64_t, c_int
|
||||
USE, INTRINSIC :: ISO_FORTRAN_ENV, ONLY : OUTPUT_UNIT
|
||||
TYPE(lammps) :: lmp
|
||||
INTEGER(KIND=c_int64_t), POINTER :: natoms, ntimestep, bval
|
||||
REAL(KIND=c_double), POINTER :: dt, dval
|
||||
INTEGER(KIND=c_int), POINTER :: nfield, typ, ival
|
||||
INTEGER(KIND=c_int) :: i
|
||||
CHARACTER(LEN=11) :: key
|
||||
REAL(KIND=c_double) :: pe, ke
|
||||
|
||||
lmp = lammps()
|
||||
CALL lmp%file('in.sysinit')
|
||||
natoms = lmp%extract_global('natoms')
|
||||
WRITE(OUTPUT_UNIT,'(A,I0,A)') 'Running a simulation with ', natoms, ' atoms'
|
||||
WRITE(OUTPUT_UNIT,'(I0,A,I0,A,I0,A)') lmp%extract_setting('nlocal'), &
|
||||
' local and ', lmp%extract_setting('nghost'), ' ghost atoms. ', &
|
||||
lmp%extract_setting('ntypes'), ' atom types'
|
||||
lmp = lammps()
|
||||
CALL lmp%file('in.sysinit')
|
||||
natoms = lmp%extract_global('natoms')
|
||||
WRITE(OUTPUT_UNIT,'(A,I0,A)') 'Running a simulation with ', natoms, ' atoms'
|
||||
WRITE(OUTPUT_UNIT,'(I0,A,I0,A,I0,A)') lmp%extract_setting('nlocal'), &
|
||||
' local and ', lmp%extract_setting('nghost'), ' ghost atoms. ', &
|
||||
lmp%extract_setting('ntypes'), ' atom types'
|
||||
|
||||
CALL lmp%command('run 2 post no')
|
||||
dt = lmp%extract_global('dt')
|
||||
ntimestep = lmp%extract_global('ntimestep')
|
||||
WRITE(OUTPUT_UNIT,'(A,I0,A,F4.1,A)') 'At step: ', ntimestep, &
|
||||
' Changing timestep from', dt, ' to 0.5'
|
||||
dt = 0.5_c_double
|
||||
CALL lmp%command('run 2 post no')
|
||||
CALL lmp%command('run 2 post no')
|
||||
|
||||
WRITE(OUTPUT_UNIT,'(A,I0)') 'At step: ', ntimestep
|
||||
pe = lmp%get_thermo('pe')
|
||||
ke = lmp%get_thermo('ke')
|
||||
PRINT*, 'PE = ', pe
|
||||
PRINT*, 'KE = ', ke
|
||||
ntimestep = lmp%last_thermo('step', 0)
|
||||
nfield = lmp%last_thermo('num', 0)
|
||||
WRITE(OUTPUT_UNIT,'(A,I0,A,I0)') 'Last thermo output on step: ', ntimestep, &
|
||||
', number of fields: ', nfield
|
||||
DO i=1, nfield
|
||||
key = lmp%last_thermo('keyword',i)
|
||||
typ = lmp%last_thermo('type',i)
|
||||
IF (typ == lmp%dtype%i32) THEN
|
||||
ival = lmp%last_thermo('data',i)
|
||||
WRITE(OUTPUT_UNIT,*) key, ':', ival
|
||||
ELSE IF (typ == lmp%dtype%i64) THEN
|
||||
bval = lmp%last_thermo('data',i)
|
||||
WRITE(OUTPUT_UNIT,*) key, ':', bval
|
||||
ELSE IF (typ == lmp%dtype%r64) THEN
|
||||
dval = lmp%last_thermo('data',i)
|
||||
WRITE(OUTPUT_UNIT,*) key, ':', dval
|
||||
END IF
|
||||
END DO
|
||||
|
||||
CALL lmp%close(.TRUE.)
|
||||
END PROGRAM testprop
|
||||
dt = lmp%extract_global('dt')
|
||||
ntimestep = lmp%extract_global('ntimestep')
|
||||
WRITE(OUTPUT_UNIT,'(A,I0,A,F4.1,A)') 'At step: ', ntimestep, &
|
||||
' Changing timestep from', dt, ' to 0.5'
|
||||
dt = 0.5_c_double
|
||||
CALL lmp%command('run 2 post no')
|
||||
|
||||
WRITE(OUTPUT_UNIT,'(A,I0)') 'At step: ', ntimestep
|
||||
pe = lmp%get_thermo('pe')
|
||||
ke = lmp%get_thermo('ke')
|
||||
WRITE(OUTPUT_UNIT,*) 'PE = ', pe
|
||||
WRITE(OUTPUT_UNIT,*) 'KE = ', ke
|
||||
|
||||
CALL lmp%close(.TRUE.)
|
||||
END PROGRAM testprop
|
||||
|
||||
---------------
|
||||
|
||||
@ -262,6 +284,8 @@ of the contents of the :f:mod:`LIBLAMMPS` Fortran interface to LAMMPS.
|
||||
:ftype style: type(lammps_style)
|
||||
:f type: derived type to access lammps type constants
|
||||
:ftype type: type(lammps_type)
|
||||
:f dtype: derived type to access lammps data type constants
|
||||
:ftype dtype: type(lammps_dtype)
|
||||
:f close: :f:subr:`close`
|
||||
:ftype close: subroutine
|
||||
:f subroutine error: :f:subr:`error`
|
||||
@ -278,6 +302,8 @@ of the contents of the :f:mod:`LIBLAMMPS` Fortran interface to LAMMPS.
|
||||
:ftype get_natoms: function
|
||||
:f get_thermo: :f:func:`get_thermo`
|
||||
:ftype get_thermo: function
|
||||
:f last_thermo: :f:func:`last_thermo`
|
||||
:ftype last_thermo: function
|
||||
:f extract_box: :f:subr:`extract_box`
|
||||
:ftype extract_box: subroutine
|
||||
:f reset_box: :f:subr:`reset_box`
|
||||
@ -587,6 +613,96 @@ Procedures Bound to the :f:type:`lammps` Derived Type
|
||||
|
||||
--------
|
||||
|
||||
.. f:function:: last_thermo(what, index)
|
||||
|
||||
This function will call :cpp:func:`lammps_last_thermo` and returns
|
||||
either a string or a pointer to a cached copy of LAMMPS last thermodynamic
|
||||
output, depending on the data requested through *what*. Note that *index*
|
||||
uses 1-based indexing to access thermo output columns.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
Note that this function actually does not return a value, but rather
|
||||
associates the pointer on the left side of the assignment to point to
|
||||
internal LAMMPS data (with the exception of string data, which are
|
||||
copied and returned as ordinary Fortran strings). Pointers must be
|
||||
of the correct data type to point to said data (typically
|
||||
``INTEGER(c_int)``, ``INTEGER(c_int64_t)``, or ``REAL(c_double)``).
|
||||
The pointer being associated with LAMMPS data is type-checked at
|
||||
run-time via an overloaded assignment operator. The pointers
|
||||
returned by this function point to temporary, read-only data that may
|
||||
be overwritten at any time, so their target values need to be copied
|
||||
to local storage if they are supposed to persist.
|
||||
|
||||
For example,
|
||||
|
||||
.. code-block:: fortran
|
||||
|
||||
PROGRAM thermo
|
||||
USE LIBLAMMPS
|
||||
USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_double, c_int64_t, c_int
|
||||
TYPE(lammps) :: lmp
|
||||
INTEGER(KIND=c_int64_t), POINTER :: ntimestep, bval
|
||||
REAL(KIND=c_double), POINTER :: dval
|
||||
INTEGER(KIND=c_int), POINTER :: nfield, typ, ival
|
||||
INTEGER(KIND=c_int) :: i
|
||||
CHARACTER(LEN=11) :: key
|
||||
|
||||
lmp = lammps()
|
||||
CALL lmp%file('in.sysinit')
|
||||
|
||||
ntimestep = lmp%last_thermo('step', 0)
|
||||
nfield = lmp%last_thermo('num', 0)
|
||||
PRINT*, 'Last thermo output on step: ', ntimestep, ' Number of fields: ', nfield
|
||||
DO i=1, nfield
|
||||
key = lmp%last_thermo('keyword',i)
|
||||
typ = lmp%last_thermo('type',i)
|
||||
IF (typ == lmp%dtype%i32) THEN
|
||||
ival = lmp%last_thermo('data',i)
|
||||
PRINT*, key, ':', ival
|
||||
ELSE IF (typ == lmp%dtype%i64) THEN
|
||||
bval = lmp%last_thermo('data',i)
|
||||
PRINT*, key, ':', bval
|
||||
ELSE IF (typ == lmp%dtype%r64) THEN
|
||||
dval = lmp%last_thermo('data',i)
|
||||
PRINT*, key, ':', dval
|
||||
END IF
|
||||
END DO
|
||||
CALL lmp%close(.TRUE.)
|
||||
END PROGRAM thermo
|
||||
|
||||
would extract the last timestep where thermo output was done and the number
|
||||
of columns it printed. Then it loops over the columns to print out column
|
||||
header keywords and the corresponding data.
|
||||
|
||||
.. note::
|
||||
|
||||
If :f:func:`last_thermo` returns a string, the string must have a length
|
||||
greater than or equal to the length of the string (not including the
|
||||
terminal ``NULL`` character) that LAMMPS returns. If the variable's
|
||||
length is too short, the string will be truncated. As usual in Fortran,
|
||||
strings are padded with spaces at the end. If you use an allocatable
|
||||
string, the string **must be allocated** prior to calling this function.
|
||||
|
||||
:p character(len=\*) what: string with the name of the thermo keyword
|
||||
:p integer(c_int) index: 1-based column index
|
||||
:to: :cpp:func:`lammps_last_thermo`
|
||||
:r pointer [polymorphic]: pointer to LAMMPS data. The left-hand side of the
|
||||
assignment should be either a string (if expecting string data) or a
|
||||
C-compatible pointer (e.g., ``INTEGER(c_int), POINTER :: nlocal``) to the
|
||||
extracted property.
|
||||
|
||||
.. warning::
|
||||
|
||||
Modifying the data in the location pointed to by the returned pointer
|
||||
may lead to inconsistent internal data and thus may cause failures,
|
||||
crashes, or bogus simulations. In general, it is much better
|
||||
to use a LAMMPS input command that sets or changes these parameters.
|
||||
Using an input command will take care of all side effects and necessary
|
||||
updates of settings derived from such settings.
|
||||
|
||||
--------
|
||||
|
||||
.. f:subroutine:: extract_box([boxlo][, boxhi][, xy][, yz][, xz][, pflags][, boxflag])
|
||||
|
||||
This subroutine will call :cpp:func:`lammps_extract_box`. All
|
||||
@ -764,13 +880,14 @@ Procedures Bound to the :f:type:`lammps` Derived Type
|
||||
|
||||
.. note::
|
||||
|
||||
If :f:func:`extract_global` returns a string, the string must have length
|
||||
greater than or equal to the length of the string (not including the
|
||||
terminal ``NULL`` character) that LAMMPS returns. If the variable's
|
||||
length is too short, the string will be truncated. As usual in Fortran,
|
||||
strings are padded with spaces at the end. If you use an allocatable
|
||||
string, the string **must be allocated** prior to calling this function,
|
||||
but you can automatically reallocate it to the correct length after the
|
||||
If :f:func:`extract_global` returns a string, the string must have
|
||||
a length greater than or equal to the length of the string (not
|
||||
including the terminal ``NULL`` character) that LAMMPS returns. If
|
||||
the variable's length is too short, the string will be
|
||||
truncated. As usual in Fortran, strings are padded with spaces at
|
||||
the end. If you use an allocatable string, the string **must be
|
||||
allocated** prior to calling this function, but you can
|
||||
automatically reallocate it to the correct length after the
|
||||
function returns, viz.,
|
||||
|
||||
.. code-block :: fortran
|
||||
|
||||
@ -69,15 +69,13 @@ SPC/E with rigid bonds.
|
||||
timestep 1.0
|
||||
fix rigid all shake 0.0001 10 10000 b 1 a 1
|
||||
minimize 0.0 0.0 1000 10000
|
||||
run 0 post no
|
||||
reset_timestep 0
|
||||
velocity all create 300.0 5463576
|
||||
fix integrate all nvt temp 300.0 300.0 1.0
|
||||
fix integrate all nvt temp 300.0 300.0 100.0
|
||||
|
||||
thermo_style custom step temp press etotal density pe ke
|
||||
thermo 1000
|
||||
run 20000 upto
|
||||
write_data tip4p.data nocoeff
|
||||
write_data spce.data nocoeff
|
||||
|
||||
.. _spce_molecule:
|
||||
.. code-block::
|
||||
|
||||
@ -128,11 +128,11 @@ TIP3P with rigid bonds.
|
||||
|
||||
fix rigid all shake 0.001 10 10000 b 1 a 1
|
||||
minimize 0.0 0.0 1000 10000
|
||||
run 0 post no
|
||||
|
||||
reset_timestep 0
|
||||
timestep 1.0
|
||||
velocity all create 300.0 5463576
|
||||
fix integrate all nvt temp 300 300 1.0
|
||||
fix integrate all nvt temp 300 300 100.0
|
||||
|
||||
thermo_style custom step temp press etotal pe
|
||||
|
||||
|
||||
@ -180,17 +180,17 @@ file changed):
|
||||
|
||||
fix rigid all shake 0.001 10 10000 b 1 a 1
|
||||
minimize 0.0 0.0 1000 10000
|
||||
run 0 post no
|
||||
|
||||
reset_timestep 0
|
||||
timestep 1.0
|
||||
velocity all create 300.0 5463576
|
||||
fix integrate all nvt temp 300 300 1.0
|
||||
fix integrate all nvt temp 300 300 100.0
|
||||
|
||||
thermo_style custom step temp press etotal pe
|
||||
|
||||
thermo 1000
|
||||
run 20000
|
||||
write_data tip3p.data nocoeff
|
||||
write_data tip4p-implicit.data nocoeff
|
||||
|
||||
Below is the code for a LAMMPS input file using the explicit method and
|
||||
a TIP4P molecule file. Because of using :doc:`fix rigid/nvt/small
|
||||
@ -203,6 +203,7 @@ rigid/nvt/small can identify rigid bodies by their molecule ID:
|
||||
|
||||
units real
|
||||
atom_style charge
|
||||
atom_modify map array
|
||||
region box block -5 5 -5 5 -5 5
|
||||
create_box 3 box
|
||||
|
||||
@ -219,14 +220,14 @@ rigid/nvt/small can identify rigid bodies by their molecule ID:
|
||||
molecule water tip4p.mol
|
||||
create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33
|
||||
|
||||
timestep 0.1
|
||||
fix integrate all rigid/nvt/small molecule temp 300.0 300.0 1.0
|
||||
timestep 0.5
|
||||
fix integrate all rigid/nvt/small molecule temp 300.0 300.0 100.0
|
||||
velocity all create 300.0 5463576
|
||||
|
||||
thermo_style custom step temp press etotal density pe ke
|
||||
thermo 1000
|
||||
run 20000
|
||||
write_data tip4p.data nocoeff
|
||||
write_data tip4p-explicit.data nocoeff
|
||||
|
||||
.. _tip4p_molecule:
|
||||
.. code-block::
|
||||
|
||||
@ -91,6 +91,7 @@ ID:
|
||||
|
||||
units real
|
||||
atom_style charge
|
||||
atom_modify map array
|
||||
region box block -5 5 -5 5 -5 5
|
||||
create_box 3 box
|
||||
|
||||
@ -107,8 +108,8 @@ ID:
|
||||
molecule water tip5p.mol
|
||||
create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33
|
||||
|
||||
timestep 0.20
|
||||
fix integrate all rigid/nvt/small molecule temp 300.0 300.0 1.0
|
||||
timestep 0.5
|
||||
fix integrate all rigid/nvt/small molecule temp 300.0 300.0 100.0
|
||||
reset_timestep 0
|
||||
velocity all create 300.0 5463576
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ This section documents the following functions:
|
||||
|
||||
- :cpp:func:`lammps_get_natoms`
|
||||
- :cpp:func:`lammps_get_thermo`
|
||||
- :cpp:func:`lammps_last_thermo`
|
||||
- :cpp:func:`lammps_extract_box`
|
||||
- :cpp:func:`lammps_reset_box`
|
||||
- :cpp:func:`lammps_memory_usage`
|
||||
@ -81,6 +82,11 @@ subdomains and processors.
|
||||
|
||||
-----------------------
|
||||
|
||||
.. doxygenfunction:: lammps_last_thermo
|
||||
:project: progguide
|
||||
|
||||
-----------------------
|
||||
|
||||
.. doxygenfunction:: lammps_extract_box
|
||||
:project: progguide
|
||||
|
||||
|
||||
@ -24,14 +24,17 @@ Syntax
|
||||
*x, y, z* = the center of mass position of the 2 atoms when the bond broke (distance units)
|
||||
*x/ref, y/ref, z/ref* = the initial center of mass position of the 2 atoms (distance units)
|
||||
|
||||
*overlay/pair* value = none
|
||||
*overlay/pair* value = *yes* or *no*
|
||||
bonded particles will still interact with pair forces
|
||||
|
||||
*smooth* value = *yes* or *no*
|
||||
smooths bond forces near the breaking point
|
||||
|
||||
*break/no*
|
||||
indicates that bonds should not break during a run
|
||||
*normalize* value = *yes* or *no*
|
||||
normalizes normal and shear forces by the reference length
|
||||
|
||||
*break* value = *yes* or *no*
|
||||
indicates whether bonds break during a run
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -136,16 +139,19 @@ or :doc:`read_restart <read_restart>` commands:
|
||||
* :math:`\gamma_r` (force*distance/velocity units)
|
||||
* :math:`\gamma_t` (force*distance/velocity units)
|
||||
|
||||
However, the *normalize* option will normalize the radial and shear forces
|
||||
by :math:`r_0` such that :math:`k_r` and :math:`k_s` are unit less.
|
||||
|
||||
By default, pair forces are not calculated between bonded particles.
|
||||
Pair forces can alternatively be overlaid on top of bond forces using
|
||||
the *overlay/pair* keyword. These settings require specific
|
||||
the *overlay/pair* option. These settings require specific
|
||||
:doc:`special_bonds <special_bonds>` settings described in the
|
||||
restrictions. Further details can be found in the `:doc: how to
|
||||
<Howto_BPM>` page on BPMs.
|
||||
|
||||
.. versionadded:: 28Mar2023
|
||||
|
||||
If the *break/no* keyword is used, then LAMMPS assumes bonds should not break
|
||||
If the *break* option is used, then LAMMPS assumes bonds should not break
|
||||
during a simulation run. This will prevent some unnecessary calculation.
|
||||
However, if a bond does break, it will trigger an error.
|
||||
|
||||
@ -251,7 +257,7 @@ Related commands
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option defaults are *smooth* = *yes*
|
||||
The option defaults are *overlay/pair* = *no*, *smooth* = *yes*, *normalize* = *no*, and *break* = *yes*
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -24,14 +24,17 @@ Syntax
|
||||
*x, y, z* = the center of mass position of the 2 atoms when the bond broke (distance units)
|
||||
*x/ref, y/ref, z/ref* = the initial center of mass position of the 2 atoms (distance units)
|
||||
|
||||
*overlay/pair* value = none
|
||||
*overlay/pair* value = *yes* or *no*
|
||||
bonded particles will still interact with pair forces
|
||||
|
||||
*smooth* value = *yes* or *no*
|
||||
smooths bond forces near the breaking point
|
||||
|
||||
*break/no*
|
||||
indicates that bonds should not break during a run
|
||||
*normalize* value = *yes* or *no*
|
||||
normalizes bond forces by the reference length
|
||||
|
||||
*break* value = *yes* or *no*
|
||||
indicates whether bonds break during a run
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -66,7 +69,7 @@ particles based on a model described by Clemmer and Robbins
|
||||
|
||||
F = k (r - r_0) w
|
||||
|
||||
where :math:`k_r` is a stiffness, :math:`r` is the current distance
|
||||
where :math:`k` is a stiffness, :math:`r` is the current distance
|
||||
and :math:`r_0` is the initial distance between the two particles, and
|
||||
:math:`w` is an optional smoothing factor discussed below. Bonds will
|
||||
break at a strain of :math:`\epsilon_c`. This is done by setting by
|
||||
@ -102,16 +105,19 @@ the data file or restart files read by the :doc:`read_data
|
||||
* :math:`\epsilon_c` (unit less)
|
||||
* :math:`\gamma` (force/velocity units)
|
||||
|
||||
However, the *normalize* option will normalize the elastic bond force by
|
||||
:math:`r_0` such that :math:`k` is unit less.
|
||||
|
||||
By default, pair forces are not calculated between bonded particles.
|
||||
Pair forces can alternatively be overlaid on top of bond forces using
|
||||
the *overlay/pair* keyword. These settings require specific
|
||||
the *overlay/pair* option. These settings require specific
|
||||
:doc:`special_bonds <special_bonds>` settings described in the
|
||||
restrictions. Further details can be found in the `:doc: how to
|
||||
<Howto_BPM>` page on BPMs.
|
||||
|
||||
.. versionadded:: 28Mar2023
|
||||
|
||||
If the *break/no* keyword is used, then LAMMPS assumes bonds should not break
|
||||
If the *break* option is used, then LAMMPS assumes bonds should not break
|
||||
during a simulation run. This will prevent some unnecessary calculation.
|
||||
However, if a bond does break, it will trigger an error.
|
||||
|
||||
@ -206,7 +212,7 @@ Related commands
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option defaults are *smooth* = *yes*
|
||||
The option defaults are *overlay/pair* = *no*, *smooth* = *yes*, *normalize* = *no*, and *break* = *yes*
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -76,7 +76,10 @@ The value *force* is the magnitude of the force acting between the
|
||||
pair of atoms in the bond.
|
||||
|
||||
The values *fx*, *fy*, and *fz* are the xyz components of
|
||||
*force* between the pair of atoms in the bond.
|
||||
*force* between the pair of atoms in the bond. For bond styles that apply
|
||||
non-central forces, such as :doc:`bond_style bpm/rotational
|
||||
<bond_bpm_rotational>`, these values only include the :math:`(x,y,z)`
|
||||
components of the normal force component.
|
||||
|
||||
The remaining properties are all computed for motion of the two atoms
|
||||
relative to the center of mass (COM) velocity of the 2 atoms in the
|
||||
|
||||
@ -146,13 +146,13 @@ m to :math:`M` (inclusive). A middle asterisk means all types from m to n
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
This compute calculates a local vector of doubles and a scalar. The vector
|
||||
stores the unique components of the first requested tensor in the order
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`
|
||||
followed by the same components for all subsequent tensors.
|
||||
This compute calculates a global vector of doubles and a global scalar. The
|
||||
vector stores the unique components of the first requested tensor in the
|
||||
order :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz` followed by the same components for all subsequent tensors.
|
||||
The length of the vector is therefore six times the number of requested
|
||||
tensors. The scalar output is the number of pairwise interactions included in
|
||||
the calculation of the fabric tensor.
|
||||
tensors. The scalar output is the number of pairwise interactions included
|
||||
in the calculation of the fabric tensor.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -66,7 +66,9 @@ The value *eng* is the interaction energy for the pair of atoms.
|
||||
The value *force* is the force acting between the pair of atoms, which
|
||||
is positive for a repulsive force and negative for an attractive
|
||||
force. The values *fx*, *fy*, and *fz* are the :math:`(x,y,z)` components of
|
||||
*force* on atom I.
|
||||
*force* on atom I. For pair styles that apply non-central forces,
|
||||
such as :doc:`granular pair styles <pair_gran>`, these values only include
|
||||
the :math:`(x,y,z)` components of the normal force component.
|
||||
|
||||
A pair style may define additional pairwise quantities which can be
|
||||
accessed as *p1* to *pN*, where :math:`N` is defined by the pair style.
|
||||
|
||||
@ -18,7 +18,7 @@ Syntax
|
||||
* style = *stress/mop* or *stress/mop/profile*
|
||||
* dir = *x* or *y* or *z* is the direction normal to the plane
|
||||
* args = argument specific to the compute style
|
||||
* keywords = *kin* or *conf* or *total* (one of more can be specified)
|
||||
* keywords = *kin* or *conf* or *total* or *pair* or *bond* or *angle* (one or more can be specified)
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -45,85 +45,107 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Compute *stress/mop* and compute *stress/mop/profile* define computations that
|
||||
calculate components of the local stress tensor using the method of
|
||||
planes :ref:`(Todd) <mop-todd>`. Specifically in compute *stress/mop* calculates 3
|
||||
components are computed in directions *dir*,\ *x*\ ; *dir*,\ *y*\ ; and
|
||||
*dir*,\ *z*\ ; where *dir* is the direction normal to the plane, while
|
||||
in compute *stress/mop/profile* the profile of the stress is computed.
|
||||
Compute *stress/mop* and compute *stress/mop/profile* define
|
||||
computations that calculate components of the local stress tensor using
|
||||
the method of planes :ref:`(Todd) <mop-todd>`. Specifically in compute
|
||||
*stress/mop* calculates 3 components are computed in directions *dir*,\
|
||||
*x*\ ; *dir*,\ *y*\ ; and *dir*,\ *z*\ ; where *dir* is the direction
|
||||
normal to the plane, while in compute *stress/mop/profile* the profile
|
||||
of the stress is computed.
|
||||
|
||||
Contrary to methods based on histograms of atomic stress (i.e., using
|
||||
:doc:`compute stress/atom <compute_stress_atom>`), the method of planes is
|
||||
compatible with mechanical balance in heterogeneous systems and at
|
||||
:doc:`compute stress/atom <compute_stress_atom>`), the method of planes
|
||||
is compatible with mechanical balance in heterogeneous systems and at
|
||||
interfaces :ref:`(Todd) <mop-todd>`.
|
||||
|
||||
The stress tensor is the sum of a kinetic term and a configurational
|
||||
term, which are given respectively by Eq. (21) and Eq. (16) in
|
||||
:ref:`(Todd) <mop-todd>`. For the kinetic part, the algorithm considers that
|
||||
atoms have crossed the plane if their positions at times :math:`t-\Delta t`
|
||||
and :math:`t` are one on either side of the plane, and uses the velocity at
|
||||
time :math:`t-\Delta t/2` given by the velocity Verlet algorithm.
|
||||
:ref:`(Todd) <mop-todd>`. For the kinetic part, the algorithm considers
|
||||
that atoms have crossed the plane if their positions at times
|
||||
:math:`t-\Delta t` and :math:`t` are one on either side of the plane,
|
||||
and uses the velocity at time :math:`t-\Delta t/2` given by the velocity
|
||||
Verlet algorithm.
|
||||
|
||||
Between one and three keywords can be used to indicate which
|
||||
contributions to the stress must be computed: kinetic stress (kin),
|
||||
configurational stress (conf), and/or total stress (total).
|
||||
.. versionadded:: TBD
|
||||
|
||||
NOTE 1: The configurational stress is computed considering all pairs of atoms where at least one atom belongs to group group-ID.
|
||||
contributions from bond and angle potentials
|
||||
|
||||
Between one and six keywords can be used to indicate which contributions
|
||||
to the stress must be computed: total stress (total), kinetic stress
|
||||
(kin), configurational stress (conf), stress due to bond stretching
|
||||
(bond), stress due to angle bending (angle) and/or due to pairwise
|
||||
non-bonded interactions (pair). The angle keyword is currently
|
||||
available only for the *stress/mop* command and **not** the
|
||||
*stress/mop/profile* command.
|
||||
|
||||
NOTE 1: The configurational stress is computed considering all pairs of
|
||||
atoms where at least one atom belongs to group group-ID.
|
||||
|
||||
NOTE 2: The local stress does not include any Lennard-Jones tail
|
||||
corrections to the stress added by the :doc:`pair_modify tail yes <pair_modify>`
|
||||
command, since those are contributions to the global system pressure.
|
||||
corrections to the stress added by the :doc:`pair_modify tail yes
|
||||
<pair_modify>` command, since those are contributions to the global
|
||||
system pressure.
|
||||
|
||||
NOTE 3: The local stress profile generated by compute *stress/mop/profile*
|
||||
is similar to that obtained by compute
|
||||
:doc:`stress/cartesian <compute_stress_profile>`.
|
||||
A key difference is that compute *stress/mop/profile* considers particles
|
||||
crossing a set of planes, while compute *stress/cartesian* computes averages
|
||||
for a set of small volumes. More information
|
||||
on the similarities and differences can be found in
|
||||
:ref:`(Ikeshoji)<Ikeshoji2>`.
|
||||
NOTE 3: The local stress profile generated by compute
|
||||
*stress/mop/profile* is similar to that obtained by compute
|
||||
:doc:`stress/cartesian <compute_stress_profile>`. A key difference is
|
||||
that compute *stress/mop/profile* considers particles crossing a set of
|
||||
planes, while compute *stress/cartesian* computes averages for a set of
|
||||
small volumes. More information on the similarities and differences can
|
||||
be found in :ref:`(Ikeshoji)<Ikeshoji2>`.
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
Compute *stress/mop* calculates a global vector (indices starting at 1), with 3
|
||||
values for each declared keyword (in the order the keywords have been
|
||||
declared). For each keyword, the stress tensor components are ordered as
|
||||
follows: stress_dir,x, stress_dir,y, and stress_dir,z.
|
||||
Compute *stress/mop* calculates a global vector (indices starting at 1),
|
||||
with 3 values for each declared keyword (in the order the keywords have
|
||||
been declared). For each keyword, the stress tensor components are
|
||||
ordered as follows: stress_dir,x, stress_dir,y, and stress_dir,z.
|
||||
|
||||
Compute *stress/mop/profile* instead calculates a global array, with 1 column
|
||||
giving the position of the planes where the stress tensor was computed,
|
||||
and with 3 columns of values for each declared keyword (in the order the
|
||||
keywords have been declared). For each keyword, the profiles of stress
|
||||
tensor components are ordered as follows: stress_dir,x; stress_dir,y;
|
||||
and stress_dir,z.
|
||||
Compute *stress/mop/profile* instead calculates a global array, with 1
|
||||
column giving the position of the planes where the stress tensor was
|
||||
computed, and with 3 columns of values for each declared keyword (in the
|
||||
order the keywords have been declared). For each keyword, the profiles
|
||||
of stress tensor components are ordered as follows: stress_dir,x;
|
||||
stress_dir,y; and stress_dir,z.
|
||||
|
||||
The values are in pressure :doc:`units <units>`.
|
||||
|
||||
The values produced by this compute can be accessed by various :doc:`output commands <Howto_output>`.
|
||||
For instance, the results can be written to a file using the
|
||||
:doc:`fix ave/time <fix_ave_time>` command. Please see the example
|
||||
in the examples/PACKAGES/mop folder.
|
||||
The values produced by this compute can be accessed by various
|
||||
:doc:`output commands <Howto_output>`. For instance, the results can be
|
||||
written to a file using the :doc:`fix ave/time <fix_ave_time>`
|
||||
command. Please see the example in the examples/PACKAGES/mop folder.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
These styles are part of the EXTRA-COMPUTE package. They are only enabled if
|
||||
LAMMPS is built with that package. See the :doc:`Build package <Build_package>`
|
||||
doc page on for more info.
|
||||
These styles are part of the EXTRA-COMPUTE package. They are only
|
||||
enabled if LAMMPS is built with that package. See the :doc:`Build
|
||||
package <Build_package>` doc page on for more info.
|
||||
|
||||
The method is only implemented for 3d orthogonal simulation boxes whose
|
||||
size does not change in time, and axis-aligned planes.
|
||||
|
||||
The method only works with two-body pair interactions, because it
|
||||
requires the class method pair->single() to be implemented. In
|
||||
particular, it does not work with more than two-body pair interactions,
|
||||
intra-molecular interactions, and long range (kspace) interactions.
|
||||
requires the class method ``Pair::single()`` to be implemented, which is
|
||||
not possible for manybody potentials. In particular, compute
|
||||
*stress/mop/profile* does not work with more than two-body pair
|
||||
interactions, long range (kspace) interactions and
|
||||
angle/dihedral/improper intramolecular interactions. Similarly, compute
|
||||
*stress/mop* does not work with more than two-body pair interactions,
|
||||
long range (kspace) interactions and dihedral/improper intramolecular
|
||||
interactions but works with all bond interactions with the class method
|
||||
single() implemented and all angle interactions with the class method
|
||||
born_matrix() implemented.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute stress/atom <compute_stress_atom>`, :doc:`compute pressure <compute_pressure>`, :doc:`compute stress/cartesian <compute_stress_profile>`, :doc:`compute stress/cylinder <compute_stress_profile>`, :doc:`compute stress/spherical <compute_stress_profile>`
|
||||
:doc:`compute stress/atom <compute_stress_atom>`,
|
||||
:doc:`compute pressure <compute_pressure>`,
|
||||
:doc:`compute stress/cartesian <compute_stress_profile>`,
|
||||
:doc:`compute stress/cylinder <compute_stress_profile>`,
|
||||
:doc:`compute stress/spherical <compute_stress_profile>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -753,9 +753,13 @@ run, this option is ignored since the output is already balanced.
|
||||
----------
|
||||
|
||||
The *thermo* keyword only applies the dump styles *netcdf* and *yaml*.
|
||||
It triggers writing of :doc:`thermo <thermo>` information to the dump file
|
||||
alongside per-atom data. The values included in the dump file are
|
||||
identical to the values specified by :doc:`thermo_style <thermo_style>`.
|
||||
It triggers writing of :doc:`thermo <thermo>` information to the dump
|
||||
file alongside per-atom data. The values included in the dump file are
|
||||
cached values from the last thermo output and include the exact same the
|
||||
values as specified by the :doc:`thermo_style <thermo_style>` command.
|
||||
Because these are cached values, they are only up-to-date when dump
|
||||
output is on a timestep that also has thermo output. Dump style *yaml*
|
||||
will skip thermo output on incompatible steps.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -323,7 +323,8 @@ accelerated styles exist.
|
||||
* :doc:`pafi <fix_pafi>` - constrained force averages on hyper-planes to compute free energies (PAFI)
|
||||
* :doc:`pair <fix_pair>` - access per-atom info from pair styles
|
||||
* :doc:`phonon <fix_phonon>` - calculate dynamical matrix from MD simulations
|
||||
* :doc:`pimd/nvt <fix_pimd>` - Feynman path integral molecular dynamics with Nose-Hoover thermostat
|
||||
* :doc:`pimd/langevin <fix_pimd>` - Feynman path-integral molecular dynamics with stochastic thermostat
|
||||
* :doc:`pimd/nvt <fix_pimd>` - Feynman path-integral molecular dynamics with Nose-Hoover thermostat
|
||||
* :doc:`planeforce <fix_planeforce>` - constrain atoms to move in a plane
|
||||
* :doc:`plumed <fix_plumed>` - wrapper on PLUMED free energy library
|
||||
* :doc:`poems <fix_poems>` - constrain clusters of atoms to move as coupled rigid bodies
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
.. index:: fix pimd/langevin
|
||||
.. index:: fix pimd/nvt
|
||||
|
||||
fix pimd/langevin command
|
||||
=========================
|
||||
|
||||
fix pimd/nvt command
|
||||
====================
|
||||
|
||||
@ -8,72 +12,107 @@ Syntax
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID pimd/nvt keyword value ...
|
||||
fix ID group-ID style keyword value ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* pimd/nvt = style name of this fix command
|
||||
* style = *pimd/langevin* or *pimd/nvt* = style name of this fix command
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *method* or *fmass* or *sp* or *temp* or *nhc*
|
||||
* keywords for style *pimd/nvt*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*keywords* = *method* or *fmass* or *sp* or *temp* or *nhc*
|
||||
*method* value = *pimd* or *nmpimd* or *cmd*
|
||||
*fmass* value = scaling factor on mass
|
||||
*sp* value = scaling factor on Planck constant
|
||||
*temp* value = temperature (temperarate units)
|
||||
*temp* value = temperature (temperature units)
|
||||
*nhc* value = Nc = number of chains in Nose-Hoover thermostat
|
||||
|
||||
* keywords for style *pimd/langevin*
|
||||
|
||||
.. parsed-literal::
|
||||
*keywords* = *method* or *integrator* or *ensemble* or *fmmode* or *fmass* or *scale* or *temp* or *thermostat* or *tau* or *iso* or *aniso* or *barostat* or *taup* or *fixcom* or *lj*
|
||||
*method* value = *nmpimd*
|
||||
*integrator* value = *obabo* or *baoab*
|
||||
*fmmode* value = *physical* or *normal*
|
||||
*fmass* value = scaling factor on mass
|
||||
*temp* value = temperature (temperature unit)
|
||||
temperature = target temperature of the thermostat
|
||||
*thermostat* values = style seed
|
||||
style value = *PILE_L*
|
||||
seed = random number generator seed
|
||||
*tau* value = thermostat damping parameter (time unit)
|
||||
*scale* value = scaling factor of the damping times of non-centroid modes of PILE_L thermostat
|
||||
*iso* or *aniso* values = pressure (pressure unit)
|
||||
pressure = scalar external pressure of the barostat
|
||||
*barostat* value = *BZP* or *MTTK*
|
||||
*taup* value = barostat damping parameter (time unit)
|
||||
*fixcom* value = *yes* or *no*
|
||||
*lj* values = epsilon sigma mass planck mvv2e
|
||||
epsilon = energy scale for reduced units (energy units)
|
||||
sigma = length scale for reduced units (length units)
|
||||
mass = mass scale for reduced units (mass units)
|
||||
planck = Planck's constant for other unit style
|
||||
mvv2e = mass * velocity^2 to energy conversion factor for other unit style
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 1 all pimd/nvt method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4
|
||||
fix 1 all pimd/langevin ensemble npt integrator obabo temp 113.15 thermostat PILE_L 1234 tau 1.0 iso 1.0 barostat BZP taup 1.0
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionchanged:: 28Mar2023
|
||||
|
||||
Fix pimd was renamed to fix pimd/nvt.
|
||||
Fix pimd was renamed to fix *pimd/nvt* and fix *pimd/langevin* was added.
|
||||
|
||||
This command performs quantum molecular dynamics simulations based on
|
||||
the Feynman path integral to include effects of tunneling and
|
||||
These fix commands perform quantum molecular dynamics simulations based
|
||||
on the Feynman path-integral to include effects of tunneling and
|
||||
zero-point motion. In this formalism, the isomorphism of a quantum
|
||||
partition function for the original system to a classical partition
|
||||
function for a ring-polymer system is exploited, to efficiently sample
|
||||
configurations from the canonical ensemble :ref:`(Feynman) <Feynman>`.
|
||||
|
||||
The classical partition function and its components are given
|
||||
by the following equations:
|
||||
|
||||
.. math::
|
||||
|
||||
Z = & \int d{\bf q} d{\bf p} \cdot \textrm{exp} [ -\beta H_{eff} ] \\
|
||||
H_{eff} = & \bigg(\sum_{i=1}^P \frac{p_i^2}{2m_i}\bigg) + V_{eff} \\
|
||||
H_{eff} = & \bigg(\sum_{i=1}^P \frac{p_i^2}{2M_i}\bigg) + V_{eff} \\
|
||||
V_{eff} = & \sum_{i=1}^P \bigg[ \frac{mP}{2\beta^2 \hbar^2} (q_i - q_{i+1})^2 + \frac{1}{P} V(q_i)\bigg]
|
||||
|
||||
:math:`M_i` is the fictitious mass of the :math:`i`-th mode, and m is the actual mass of the atoms.
|
||||
|
||||
The interested user is referred to any of the numerous references on
|
||||
this methodology, but briefly, each quantum particle in a path
|
||||
integral simulation is represented by a ring-polymer of P quasi-beads,
|
||||
labeled from 1 to P. During the simulation, each quasi-bead interacts
|
||||
with beads on the other ring-polymers with the same imaginary time
|
||||
index (the second term in the effective potential above). The
|
||||
quasi-beads also interact with the two neighboring quasi-beads through
|
||||
the spring potential in imaginary-time space (first term in effective
|
||||
potential). To sample the canonical ensemble, a Nose-Hoover massive
|
||||
chain thermostat is applied :ref:`(Tuckerman) <pimd-Tuckerman>`. With the
|
||||
massive chain algorithm, a chain of NH thermostats is coupled to each
|
||||
degree of freedom for each quasi-bead. The keyword *temp* sets the
|
||||
target temperature for the system and the keyword *nhc* sets the
|
||||
number *Nc* of thermostats in each chain. For example, for a
|
||||
simulation of N particles with P beads in each ring-polymer, the total
|
||||
number of NH thermostats would be 3 x N x P x Nc.
|
||||
this methodology, but briefly, each quantum particle in a path integral
|
||||
simulation is represented by a ring-polymer of P quasi-beads, labeled
|
||||
from 1 to P. During the simulation, each quasi-bead interacts with
|
||||
beads on the other ring-polymers with the same imaginary time index (the
|
||||
second term in the effective potential above). The quasi-beads also
|
||||
interact with the two neighboring quasi-beads through the spring
|
||||
potential in imaginary-time space (first term in effective potential).
|
||||
To sample the canonical ensemble, any thermostat can be applied.
|
||||
|
||||
Fix *pimd/nvt* applies a Nose-Hoover massive chain thermostat
|
||||
:ref:`(Tuckerman) <pimd-Tuckerman>`. With the massive chain
|
||||
algorithm, a chain of NH thermostats is coupled to each degree of
|
||||
freedom for each quasi-bead. The keyword *temp* sets the target
|
||||
temperature for the system and the keyword *nhc* sets the number *Nc* of
|
||||
thermostats in each chain. For example, for a simulation of N particles
|
||||
with P beads in each ring-polymer, the total number of NH thermostats
|
||||
would be 3 x N x P x Nc.
|
||||
|
||||
Fix *pimd/langevin* implements a Langevin thermostat in the normal mode
|
||||
representation, and also provides a barostat to sample the NPH/NPT ensembles.
|
||||
|
||||
.. note::
|
||||
|
||||
Fix pimd/nvt implements a complete velocity-verlet integrator
|
||||
combined with NH massive chain thermostat, so no other time
|
||||
integration fix should be used.
|
||||
Both these *fix* styles implement a complete velocity-verlet integrator
|
||||
combined with a thermostat, so no other time integration fix should be used.
|
||||
|
||||
The *method* keyword determines what style of PIMD is performed. A
|
||||
value of *pimd* is standard PIMD. A value of *nmpimd* is for
|
||||
@ -81,7 +120,7 @@ normal-mode PIMD. A value of *cmd* is for centroid molecular dynamics
|
||||
(CMD). The difference between the styles is as follows.
|
||||
|
||||
In standard PIMD, the value used for a bead's fictitious mass is
|
||||
arbitrary. A common choice is to use Mi = m/P, which results in the
|
||||
arbitrary. A common choice is to use :math:`M_i = m/P`, which results in the
|
||||
mass of the entire ring-polymer being equal to the real quantum
|
||||
particle. But it can be difficult to efficiently integrate the
|
||||
equations of motion for the stiff harmonic interactions in the ring
|
||||
@ -97,6 +136,10 @@ normal-mode PIMD. A value of *cmd* is for centroid molecular dynamics
|
||||
overall translation of the ring-polymer and is assigned the mass of
|
||||
the real particle.
|
||||
|
||||
.. note::
|
||||
Fix pimd/langevin only supports *method* value *nmpimd*. This should be enough
|
||||
for most PIMD applications for quantum thermodynamics purpose.
|
||||
|
||||
Motion of the centroid can be effectively uncoupled from the other
|
||||
normal modes by scaling the fictitious masses to achieve a partial
|
||||
adiabatic separation. This is called a Centroid Molecular Dynamics
|
||||
@ -108,17 +151,86 @@ normal-mode PIMD. A value of *cmd* is for centroid molecular dynamics
|
||||
only the k > 0 modes are thermostatted, not the centroid degrees of
|
||||
freedom.
|
||||
|
||||
The keyword *integrator* specifies the Trotter splitting method used by *fix pimd/langevin*.
|
||||
See :ref:`(Liu) <Liu>` for a discussion on the OBABO and BAOAB splitting schemes. Typically
|
||||
either of the two should work fine.
|
||||
|
||||
The keyword *fmass* sets a further scaling factor for the fictitious
|
||||
masses of beads, which can be used for the Partial Adiabatic CMD
|
||||
:ref:`(Hone) <Hone>`, or to be set as P, which results in the fictitious
|
||||
masses to be equal to the real particle masses.
|
||||
|
||||
The keyword *fmmode* of *fix pimd/langevin* determines the mode of fictitious
|
||||
mass preconditioning. There are two options: *physical* and *normal*. If *fmmode* is
|
||||
*physical*, then the physical mass of the particles are used (and then multiplied by
|
||||
*fmass*). If *fmmode* is *normal*, then the physical mass is first multiplied by the
|
||||
eigenvalue of each normal mode, and then multiplied by *fmass*. More precisely, the
|
||||
fictitious mass of *fix pimd/langevin* is determined by two factors: *fmmode* and *fmass*.
|
||||
If *fmmode* is *physical*, then the fictitious mass is
|
||||
|
||||
.. math::
|
||||
|
||||
M_i = \mathrm{fmass} \times m
|
||||
|
||||
If *fmmode* is *normal*, then the fictitious mass is
|
||||
|
||||
.. math::
|
||||
|
||||
M_i = \mathrm{fmass} \times \lambda_i \times m
|
||||
|
||||
where :math:`\lambda_i` is the eigenvalue of the :math:`i`-th normal mode.
|
||||
|
||||
.. note::
|
||||
|
||||
Fictitious mass is only used in the momentum of the equation of motion
|
||||
(:math:`\mathbf{p}_i=M_i\mathbf{v}_i`), and not used in the spring elastic energy
|
||||
(:math:`\sum_{i=1}^P \frac{1}{2}m\omega_P^2(q_i - q_{i+1})^2`, :math:`m` is always the
|
||||
actual mass of the particles).
|
||||
|
||||
The keyword *sp* is a scaling factor on Planck's constant, which can
|
||||
be useful for debugging or other purposes. The default value of 1.0
|
||||
is appropriate for most situations.
|
||||
|
||||
The keyword *ensemble* for fix style *pimd/langevin* determines which ensemble is it
|
||||
going to sample. The value can be *nve* (microcanonical), *nvt* (canonical), *nph* (isoenthalpic),
|
||||
and *npt* (isothermal-isobaric).
|
||||
|
||||
The keyword *temp* specifies temperature parameter for fix styles *pimd/nvt* and *pimd/langevin*. It should read
|
||||
a positive floating-point number.
|
||||
|
||||
.. note::
|
||||
|
||||
For pimd simulations, a temperature values should be specified even for nve ensemble. Temperature will make a difference
|
||||
for nve pimd, since the spring elastic frequency between the beads will be affected by the temperature.
|
||||
|
||||
The keyword *thermostat* reads *style* and *seed* of thermostat for fix style *pimd/langevin*. *style* can only
|
||||
be *PILE_L* (path integral Langevin equation local thermostat, as described in :ref:`Ceriotti <Ceriotti2>`), and *seed* should a positive integer number, which serves as the seed of the pseudo random number generator.
|
||||
|
||||
.. note::
|
||||
The fix style *pimd/langevin* uses the stochastic PILE_L thermostat to control temperature. This thermostat works on the normal modes
|
||||
of the ring polymer. The *tau* parameter controls the centroid mode, and the *scale* parameter controls the non-centroid modes.
|
||||
|
||||
The keyword *tau* specifies the thermostat damping time parameter for fix style *pimd/langevin*. It is in time unit. It only works on the centroid mode.
|
||||
|
||||
The keyword *scale* specifies a scaling parameter for the damping times of the non-centroid modes for fix style *pimd/langevin*. The default
|
||||
damping time of the non-centroid mode :math:`i` is :math:`\frac{P}{\beta\hbar}\sqrt{\lambda_i\times\mathrm{fmass}}` (*fmmode* is *physical*) or :math:`\frac{P}{\beta\hbar}\sqrt{\mathrm{fmass}}` (*fmmode* is *normal*). The damping times of all non-centroid modes are the default values divided by *scale*.
|
||||
|
||||
The barostat parameters for fix style *pimd/langevin* with *npt* or *nph* ensemble is specified using one of *iso* and *aniso*
|
||||
keywords. A *pressure* value should be given with pressure unit. The keyword *iso* means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. The keyword *aniso* means x, y, and z dimensions are controlled independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external pressure.
|
||||
|
||||
The keyword *barostat* reads *style* of barostat for fix style *pimd/langevin*. *style* can
|
||||
be *BZP* (Bussi-Zykova-Parrinello, as described in :ref:`Bussi <Bussi>`) or *MTTK* (Martyna-Tuckerman-Tobias-Klein, as described in :ref:`Martyna1 <Martyna3>` and :ref:`Martyna2 <Martyna4>`).
|
||||
|
||||
The keyword *taup* specifies the barostat damping time parameter for fix style *pimd/langevin*. It is in time unit.
|
||||
|
||||
The keyword *fixcom* specifies whether the center-of-mass of the extended ring-polymer system is fixed during the pimd simulation.
|
||||
Once *fixcom* is set to be *yes*, the center-of-mass velocity will be distracted from the centroid-mode velocities in each step.
|
||||
|
||||
The keyword *lj* should be used if :doc:`lj units <units>` is used for *fix pimd/langevin*. Typically one may want to use
|
||||
reduced units to run the simulation, and then convert the results into some physical units (for example, :doc:`metal units <units>`). In this case, the 5 quantities in the physical mass units are needed: epsilon (energy scale), sigma (length scale), mass, Planck's constant, mvv2e (mass * velocity^2 to energy conversion factor). Planck's constant and mvv2e can be found in src/update.cpp. If there is no need to convert reduced units to physical units, set all these five value to 1.
|
||||
|
||||
The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme
|
||||
as described in :ref:`(Calhoun) <Calhoun>`. In LAMMPS this is done by using
|
||||
as described in :ref:`Calhoun <Calhoun>`. In LAMMPS this is done by using
|
||||
:doc:`multi-replica feature <Howto_replica>` in LAMMPS, where each
|
||||
quasi-particle system is stored and simulated on a separate partition
|
||||
of processors. The following diagram illustrates this approach. The
|
||||
@ -152,22 +264,49 @@ related tasks for each of the partitions, e.g.
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
dump dcd all dcd 10 system_${ibead}.dcd
|
||||
dump 1 all custom 100 ${ibead}.xyz id type x y z vx vy vz ix iy iz fx fy fz
|
||||
restart 1000 system_${ibead}.restart1 system_${ibead}.restart2
|
||||
read_restart system_${ibead}.restart2
|
||||
|
||||
.. note::
|
||||
Fix *pimd/langevin* dumps the Cartesian coordinates, but dumps the velocities and
|
||||
forces in the normal mode representation. If the Cartesian velocities and forces are
|
||||
needed, it is easy to perform the transformation when doing post-processing.
|
||||
|
||||
It is recommended to dump the image flags (*ix iy iz*) for fix *pimd/langevin*. It
|
||||
will be useful if you want to calculate some estimators during post-processing.
|
||||
|
||||
Major differences of *fix pimd/nvt* and *fix pimd/langevin* are:
|
||||
|
||||
#. *Fix pimd/nvt* includes Cartesian pimd, normal mode pimd, and centroid md. *Fix pimd/langevin* only intends to support normal mode pimd, as it is commonly enough for thermodynamic sampling.
|
||||
#. *Fix pimd/nvt* uses Nose-Hoover chain thermostat. *Fix pimd/langevin* uses Langevin thermostat.
|
||||
#. *Fix pimd/langevin* provides barostat, so the npt ensemble can be sampled. *Fix pimd/nvt* only support nvt ensemble.
|
||||
#. *Fix pimd/langevin* provides several quantum estimators in output.
|
||||
#. *Fix pimd/langevin* allows multiple processes for each bead. For *fix pimd/nvt*, there is a large chance that multi-process tasks for each bead may fail.
|
||||
#. The dump of *fix pimd/nvt* are all Cartesian. *Fix pimd/langevin* dumps normal-mode velocities and forces, and Cartesian coordinates.
|
||||
|
||||
Initially, the inter-replica communication and normal mode transformation parts of *fix pimd/langevin* are written based on
|
||||
those of *fix pimd/nvt*, but are significantly revised.
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
Fix pimd/nvt writes the state of the Nose/Hoover thermostat over all
|
||||
Fix *pimd/nvt* writes the state of the Nose/Hoover thermostat over all
|
||||
quasi-beads to :doc:`binary restart files <restart>`. See the
|
||||
:doc:`read_restart <read_restart>` command for info on how to re-specify
|
||||
a fix in an input script that reads a restart file, so that the
|
||||
operation of the fix continues in an uninterrupted fashion.
|
||||
|
||||
Fix *pimd/langevin* writes the state of the barostat overall beads to
|
||||
:doc:`binary restart files <restart>`. Since it uses a stochastic thermostat,
|
||||
the state of the thermostat is not written. However, the state of the system
|
||||
can be restored by reading the restart file, except that it will re-initialize
|
||||
the random number generator.
|
||||
|
||||
None of the :doc:`fix_modify <fix_modify>` options
|
||||
are relevant to fix pimd/nvt.
|
||||
|
||||
Fix pimd/nvt computes a global 3-vector, which can be accessed by
|
||||
Fix *pimd/nvt* computes a global 3-vector, which can be accessed by
|
||||
various :doc:`output commands <Howto_output>`. The three quantities in
|
||||
the global vector are:
|
||||
|
||||
@ -176,21 +315,80 @@ the global vector are:
|
||||
#. the current value of the scalar virial estimator for the kinetic
|
||||
energy of the quantum system :ref:`(Herman) <Herman>`.
|
||||
|
||||
The vector values calculated by fix pimd/nvt are "extensive", except for the
|
||||
The vector values calculated by fix *pimd/nvt* are "extensive", except for the
|
||||
temperature, which is "intensive".
|
||||
|
||||
No parameter of fix pimd/nvt can be used with the *start/stop* keywords
|
||||
of the :doc:`run <run>` command. Fix pimd/nvt is not invoked during
|
||||
Fix *pimd/langevin* computes a global vector of quantities, which
|
||||
can be accessed by various :doc:`output commands <Howto_output>`. Note that
|
||||
it outputs multiple log files, and different log files contain information
|
||||
about different beads or modes (see detailed explanations below). If *ensemble*
|
||||
is *nve* or *nvt*, the vector has 10 values:
|
||||
|
||||
#. kinetic energy of the normal mode
|
||||
#. spring elastic energy of the normal mode
|
||||
#. potential energy of the bead
|
||||
#. total energy of all beads (conserved if *ensemble* is *nve*)
|
||||
#. primitive kinetic energy estimator
|
||||
#. virial energy estimator
|
||||
#. centroid-virial energy estimator
|
||||
#. primitive pressure estimator
|
||||
#. thermodynamic pressure estimator
|
||||
#. centroid-virial pressure estimator
|
||||
|
||||
The first 3 are different for different log files, and the others are the same for different log files.
|
||||
|
||||
If *ensemble* is *nph* or *npt*, the vector stores internal variables of the barostat. If *iso* is used,
|
||||
the vector has 15 values:
|
||||
|
||||
#. kinetic energy of the normal mode
|
||||
#. spring elastic energy of the normal mode
|
||||
#. potential energy of the bead
|
||||
#. total energy of all beads (conserved if *ensemble* is *nve*)
|
||||
#. primitive kinetic energy estimator
|
||||
#. virial energy estimator
|
||||
#. centroid-virial energy estimator
|
||||
#. primitive pressure estimator
|
||||
#. thermodynamic pressure estimator
|
||||
#. centroid-virial pressure estimator
|
||||
#. barostat velocity
|
||||
#. barostat kinetic energy
|
||||
#. barostat potential energy
|
||||
#. barostat cell Jacobian
|
||||
#. enthalpy of the extended system (sum of 4, 12, 13, and 14; conserved if *ensemble* is *nph*)
|
||||
|
||||
If *aniso* or *x* or *y* or *z* is used for the barostat, the vector has 17 values:
|
||||
|
||||
#. kinetic energy of the normal mode
|
||||
#. spring elastic energy of the normal mode
|
||||
#. potential energy of the bead
|
||||
#. total energy of all beads (conserved if *ensemble* is *nve*)
|
||||
#. primitive kinetic energy estimator
|
||||
#. virial energy estimator
|
||||
#. centroid-virial energy estimator
|
||||
#. primitive pressure estimator
|
||||
#. thermodynamic pressure estimator
|
||||
#. centroid-virial pressure estimator
|
||||
#. x component of barostat velocity
|
||||
#. y component of barostat velocity
|
||||
#. z component of barostat velocity
|
||||
#. barostat kinetic energy
|
||||
#. barostat potential energy
|
||||
#. barostat cell Jacobian
|
||||
#. enthalpy of the extended system (sum of 4, 14, 15, and 16; conserved if *ensemble* is *nph*)
|
||||
|
||||
No parameter of fix *pimd/nvt* or *pimd/langevin* can be used with the *start/stop* keywords
|
||||
of the :doc:`run <run>` command. Fix *pimd/nvt* or *pimd/langevin* is not invoked during
|
||||
:doc:`energy minimization <minimize>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This fix is part of the REPLICA package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package
|
||||
These fixes are part of the REPLICA package. They are only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
Fix pimd/nvt cannot be used with :doc:`lj units <units>`.
|
||||
Fix *pimd/nvt* cannot be used with :doc:`lj units <units>`.
|
||||
Fix *pimd/langevin* can be used with :doc:`lj units <units>`. See the above part for how to use it.
|
||||
|
||||
A PIMD simulation can be initialized with a single data file read via
|
||||
the :doc:`read_data <read_data>` command. However, this means all
|
||||
@ -207,7 +405,7 @@ variable, e.g.
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The keyword defaults for fix pimd/nvt are method = pimd, fmass = 1.0, sp
|
||||
The keyword defaults for fix *pimd/nvt* are method = pimd, fmass = 1.0, sp
|
||||
= 1.0, temp = 300.0, and nhc = 2.
|
||||
|
||||
----------
|
||||
@ -243,3 +441,22 @@ Path Integrals, McGraw-Hill, New York (1965).
|
||||
|
||||
**(Herman)** M. F. Herman, E. J. Bruskin, B. J. Berne, J Chem Phys, 76, 5150 (1982).
|
||||
|
||||
.. _Bussi:
|
||||
|
||||
**(Bussi)** G. Bussi, T. Zykova-Timan, M. Parrinello, J Chem Phys, 130, 074101 (2009).
|
||||
|
||||
.. _Ceriotti3:
|
||||
|
||||
**(Ceriotti)** M. Ceriotti, M. Parrinello, T. Markland, D. Manolopoulos, J. Chem. Phys. 133, 124104 (2010).
|
||||
|
||||
.. _Martyna3:
|
||||
|
||||
**(Martyna1)** G. Martyna, D. Tobias, M. Klein, J. Chem. Phys. 101, 4177 (1994).
|
||||
|
||||
.. _Martyna4:
|
||||
|
||||
**(Martyna2)** G. Martyna, A. Hughes, M. Tuckerman, J. Chem. Phys. 110, 3275 (1999).
|
||||
|
||||
.. _Liujian:
|
||||
|
||||
**(Liu)** J. Liu, D. Li, X. Liu, J. Chem. Phys. 145, 024103 (2016).
|
||||
|
||||
@ -25,7 +25,7 @@ Syntax
|
||||
.. parsed-literal::
|
||||
|
||||
*cutoff* value = I J Cutoff
|
||||
I, J = atom types
|
||||
I, J = atom types (see asterisk form below)
|
||||
Cutoff = Bond-order cutoff value for this pair of atom types
|
||||
*element* value = Element1, Element2, ...
|
||||
*position* value = posfreq filepos
|
||||
@ -49,7 +49,7 @@ Examples
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 1 all reaxff/species 10 10 100 species.out
|
||||
fix 1 all reaxff/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55
|
||||
fix 1 all reaxff/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2*3 0.55
|
||||
fix 1 all reaxff/species 1 100 100 species.out element Au O H position 1000 AuOH.pos
|
||||
fix 1 all reaxff/species 1 100 100 species.out delete species.del masslimit 0 50
|
||||
|
||||
@ -88,13 +88,24 @@ If the filename ends with ".gz", the output file is written in gzipped
|
||||
format. A gzipped dump file will be about 3x smaller than the text version,
|
||||
but will also take longer to write.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
Support for wildcards added
|
||||
|
||||
Optional keyword *cutoff* can be assigned to change the minimum
|
||||
bond-order values used in identifying chemical bonds between pairs of
|
||||
atoms. Bond-order cutoffs should be carefully chosen, as bond-order
|
||||
cutoffs that are too small may include too many bonds (which will
|
||||
result in an error), while cutoffs that are too large will result in
|
||||
fragmented molecules. The default cutoff of 0.3 usually gives good
|
||||
results.
|
||||
cutoffs that are too small may include too many bonds (which will result
|
||||
in an error), while cutoffs that are too large will result in fragmented
|
||||
molecules. The default cutoff of 0.3 usually gives good results. A
|
||||
wildcard asterisk can be used in place of or in conjunction with the I,J
|
||||
arguments to set the bond-order cutoff for multiple pairs of atom types.
|
||||
This takes the form "\*" or "\*n" or "n\*" or "m\*n". If :math:`N` is
|
||||
the number of atom types, then an asterisk with no numeric values means
|
||||
all types from 1 to :math:`N`. A leading asterisk means all types from
|
||||
1 to n (inclusive). A trailing asterisk means all types from n to
|
||||
:math:`N` (inclusive). A middle asterisk means all types from m to n
|
||||
(inclusive).
|
||||
|
||||
The optional keyword *element* can be used to specify the chemical
|
||||
symbol printed for each LAMMPS atom type. The number of symbols must
|
||||
|
||||
167
doc/src/pair_aip_water_2dm.rst
Normal file
167
doc/src/pair_aip_water_2dm.rst
Normal file
@ -0,0 +1,167 @@
|
||||
.. index:: pair_style aip/water/2dm
|
||||
.. index:: pair_style aip/water/2dm/opt
|
||||
|
||||
pair_style aip/water/2dm command
|
||||
===================================
|
||||
|
||||
Accelerator Variant: *aip/water/2dm/opt*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style [hybrid/overlay ...] aip/water/2dm cutoff tap_flag
|
||||
|
||||
* cutoff = global cutoff (distance units)
|
||||
* tap_flag = 0/1 to turn off/on the taper function
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style hybrid/overlay aip/water/2dm 16.0 1
|
||||
pair_coeff * * aip/water/2dm COH.aip.water.2dm C Ow Hw
|
||||
|
||||
pair_style hybrid/overlay aip/water/2dm 16.0 lj/cut/tip4p/long 2 3 1 1 0.1546 10 8.5
|
||||
pair_coeff 2 2 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 2 3 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm COH.aip.water.2dm C Ow Hw
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
The *aip/water/2dm* style computes the anisotropic interfacial potential
|
||||
(AIP) potential for interfaces of water with two-dimensional (2D)
|
||||
materials as described in :ref:`(Feng) <Feng>`.
|
||||
|
||||
.. math::
|
||||
|
||||
E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
|
||||
V_{ij} = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)}
|
||||
\left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] -
|
||||
\frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}}
|
||||
\cdot \frac{C_6}{r^6_{ij}} \right \}\\
|
||||
\rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\
|
||||
\rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\
|
||||
f(\rho) = & C e^{ -( \rho / \delta )^2 } \\
|
||||
{\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 -
|
||||
70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 +
|
||||
84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 -
|
||||
35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1
|
||||
|
||||
Where :math:`\mathrm{Tap}(r_{ij})` is the taper function which provides
|
||||
a continuous cutoff (up to third derivative) for interatomic separations
|
||||
larger than :math:`r_c` :doc:`pair_style ilp_graphene_hbn
|
||||
<pair_ilp_graphene_hbn>`.
|
||||
|
||||
.. note::
|
||||
|
||||
This pair style uses the atomic normal vector definition from
|
||||
:ref:`(Feng) <Feng>`), where the atomic normal vectors of the
|
||||
hydrogen atoms are assumed to lie along the corresponding
|
||||
oxygen-hydrogen bonds and the normal vector of the central oxygen
|
||||
atom is defined as their average.
|
||||
|
||||
The provided parameter file, ``COH.aip.water.2dm``, is intended for use
|
||||
with *metal* :doc:`units <units>`, with energies in meV. Two additional
|
||||
parameters, *S*, and *rcut* are included in the parameter file. *S* is
|
||||
designed to facilitate scaling of energies; *rcut* is the cutoff for an
|
||||
internal, short distance neighbor list that is generated for speeding up
|
||||
the calculation of the normals for all atom pairs.
|
||||
|
||||
.. note::
|
||||
|
||||
The parameters presented in the provided parameter file,
|
||||
``COH.aip.water.2dm``, are fitted with the taper function enabled by
|
||||
setting the cutoff equal to 16.0 Angstrom. Using a different cutoff
|
||||
or taper function setting should be carefully checked as they can
|
||||
lead to significant errors. These parameters provide a good
|
||||
description in both short- and long-range interaction regimes. This
|
||||
is essential for simulations in high pressure regime (i.e., the
|
||||
interlayer distance is smaller than the equilibrium distance).
|
||||
|
||||
This potential must be used in combination with hybrid/overlay. Other
|
||||
interactions can be set to zero using :doc:`pair_coeff settings
|
||||
<pair_coeff>` with the pair style set to *none*\ .
|
||||
|
||||
This pair style tallies a breakdown of the total interlayer potential
|
||||
energy into sub-categories, which can be accessed via the :doc:`compute
|
||||
pair <compute_pair>` command as a vector of values of length 2. The 2
|
||||
values correspond to the following sub-categories:
|
||||
|
||||
1. *E_vdW* = vdW (attractive) energy
|
||||
2. *E_Rep* = Repulsive energy
|
||||
|
||||
To print these quantities to the log file (with descriptive column
|
||||
headings) the following commands could be included in an input script:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 0 all pair aip/water/2dm
|
||||
variable Evdw equal c_0[1]
|
||||
variable Erep equal c_0[2]
|
||||
thermo_style custom step temp epair v_Erep v_Evdw
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
----------
|
||||
|
||||
Mixing, shift, table, tail correction, restart, rRESPA info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
This pair style does not support the pair_modify mix, shift, table, and
|
||||
tail options.
|
||||
|
||||
This pair style does not write their information to binary restart
|
||||
files, since it is stored in potential files. Thus, you need to
|
||||
re-specify the pair_style and pair_coeff commands in an input script
|
||||
that reads a restart file.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This pair style is part of the INTERLAYER package. It is only enabled
|
||||
if LAMMPS was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
This pair style requires the newton setting to be *on* for pair
|
||||
interactions.
|
||||
|
||||
The ``COH.aip.water.2dm`` potential file provided with LAMMPS is
|
||||
parameterized for *metal* units. You can use this pair style with any
|
||||
LAMMPS units, but you would need to create your own potential file with
|
||||
parameters in the appropriate units, if your simulation does not use
|
||||
*metal* units.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_coeff <pair_coeff>`,
|
||||
:doc:`pair_none <pair_none>`,
|
||||
:doc:`pair_style hybrid/overlay <pair_hybrid>`,
|
||||
:doc:`pair_style drip <pair_drip>`,
|
||||
:doc:`pair_style ilp_tmd <pair_ilp_tmd>`,
|
||||
:doc:`pair_style saip_metal <pair_saip_metal>`,
|
||||
:doc:`pair_style ilp_graphene_hbn <pair_ilp_graphene_hbn>`,
|
||||
:doc:`pair_style pair_kolmogorov_crespi_z <pair_kolmogorov_crespi_z>`,
|
||||
:doc:`pair_style pair_kolmogorov_crespi_full <pair_kolmogorov_crespi_full>`,
|
||||
:doc:`pair_style pair_lebedeva_z <pair_lebedeva_z>`,
|
||||
:doc:`pair_style pair_coul_shield <pair_coul_shield>`.
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
tap_flag = 1
|
||||
|
||||
----------
|
||||
|
||||
.. _Feng:
|
||||
|
||||
**(Feng)** Z. Feng and W. Ouyang et al., J. Phys. Chem. C. 127, 8704-8713 (2023).
|
||||
@ -736,7 +736,7 @@ or
|
||||
|
||||
.. math::
|
||||
|
||||
E_{eff,ij} = \frac{E_{ij}}{2(1-\nu_{ij})}
|
||||
E_{eff,ij} = \frac{E_{ij}}{2(1-\nu_{ij}^2)}
|
||||
|
||||
These pair styles write their information to :doc:`binary restart files <restart>`, so a pair_style command does not need to be
|
||||
specified in an input script that reads a restart file.
|
||||
|
||||
@ -155,8 +155,8 @@ interactions.
|
||||
|
||||
The BNCH.ILP potential file provided with LAMMPS (see the potentials
|
||||
directory) are parameterized for *metal* units. You can use this
|
||||
potential with any LAMMPS units, but you would need to create your
|
||||
BNCH.ILP potential file with coefficients listed in the appropriate
|
||||
potential with any LAMMPS units, but you would need to create your own
|
||||
custom BNCH.ILP potential file with coefficients listed in the appropriate
|
||||
units, if your simulation does not use *metal* units.
|
||||
|
||||
Related commands
|
||||
@ -181,6 +181,14 @@ tap_flag = 1
|
||||
|
||||
----------
|
||||
|
||||
.. _Ouyang1:
|
||||
|
||||
**(Ouyang1)** W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Lett. 18, 6009-6016 (2018).
|
||||
|
||||
.. _Ouyang2:
|
||||
|
||||
**(Ouyang2)** W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020).
|
||||
|
||||
.. _Leven1:
|
||||
|
||||
**(Leven1)** I. Leven, I. Azuri, L. Kronik and O. Hod, J. Chem. Phys. 140, 104106 (2014).
|
||||
@ -196,11 +204,3 @@ tap_flag = 1
|
||||
.. _Kolmogorov2:
|
||||
|
||||
**(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005).
|
||||
|
||||
.. _Ouyang1:
|
||||
|
||||
**(Ouyang1)** W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Lett. 18, 6009-6016 (2018).
|
||||
|
||||
.. _Ouyang2:
|
||||
|
||||
**(Ouyang2)** W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020).
|
||||
|
||||
@ -135,8 +135,8 @@ interactions.
|
||||
|
||||
The TMD.ILP potential file provided with LAMMPS (see the potentials
|
||||
directory) are parameterized for *metal* units. You can use this
|
||||
potential with any LAMMPS units, but you would need to create your
|
||||
BNCH.ILP potential file with coefficients listed in the appropriate
|
||||
potential with any LAMMPS units, but you would need to create your own
|
||||
custom TMD.ILP potential file with coefficients listed in the appropriate
|
||||
units, if your simulation does not use *metal* units.
|
||||
|
||||
Related commands
|
||||
|
||||
@ -129,7 +129,7 @@ interactions.
|
||||
The CH.KC potential file provided with LAMMPS (see the potentials
|
||||
folder) is parameterized for metal units. You can use this pair style
|
||||
with any LAMMPS units, but you would need to create your own custom
|
||||
CC.KC potential file with all coefficients converted to the appropriate
|
||||
CH.KC potential file with all coefficients converted to the appropriate
|
||||
units.
|
||||
|
||||
Related commands
|
||||
|
||||
@ -134,8 +134,8 @@ interactions.
|
||||
|
||||
The CHAu.ILP potential file provided with LAMMPS (see the potentials
|
||||
directory) are parameterized for *metal* units. You can use this
|
||||
potential with any LAMMPS units, but you would need to create your
|
||||
BNCH.ILP potential file with coefficients listed in the appropriate
|
||||
potential with any LAMMPS units, but you would need to create your own
|
||||
custom CHAu.ILP potential file with coefficients listed in the appropriate
|
||||
units, if your simulation does not use *metal* units.
|
||||
|
||||
Related commands
|
||||
|
||||
@ -114,6 +114,7 @@ accelerated styles exist.
|
||||
|
||||
* :doc:`adp <pair_adp>` - angular dependent potential (ADP) of Mishin
|
||||
* :doc:`agni <pair_agni>` - AGNI machine-learning potential
|
||||
* :doc:`aip/water/2dm <pair_aip_water_2dm>` - anisotropic interfacial potential for water in 2d geometries
|
||||
* :doc:`airebo <pair_airebo>` - AIREBO potential of Stuart
|
||||
* :doc:`airebo/morse <pair_airebo>` - AIREBO with Morse instead of LJ
|
||||
* :doc:`amoeba <pair_amoeba>` -
|
||||
|
||||
@ -1481,7 +1481,7 @@ commands
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
# delete_atoms random fraction 0.5 yes all NULL 49839
|
||||
# run 0
|
||||
# run 0 post no
|
||||
variable t equal temp # this thermo keyword invokes a temperature compute
|
||||
print "Temperature of system = $t"
|
||||
run 1000
|
||||
|
||||
@ -55,6 +55,7 @@ Ai
|
||||
Aidan
|
||||
aij
|
||||
aimd
|
||||
aip
|
||||
airebo
|
||||
Aj
|
||||
ajaramil
|
||||
@ -528,6 +529,7 @@ collisional
|
||||
Columic
|
||||
colvars
|
||||
Colvars
|
||||
COH
|
||||
COLVARS
|
||||
comID
|
||||
Commun
|
||||
@ -1090,6 +1092,7 @@ Fellinger
|
||||
femtosecond
|
||||
femtoseconds
|
||||
fene
|
||||
Feng
|
||||
Fennell
|
||||
fep
|
||||
FEP
|
||||
@ -1621,6 +1624,7 @@ Izumi
|
||||
Izvekov
|
||||
izz
|
||||
Izz
|
||||
Jacobian
|
||||
Jacobsen
|
||||
Jadhao
|
||||
Jadhav
|
||||
@ -2027,6 +2031,7 @@ Marchetti
|
||||
Marchi
|
||||
Mariella
|
||||
Marinica
|
||||
Markland
|
||||
Marrink
|
||||
Marroquin
|
||||
Marsaglia
|
||||
@ -3595,6 +3600,7 @@ THz
|
||||
Tigran
|
||||
Tij
|
||||
Tildesley
|
||||
Timan
|
||||
timeI
|
||||
timespan
|
||||
timestamp
|
||||
@ -3736,6 +3742,7 @@ Umin
|
||||
un
|
||||
unary
|
||||
uncomment
|
||||
uncommented
|
||||
uncompress
|
||||
uncompute
|
||||
underprediction
|
||||
@ -4090,4 +4097,5 @@ zu
|
||||
zx
|
||||
zy
|
||||
Zybin
|
||||
Zykova
|
||||
zz
|
||||
|
||||
@ -90,6 +90,7 @@ liblammpsplugin_t *liblammpsplugin_load(const char *lib)
|
||||
|
||||
ADDSYM(get_natoms);
|
||||
ADDSYM(get_thermo);
|
||||
ADDSYM(last_thermo);
|
||||
|
||||
ADDSYM(extract_box);
|
||||
ADDSYM(reset_box);
|
||||
|
||||
@ -133,6 +133,7 @@ struct _liblammpsplugin {
|
||||
|
||||
double (*get_natoms)(void *);
|
||||
double (*get_thermo)(void *, const char *);
|
||||
void *(*last_thermo)(void *, const char *, int);
|
||||
|
||||
void (*extract_box)(void *, double *, double *,
|
||||
double *, double *, double *, int *, int *);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
atom_style sph
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
@ -37,12 +37,12 @@ group upper_wall type 3
|
||||
group lower_wall type 4
|
||||
|
||||
mass * ${mass}
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all sph/rho ${rho_0}
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 1 fluid sph
|
||||
fix 2 sphere rigid/meso single
|
||||
fix 3 upper_wall meso/move linear +${wall_velocity} 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -${wall_velocity} 0 0 units box
|
||||
|
||||
@ -1,247 +0,0 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable Lf equal $R*3
|
||||
variable Lf equal 0.5*3
|
||||
variable Lb equal $R*4
|
||||
variable Lb equal 0.5*4
|
||||
variable wall_velocity equal 0.01 # micrometers/microsecond
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -${Lb} ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 0.1 units box
|
||||
create_box 4 box
|
||||
Created orthogonal box = (-2 -2 0) to (2 2 0.1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 1600 atoms
|
||||
Time spent = 0.00169706 secs
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
81 settings made for type
|
||||
|
||||
region upper_wall block INF INF +${Lf} INF INF INF units box
|
||||
region upper_wall block INF INF +1.5 INF INF INF units box
|
||||
set region upper_wall type 3
|
||||
200 settings made for type
|
||||
|
||||
region lower_wall block INF INF INF -${Lf} INF INF units box
|
||||
region lower_wall block INF INF INF -1.5 INF INF units box
|
||||
set region lower_wall type 4
|
||||
240 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
1079 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
group upper_wall type 3
|
||||
200 atoms in group upper_wall
|
||||
group lower_wall type 4
|
||||
240 atoms in group lower_wall
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
1600 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
fix 3 upper_wall meso/move linear +${wall_velocity} 0 0 units box
|
||||
fix 3 upper_wall meso/move linear +0.01 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -${wall_velocity} 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -0.01 0 0 units box
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 15 15 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, 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) = 6.937 | 6.937 | 6.937 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 0 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 5 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 6 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 10 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 11 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 14 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 17 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 19 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 20 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 21 0
|
||||
6300 6.3 21 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 22 0
|
||||
6600 6.6 22 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 23 0
|
||||
6900 6.9 23 0
|
||||
7000 7 23 0
|
||||
7100 7.1 24 0
|
||||
7200 7.2 24 0
|
||||
7300 7.3 25 0
|
||||
7400 7.4 25 0
|
||||
7500 7.5 25 0
|
||||
7600 7.6 26 0
|
||||
7700 7.7 26 0
|
||||
7800 7.8 26 0
|
||||
7900 7.9 27 0
|
||||
8000 8 27 0
|
||||
8100 8.1 27 0
|
||||
8200 8.2 28 0
|
||||
8300 8.3 28 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 29 0
|
||||
8600 8.6 29 0
|
||||
8700 8.7 30 0
|
||||
8800 8.8 30 0
|
||||
8900 8.9 30 0
|
||||
9000 9 31 0
|
||||
9100 9.1 31 0
|
||||
9200 9.2 31 0
|
||||
9300 9.3 32 0
|
||||
9400 9.4 32 0
|
||||
9500 9.5 32 0
|
||||
9600 9.6 33 0
|
||||
9700 9.7 33 0
|
||||
9800 9.8 33 0
|
||||
9900 9.9 34 0
|
||||
10000 10 34 0
|
||||
Loop time of 144.208 on 1 procs for 10000 steps with 1600 atoms
|
||||
|
||||
Performance: 5991348.580 ns/day, 0.000 hours/ns, 69.344 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 143.08 | 143.08 | 143.08 | 0.0 | 99.22
|
||||
Neigh | 0.033195 | 0.033195 | 0.033195 | 0.0 | 0.02
|
||||
Comm | 0.24139 | 0.24139 | 0.24139 | 0.0 | 0.17
|
||||
Output | 0.11687 | 0.11687 | 0.11687 | 0.0 | 0.08
|
||||
Modify | 0.61566 | 0.61566 | 0.61566 | 0.0 | 0.43
|
||||
Other | | 0.117 | | | 0.08
|
||||
|
||||
Nlocal: 1600 ave 1600 max 1600 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 993 ave 993 max 993 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 73236 ave 73236 max 73236 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 73236
|
||||
Ave neighs/atom = 45.7725
|
||||
Neighbor list builds = 34
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:24
|
||||
@ -1,247 +0,0 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable Lf equal $R*3
|
||||
variable Lf equal 0.5*3
|
||||
variable Lb equal $R*4
|
||||
variable Lb equal 0.5*4
|
||||
variable wall_velocity equal 0.01 # micrometers/microsecond
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -${Lb} ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 0.1 units box
|
||||
create_box 4 box
|
||||
Created orthogonal box = (-2 -2 0) to (2 2 0.1)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 1600 atoms
|
||||
Time spent = 0.000589566 secs
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
81 settings made for type
|
||||
|
||||
region upper_wall block INF INF +${Lf} INF INF INF units box
|
||||
region upper_wall block INF INF +1.5 INF INF INF units box
|
||||
set region upper_wall type 3
|
||||
200 settings made for type
|
||||
|
||||
region lower_wall block INF INF INF -${Lf} INF INF units box
|
||||
region lower_wall block INF INF INF -1.5 INF INF units box
|
||||
set region lower_wall type 4
|
||||
240 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
1079 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
group upper_wall type 3
|
||||
200 atoms in group upper_wall
|
||||
group lower_wall type 4
|
||||
240 atoms in group lower_wall
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
1600 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
fix 3 upper_wall meso/move linear +${wall_velocity} 0 0 units box
|
||||
fix 3 upper_wall meso/move linear +0.01 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -${wall_velocity} 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -0.01 0 0 units box
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 15 15 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, 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) = 6.854 | 6.854 | 6.854 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 4 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 5 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 6 0
|
||||
2200 2.2 6 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 7 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 8 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 9 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 10 0
|
||||
3400 3.4 10 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 11 0
|
||||
3700 3.7 11 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 12 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 13 0
|
||||
4300 4.3 13 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 14 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 15 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 17 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 18 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 20 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 20 0
|
||||
6300 6.3 21 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 21 0
|
||||
6600 6.6 22 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 22 0
|
||||
6900 6.9 23 0
|
||||
7000 7 23 0
|
||||
7100 7.1 23 0
|
||||
7200 7.2 24 0
|
||||
7300 7.3 24 0
|
||||
7400 7.4 25 0
|
||||
7500 7.5 25 0
|
||||
7600 7.6 25 0
|
||||
7700 7.7 25 0
|
||||
7800 7.8 26 0
|
||||
7900 7.9 26 0
|
||||
8000 8 26 0
|
||||
8100 8.1 27 0
|
||||
8200 8.2 27 0
|
||||
8300 8.3 27 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 28 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 29 0
|
||||
8800 8.8 29 0
|
||||
8900 8.9 29 0
|
||||
9000 9 30 0
|
||||
9100 9.1 30 0
|
||||
9200 9.2 31 0
|
||||
9300 9.3 31 0
|
||||
9400 9.4 31 0
|
||||
9500 9.5 32 0
|
||||
9600 9.6 32 0
|
||||
9700 9.7 32 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 33 0
|
||||
10000 10 33 0
|
||||
Loop time of 63.2372 on 4 procs for 10000 steps with 1600 atoms
|
||||
|
||||
Performance: 13662841.706 ns/day, 0.000 hours/ns, 158.135 timesteps/s
|
||||
94.3% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 51.576 | 53.662 | 55.484 | 23.9 | 84.86
|
||||
Neigh | 0.011519 | 0.012395 | 0.013405 | 0.7 | 0.02
|
||||
Comm | 6.8389 | 8.5423 | 10.517 | 56.1 | 13.51
|
||||
Output | 0.12342 | 0.12513 | 0.1302 | 0.8 | 0.20
|
||||
Modify | 0.58708 | 0.69128 | 0.78806 | 11.3 | 1.09
|
||||
Other | | 0.2038 | | | 0.32
|
||||
|
||||
Nlocal: 400 ave 411 max 388 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
Nghost: 552.25 ave 567 max 539 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Neighs: 18298.8 ave 18781 max 17829 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 73195
|
||||
Ave neighs/atom = 45.7469
|
||||
Neighbor list builds = 33
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:03
|
||||
@ -0,0 +1,253 @@
|
||||
LAMMPS (28 Mar 2023 - Development)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style sph
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable Lf equal $R*3
|
||||
variable Lf equal 0.5*3
|
||||
variable Lb equal $R*4
|
||||
variable Lb equal 0.5*4
|
||||
variable wall_velocity equal 0.01 # micrometers/microsecond
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -${Lb} ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 0.1 units box
|
||||
create_box 4 box
|
||||
Created orthogonal box = (-2 -2 0) to (2 2 0.1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 1600 atoms
|
||||
using lattice units in orthogonal box = (-2 -2 0) to (2 2 0.1)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
Setting atom values ...
|
||||
81 settings made for type
|
||||
|
||||
region upper_wall block INF INF +${Lf} INF INF INF units box
|
||||
region upper_wall block INF INF +1.5 INF INF INF units box
|
||||
set region upper_wall type 3
|
||||
Setting atom values ...
|
||||
200 settings made for type
|
||||
|
||||
region lower_wall block INF INF INF -${Lf} INF INF units box
|
||||
region lower_wall block INF INF INF -1.5 INF INF units box
|
||||
set region lower_wall type 4
|
||||
Setting atom values ...
|
||||
240 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
1079 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
group upper_wall type 3
|
||||
200 atoms in group upper_wall
|
||||
group lower_wall type 4
|
||||
240 atoms in group lower_wall
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all sph/rho ${rho_0}
|
||||
set group all sph/rho 1
|
||||
Setting atom values ...
|
||||
1600 settings made for sph/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid sph
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
fix 3 upper_wall meso/move linear +${wall_velocity} 0 0 units box
|
||||
fix 3 upper_wall meso/move linear +0.01 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -${wall_velocity} 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -0.01 0 0 units box
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Generated 0 of 6 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 = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 15 15 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, 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) = 7.313 | 7.313 | 7.313 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 0 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 5 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 6 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 10 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 11 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 14 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 17 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 19 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 20 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 21 0
|
||||
6300 6.3 21 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 22 0
|
||||
6600 6.6 22 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 23 0
|
||||
6900 6.9 23 0
|
||||
7000 7 23 0
|
||||
7100 7.1 24 0
|
||||
7200 7.2 24 0
|
||||
7300 7.3 25 0
|
||||
7400 7.4 25 0
|
||||
7500 7.5 25 0
|
||||
7600 7.6 26 0
|
||||
7700 7.7 26 0
|
||||
7800 7.8 26 0
|
||||
7900 7.9 27 0
|
||||
8000 8 27 0
|
||||
8100 8.1 27 0
|
||||
8200 8.2 28 0
|
||||
8300 8.3 28 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 29 0
|
||||
8600 8.6 29 0
|
||||
8700 8.7 30 0
|
||||
8800 8.8 30 0
|
||||
8900 8.9 30 0
|
||||
9000 9 31 0
|
||||
9100 9.1 31 0
|
||||
9200 9.2 31 0
|
||||
9300 9.3 32 0
|
||||
9400 9.4 32 0
|
||||
9500 9.5 32 0
|
||||
9600 9.6 33 0
|
||||
9700 9.7 33 0
|
||||
9800 9.8 33 0
|
||||
9900 9.9 34 0
|
||||
10000 10 34 0
|
||||
Loop time of 131.724 on 1 procs for 10000 steps with 1600 atoms
|
||||
|
||||
Performance: 6559168.339 ns/day, 0.000 hours/ns, 75.916 timesteps/s, 121.466 katom-step/s
|
||||
99.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 130.89 | 130.89 | 130.89 | 0.0 | 99.37
|
||||
Neigh | 0.02884 | 0.02884 | 0.02884 | 0.0 | 0.02
|
||||
Comm | 0.17863 | 0.17863 | 0.17863 | 0.0 | 0.14
|
||||
Output | 0.095497 | 0.095497 | 0.095497 | 0.0 | 0.07
|
||||
Modify | 0.42063 | 0.42063 | 0.42063 | 0.0 | 0.32
|
||||
Other | | 0.1069 | | | 0.08
|
||||
|
||||
Nlocal: 1600 ave 1600 max 1600 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 993 ave 993 max 993 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 73236 ave 73236 max 73236 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 73236
|
||||
Ave neighs/atom = 45.7725
|
||||
Neighbor list builds = 34
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:11
|
||||
@ -0,0 +1,253 @@
|
||||
LAMMPS (28 Mar 2023 - Development)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style sph
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable Lf equal $R*3
|
||||
variable Lf equal 0.5*3
|
||||
variable Lb equal $R*4
|
||||
variable Lb equal 0.5*4
|
||||
variable wall_velocity equal 0.01 # micrometers/microsecond
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -${Lb} ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 0.1 units box
|
||||
create_box 4 box
|
||||
Created orthogonal box = (-2 -2 0) to (2 2 0.1)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 1600 atoms
|
||||
using lattice units in orthogonal box = (-2 -2 0) to (2 2 0.1)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
Setting atom values ...
|
||||
81 settings made for type
|
||||
|
||||
region upper_wall block INF INF +${Lf} INF INF INF units box
|
||||
region upper_wall block INF INF +1.5 INF INF INF units box
|
||||
set region upper_wall type 3
|
||||
Setting atom values ...
|
||||
200 settings made for type
|
||||
|
||||
region lower_wall block INF INF INF -${Lf} INF INF units box
|
||||
region lower_wall block INF INF INF -1.5 INF INF units box
|
||||
set region lower_wall type 4
|
||||
Setting atom values ...
|
||||
240 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
1079 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
group upper_wall type 3
|
||||
200 atoms in group upper_wall
|
||||
group lower_wall type 4
|
||||
240 atoms in group lower_wall
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all sph/rho ${rho_0}
|
||||
set group all sph/rho 1
|
||||
Setting atom values ...
|
||||
1600 settings made for sph/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid sph
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
fix 3 upper_wall meso/move linear +${wall_velocity} 0 0 units box
|
||||
fix 3 upper_wall meso/move linear +0.01 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -${wall_velocity} 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -0.01 0 0 units box
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Generated 0 of 6 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 = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 15 15 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, 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) = 7.23 | 7.23 | 7.23 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 5 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 6 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 10 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 11 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 13 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 14 0
|
||||
4600 4.6 14 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 15 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 16 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 17 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 18 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 20 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 20 0
|
||||
6300 6.3 21 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 21 0
|
||||
6600 6.6 22 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 22 0
|
||||
6900 6.9 23 0
|
||||
7000 7 23 0
|
||||
7100 7.1 23 0
|
||||
7200 7.2 24 0
|
||||
7300 7.3 24 0
|
||||
7400 7.4 24 0
|
||||
7500 7.5 25 0
|
||||
7600 7.6 25 0
|
||||
7700 7.7 25 0
|
||||
7800 7.8 25 0
|
||||
7900 7.9 26 0
|
||||
8000 8 26 0
|
||||
8100 8.1 26 0
|
||||
8200 8.2 27 0
|
||||
8300 8.3 27 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 28 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 29 0
|
||||
8800 8.8 29 0
|
||||
8900 8.9 29 0
|
||||
9000 9 30 0
|
||||
9100 9.1 30 0
|
||||
9200 9.2 30 0
|
||||
9300 9.3 31 0
|
||||
9400 9.4 31 0
|
||||
9500 9.5 31 0
|
||||
9600 9.6 32 0
|
||||
9700 9.7 32 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 32 0
|
||||
10000 10 33 0
|
||||
Loop time of 24.8261 on 4 procs for 10000 steps with 1600 atoms
|
||||
|
||||
Performance: 34802055.618 ns/day, 0.000 hours/ns, 402.802 timesteps/s, 644.483 katom-step/s
|
||||
99.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 21.84 | 22.879 | 23.944 | 21.4 | 92.16
|
||||
Neigh | 0.007446 | 0.0079435 | 0.0084435 | 0.6 | 0.03
|
||||
Comm | 0.5271 | 1.5894 | 2.6259 | 80.9 | 6.40
|
||||
Output | 0.034799 | 0.035302 | 0.036437 | 0.4 | 0.14
|
||||
Modify | 0.20079 | 0.21033 | 0.2202 | 1.7 | 0.85
|
||||
Other | | 0.1041 | | | 0.42
|
||||
|
||||
Nlocal: 400 ave 414 max 390 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
Nghost: 555.5 ave 564 max 543 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||
Neighs: 18299.2 ave 18820 max 17906 min
|
||||
Histogram: 1 1 0 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 73197
|
||||
Ave neighs/atom = 45.748125
|
||||
Neighbor list builds = 33
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:24
|
||||
@ -1,6 +1,6 @@
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
atom_style sph
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
@ -27,12 +27,12 @@ group fluid type 1
|
||||
group sphere type 2
|
||||
|
||||
mass * ${mass}
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all sph/rho ${rho_0}
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 1 fluid sph
|
||||
fix 2 sphere rigid/meso single
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
@ -1,226 +0,0 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable L equal $R*3
|
||||
variable L equal 0.5*3
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -$L $L -$L $L 0 $a units box
|
||||
region box block -1.5 $L -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 0.1 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-1.5 -1.5 0) to (1.5 1.5 0.1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 900 atoms
|
||||
Time spent = 0.0015769 secs
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
81 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
819 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
900 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 12 12 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, 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) = 6.137 | 6.137 | 6.137 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 6 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 7 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 10 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 11 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 12 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 13 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 14 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 17 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 18 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 19 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 19 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 20 0
|
||||
6300 6.3 20 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 21 0
|
||||
6600 6.6 21 0
|
||||
6700 6.7 21 0
|
||||
6800 6.8 22 0
|
||||
6900 6.9 22 0
|
||||
7000 7 22 0
|
||||
7100 7.1 23 0
|
||||
7200 7.2 23 0
|
||||
7300 7.3 23 0
|
||||
7400 7.4 24 0
|
||||
7500 7.5 24 0
|
||||
7600 7.6 24 0
|
||||
7700 7.7 25 0
|
||||
7800 7.8 25 0
|
||||
7900 7.9 26 0
|
||||
8000 8 26 0
|
||||
8100 8.1 26 0
|
||||
8200 8.2 26 0
|
||||
8300 8.3 27 0
|
||||
8400 8.4 27 0
|
||||
8500 8.5 27 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 28 0
|
||||
8800 8.8 28 0
|
||||
8900 8.9 29 0
|
||||
9000 9 29 0
|
||||
9100 9.1 29 0
|
||||
9200 9.2 30 0
|
||||
9300 9.3 30 0
|
||||
9400 9.4 30 0
|
||||
9500 9.5 30 0
|
||||
9600 9.6 31 0
|
||||
9700 9.7 31 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 32 0
|
||||
10000 10 32 0
|
||||
Loop time of 80.9456 on 1 procs for 10000 steps with 900 atoms
|
||||
|
||||
Performance: 10673829.855 ns/day, 0.000 hours/ns, 123.540 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 80.306 | 80.306 | 80.306 | 0.0 | 99.21
|
||||
Neigh | 0.017418 | 0.017418 | 0.017418 | 0.0 | 0.02
|
||||
Comm | 0.16939 | 0.16939 | 0.16939 | 0.0 | 0.21
|
||||
Output | 0.070281 | 0.070281 | 0.070281 | 0.0 | 0.09
|
||||
Modify | 0.3154 | 0.3154 | 0.3154 | 0.0 | 0.39
|
||||
Other | | 0.067 | | | 0.08
|
||||
|
||||
Nlocal: 900 ave 900 max 900 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 762 ave 762 max 762 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 40697 ave 40697 max 40697 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 40697
|
||||
Ave neighs/atom = 45.2189
|
||||
Neighbor list builds = 32
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:20
|
||||
@ -1,226 +0,0 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable L equal $R*3
|
||||
variable L equal 0.5*3
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -$L $L -$L $L 0 $a units box
|
||||
region box block -1.5 $L -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 0.1 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-1.5 -1.5 0) to (1.5 1.5 0.1)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 900 atoms
|
||||
Time spent = 0.0010246 secs
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
81 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
819 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
900 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 12 12 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, 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) = 6.087 | 6.087 | 6.087 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 5 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 6 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 7 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 8 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 9 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 10 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 11 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 13 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 16 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 18 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 19 0
|
||||
5700 5.7 19 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 20 0
|
||||
6000 6 20 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 21 0
|
||||
6300 6.3 21 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 22 0
|
||||
6600 6.6 22 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 23 0
|
||||
6900 6.9 23 0
|
||||
7000 7 23 0
|
||||
7100 7.1 24 0
|
||||
7200 7.2 24 0
|
||||
7300 7.3 24 0
|
||||
7400 7.4 25 0
|
||||
7500 7.5 25 0
|
||||
7600 7.6 25 0
|
||||
7700 7.7 26 0
|
||||
7800 7.8 26 0
|
||||
7900 7.9 26 0
|
||||
8000 8 27 0
|
||||
8100 8.1 27 0
|
||||
8200 8.2 27 0
|
||||
8300 8.3 28 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 28 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 29 0
|
||||
8800 8.8 29 0
|
||||
8900 8.9 29 0
|
||||
9000 9 30 0
|
||||
9100 9.1 30 0
|
||||
9200 9.2 31 0
|
||||
9300 9.3 31 0
|
||||
9400 9.4 31 0
|
||||
9500 9.5 31 0
|
||||
9600 9.6 32 0
|
||||
9700 9.7 32 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 33 0
|
||||
10000 10 33 0
|
||||
Loop time of 69.01 on 4 procs for 10000 steps with 900 atoms
|
||||
|
||||
Performance: 12519931.275 ns/day, 0.000 hours/ns, 144.907 timesteps/s
|
||||
48.7% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 56.528 | 57.936 | 58.729 | 11.0 | 83.95
|
||||
Neigh | 0.013157 | 0.013382 | 0.013551 | 0.1 | 0.02
|
||||
Comm | 8.9594 | 9.7555 | 11.113 | 26.7 | 14.14
|
||||
Output | 0.14644 | 0.15009 | 0.15809 | 1.2 | 0.22
|
||||
Modify | 0.72913 | 0.91574 | 1.0524 | 12.4 | 1.33
|
||||
Other | | 0.2389 | | | 0.35
|
||||
|
||||
Nlocal: 225 ave 229 max 223 min
|
||||
Histogram: 1 2 0 0 0 0 0 0 0 1
|
||||
Nghost: 442 ave 444 max 439 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||
Neighs: 10188.8 ave 10437 max 9932 min
|
||||
Histogram: 1 0 0 1 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 40755
|
||||
Ave neighs/atom = 45.2833
|
||||
Neighbor list builds = 33
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:09
|
||||
@ -0,0 +1,230 @@
|
||||
LAMMPS (28 Mar 2023 - Development)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style sph
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable L equal $R*3
|
||||
variable L equal 0.5*3
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -$L $L -$L $L 0 $a units box
|
||||
region box block -1.5 $L -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 0.1 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-1.5 -1.5 0) to (1.5 1.5 0.1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 900 atoms
|
||||
using lattice units in orthogonal box = (-1.5 -1.5 0) to (1.5 1.5 0.1)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
Setting atom values ...
|
||||
81 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
819 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all sph/rho ${rho_0}
|
||||
set group all sph/rho 1
|
||||
Setting atom values ...
|
||||
900 settings made for sph/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid sph
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
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 = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 12 12 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, 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) = 6.512 | 6.512 | 6.512 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 6 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 7 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 10 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 11 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 12 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 13 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 14 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 17 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 18 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 19 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 19 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 20 0
|
||||
6300 6.3 20 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 21 0
|
||||
6600 6.6 21 0
|
||||
6700 6.7 21 0
|
||||
6800 6.8 22 0
|
||||
6900 6.9 22 0
|
||||
7000 7 22 0
|
||||
7100 7.1 23 0
|
||||
7200 7.2 23 0
|
||||
7300 7.3 23 0
|
||||
7400 7.4 24 0
|
||||
7500 7.5 24 0
|
||||
7600 7.6 24 0
|
||||
7700 7.7 25 0
|
||||
7800 7.8 25 0
|
||||
7900 7.9 26 0
|
||||
8000 8 26 0
|
||||
8100 8.1 26 0
|
||||
8200 8.2 26 0
|
||||
8300 8.3 27 0
|
||||
8400 8.4 27 0
|
||||
8500 8.5 27 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 28 0
|
||||
8800 8.8 28 0
|
||||
8900 8.9 29 0
|
||||
9000 9 29 0
|
||||
9100 9.1 29 0
|
||||
9200 9.2 30 0
|
||||
9300 9.3 30 0
|
||||
9400 9.4 30 0
|
||||
9500 9.5 30 0
|
||||
9600 9.6 31 0
|
||||
9700 9.7 31 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 32 0
|
||||
10000 10 32 0
|
||||
Loop time of 78.0094 on 1 procs for 10000 steps with 900 atoms
|
||||
|
||||
Performance: 11075589.479 ns/day, 0.000 hours/ns, 128.190 timesteps/s, 115.371 katom-step/s
|
||||
99.5% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 77.441 | 77.441 | 77.441 | 0.0 | 99.27
|
||||
Neigh | 0.016471 | 0.016471 | 0.016471 | 0.0 | 0.02
|
||||
Comm | 0.14821 | 0.14821 | 0.14821 | 0.0 | 0.19
|
||||
Output | 0.062415 | 0.062415 | 0.062415 | 0.0 | 0.08
|
||||
Modify | 0.25323 | 0.25323 | 0.25323 | 0.0 | 0.32
|
||||
Other | | 0.0877 | | | 0.11
|
||||
|
||||
Nlocal: 900 ave 900 max 900 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 762 ave 762 max 762 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 40697 ave 40697 max 40697 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 40697
|
||||
Ave neighs/atom = 45.218889
|
||||
Neighbor list builds = 32
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:18
|
||||
@ -0,0 +1,230 @@
|
||||
LAMMPS (28 Mar 2023 - Development)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style sph
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable L equal $R*3
|
||||
variable L equal 0.5*3
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -$L $L -$L $L 0 $a units box
|
||||
region box block -1.5 $L -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 0.1 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-1.5 -1.5 0) to (1.5 1.5 0.1)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 900 atoms
|
||||
using lattice units in orthogonal box = (-1.5 -1.5 0) to (1.5 1.5 0.1)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
Setting atom values ...
|
||||
81 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
819 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all sph/rho ${rho_0}
|
||||
set group all sph/rho 1
|
||||
Setting atom values ...
|
||||
900 settings made for sph/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid sph
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
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 = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 12 12 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, 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) = 6.463 | 6.463 | 6.463 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 5 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 6 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 11 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 12 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 14 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 17 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 18 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 19 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 20 0
|
||||
6300 6.3 20 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 21 0
|
||||
6600 6.6 21 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 22 0
|
||||
6900 6.9 22 0
|
||||
7000 7 23 0
|
||||
7100 7.1 23 0
|
||||
7200 7.2 23 0
|
||||
7300 7.3 24 0
|
||||
7400 7.4 24 0
|
||||
7500 7.5 24 0
|
||||
7600 7.6 25 0
|
||||
7700 7.7 25 0
|
||||
7800 7.8 26 0
|
||||
7900 7.9 26 0
|
||||
8000 8 26 0
|
||||
8100 8.1 26 0
|
||||
8200 8.2 27 0
|
||||
8300 8.3 27 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 28 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 29 0
|
||||
8800 8.8 29 0
|
||||
8900 8.9 29 0
|
||||
9000 9 30 0
|
||||
9100 9.1 30 0
|
||||
9200 9.2 30 0
|
||||
9300 9.3 30 0
|
||||
9400 9.4 31 0
|
||||
9500 9.5 31 0
|
||||
9600 9.6 31 0
|
||||
9700 9.7 32 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 32 0
|
||||
10000 10 33 0
|
||||
Loop time of 13.5306 on 4 procs for 10000 steps with 900 atoms
|
||||
|
||||
Performance: 63855371.888 ns/day, 0.000 hours/ns, 739.067 timesteps/s, 665.160 katom-step/s
|
||||
98.8% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 12.327 | 12.56 | 12.738 | 4.3 | 92.83
|
||||
Neigh | 0.0043391 | 0.0044297 | 0.0045381 | 0.1 | 0.03
|
||||
Comm | 0.53746 | 0.71463 | 0.94685 | 18.1 | 5.28
|
||||
Output | 0.021884 | 0.02228 | 0.023428 | 0.4 | 0.16
|
||||
Modify | 0.14457 | 0.14548 | 0.14643 | 0.2 | 1.08
|
||||
Other | | 0.08351 | | | 0.62
|
||||
|
||||
Nlocal: 225 ave 228 max 222 min
|
||||
Histogram: 1 0 0 1 0 0 1 0 0 1
|
||||
Nghost: 438.25 ave 442 max 434 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
Neighs: 10152.2 ave 10328 max 9853 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 1 1
|
||||
|
||||
Total # of neighbors = 40609
|
||||
Ave neighs/atom = 45.121111
|
||||
Neighbor list builds = 33
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:13
|
||||
@ -1,6 +1,6 @@
|
||||
dimension 3
|
||||
units micro
|
||||
atom_style meso
|
||||
atom_style sph
|
||||
|
||||
variable a equal 0.1 # lattice spacing micrometers
|
||||
variable L equal $a*10
|
||||
@ -21,7 +21,7 @@ lattice sc $a
|
||||
create_atoms 1 box
|
||||
|
||||
mass * ${mass}
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all sph/rho ${rho_0}
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
@ -34,7 +34,7 @@ variable vx_sq_check equal c_v_sq[1]*${mass}/${kB}/$T
|
||||
variable vy_sq_check equal c_v_sq[2]*${mass}/${kB}/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*${mass}/${kB}/$T
|
||||
|
||||
fix 1 all meso
|
||||
fix 1 all sph
|
||||
|
||||
neighbor ${skin} bin
|
||||
timestep ${dt}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
LAMMPS (28 Mar 2023 - Development)
|
||||
dimension 3
|
||||
units micro
|
||||
atom_style meso
|
||||
atom_style sph
|
||||
|
||||
variable a equal 0.1 # lattice spacing micrometers
|
||||
variable L equal $a*10
|
||||
@ -38,13 +38,15 @@ Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 8000 atoms
|
||||
Time spent = 0.00285411 secs
|
||||
using lattice units in orthogonal box = (-1 -1 -1) to (1 1 1)
|
||||
create_atoms CPU = 0.002 seconds
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
8000 settings made for meso/rho
|
||||
set group all sph/rho ${rho_0}
|
||||
set group all sph/rho 1
|
||||
Setting atom values ...
|
||||
8000 settings made for sph/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
@ -71,7 +73,7 @@ variable vz_sq_check equal c_v_sq[3]*0.001/${kB}/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/1.3806504e-08/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/1.3806504e-08/300
|
||||
|
||||
fix 1 all meso
|
||||
fix 1 all sph
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.04 bin
|
||||
@ -82,8 +84,9 @@ thermo 10
|
||||
thermo_style custom step time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
|
||||
run 200
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
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
|
||||
master list distance cutoff = 0.44
|
||||
ghost atom cutoff = 0.44
|
||||
@ -92,55 +95,55 @@ Neighbor list info ...
|
||||
(1) pair sdpd/taitwater/isothermal, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 13.54 | 13.54 | 13.54 Mbytes
|
||||
Step Time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
0 0 0 0 0
|
||||
10 0.005 0.70973271 0.71495693 0.71910087
|
||||
20 0.01 0.90418096 0.88845437 0.89659567
|
||||
30 0.015 0.9590736 0.97880338 0.9619016
|
||||
40 0.02 0.98533774 0.96057682 0.95600448
|
||||
50 0.025 0.96433662 0.96650071 0.95509683
|
||||
60 0.03 0.96598029 0.96373656 0.96734888
|
||||
70 0.035 0.95433045 0.98004764 0.96255924
|
||||
80 0.04 0.97872906 0.95987289 0.96623598
|
||||
90 0.045 0.99913888 0.99255731 0.95616142
|
||||
100 0.05 0.98872675 0.97141018 0.95338841
|
||||
110 0.055 0.97794592 0.97389258 0.98473719
|
||||
120 0.06 0.98389266 0.96716284 0.95504862
|
||||
130 0.065 0.98572886 0.96680923 0.95599065
|
||||
140 0.07 0.97602684 0.97580081 0.9886878
|
||||
150 0.075 0.99172003 0.95027467 0.96028033
|
||||
160 0.08 0.96793247 0.94590928 0.95644301
|
||||
170 0.085 0.94167619 0.98048861 0.93439426
|
||||
180 0.09 0.97277934 0.97383622 0.96900866
|
||||
190 0.095 0.96647288 1.0027643 0.96230782
|
||||
200 0.1 0.94864291 0.95902585 0.96398175
|
||||
Loop time of 60.1095 on 1 procs for 200 steps with 8000 atoms
|
||||
Per MPI rank memory allocation (min/avg/max) = 14.29 | 14.29 | 14.29 Mbytes
|
||||
Step Time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
0 0 0 0 0
|
||||
10 0.005 0.70973271 0.71495693 0.71910087
|
||||
20 0.01 0.90418096 0.88845437 0.89659567
|
||||
30 0.015 0.9590736 0.97880338 0.9619016
|
||||
40 0.02 0.98533774 0.96057682 0.95600448
|
||||
50 0.025 0.96433662 0.96650071 0.95509683
|
||||
60 0.03 0.96598029 0.96373656 0.96734888
|
||||
70 0.035 0.95433045 0.98004764 0.96255924
|
||||
80 0.04 0.97872906 0.95987289 0.96623598
|
||||
90 0.045 0.99913888 0.99255731 0.95616142
|
||||
100 0.05 0.98872675 0.97141018 0.95338841
|
||||
110 0.055 0.97794592 0.97389258 0.98473719
|
||||
120 0.06 0.98389266 0.96716284 0.95504862
|
||||
130 0.065 0.98572886 0.96680923 0.95599065
|
||||
140 0.07 0.97602684 0.97580081 0.9886878
|
||||
150 0.075 0.99172003 0.95027467 0.96028033
|
||||
160 0.08 0.96793247 0.94590928 0.95644301
|
||||
170 0.085 0.94167619 0.98048861 0.93439426
|
||||
180 0.09 0.97277934 0.97383622 0.96900866
|
||||
190 0.095 0.96647288 1.0027643 0.96230782
|
||||
200 0.1 0.94864291 0.95902585 0.96398175
|
||||
Loop time of 55.7542 on 1 procs for 200 steps with 8000 atoms
|
||||
|
||||
Performance: 143737.595 ns/day, 0.000 hours/ns, 3.327 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 154965.922 ns/day, 0.000 hours/ns, 3.587 timesteps/s, 28.697 katom-step/s
|
||||
99.6% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 59.92 | 59.92 | 59.92 | 0.0 | 99.68
|
||||
Pair | 55.642 | 55.642 | 55.642 | 0.0 | 99.80
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.11154 | 0.11154 | 0.11154 | 0.0 | 0.19
|
||||
Output | 0.0063498 | 0.0063498 | 0.0063498 | 0.0 | 0.01
|
||||
Modify | 0.043546 | 0.043546 | 0.043546 | 0.0 | 0.07
|
||||
Other | | 0.02811 | | | 0.05
|
||||
Comm | 0.060977 | 0.060977 | 0.060977 | 0.0 | 0.11
|
||||
Output | 0.0066393 | 0.0066393 | 0.0066393 | 0.0 | 0.01
|
||||
Modify | 0.028354 | 0.028354 | 0.028354 | 0.0 | 0.05
|
||||
Other | | 0.01623 | | | 0.03
|
||||
|
||||
Nlocal: 8000 ave 8000 max 8000 min
|
||||
Nlocal: 8000 ave 8000 max 8000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 16389 ave 16389 max 16389 min
|
||||
Nghost: 16389 ave 16389 max 16389 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 1.456e+06 ave 1.456e+06 max 1.456e+06 min
|
||||
Neighs: 1.456e+06 ave 1.456e+06 max 1.456e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1456000
|
||||
Ave neighs/atom = 182
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:00
|
||||
Total wall time: 0:00:56
|
||||
@ -1,7 +1,7 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
LAMMPS (28 Mar 2023 - Development)
|
||||
dimension 3
|
||||
units micro
|
||||
atom_style meso
|
||||
atom_style sph
|
||||
|
||||
variable a equal 0.1 # lattice spacing micrometers
|
||||
variable L equal $a*10
|
||||
@ -38,13 +38,15 @@ Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 8000 atoms
|
||||
Time spent = 0.00252754 secs
|
||||
using lattice units in orthogonal box = (-1 -1 -1) to (1 1 1)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
8000 settings made for meso/rho
|
||||
set group all sph/rho ${rho_0}
|
||||
set group all sph/rho 1
|
||||
Setting atom values ...
|
||||
8000 settings made for sph/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
@ -71,7 +73,7 @@ variable vz_sq_check equal c_v_sq[3]*0.001/${kB}/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/1.3806504e-08/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/1.3806504e-08/300
|
||||
|
||||
fix 1 all meso
|
||||
fix 1 all sph
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.04 bin
|
||||
@ -82,8 +84,9 @@ thermo 10
|
||||
thermo_style custom step time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
|
||||
run 200
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
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
|
||||
master list distance cutoff = 0.44
|
||||
ghost atom cutoff = 0.44
|
||||
@ -92,55 +95,55 @@ Neighbor list info ...
|
||||
(1) pair sdpd/taitwater/isothermal, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.795 | 5.795 | 5.795 Mbytes
|
||||
Step Time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
0 0 0 0 0
|
||||
10 0.005 0.71224819 0.71470372 0.7008956
|
||||
20 0.01 0.90627589 0.90683966 0.90116506
|
||||
30 0.015 0.938505 0.95884272 0.93337542
|
||||
40 0.02 0.94394649 0.93668038 0.96468004
|
||||
50 0.025 0.97152309 0.97546161 0.95107762
|
||||
60 0.03 0.94710871 0.95678322 0.97285504
|
||||
70 0.035 0.96253148 0.95838642 0.95450883
|
||||
80 0.04 0.97581495 0.95278681 0.95099478
|
||||
90 0.045 0.96251614 0.9740684 0.96081505
|
||||
100 0.05 0.94191275 0.97137523 0.94084858
|
||||
110 0.055 0.953406 0.95739684 0.98574522
|
||||
120 0.06 0.99001614 0.99608287 0.9839996
|
||||
130 0.065 0.96575225 0.94309655 0.92847798
|
||||
140 0.07 0.97642687 0.97458638 0.94696406
|
||||
150 0.075 0.99316381 0.96876814 0.95440106
|
||||
160 0.08 0.94589744 0.95264791 0.95495169
|
||||
170 0.085 0.97599092 0.95336014 0.97687718
|
||||
180 0.09 0.97214242 0.9726305 0.9726035
|
||||
190 0.095 0.97577583 0.96523645 0.9756968
|
||||
200 0.1 0.96386053 0.97268854 0.94582436
|
||||
Loop time of 32.5247 on 4 procs for 200 steps with 8000 atoms
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.172 | 6.172 | 6.172 Mbytes
|
||||
Step Time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
0 0 0 0 0
|
||||
10 0.005 0.71224819 0.71470372 0.7008956
|
||||
20 0.01 0.90627589 0.90683966 0.90116506
|
||||
30 0.015 0.938505 0.95884272 0.93337542
|
||||
40 0.02 0.94394649 0.93668038 0.96468004
|
||||
50 0.025 0.97152309 0.97546161 0.95107762
|
||||
60 0.03 0.94710871 0.95678322 0.97285504
|
||||
70 0.035 0.96253148 0.95838642 0.95450883
|
||||
80 0.04 0.97581495 0.95278681 0.95099478
|
||||
90 0.045 0.96251614 0.9740684 0.96081505
|
||||
100 0.05 0.94191275 0.97137523 0.94084858
|
||||
110 0.055 0.953406 0.95739684 0.98574522
|
||||
120 0.06 0.99001614 0.99608287 0.9839996
|
||||
130 0.065 0.96575225 0.94309655 0.92847798
|
||||
140 0.07 0.97642687 0.97458638 0.94696406
|
||||
150 0.075 0.99316381 0.96876814 0.95440106
|
||||
160 0.08 0.94589744 0.95264791 0.95495169
|
||||
170 0.085 0.97599092 0.95336014 0.97687718
|
||||
180 0.09 0.97214242 0.9726305 0.9726035
|
||||
190 0.095 0.97577583 0.96523645 0.9756968
|
||||
200 0.1 0.96386053 0.97268854 0.94582436
|
||||
Loop time of 9.59181 on 4 procs for 200 steps with 8000 atoms
|
||||
|
||||
Performance: 265644.515 ns/day, 0.000 hours/ns, 6.149 timesteps/s
|
||||
73.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 900768.333 ns/day, 0.000 hours/ns, 20.851 timesteps/s, 166.809 katom-step/s
|
||||
98.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 27.385 | 28.409 | 28.761 | 11.1 | 87.34
|
||||
Pair | 8.9729 | 9.2147 | 9.4383 | 5.5 | 96.07
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 3.582 | 3.9343 | 4.9531 | 29.7 | 12.10
|
||||
Output | 0.022267 | 0.026073 | 0.033141 | 2.7 | 0.08
|
||||
Modify | 0.031714 | 0.033134 | 0.034367 | 0.6 | 0.10
|
||||
Other | | 0.1226 | | | 0.38
|
||||
Comm | 0.13739 | 0.36068 | 0.60216 | 27.6 | 3.76
|
||||
Output | 0.0022724 | 0.002394 | 0.0026506 | 0.3 | 0.02
|
||||
Modify | 0.0068559 | 0.0069926 | 0.0070974 | 0.1 | 0.07
|
||||
Other | | 0.007004 | | | 0.07
|
||||
|
||||
Nlocal: 2000 ave 2000 max 2000 min
|
||||
Nlocal: 2000 ave 2000 max 2000 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 8469 ave 8469 max 8469 min
|
||||
Nghost: 8469 ave 8469 max 8469 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 364000 ave 376628 max 351184 min
|
||||
Neighs: 364000 ave 376628 max 351184 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 1456000
|
||||
Ave neighs/atom = 182
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:32
|
||||
Total wall time: 0:00:09
|
||||
1
examples/PACKAGES/interlayer/aip_water_2dm/COH.aip.water.2dm
Symbolic link
1
examples/PACKAGES/interlayer/aip_water_2dm/COH.aip.water.2dm
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../potentials/COH.aip.water.2dm
|
||||
2040
examples/PACKAGES/interlayer/aip_water_2dm/gra_water.data
Normal file
2040
examples/PACKAGES/interlayer/aip_water_2dm/gra_water.data
Normal file
File diff suppressed because it is too large
Load Diff
51
examples/PACKAGES/interlayer/aip_water_2dm/in.gr_water
Normal file
51
examples/PACKAGES/interlayer/aip_water_2dm/in.gr_water
Normal file
@ -0,0 +1,51 @@
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
read_data ./gra_water.data
|
||||
mass 1 12.0107 # carbon mass (g/mole)
|
||||
mass 2 15.9994 # oxygen mass (g/mole)
|
||||
mass 3 1.008 # hydrogen mass (g/mole)
|
||||
# Separate atom groups
|
||||
group gr molecule 1
|
||||
group water molecule 2
|
||||
######################## Potential defition ##############################
|
||||
# Interlayer potential
|
||||
pair_style hybrid/overlay aip/water/2dm 16.0 lj/cut/tip4p/long 2 3 1 1 0.1546 10 8.5
|
||||
####################################################################
|
||||
pair_coeff 1 1 none
|
||||
pair_coeff 2 2 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 2 3 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm COH.aip.water.2dm C Ow Hw # C-H2O
|
||||
# bond and angle
|
||||
bond_style harmonic
|
||||
bond_coeff 1 0.0 0.9572
|
||||
angle_style harmonic
|
||||
angle_coeff 1 0.0 104.52
|
||||
# define kspace calculation
|
||||
kspace_style pppm/tip4p 1E-5
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 5 check yes page 1000000 one 100000
|
||||
####################################################################
|
||||
# Calculate pair energy
|
||||
compute 1 all pair lj/cut/tip4p/long
|
||||
compute 2 all pair aip/water/2dm
|
||||
compute wt water temp
|
||||
variable TIP4P equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable temp_wt equal c_wt
|
||||
############# Output ##############
|
||||
thermo_style custom step etotal pe ke v_TIP4P v_EILP v_temp_wt
|
||||
thermo 100
|
||||
thermo_modify lost error
|
||||
|
||||
fix subf gr setforce 0.0 0.0 0.0
|
||||
fix 1 water shake 0.0001 20 100 b 1 a 1
|
||||
|
||||
timestep 1e-3
|
||||
velocity water create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix 2 water nve
|
||||
run 1000
|
||||
51
examples/PACKAGES/interlayer/aip_water_2dm/in.gr_water.opt
Normal file
51
examples/PACKAGES/interlayer/aip_water_2dm/in.gr_water.opt
Normal file
@ -0,0 +1,51 @@
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
read_data ./gra_water.data
|
||||
mass 1 12.0107 # carbon mass (g/mole)
|
||||
mass 2 15.9994 # oxygen mass (g/mole)
|
||||
mass 3 1.008 # hydrogen mass (g/mole)
|
||||
# Separate atom groups
|
||||
group gr molecule 1
|
||||
group water molecule 2
|
||||
######################## Potential defition ##############################
|
||||
# Interlayer potential
|
||||
pair_style hybrid/overlay aip/water/2dm/opt 16.0 lj/cut/tip4p/long 2 3 1 1 0.1546 10 8.5
|
||||
####################################################################
|
||||
pair_coeff 1 1 none
|
||||
pair_coeff 2 2 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 2 3 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm/opt COH.aip.water.2dm C Ow Hw # C-H2O
|
||||
# bond and angle
|
||||
bond_style harmonic
|
||||
bond_coeff 1 0.0 0.9572
|
||||
angle_style harmonic
|
||||
angle_coeff 1 0.0 104.52
|
||||
# define kspace calculation
|
||||
kspace_style pppm/tip4p 1E-5
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 5 check yes page 1000000 one 100000
|
||||
####################################################################
|
||||
# Calculate pair energy
|
||||
compute 1 all pair lj/cut/tip4p/long
|
||||
compute 2 all pair aip/water/2dm/opt
|
||||
compute wt water temp
|
||||
variable TIP4P equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable temp_wt equal c_wt
|
||||
############# Output ##############
|
||||
thermo_style custom step etotal pe ke v_TIP4P v_EILP v_temp_wt
|
||||
thermo 100
|
||||
thermo_modify lost error
|
||||
|
||||
fix subf gr setforce 0.0 0.0 0.0
|
||||
fix 1 water shake 0.0001 20 100 b 1 a 1
|
||||
|
||||
timestep 1e-3
|
||||
velocity water create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix 2 water nve
|
||||
run 1000
|
||||
@ -0,0 +1,239 @@
|
||||
LAMMPS (23 Jun 2022 - Update 4)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
read_data ./gra_water.data
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (46.92336 44.331078 200)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
936 atoms
|
||||
reading velocities ...
|
||||
936 velocities
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
96 bonds
|
||||
reading angles ...
|
||||
48 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.012 seconds
|
||||
mass 1 12.0107 # carbon mass (g/mole)
|
||||
mass 2 15.9994 # oxygen mass (g/mole)
|
||||
mass 3 1.008 # hydrogen mass (g/mole)
|
||||
# Separate atom groups
|
||||
group gr molecule 1
|
||||
792 atoms in group gr
|
||||
group water molecule 2
|
||||
144 atoms in group water
|
||||
######################## Potential defition ##############################
|
||||
# Interlayer potential
|
||||
pair_style hybrid/overlay aip/water/2dm 16.0 lj/cut/tip4p/long 2 3 1 1 0.1546 10 8.5
|
||||
####################################################################
|
||||
pair_coeff 1 1 none
|
||||
pair_coeff 2 2 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 2 3 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm COH.aip.water.2dm C Ow Hw # C-H2O
|
||||
Reading aip/water/2dm potential file COH.aip.water.2dm with DATE: 2022-12-02
|
||||
# bond and angle
|
||||
bond_style harmonic
|
||||
bond_coeff 1 0.0 0.9572
|
||||
angle_style harmonic
|
||||
angle_coeff 1 0.0 104.52
|
||||
# define kspace calculation
|
||||
kspace_style pppm/tip4p 1E-5
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 5 check yes page 1000000 one 100000
|
||||
####################################################################
|
||||
# Calculate pair energy
|
||||
compute 1 all pair lj/cut/tip4p/long
|
||||
compute 2 all pair aip/water/2dm
|
||||
compute wt water temp
|
||||
variable TIP4P equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable temp_wt equal c_wt
|
||||
############# Output ##############
|
||||
thermo_style custom step etotal pe ke v_TIP4P v_EILP v_temp_wt
|
||||
thermo 100
|
||||
thermo_modify lost error
|
||||
|
||||
fix subf gr setforce 0.0 0.0 0.0
|
||||
fix 1 water shake 0.0001 20 100 b 1 a 1
|
||||
0 = # of size 2 clusters
|
||||
0 = # of size 3 clusters
|
||||
0 = # of size 4 clusters
|
||||
48 = # of frozen angles
|
||||
find clusters CPU = 0.000 seconds
|
||||
|
||||
timestep 1e-3
|
||||
velocity water create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix 2 water nve
|
||||
run 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- ilp/graphene/hbn potential doi:10.1021/acs.nanolett.8b02848
|
||||
@Article{Ouyang2018
|
||||
author = {W. Ouyang and D. Mandelli and M. Urbakh and O. Hod},
|
||||
title = {Nanoserpents: Graphene Nanoribbon Motion on Two-Dimensional Hexagonal Materials},
|
||||
journal = {Nano Letters},
|
||||
volume = 18,
|
||||
pages = 6009,
|
||||
year = 2018,
|
||||
}
|
||||
|
||||
- ilp/tmd potential doi:10.1021/acs.jctc.1c00782
|
||||
@Article{Ouyang2021
|
||||
author = {W. Ouyang and R. Sofer and X. Gao and J. Hermann and
|
||||
A. Tkatchenko and L. Kronik and M. Urbakh and O. Hod},
|
||||
title = {Anisotropic Interlayer Force Field for Transition
|
||||
Metal Dichalcogenides: The Case of Molybdenum Disulfide},
|
||||
journal = {J.~Chem.\ Theory Comput.},
|
||||
volume = 17,
|
||||
pages = {7237--7245}
|
||||
year = 2021,
|
||||
}
|
||||
|
||||
- ilp/water/2dm potential doi/10.1021/acs.jpcc.2c08464
|
||||
@Article{Feng2023
|
||||
author = {Z. Feng, Y. Yao, J. Liu, B. Wu, Z. Liu, and W. Ouyang},
|
||||
title = {Registry-Dependent Potential for Interfaces of Water with Graphene},
|
||||
journal = {J. Phys. Chem. C},
|
||||
volume = 127,
|
||||
pages = {8704-8713}
|
||||
year = 2023,
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.28684806
|
||||
grid = 25 24 80
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0001640931
|
||||
estimated relative force accuracy = 1.1395635e-05
|
||||
using single precision MKL FFT
|
||||
3d grid and FFT values/proc = 84320 48000
|
||||
WARNING: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions (../pair.cpp:239)
|
||||
WARNING: Communication cutoff 0 is shorter than a bond length based estimate of 3.4358. This may lead to errors. (../comm.cpp:727)
|
||||
WARNING: Increasing communication cutoff to 11.6118 for TIP4P pair style (../pair_lj_cut_tip4p_long.cpp:484)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 5 steps, check yes
|
||||
max neighbors/atom: 100000, page size: 1000000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 6 5 23
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair aip/water/2dm, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(2) pair lj/cut/tip4p/long, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
WARNING: Communication cutoff adjusted to 18 (../comm.cpp:736)
|
||||
SHAKE stats (type/ave/delta/count) on step 0
|
||||
Bond: 1 0.957201 2.19705e-06 96
|
||||
Angle: 1 104.52 0.000203056 48
|
||||
Per MPI rank memory allocation (min/avg/max) = 32.9 | 32.9 | 32.9 Mbytes
|
||||
Step TotEng PotEng KinEng v_TIP4P v_EILP v_temp_wt
|
||||
0 -16.131263 -19.815178 3.6839141 189.37246 -1.903543 300
|
||||
SHAKE stats (type/ave/delta/count) on step 100
|
||||
Bond: 1 0.9572 9.54949e-07 96
|
||||
Angle: 1 104.52 6.01522e-05 48
|
||||
100 -17.494868 -20.796993 3.3021253 188.4955 -1.8981262 268.90898
|
||||
SHAKE stats (type/ave/delta/count) on step 200
|
||||
Bond: 1 0.9572 9.63922e-07 96
|
||||
Angle: 1 104.52 7.7021e-05 48
|
||||
200 -17.486271 -21.194892 3.7086213 188.14561 -1.9871708 302.01203
|
||||
SHAKE stats (type/ave/delta/count) on step 300
|
||||
Bond: 1 0.9572 1.4264e-06 96
|
||||
Angle: 1 104.52 6.48393e-05 48
|
||||
300 -17.502844 -20.993704 3.49086 188.23268 -1.8457229 284.27861
|
||||
SHAKE stats (type/ave/delta/count) on step 400
|
||||
Bond: 1 0.9572 1.33728e-06 96
|
||||
Angle: 1 104.52 7.6239e-05 48
|
||||
400 -17.495287 -20.828353 3.3330658 188.48002 -1.8429075 271.42862
|
||||
SHAKE stats (type/ave/delta/count) on step 500
|
||||
Bond: 1 0.9572 1.14685e-06 96
|
||||
Angle: 1 104.52 8.58621e-05 48
|
||||
500 -17.491435 -20.443044 2.9516084 188.7589 -1.8566335 240.36459
|
||||
SHAKE stats (type/ave/delta/count) on step 600
|
||||
Bond: 1 0.9572 9.17601e-07 96
|
||||
Angle: 1 104.52 8.24516e-05 48
|
||||
600 -17.505684 -20.608457 3.1027731 188.72078 -1.9560796 252.67471
|
||||
SHAKE stats (type/ave/delta/count) on step 700
|
||||
Bond: 1 0.9572 9.50422e-07 96
|
||||
Angle: 1 104.52 5.62423e-05 48
|
||||
700 -17.496703 -21.072663 3.5759596 188.2777 -1.9833956 291.20871
|
||||
SHAKE stats (type/ave/delta/count) on step 800
|
||||
Bond: 1 0.9572 1.15262e-06 96
|
||||
Angle: 1 104.52 7.02157e-05 48
|
||||
800 -17.478623 -20.819504 3.3408809 188.37868 -1.9112996 272.06505
|
||||
SHAKE stats (type/ave/delta/count) on step 900
|
||||
Bond: 1 0.9572 9.14138e-07 96
|
||||
Angle: 1 104.52 6.98742e-05 48
|
||||
900 -17.48086 -20.728495 3.2476349 188.59022 -1.8922102 264.47155
|
||||
SHAKE stats (type/ave/delta/count) on step 1000
|
||||
Bond: 1 0.9572 1.00586e-06 96
|
||||
Angle: 1 104.52 0.000111712 48
|
||||
1000 -17.498465 -20.331545 2.8330804 188.87473 -1.812177 230.71225
|
||||
Loop time of 20.3334 on 1 procs for 1000 steps with 936 atoms
|
||||
|
||||
Performance: 4.249 ns/day, 5.648 hours/ns, 49.180 timesteps/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 | 16.179 | 16.179 | 16.179 | 0.0 | 79.57
|
||||
Bond | 0.00021103 | 0.00021103 | 0.00021103 | 0.0 | 0.00
|
||||
Kspace | 3.3118 | 3.3118 | 3.3118 | 0.0 | 16.29
|
||||
Neigh | 0.79017 | 0.79017 | 0.79017 | 0.0 | 3.89
|
||||
Comm | 0.026379 | 0.026379 | 0.026379 | 0.0 | 0.13
|
||||
Output | 0.00046496 | 0.00046496 | 0.00046496 | 0.0 | 0.00
|
||||
Modify | 0.017013 | 0.017013 | 0.017013 | 0.0 | 0.08
|
||||
Other | | 0.008835 | | | 0.04
|
||||
|
||||
Nlocal: 936 ave 936 max 936 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5242 ave 5242 max 5242 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 431382 ave 431382 max 431382 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 431382
|
||||
Ave neighs/atom = 460.87821
|
||||
Ave special neighs/atom = 0.30769231
|
||||
Neighbor list builds = 28
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:20
|
||||
@ -0,0 +1,239 @@
|
||||
LAMMPS (23 Jun 2022 - Update 4)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
read_data ./gra_water.data
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (46.92336 44.331078 200)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
936 atoms
|
||||
reading velocities ...
|
||||
936 velocities
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
96 bonds
|
||||
reading angles ...
|
||||
48 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.017 seconds
|
||||
mass 1 12.0107 # carbon mass (g/mole)
|
||||
mass 2 15.9994 # oxygen mass (g/mole)
|
||||
mass 3 1.008 # hydrogen mass (g/mole)
|
||||
# Separate atom groups
|
||||
group gr molecule 1
|
||||
792 atoms in group gr
|
||||
group water molecule 2
|
||||
144 atoms in group water
|
||||
######################## Potential defition ##############################
|
||||
# Interlayer potential
|
||||
pair_style hybrid/overlay aip/water/2dm 16.0 lj/cut/tip4p/long 2 3 1 1 0.1546 10 8.5
|
||||
####################################################################
|
||||
pair_coeff 1 1 none
|
||||
pair_coeff 2 2 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 2 3 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm COH.aip.water.2dm C Ow Hw # C-H2O
|
||||
Reading aip/water/2dm potential file COH.aip.water.2dm with DATE: 2022-12-02
|
||||
# bond and angle
|
||||
bond_style harmonic
|
||||
bond_coeff 1 0.0 0.9572
|
||||
angle_style harmonic
|
||||
angle_coeff 1 0.0 104.52
|
||||
# define kspace calculation
|
||||
kspace_style pppm/tip4p 1E-5
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 5 check yes page 1000000 one 100000
|
||||
####################################################################
|
||||
# Calculate pair energy
|
||||
compute 1 all pair lj/cut/tip4p/long
|
||||
compute 2 all pair aip/water/2dm
|
||||
compute wt water temp
|
||||
variable TIP4P equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable temp_wt equal c_wt
|
||||
############# Output ##############
|
||||
thermo_style custom step etotal pe ke v_TIP4P v_EILP v_temp_wt
|
||||
thermo 100
|
||||
thermo_modify lost error
|
||||
|
||||
fix subf gr setforce 0.0 0.0 0.0
|
||||
fix 1 water shake 0.0001 20 100 b 1 a 1
|
||||
0 = # of size 2 clusters
|
||||
0 = # of size 3 clusters
|
||||
0 = # of size 4 clusters
|
||||
48 = # of frozen angles
|
||||
find clusters CPU = 0.000 seconds
|
||||
|
||||
timestep 1e-3
|
||||
velocity water create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix 2 water nve
|
||||
run 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- ilp/graphene/hbn potential doi:10.1021/acs.nanolett.8b02848
|
||||
@Article{Ouyang2018
|
||||
author = {W. Ouyang and D. Mandelli and M. Urbakh and O. Hod},
|
||||
title = {Nanoserpents: Graphene Nanoribbon Motion on Two-Dimensional Hexagonal Materials},
|
||||
journal = {Nano Letters},
|
||||
volume = 18,
|
||||
pages = 6009,
|
||||
year = 2018,
|
||||
}
|
||||
|
||||
- ilp/tmd potential doi:10.1021/acs.jctc.1c00782
|
||||
@Article{Ouyang2021
|
||||
author = {W. Ouyang and R. Sofer and X. Gao and J. Hermann and
|
||||
A. Tkatchenko and L. Kronik and M. Urbakh and O. Hod},
|
||||
title = {Anisotropic Interlayer Force Field for Transition
|
||||
Metal Dichalcogenides: The Case of Molybdenum Disulfide},
|
||||
journal = {J.~Chem.\ Theory Comput.},
|
||||
volume = 17,
|
||||
pages = {7237--7245}
|
||||
year = 2021,
|
||||
}
|
||||
|
||||
- ilp/water/2dm potential doi/10.1021/acs.jpcc.2c08464
|
||||
@Article{Feng2023
|
||||
author = {Z. Feng, Y. Yao, J. Liu, B. Wu, Z. Liu, and W. Ouyang},
|
||||
title = {Registry-Dependent Potential for Interfaces of Water with Graphene},
|
||||
journal = {J. Phys. Chem. C},
|
||||
volume = 127,
|
||||
pages = {8704-8713}
|
||||
year = 2023,
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.28684806
|
||||
grid = 25 24 80
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0001640931
|
||||
estimated relative force accuracy = 1.1395635e-05
|
||||
using single precision MKL FFT
|
||||
3d grid and FFT values/proc = 30685 12480
|
||||
WARNING: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions (../pair.cpp:239)
|
||||
WARNING: Communication cutoff 0 is shorter than a bond length based estimate of 3.4358. This may lead to errors. (../comm.cpp:727)
|
||||
WARNING: Increasing communication cutoff to 11.6118 for TIP4P pair style (../pair_lj_cut_tip4p_long.cpp:484)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 5 steps, check yes
|
||||
max neighbors/atom: 100000, page size: 1000000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 6 5 23
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair aip/water/2dm, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(2) pair lj/cut/tip4p/long, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
WARNING: Communication cutoff adjusted to 18 (../comm.cpp:736)
|
||||
SHAKE stats (type/ave/delta/count) on step 0
|
||||
Bond: 1 0.957201 2.19705e-06 96
|
||||
Angle: 1 104.52 0.000203056 48
|
||||
Per MPI rank memory allocation (min/avg/max) = 25.22 | 25.25 | 25.29 Mbytes
|
||||
Step TotEng PotEng KinEng v_TIP4P v_EILP v_temp_wt
|
||||
0 -16.131263 -19.815178 3.6839141 189.37246 -1.903543 300
|
||||
SHAKE stats (type/ave/delta/count) on step 100
|
||||
Bond: 1 0.9572 9.54949e-07 96
|
||||
Angle: 1 104.52 6.01522e-05 48
|
||||
100 -17.494869 -20.796995 3.3021253 188.4955 -1.8981262 268.90898
|
||||
SHAKE stats (type/ave/delta/count) on step 200
|
||||
Bond: 1 0.9572 9.63922e-07 96
|
||||
Angle: 1 104.52 7.7021e-05 48
|
||||
200 -17.48627 -21.194892 3.7086213 188.14561 -1.9871708 302.01203
|
||||
SHAKE stats (type/ave/delta/count) on step 300
|
||||
Bond: 1 0.9572 1.4264e-06 96
|
||||
Angle: 1 104.52 6.48393e-05 48
|
||||
300 -17.502843 -20.993703 3.4908599 188.23268 -1.8457229 284.27861
|
||||
SHAKE stats (type/ave/delta/count) on step 400
|
||||
Bond: 1 0.9572 1.33728e-06 96
|
||||
Angle: 1 104.52 7.6239e-05 48
|
||||
400 -17.495285 -20.82835 3.333065 188.48003 -1.8429074 271.42856
|
||||
SHAKE stats (type/ave/delta/count) on step 500
|
||||
Bond: 1 0.9572 1.14685e-06 96
|
||||
Angle: 1 104.52 8.58621e-05 48
|
||||
500 -17.491436 -20.443043 2.9516075 188.7589 -1.8566335 240.36452
|
||||
SHAKE stats (type/ave/delta/count) on step 600
|
||||
Bond: 1 0.9572 9.17601e-07 96
|
||||
Angle: 1 104.52 8.24517e-05 48
|
||||
600 -17.505683 -20.608456 3.1027734 188.72078 -1.9560795 252.67474
|
||||
SHAKE stats (type/ave/delta/count) on step 700
|
||||
Bond: 1 0.9572 9.50425e-07 96
|
||||
Angle: 1 104.52 5.62422e-05 48
|
||||
700 -17.496706 -21.072664 3.575958 188.2777 -1.9833951 291.20858
|
||||
SHAKE stats (type/ave/delta/count) on step 800
|
||||
Bond: 1 0.9572 1.15256e-06 96
|
||||
Angle: 1 104.52 7.02177e-05 48
|
||||
800 -17.478628 -20.819507 3.340879 188.37868 -1.9113009 272.06489
|
||||
SHAKE stats (type/ave/delta/count) on step 900
|
||||
Bond: 1 0.9572 9.14163e-07 96
|
||||
Angle: 1 104.52 6.98849e-05 48
|
||||
900 -17.480865 -20.728504 3.2476386 188.5902 -1.8922108 264.47185
|
||||
SHAKE stats (type/ave/delta/count) on step 1000
|
||||
Bond: 1 0.9572 1.00568e-06 96
|
||||
Angle: 1 104.52 0.000111707 48
|
||||
1000 -17.498474 -20.331607 2.833133 188.87466 -1.8121689 230.71654
|
||||
Loop time of 9.05361 on 4 procs for 1000 steps with 936 atoms
|
||||
|
||||
Performance: 9.543 ns/day, 2.515 hours/ns, 110.453 timesteps/s
|
||||
99.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.462 | 4.2266 | 7.1075 | 89.3 | 46.68
|
||||
Bond | 0.00018424 | 0.00019878 | 0.00022125 | 0.0 | 0.00
|
||||
Kspace | 1.4698 | 4.338 | 6.1001 | 87.8 | 47.91
|
||||
Neigh | 0.39462 | 0.39489 | 0.39518 | 0.0 | 4.36
|
||||
Comm | 0.043753 | 0.055826 | 0.062746 | 3.1 | 0.62
|
||||
Output | 0.00048755 | 0.00053971 | 0.00062785 | 0.0 | 0.01
|
||||
Modify | 0.027255 | 0.028664 | 0.030278 | 0.7 | 0.32
|
||||
Other | | 0.008904 | | | 0.10
|
||||
|
||||
Nlocal: 234 ave 302 max 198 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
Nghost: 2876.5 ave 3122 max 2632 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 107846 ave 150684 max 82181 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 431382
|
||||
Ave neighs/atom = 460.87821
|
||||
Ave special neighs/atom = 0.30769231
|
||||
Neighbor list builds = 28
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:09
|
||||
@ -0,0 +1,256 @@
|
||||
LAMMPS (23 Jun 2022 - Update 4)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
read_data ./gra_water.data
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (46.92336 44.331078 200)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
936 atoms
|
||||
reading velocities ...
|
||||
936 velocities
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
96 bonds
|
||||
reading angles ...
|
||||
48 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.012 seconds
|
||||
mass 1 12.0107 # carbon mass (g/mole)
|
||||
mass 2 15.9994 # oxygen mass (g/mole)
|
||||
mass 3 1.008 # hydrogen mass (g/mole)
|
||||
# Separate atom groups
|
||||
group gr molecule 1
|
||||
792 atoms in group gr
|
||||
group water molecule 2
|
||||
144 atoms in group water
|
||||
######################## Potential defition ##############################
|
||||
# Interlayer potential
|
||||
pair_style hybrid/overlay aip/water/2dm/opt 16.0 lj/cut/tip4p/long 2 3 1 1 0.1546 10 8.5
|
||||
####################################################################
|
||||
pair_coeff 1 1 none
|
||||
pair_coeff 2 2 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 2 3 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm/opt COH.aip.water.2dm C Ow Hw # C-H2O
|
||||
Reading aip/water/2dm potential file COH.aip.water.2dm with DATE: 2022-12-02
|
||||
# bond and angle
|
||||
bond_style harmonic
|
||||
bond_coeff 1 0.0 0.9572
|
||||
angle_style harmonic
|
||||
angle_coeff 1 0.0 104.52
|
||||
# define kspace calculation
|
||||
kspace_style pppm/tip4p 1E-5
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 5 check yes page 1000000 one 100000
|
||||
####################################################################
|
||||
# Calculate pair energy
|
||||
compute 1 all pair lj/cut/tip4p/long
|
||||
compute 2 all pair aip/water/2dm/opt
|
||||
compute wt water temp
|
||||
variable TIP4P equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable temp_wt equal c_wt
|
||||
############# Output ##############
|
||||
thermo_style custom step etotal pe ke v_TIP4P v_EILP v_temp_wt
|
||||
thermo 100
|
||||
thermo_modify lost error
|
||||
|
||||
fix subf gr setforce 0.0 0.0 0.0
|
||||
fix 1 water shake 0.0001 20 100 b 1 a 1
|
||||
0 = # of size 2 clusters
|
||||
0 = # of size 3 clusters
|
||||
0 = # of size 4 clusters
|
||||
48 = # of frozen angles
|
||||
find clusters CPU = 0.000 seconds
|
||||
|
||||
timestep 1e-3
|
||||
velocity water create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix 2 water nve
|
||||
run 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- ilp/graphene/hbn potential doi:10.1021/acs.nanolett.8b02848
|
||||
@Article{Ouyang2018
|
||||
author = {W. Ouyang and D. Mandelli and M. Urbakh and O. Hod},
|
||||
title = {Nanoserpents: Graphene Nanoribbon Motion on Two-Dimensional Hexagonal Materials},
|
||||
journal = {Nano Letters},
|
||||
volume = 18,
|
||||
pages = 6009,
|
||||
year = 2018,
|
||||
}
|
||||
|
||||
- ilp/tmd potential doi:10.1021/acs.jctc.1c00782
|
||||
@Article{Ouyang2021
|
||||
author = {W. Ouyang and R. Sofer and X. Gao and J. Hermann and
|
||||
A. Tkatchenko and L. Kronik and M. Urbakh and O. Hod},
|
||||
title = {Anisotropic Interlayer Force Field for Transition
|
||||
Metal Dichalcogenides: The Case of Molybdenum Disulfide},
|
||||
journal = {J.~Chem.\ Theory Comput.},
|
||||
volume = 17,
|
||||
pages = {7237--7245}
|
||||
year = 2021,
|
||||
}
|
||||
|
||||
- ilp/water/2dm potential doi/10.1021/acs.jpcc.2c08464
|
||||
@Article{Feng2023
|
||||
author = {Z. Feng, Y. Yao, J. Liu, B. Wu, Z. Liu, and W. Ouyang},
|
||||
title = {Registry-Dependent Potential for Interfaces of Water with Graphene},
|
||||
journal = {J. Phys. Chem. C},
|
||||
volume = 127,
|
||||
pages = {8704-8713}
|
||||
year = 2023,
|
||||
}
|
||||
|
||||
- ilp/graphene/hbn/opt potential doi:10.1145/3458817.3476137
|
||||
@inproceedings{gao2021lmff
|
||||
author = {Gao, Ping and Duan, Xiaohui and Others},
|
||||
title = {LMFF: Efficient and Scalable Layered Materials Force Field on Heterogeneous Many-Core Processors},
|
||||
year = {2021},
|
||||
isbn = {9781450384421},
|
||||
publisher = {Association for Computing Machinery},
|
||||
address = {New York, NY, USA},
|
||||
url = {https://doi.org/10.1145/3458817.3476137},
|
||||
doi = {10.1145/3458817.3476137},
|
||||
booktitle = {Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis},
|
||||
articleno = {42},
|
||||
numpages = {14},
|
||||
location = {St. Louis, Missouri},
|
||||
series = {SC'21},
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.28684806
|
||||
grid = 25 24 80
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0001640931
|
||||
estimated relative force accuracy = 1.1395635e-05
|
||||
using single precision MKL FFT
|
||||
3d grid and FFT values/proc = 84320 48000
|
||||
WARNING: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions (../pair.cpp:239)
|
||||
WARNING: Communication cutoff 0 is shorter than a bond length based estimate of 3.4358. This may lead to errors. (../comm.cpp:727)
|
||||
WARNING: Increasing communication cutoff to 11.6118 for TIP4P pair style (../pair_lj_cut_tip4p_long.cpp:484)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 5 steps, check yes
|
||||
max neighbors/atom: 100000, page size: 1000000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 6 5 23
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair aip/water/2dm/opt, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair lj/cut/tip4p/long, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
WARNING: Communication cutoff adjusted to 18 (../comm.cpp:736)
|
||||
SHAKE stats (type/ave/delta/count) on step 0
|
||||
Bond: 1 0.957201 2.19705e-06 96
|
||||
Angle: 1 104.52 0.000203056 48
|
||||
Per MPI rank memory allocation (min/avg/max) = 25.27 | 25.27 | 25.27 Mbytes
|
||||
Step TotEng PotEng KinEng v_TIP4P v_EILP v_temp_wt
|
||||
0 -16.131263 -19.815178 3.6839141 189.37246 -1.903543 300
|
||||
SHAKE stats (type/ave/delta/count) on step 100
|
||||
Bond: 1 0.9572 9.54949e-07 96
|
||||
Angle: 1 104.52 6.01522e-05 48
|
||||
100 -17.494868 -20.796993 3.3021253 188.4955 -1.8981262 268.90898
|
||||
SHAKE stats (type/ave/delta/count) on step 200
|
||||
Bond: 1 0.9572 9.63922e-07 96
|
||||
Angle: 1 104.52 7.7021e-05 48
|
||||
200 -17.486271 -21.194892 3.7086213 188.14561 -1.9871708 302.01203
|
||||
SHAKE stats (type/ave/delta/count) on step 300
|
||||
Bond: 1 0.9572 1.4264e-06 96
|
||||
Angle: 1 104.52 6.48393e-05 48
|
||||
300 -17.502844 -20.993704 3.49086 188.23268 -1.8457229 284.27861
|
||||
SHAKE stats (type/ave/delta/count) on step 400
|
||||
Bond: 1 0.9572 1.33728e-06 96
|
||||
Angle: 1 104.52 7.6239e-05 48
|
||||
400 -17.495287 -20.828353 3.3330658 188.48002 -1.8429075 271.42862
|
||||
SHAKE stats (type/ave/delta/count) on step 500
|
||||
Bond: 1 0.9572 1.14685e-06 96
|
||||
Angle: 1 104.52 8.58621e-05 48
|
||||
500 -17.491436 -20.443044 2.9516084 188.7589 -1.8566335 240.36459
|
||||
SHAKE stats (type/ave/delta/count) on step 600
|
||||
Bond: 1 0.9572 9.17601e-07 96
|
||||
Angle: 1 104.52 8.24516e-05 48
|
||||
600 -17.505684 -20.608457 3.1027731 188.72078 -1.9560796 252.67471
|
||||
SHAKE stats (type/ave/delta/count) on step 700
|
||||
Bond: 1 0.9572 9.50422e-07 96
|
||||
Angle: 1 104.52 5.62423e-05 48
|
||||
700 -17.496701 -21.07266 3.5759595 188.2777 -1.9833956 291.20871
|
||||
SHAKE stats (type/ave/delta/count) on step 800
|
||||
Bond: 1 0.9572 1.15262e-06 96
|
||||
Angle: 1 104.52 7.02158e-05 48
|
||||
800 -17.478623 -20.819504 3.340881 188.37868 -1.9112996 272.06506
|
||||
SHAKE stats (type/ave/delta/count) on step 900
|
||||
Bond: 1 0.9572 9.14138e-07 96
|
||||
Angle: 1 104.52 6.98742e-05 48
|
||||
900 -17.480864 -20.728498 3.2476343 188.59022 -1.8922102 264.4715
|
||||
SHAKE stats (type/ave/delta/count) on step 1000
|
||||
Bond: 1 0.9572 1.00586e-06 96
|
||||
Angle: 1 104.52 0.000111711 48
|
||||
1000 -17.498466 -20.331547 2.8330808 188.87473 -1.8121768 230.71228
|
||||
Loop time of 8.11929 on 1 procs for 1000 steps with 936 atoms
|
||||
|
||||
Performance: 10.641 ns/day, 2.255 hours/ns, 123.163 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 4.6849 | 4.6849 | 4.6849 | 0.0 | 57.70
|
||||
Bond | 0.00017678 | 0.00017678 | 0.00017678 | 0.0 | 0.00
|
||||
Kspace | 3.2098 | 3.2098 | 3.2098 | 0.0 | 39.53
|
||||
Neigh | 0.17546 | 0.17546 | 0.17546 | 0.0 | 2.16
|
||||
Comm | 0.024693 | 0.024693 | 0.024693 | 0.0 | 0.30
|
||||
Output | 0.00037798 | 0.00037798 | 0.00037798 | 0.0 | 0.00
|
||||
Modify | 0.015853 | 0.015853 | 0.015853 | 0.0 | 0.20
|
||||
Other | | 0.007983 | | | 0.10
|
||||
|
||||
Nlocal: 936 ave 936 max 936 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5242 ave 5242 max 5242 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 431382 ave 431382 max 431382 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 431382
|
||||
Ave neighs/atom = 460.87821
|
||||
Ave special neighs/atom = 0.30769231
|
||||
Neighbor list builds = 28
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:08
|
||||
@ -0,0 +1,256 @@
|
||||
LAMMPS (23 Jun 2022 - Update 4)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
read_data ./gra_water.data
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (46.92336 44.331078 200)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
936 atoms
|
||||
reading velocities ...
|
||||
936 velocities
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
96 bonds
|
||||
reading angles ...
|
||||
48 angles
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.014 seconds
|
||||
mass 1 12.0107 # carbon mass (g/mole)
|
||||
mass 2 15.9994 # oxygen mass (g/mole)
|
||||
mass 3 1.008 # hydrogen mass (g/mole)
|
||||
# Separate atom groups
|
||||
group gr molecule 1
|
||||
792 atoms in group gr
|
||||
group water molecule 2
|
||||
144 atoms in group water
|
||||
######################## Potential defition ##############################
|
||||
# Interlayer potential
|
||||
pair_style hybrid/overlay aip/water/2dm/opt 16.0 lj/cut/tip4p/long 2 3 1 1 0.1546 10 8.5
|
||||
####################################################################
|
||||
pair_coeff 1 1 none
|
||||
pair_coeff 2 2 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 2 3 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm/opt COH.aip.water.2dm C Ow Hw # C-H2O
|
||||
Reading aip/water/2dm potential file COH.aip.water.2dm with DATE: 2022-12-02
|
||||
# bond and angle
|
||||
bond_style harmonic
|
||||
bond_coeff 1 0.0 0.9572
|
||||
angle_style harmonic
|
||||
angle_coeff 1 0.0 104.52
|
||||
# define kspace calculation
|
||||
kspace_style pppm/tip4p 1E-5
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 5 check yes page 1000000 one 100000
|
||||
####################################################################
|
||||
# Calculate pair energy
|
||||
compute 1 all pair lj/cut/tip4p/long
|
||||
compute 2 all pair aip/water/2dm/opt
|
||||
compute wt water temp
|
||||
variable TIP4P equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable temp_wt equal c_wt
|
||||
############# Output ##############
|
||||
thermo_style custom step etotal pe ke v_TIP4P v_EILP v_temp_wt
|
||||
thermo 100
|
||||
thermo_modify lost error
|
||||
|
||||
fix subf gr setforce 0.0 0.0 0.0
|
||||
fix 1 water shake 0.0001 20 100 b 1 a 1
|
||||
0 = # of size 2 clusters
|
||||
0 = # of size 3 clusters
|
||||
0 = # of size 4 clusters
|
||||
48 = # of frozen angles
|
||||
find clusters CPU = 0.000 seconds
|
||||
|
||||
timestep 1e-3
|
||||
velocity water create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix 2 water nve
|
||||
run 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- ilp/graphene/hbn potential doi:10.1021/acs.nanolett.8b02848
|
||||
@Article{Ouyang2018
|
||||
author = {W. Ouyang and D. Mandelli and M. Urbakh and O. Hod},
|
||||
title = {Nanoserpents: Graphene Nanoribbon Motion on Two-Dimensional Hexagonal Materials},
|
||||
journal = {Nano Letters},
|
||||
volume = 18,
|
||||
pages = 6009,
|
||||
year = 2018,
|
||||
}
|
||||
|
||||
- ilp/tmd potential doi:10.1021/acs.jctc.1c00782
|
||||
@Article{Ouyang2021
|
||||
author = {W. Ouyang and R. Sofer and X. Gao and J. Hermann and
|
||||
A. Tkatchenko and L. Kronik and M. Urbakh and O. Hod},
|
||||
title = {Anisotropic Interlayer Force Field for Transition
|
||||
Metal Dichalcogenides: The Case of Molybdenum Disulfide},
|
||||
journal = {J.~Chem.\ Theory Comput.},
|
||||
volume = 17,
|
||||
pages = {7237--7245}
|
||||
year = 2021,
|
||||
}
|
||||
|
||||
- ilp/water/2dm potential doi/10.1021/acs.jpcc.2c08464
|
||||
@Article{Feng2023
|
||||
author = {Z. Feng, Y. Yao, J. Liu, B. Wu, Z. Liu, and W. Ouyang},
|
||||
title = {Registry-Dependent Potential for Interfaces of Water with Graphene},
|
||||
journal = {J. Phys. Chem. C},
|
||||
volume = 127,
|
||||
pages = {8704-8713}
|
||||
year = 2023,
|
||||
}
|
||||
|
||||
- ilp/graphene/hbn/opt potential doi:10.1145/3458817.3476137
|
||||
@inproceedings{gao2021lmff
|
||||
author = {Gao, Ping and Duan, Xiaohui and Others},
|
||||
title = {LMFF: Efficient and Scalable Layered Materials Force Field on Heterogeneous Many-Core Processors},
|
||||
year = {2021},
|
||||
isbn = {9781450384421},
|
||||
publisher = {Association for Computing Machinery},
|
||||
address = {New York, NY, USA},
|
||||
url = {https://doi.org/10.1145/3458817.3476137},
|
||||
doi = {10.1145/3458817.3476137},
|
||||
booktitle = {Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis},
|
||||
articleno = {42},
|
||||
numpages = {14},
|
||||
location = {St. Louis, Missouri},
|
||||
series = {SC'21},
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:342)
|
||||
G vector (1/distance) = 0.28684806
|
||||
grid = 25 24 80
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0001640931
|
||||
estimated relative force accuracy = 1.1395635e-05
|
||||
using single precision MKL FFT
|
||||
3d grid and FFT values/proc = 30685 12480
|
||||
WARNING: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions (../pair.cpp:239)
|
||||
WARNING: Communication cutoff 0 is shorter than a bond length based estimate of 3.4358. This may lead to errors. (../comm.cpp:727)
|
||||
WARNING: Increasing communication cutoff to 11.6118 for TIP4P pair style (../pair_lj_cut_tip4p_long.cpp:484)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 5 steps, check yes
|
||||
max neighbors/atom: 100000, page size: 1000000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 6 5 23
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair aip/water/2dm/opt, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair lj/cut/tip4p/long, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
WARNING: Communication cutoff adjusted to 18 (../comm.cpp:736)
|
||||
SHAKE stats (type/ave/delta/count) on step 0
|
||||
Bond: 1 0.957201 2.19705e-06 96
|
||||
Angle: 1 104.52 0.000203056 48
|
||||
Per MPI rank memory allocation (min/avg/max) = 21.4 | 21.44 | 21.48 Mbytes
|
||||
Step TotEng PotEng KinEng v_TIP4P v_EILP v_temp_wt
|
||||
0 -16.131263 -19.815178 3.6839141 189.37246 -1.903543 300
|
||||
SHAKE stats (type/ave/delta/count) on step 100
|
||||
Bond: 1 0.9572 9.54949e-07 96
|
||||
Angle: 1 104.52 6.01522e-05 48
|
||||
100 -17.494869 -20.796995 3.3021253 188.4955 -1.8981262 268.90898
|
||||
SHAKE stats (type/ave/delta/count) on step 200
|
||||
Bond: 1 0.9572 9.63922e-07 96
|
||||
Angle: 1 104.52 7.7021e-05 48
|
||||
200 -17.48627 -21.194892 3.7086213 188.14561 -1.9871708 302.01203
|
||||
SHAKE stats (type/ave/delta/count) on step 300
|
||||
Bond: 1 0.9572 1.4264e-06 96
|
||||
Angle: 1 104.52 6.48393e-05 48
|
||||
300 -17.502843 -20.993703 3.4908599 188.23268 -1.8457229 284.27861
|
||||
SHAKE stats (type/ave/delta/count) on step 400
|
||||
Bond: 1 0.9572 1.33728e-06 96
|
||||
Angle: 1 104.52 7.6239e-05 48
|
||||
400 -17.495285 -20.82835 3.333065 188.48003 -1.8429074 271.42856
|
||||
SHAKE stats (type/ave/delta/count) on step 500
|
||||
Bond: 1 0.9572 1.14685e-06 96
|
||||
Angle: 1 104.52 8.58621e-05 48
|
||||
500 -17.491436 -20.443043 2.9516075 188.7589 -1.8566335 240.36452
|
||||
SHAKE stats (type/ave/delta/count) on step 600
|
||||
Bond: 1 0.9572 9.17601e-07 96
|
||||
Angle: 1 104.52 8.24517e-05 48
|
||||
600 -17.505682 -20.608456 3.1027734 188.72078 -1.9560795 252.67474
|
||||
SHAKE stats (type/ave/delta/count) on step 700
|
||||
Bond: 1 0.9572 9.50425e-07 96
|
||||
Angle: 1 104.52 5.62423e-05 48
|
||||
700 -17.496706 -21.072664 3.575958 188.2777 -1.9833951 291.20858
|
||||
SHAKE stats (type/ave/delta/count) on step 800
|
||||
Bond: 1 0.9572 1.15256e-06 96
|
||||
Angle: 1 104.52 7.02177e-05 48
|
||||
800 -17.478628 -20.819507 3.340879 188.37868 -1.9113009 272.0649
|
||||
SHAKE stats (type/ave/delta/count) on step 900
|
||||
Bond: 1 0.9572 9.14163e-07 96
|
||||
Angle: 1 104.52 6.98849e-05 48
|
||||
900 -17.480868 -20.728506 3.2476383 188.5902 -1.8922108 264.47182
|
||||
SHAKE stats (type/ave/delta/count) on step 1000
|
||||
Bond: 1 0.9572 1.00568e-06 96
|
||||
Angle: 1 104.52 0.000111707 48
|
||||
1000 -17.498472 -20.331605 2.8331335 188.87466 -1.8121689 230.71657
|
||||
Loop time of 4.24862 on 4 procs for 1000 steps with 936 atoms
|
||||
|
||||
Performance: 20.336 ns/day, 1.180 hours/ns, 235.370 timesteps/s
|
||||
99.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.25749 | 1.1806 | 2.6872 | 89.0 | 27.79
|
||||
Bond | 0.00018656 | 0.00020786 | 0.00025377 | 0.0 | 0.00
|
||||
Kspace | 1.4259 | 2.9204 | 3.8414 | 56.3 | 68.74
|
||||
Neigh | 0.057504 | 0.057852 | 0.05818 | 0.1 | 1.36
|
||||
Comm | 0.041952 | 0.053593 | 0.05876 | 3.0 | 1.26
|
||||
Output | 0.0004296 | 0.00046809 | 0.00055317 | 0.0 | 0.01
|
||||
Modify | 0.026204 | 0.027251 | 0.028382 | 0.6 | 0.64
|
||||
Other | | 0.008209 | | | 0.19
|
||||
|
||||
Nlocal: 234 ave 302 max 198 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
Nghost: 2876.5 ave 3122 max 2632 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 107846 ave 150684 max 82181 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 431382
|
||||
Ave neighs/atom = 460.87821
|
||||
Ave special neighs/atom = 0.30769231
|
||||
Neighbor list builds = 28
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:04
|
||||
422
examples/PACKAGES/pimd/lj/data.metalnpt01
Normal file
422
examples/PACKAGES/pimd/lj/data.metalnpt01
Normal file
@ -0,0 +1,422 @@
|
||||
LAMMPS data file via write_data, version 8 Feb 2023, timestep = 100000
|
||||
|
||||
200 atoms
|
||||
1 atom types
|
||||
|
||||
-11.876696863105703 11.876696863105703 xlo xhi
|
||||
-11.876696863105703 11.876696863105703 ylo yhi
|
||||
-11.876696863105703 11.876696863105703 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 39.948
|
||||
|
||||
Pair Coeffs # lj/cut
|
||||
|
||||
1 0.00965188 3.4
|
||||
|
||||
Atoms # atomic
|
||||
|
||||
39 1 -10.338208372875723 -8.724519590498623 -8.445612139491281 0 -1 1
|
||||
82 1 -7.5133824622188925 -6.978636164411631 -10.191775661279799 0 0 0
|
||||
57 1 -6.093878587859262 -9.276313581141936 -7.744358551066254 1 0 0
|
||||
8 1 -7.188384493977925 -11.000743174865285 -10.566868392413127 0 1 1
|
||||
49 1 -0.45896030511450936 -8.721648062141405 -7.76988436909876 0 1 0
|
||||
54 1 4.36019737005205 -9.840722628422576 -9.652200105153977 0 -1 1
|
||||
114 1 3.904944042667676 -8.560258519206736 -6.227256449483399 -1 0 1
|
||||
128 1 1.537670815459421 11.367557646509137 -7.44113189883349 0 0 -2
|
||||
102 1 2.6467980910798623 -6.300231690446356 -10.839747469959917 1 -1 -1
|
||||
157 1 6.599214138053117 -6.278630725537236 -7.389049268829837 -1 0 1
|
||||
20 1 8.160418209241914 -11.236890922228888 -9.90427297873004 0 1 0
|
||||
147 1 10.464052914243185 -5.834517788008704 -9.403782126876184 -1 2 0
|
||||
169 1 9.355540563360105 -8.982132042608429 -6.861385656669775 0 1 1
|
||||
123 1 -6.908328795781873 -3.2942152122483694 -10.871702946953768 -1 0 -1
|
||||
130 1 -6.59789640513614 -2.559000332768779 -7.109058819418416 -1 1 0
|
||||
140 1 -9.12121182032633 -1.3228381271313019 -9.248705124201138 -1 1 0
|
||||
153 1 -4.57209419001429 -5.197951679459013 -8.806559015841044 0 1 0
|
||||
129 1 -0.17714454435176596 -5.056145756511569 -8.582370909018262 0 1 1
|
||||
148 1 -3.197585507102101 -2.0540921199407465 -9.77932871778502 0 0 0
|
||||
119 1 -3.51954842440485 -3.8478081846346726 10.678236929073831 0 -1 -1
|
||||
174 1 3.1384595215939513 -1.9078182147633918 -10.748237231758047 -1 1 -1
|
||||
134 1 -0.0032185119392025285 -0.36841629060197645 -8.631895429784365 -1 0 2
|
||||
189 1 2.892780086534627 -1.3587472579142499 -6.410113256095116 0 0 2
|
||||
28 1 6.224912481821424 -1.100900418829165 -9.316948573538184 0 0 -1
|
||||
1 1 7.533342646866252 -2.8858379557892953 -6.5588822497649195 1 -1 0
|
||||
24 1 10.891564390761006 -2.1693511431878143 -8.14872153065027 0 -1 1
|
||||
176 1 10.35065200687287 -3.6683271215630047 -4.32699396695263 0 0 0
|
||||
182 1 -10.764131367809398 0.5730937842904389 -5.180063181396292 0 1 -1
|
||||
137 1 -8.194528746006949 3.76661130396705 -8.596433076900993 -1 1 0
|
||||
89 1 -5.793296966734716 0.9591211322466908 -8.532912969707475 0 0 -1
|
||||
88 1 -3.2415549382910047 2.6063473128515433 -11.019658141847422 0 1 -1
|
||||
160 1 -0.17978720428819353 5.335367005111222 -5.961111228150678 0 0 1
|
||||
125 1 -3.2595127311899836 3.541669787125592 -7.094678802230409 0 1 0
|
||||
167 1 2.6101389699783257 2.7016950511217104 -7.510579719545417 0 1 0
|
||||
107 1 2.478905108002845 1.3710464608203452 -11.241338409619438 -1 1 1
|
||||
45 1 -0.2728444271939366 3.4472072045614333 -9.803824961885091 0 1 0
|
||||
95 1 7.005885045149228 1.8641755193621776 -11.033503201926393 0 2 -1
|
||||
111 1 11.28085723924775 1.3577973865073396 -8.404143782130012 0 1 1
|
||||
37 1 7.50412447792306 1.5806311975228182 -7.696866725729485 1 0 2
|
||||
53 1 9.464056637143884 5.181490576538966 -10.160960273108417 -1 -1 1
|
||||
122 1 -8.61454149114821 11.46923394337289 -7.097906043887797 2 -1 -1
|
||||
126 1 -8.658911027419105 9.160142379367757 -10.196432851978876 0 0 -1
|
||||
72 1 -11.223582472260205 7.275428216701358 10.836645274139237 2 0 0
|
||||
144 1 -3.0387339366126 -9.918200912273784 -9.896452956043586 0 1 1
|
||||
135 1 0.03771056281680529 7.830565362407303 -8.390686664231268 1 0 0
|
||||
183 1 2.8786138768293665 5.221499246050073 -10.100270572243783 0 0 0
|
||||
155 1 3.821499942128122 9.224610559399695 -9.359914290522674 0 0 0
|
||||
21 1 6.6299071097705 6.818271712520994 -8.197268594363944 1 0 0
|
||||
66 1 9.53812274637967 7.559409537149467 -6.194715694404919 -2 -1 0
|
||||
22 1 11.107750453110658 10.72621054512756 -6.232964722376559 -1 0 0
|
||||
42 1 9.127119842763733 9.280850325093446 -10.249747757735628 -1 1 0
|
||||
77 1 -6.840159982144716 -10.92057206639582 -3.876267638432264 1 -1 1
|
||||
47 1 -8.742923464684916 -8.023408201112765 -5.403173093100989 1 2 1
|
||||
18 1 -10.63751608820882 -11.30186343558728 -3.9206887105699195 1 0 -1
|
||||
46 1 11.298180499183054 -7.685155723666886 -4.06604680107494 1 0 -2
|
||||
14 1 -9.566429851257723 -7.447961115721825 -2.010931774940218 -1 0 2
|
||||
178 1 -4.527419254322211 -8.045910047035035 -4.819501104832851 2 1 0
|
||||
48 1 -3.2147691406929866 -10.888877164915472 -6.377437598460709 1 1 -1
|
||||
55 1 -0.9601171939836206 -6.238495322587188 -4.2762406549238605 -1 0 -1
|
||||
12 1 -1.8964494825899862 -9.405283267682947 -2.3799601015584315 -1 0 2
|
||||
15 1 6.020890846962015 -8.178330582079944 0.7240728610757863 -1 0 -1
|
||||
64 1 2.731938348082501 -10.543443272156145 -1.741916704711699 1 1 0
|
||||
44 1 8.065377899358 -6.2776681789760715 -3.599447303926354 -1 0 1
|
||||
188 1 10.02823971588665 -8.47709879900416 -0.7307124355000334 -1 0 0
|
||||
200 1 -9.394872508283228 -3.330386381489715 -5.1567351351767705 -1 0 0
|
||||
198 1 -7.21209897973175 -1.1704302343832897 -2.203950414480204 0 0 1
|
||||
76 1 -9.986350100477846 -3.0116982250661763 -1.5200938888623745 1 0 0
|
||||
194 1 -6.746550374491012 -4.972813556867408 -2.5010542319113824 0 1 -1
|
||||
68 1 -2.5395355119165752 -3.5084431511046077 -6.11089008487593 0 1 1
|
||||
96 1 -3.383034995518244 -3.996115182399876 -2.1114098179404905 -1 2 0
|
||||
91 1 3.023350222125586 -6.242259457656427 -2.3794062527217115 1 -1 -1
|
||||
154 1 -0.21966769644821582 -2.9431607814775376 -3.0023832902544516 -1 2 0
|
||||
19 1 3.1658091018639274 -2.0642468786997554 -2.307083850490244 0 1 -1
|
||||
120 1 6.655220459905831 -2.268055028492757 -2.8431810436972036 1 1 1
|
||||
138 1 9.657284951715521 -4.552145938528714 -0.6562837148986382 -1 1 -1
|
||||
9 1 7.577787647310252 -2.027383158459481 0.591256647470022 0 0 1
|
||||
150 1 -9.975709520806461 2.045189761629004 -1.3967042898865678 1 -1 1
|
||||
38 1 -5.780821497271447 4.724336446491739 -4.727424802574532 1 0 2
|
||||
172 1 -9.690365647641709 4.0528825638271995 -4.90299752668659 0 0 2
|
||||
29 1 -7.905836311144201 7.618140007848844 2.0916587803060374 1 -1 -1
|
||||
87 1 -3.2429786758343386 -0.9446923499804107 -3.602689802943157 0 -1 1
|
||||
93 1 -6.311310050813026 0.9463486890063564 -4.844328963553153 0 -1 1
|
||||
195 1 1.0294591756555889 0.17190072131794665 -3.729109843284945 1 -1 3
|
||||
149 1 -2.2517532526979984 2.837758606759653 -2.568308902690684 1 0 0
|
||||
25 1 4.622058806898725 1.1966098061131745 -0.5762266975161516 -1 0 1
|
||||
35 1 2.770724754796497 3.7811224145924633 -3.6900492736017867 1 -1 0
|
||||
116 1 5.985384722273807 5.820793889080573 -5.01963853113883 0 1 0
|
||||
5 1 5.710509981071034 1.5091333740272113 -4.1779355439452 0 -1 -1
|
||||
112 1 4.909280213802248 5.451229842365678 -0.23301351689583433 -1 0 0
|
||||
152 1 11.352756404691903 -0.5457110274170986 -1.851635893722021 -2 -1 0
|
||||
132 1 8.574718024729343 1.7846682488107686 -1.3135653711870618 0 0 0
|
||||
173 1 8.985071256603522 3.7974294357041134 -5.507410143502991 0 0 1
|
||||
73 1 -9.997675226742189 8.034933990134746 -6.6211967592334595 0 -2 1
|
||||
161 1 -11.552860384837217 7.057039822309078 -3.567109853559714 2 0 2
|
||||
78 1 -1.8080552760100446 10.151101687740656 -1.7466859905812946 1 -2 1
|
||||
11 1 4.503908677727956 -11.845112920212848 -5.000489634351112 0 2 1
|
||||
84 1 2.4816138724708487 7.425072174245171 -5.250945864454475 1 0 0
|
||||
90 1 6.134640615065156 9.297869169242624 -0.8361676575747339 0 -1 1
|
||||
36 1 1.9591052897014976 7.715785297331987 -1.741598961638701 2 -1 0
|
||||
98 1 8.55440808947692 7.573996243117245 -2.894381804652479 -1 0 0
|
||||
56 1 7.300059241947594 10.446841724098018 -6.708609001665156 -1 0 1
|
||||
109 1 9.185972290533323 11.319457447612841 -0.9199703749554402 -1 1 1
|
||||
115 1 -7.290737513756202 -8.128422064576581 2.840900089769448 1 0 0
|
||||
124 1 -11.095494798277388 -8.787146009506092 4.06143463064398 1 0 -2
|
||||
121 1 -8.269324094623837 -10.076632693187037 6.580117501920071 0 1 -1
|
||||
80 1 -4.964400090273426 -7.254460179243866 -0.2516287260948715 0 0 1
|
||||
101 1 -4.352556925935133 -8.093642941491481 4.9061967743324075 1 3 1
|
||||
4 1 1.6615068736969008 10.065280091130505 4.658196599859135 -1 -1 -1
|
||||
81 1 7.340287496174785 -8.542929146635126 6.681008128047246 -1 1 1
|
||||
6 1 8.92830710513934 -10.595453002991315 2.772878983207939 1 1 0
|
||||
166 1 -8.702005772998799 -5.0252019350878925 4.355591496028076 0 2 0
|
||||
40 1 -7.050509790391359 -4.52399648752538 1.2979104738341645 1 1 0
|
||||
127 1 -5.6981160982548635 -2.4804262914214696 3.963876974872145 0 -1 0
|
||||
104 1 -0.43889931205929145 -0.6786512342031208 -0.26982380817326046 -1 0 -1
|
||||
151 1 0.38632233704260427 -6.436575550724694 0.28827602607540115 0 1 2
|
||||
60 1 -2.3388191412291297 -2.1909895686965264 5.332358036316238 0 1 0
|
||||
168 1 3.905092056046815 -3.342842649601014 0.743162620375255 -1 1 -1
|
||||
51 1 0.30821594516237355 -3.3431888641351466 2.97421468380087 0 0 -1
|
||||
97 1 2.0959982908166124 -0.09218688876005032 2.2065126859574242 0 -1 -1
|
||||
103 1 4.032770557637615 -1.033589048853706 6.026643139338357 -1 2 0
|
||||
163 1 -10.67096111340156 -2.753792851497721 2.2777487994238297 0 -1 0
|
||||
175 1 5.732332747304902 -3.395357434547403 3.9793999602240824 -1 1 0
|
||||
158 1 8.900731939704714 -6.465614302153284 2.882524782105495 -1 0 -1
|
||||
85 1 10.256991086371421 -0.03399764580791596 5.19749850902792 1 0 1
|
||||
63 1 -8.206071489694988 -0.20777550918309284 1.1337283531787357 -1 0 1
|
||||
133 1 -10.53669133454302 2.413445898515217 3.6779422317228634 1 1 0
|
||||
67 1 -6.580427997228583 3.5308019506173483 3.249950052857889 1 0 0
|
||||
83 1 -3.837130760373457 0.5948829995405305 2.7555803207629808 0 -2 1
|
||||
162 1 0.5628056325507875 0.015590885064073646 6.104541108047491 0 0 0
|
||||
170 1 -2.741308504695489 4.278253215456882 6.467354505657028 -1 1 -2
|
||||
181 1 -5.298818879016533 0.6747551441657151 5.729306597544269 -1 1 -1
|
||||
71 1 1.6643578976841618 4.095917673198805 -0.5219437486813767 0 -1 -1
|
||||
31 1 1.0515428688465895 4.152933403466363 6.1671972298548825 0 -2 0
|
||||
139 1 3.7848906674638663 3.6854393920193473 3.29399693806094 -1 2 0
|
||||
3 1 10.981379981294642 1.2656622142958476 0.9353988521574017 0 -1 1
|
||||
108 1 6.1052451115408175 0.8636547219490183 3.620998736363435 1 1 0
|
||||
16 1 8.972094495168673 3.5728016103606848 4.03251575890399 0 -2 1
|
||||
110 1 -11.360244143589199 5.991417852211969 3.108858276372061 0 0 -2
|
||||
50 1 -7.001523002421964 11.111129854490866 4.085896982012491 0 0 0
|
||||
191 1 -8.535734954334753 7.01291974923636 5.601813919122847 1 -1 0
|
||||
187 1 -10.711068400768836 11.24759510548256 5.108018843428019 1 1 0
|
||||
180 1 -1.0115990012221623 6.198904069067613 -1.8166876549028856 1 -1 2
|
||||
30 1 -0.6366171189365808 8.860606610617594 1.2441466899617097 1 -2 -1
|
||||
2 1 -1.8186886713768473 5.401678057284073 2.675711617904522 1 -2 -1
|
||||
17 1 -2.0021887273825953 8.358120841698845 5.289337562756078 -2 0 -1
|
||||
7 1 4.074924702840786 8.78812906409422 1.7171879913627848 -1 0 1
|
||||
164 1 1.8692613585489788 6.285969009685708 2.179749632062295 -1 0 0
|
||||
69 1 4.63280772470042 6.917030747154868 5.0992927825629835 0 -2 -1
|
||||
61 1 10.180483484726627 5.102933813094147 -0.6143013682078827 -1 -2 0
|
||||
34 1 7.6753980260971115 9.289346236573914 2.385702988209246 0 0 -1
|
||||
43 1 7.122060213065371 6.027541758611427 2.434097564627603 -1 -2 1
|
||||
177 1 8.528259310530697 7.357497844279905 5.573095645895759 -1 1 -1
|
||||
179 1 11.765063377112929 -11.216117555594387 -10.520782276852188 -1 3 2
|
||||
65 1 -9.939292746165652 -8.35547457034324 11.370610161953358 0 -1 -1
|
||||
27 1 -10.951259960706151 -11.676718912293088 8.46919851147203 1 1 1
|
||||
58 1 -9.681801591871107 -6.867288275839336 8.155377252027327 -1 0 -1
|
||||
32 1 -6.131008336203429 -5.3807894145123 6.404139996945254 2 1 -2
|
||||
26 1 -5.277766259873033 -8.47443173172751 9.34226968131783 1 0 0
|
||||
142 1 -2.2300264866152233 -6.734520703453221 8.54527447884555 2 1 0
|
||||
100 1 -1.5334511532264656 -10.941538235330839 6.762850724892153 1 2 0
|
||||
184 1 7.375517404090732 -7.455937963783537 -11.443563002056962 0 1 2
|
||||
105 1 1.3322147240971494 -7.892907018083993 3.959755431262508 0 0 -1
|
||||
75 1 4.579073338589469 -6.332281766890766 5.401380400098642 0 -1 0
|
||||
99 1 1.6872589572610692 -11.008904691990601 10.790406649632594 0 0 0
|
||||
193 1 2.165378393000026 -6.907577487565213 9.269079214220964 1 1 -1
|
||||
33 1 4.415243573456659 -11.651415043860048 7.196586725345009 0 -1 0
|
||||
79 1 8.562132664810616 11.60776935837499 5.9765813232044 -1 0 0
|
||||
92 1 9.7882797687825 -9.546408677583251 11.099049944831634 0 2 -1
|
||||
165 1 -9.230629586630256 -3.286419219229394 7.361693942438226 0 0 0
|
||||
199 1 -6.865681519441191 -4.960200472270827 9.951650907912764 0 -1 1
|
||||
70 1 -5.465385410624981 -2.359017759235627 7.824489075549977 0 1 1
|
||||
146 1 -1.4128831058942808 -0.5651321764460739 11.276244400666037 2 1 1
|
||||
106 1 -1.359759429785522 -2.5612049312124596 8.66030082151058 0 0 -1
|
||||
52 1 0.6275246163307096 -3.6626685091764974 11.394079726568394 0 0 0
|
||||
86 1 5.385048800206313 -4.521509414521681 8.656605720260643 -1 0 1
|
||||
197 1 1.5960773668099044 -4.632851183052137 7.050260712413685 -1 0 -1
|
||||
185 1 2.0988154112902677 -0.6155858372057779 10.039741652805866 -2 1 -2
|
||||
190 1 7.402096413387279 -0.25029457328283883 9.918579248632192 0 0 -1
|
||||
145 1 7.12421994994077 -3.662416626939269 -11.744325877649178 -1 -2 0
|
||||
131 1 11.18002293743892 -5.284301350499634 6.202872301153104 1 0 0
|
||||
156 1 -5.458324556633278 -0.38542205585237 11.508150106421377 0 -1 -1
|
||||
10 1 -9.11455987814511 -0.7284053525098189 4.7937364242043685 0 0 2
|
||||
196 1 -9.334790977795333 0.22026194254469544 8.665774918646903 1 2 1
|
||||
143 1 -7.202065049712928 3.0671354576980563 8.711576683539384 1 0 0
|
||||
13 1 -11.827431931265373 3.351396387549464 6.969024410690874 -1 -1 1
|
||||
59 1 -3.4888315694577976 1.7945900827414363 9.37212343512276 1 -1 1
|
||||
186 1 0.1399856131518682 2.5706426278242667 9.701168522174706 1 1 0
|
||||
136 1 3.4415384834588973 2.185354911818653 7.959200431003509 0 -1 -3
|
||||
192 1 10.528638878678947 2.482587032106114 9.852249456508758 1 1 1
|
||||
113 1 7.169273245351864 2.240386648237891 6.81806834338785 -1 -1 -1
|
||||
62 1 3.8919207853480167 6.881948160439718 8.99101225575 1 0 0
|
||||
74 1 -8.178685418297237 9.818884262184877 8.930172678325137 1 -1 0
|
||||
118 1 -11.577334387980462 8.493934752303879 6.984011067983683 0 1 0
|
||||
117 1 -5.265098295144998 11.327347075770236 7.5602122003602945 -1 -1 0
|
||||
23 1 -5.150793196726769 5.778029085599102 11.296630874448987 0 0 -2
|
||||
171 1 -4.323653153250317 7.139179037030907 7.775653914779269 0 2 -2
|
||||
94 1 0.595594702317225 9.593135599654605 9.048522029833913 -1 0 0
|
||||
41 1 5.495056487999116 11.528824616719037 11.673423310901565 0 0 -1
|
||||
141 1 9.858324590689726 5.708495049079261 9.011577695177973 1 -1 -1
|
||||
159 1 9.655575431519994 9.766549249024301 9.761747234830672 0 -1 0
|
||||
|
||||
Velocities
|
||||
|
||||
39 3.843901085922765 -0.7556840039136884 3.588481686862416
|
||||
82 -6.7131250110640295 0.1978517371310493 3.794615543737683
|
||||
57 -3.8444246166822666 -0.12509187511770853 -0.15016726331630528
|
||||
8 2.510198026755905 3.9393955076781997 2.1890256483333417
|
||||
49 2.3436002495676416 -3.937791517692209 -0.8678317852601907
|
||||
54 0.6032383013072746 3.3962808798459587 -4.353772407339659
|
||||
114 1.733121125021854 -5.515987819958336 5.5418081738213125
|
||||
128 0.6238341583124627 -4.373836957545107 -1.8358939583013871
|
||||
102 3.7217703111263405 -2.1130321869806172 0.3604425898099683
|
||||
157 -3.060805678543839 -4.541031970793705 2.0247670855961024
|
||||
20 0.19495210236206537 0.7445218389780817 -4.9481403197240175
|
||||
147 1.300002576089047 0.4456991718445389 -0.49416915478347523
|
||||
169 -0.4362191685321444 -3.947171092840025 -1.656461237016801
|
||||
123 -4.189637911629164 -3.3929868871757067 0.6670412748458154
|
||||
130 0.6134420085318386 2.2669355259081905 -3.459678248548238
|
||||
140 -3.017718530938869 2.2011145660870097 -0.08987220236519784
|
||||
153 1.8522800493758318 0.8156876148506785 -9.385509457300062
|
||||
129 4.422122082904887 0.7131966606636173 0.3531709089212848
|
||||
148 0.6611682907987628 -0.38909659051429185 -0.4773785971811748
|
||||
119 -1.669105812009433 -0.37002694554897725 -3.3024540150626986
|
||||
174 -6.672226703796612 4.247321732812844 1.6315053674536977
|
||||
134 -3.0608984486057835 -2.4129204610506294 -2.734745807674302
|
||||
189 -2.302704208974844 3.481037259019509 -2.794714120652709
|
||||
28 -2.75682827680027 -3.050875489215879 -4.227117245181596
|
||||
1 -2.1560141369701795 4.052819594846101 5.448339653382999
|
||||
24 -2.386079256841039 -2.8280668145030563 4.35837241466938
|
||||
176 -1.4372688768932664 -6.6415313837559875 4.129983376772735
|
||||
182 -0.4720828255607976 3.662207995039096 2.519318256725504
|
||||
137 3.2869116185302323 3.2307568609578143 -1.9509349541264633
|
||||
89 0.9583454014186878 -1.6238254590624648 1.3557912965537908
|
||||
88 1.7694593220184982 -1.036030143090322 1.9233033494166958
|
||||
160 1.008621423016506 -6.119196433851812 5.640861548269096
|
||||
125 1.8734575131064475 -1.5413231325971886 -1.3731468026454559
|
||||
167 0.5552538334188052 4.600624550198432 0.10361430748931168
|
||||
107 -3.2399064229680294 -1.8236363657903167 0.5755237816639006
|
||||
45 -0.8909937912895557 3.652128037032182 0.47945125158298724
|
||||
95 -3.55734648018246 -1.7071938037895589 -0.49307606319505376
|
||||
111 -0.5877274590969576 -1.0815552570296887 1.2264280053757328
|
||||
37 -0.4940015083502718 2.120546197357239 -6.129979680695427
|
||||
53 -0.2896516389711194 0.42515885739039166 -1.8677025658203998
|
||||
122 0.967791765282903 1.7401195129115046 1.9118554789129
|
||||
126 -2.954209751448974 2.164651827051895 2.3297982456925053
|
||||
72 3.173369384034092 -3.8176084785054245 -2.272242460318536
|
||||
144 7.811875555936 4.819434744326224 0.3359991553117815
|
||||
135 0.1395889289809734 1.0258297209323288 -3.8437628564556956
|
||||
183 3.6133240015570744 -0.6507150055387017 -3.110230107415811
|
||||
155 -1.81416144798709 -3.5659788058079758 -2.041490164886604
|
||||
21 0.6092276970785621 -4.133031653047547 -1.1692481377542574
|
||||
66 -1.2540845964267104 -3.824259504042551 3.29729030480536
|
||||
22 2.5446763351186448 -0.6513499783353496 -2.0932016159863465
|
||||
42 5.82871794909335 1.6743919751666467 0.7126718280768334
|
||||
77 -0.4040118365141223 -3.2290750702108357 1.818231240430787
|
||||
47 0.028653058178313952 -2.27141290239272 0.7388413469098802
|
||||
18 -0.3605358292652272 -2.51632133097868 -2.2152302223559324
|
||||
46 -4.956822430210972 1.7347845441659948 -0.8052402055568453
|
||||
14 1.0447813005670052 1.7950897980192044 -5.120385937069129
|
||||
178 2.8613069610645323 -1.221832900100255 4.786474400939546
|
||||
48 -1.0101057057064093 -4.108390928419403 -3.626668446988165
|
||||
55 3.380329095570148 1.9767809972549477 -0.7468971412257048
|
||||
12 0.5796037236485843 -2.968894009109519 -1.109629405353503
|
||||
15 -1.0805423425753338 -0.6224135466634316 2.517980927489596
|
||||
64 2.772129192684522 2.307682180641892 1.326944641441264
|
||||
44 -2.8172327982334355 1.083586023278567 -1.8763865737567058
|
||||
188 -3.437261818925725 1.5454398749025489 -0.16540078855271825
|
||||
200 -4.575258061249265 4.788641216932844 -0.4020526553149053
|
||||
198 2.0555443873273083 -3.895983368588817 1.158820403753976
|
||||
76 -0.43680328576927907 -2.690054938184871 -3.1926091395345697
|
||||
194 -4.927518640766644 -2.7958765254010074 2.346084579105554
|
||||
68 3.8869230882195995 -4.532127531608888 -3.709193335672372
|
||||
96 0.5541428371102486 2.469654795647139 1.3292842757665846
|
||||
91 -0.732047074282118 -2.6885559423815857 -2.1949168022734056
|
||||
154 -2.5136766428597386 3.590700279102351 -0.059374328708080126
|
||||
19 -6.161653279730477 -2.8765306398549155 2.4409492942004887
|
||||
120 3.4942280062726017 -3.9836089343560284 -3.098191865520773
|
||||
138 -1.392154916395345 -2.6054126458670575 -0.5249503554366697
|
||||
9 -1.4056559546036238 -7.532778826245055 -1.3371688664267456
|
||||
150 0.5460808983742688 1.1289965684546914 0.03903574349628039
|
||||
38 7.617629027425106 5.411105913171608 -2.660628272394109
|
||||
172 1.971077098016012 -2.934759849810778 -2.6385133345793075
|
||||
29 -0.8567705552974654 6.938534740571189 1.1877415743187205
|
||||
87 -2.465817251368031 -0.5425773738872799 -0.8367656554342691
|
||||
93 -3.238874163573574 -1.2524540618123574 0.7858441913773856
|
||||
195 0.6658739747764354 -1.3905513374439 -4.4817269197268415
|
||||
149 4.447455849494194 -3.5745477247727786 -0.5281496993793596
|
||||
25 3.022648709593685 0.43914951689799137 -0.6775610151451638
|
||||
35 1.3277674074899293 0.9468507964705938 -3.026965993493294
|
||||
116 3.907132307739244 1.560341819486881 -2.1186616218198884
|
||||
5 -3.10241641974574 6.10623002683338 -0.012215259748321432
|
||||
112 -2.863798374154691 0.5948426813836486 0.35177484162268213
|
||||
152 1.5766503044655036 -0.41730163186181074 1.996501964828515
|
||||
132 -2.0634425438904502 -6.992874517268254 -0.2451331836568511
|
||||
173 0.12455810167557121 0.14574198963840712 2.9966160518510416
|
||||
73 -0.10493988646970537 0.013265555839272553 -3.9096646776491677
|
||||
161 -0.7682600042762859 1.8026603641653332 -2.7660568636516665
|
||||
78 -4.598805320864625 -0.6966368634003359 -2.729429984123398
|
||||
11 -0.9758381654162251 0.5227854122925947 0.3448945101494703
|
||||
84 2.841479136799234 0.22602223675017963 -1.9286282882334902
|
||||
90 -1.170230656537341 -0.6922100007103397 1.00880686523509
|
||||
36 -1.555842370975647 0.5631255749042902 -1.1019837065378786
|
||||
98 2.0124676556916246 0.6570695281160257 5.910973495167498
|
||||
56 -0.022897610961461763 5.352337474059436 -7.2334429828662445
|
||||
109 -0.08981766099555996 -2.306157996649536 -0.3829489041252826
|
||||
115 -0.9773922652842171 -1.500230307176322 -3.510085314469408
|
||||
124 -1.1435154328225432 2.1646855444941977 -2.677614067537958
|
||||
121 -0.6489305438370466 -5.377205725667324 6.410392354489873
|
||||
80 -2.184720009719291 -4.6495239027996265 -0.404219915911962
|
||||
101 -1.8277373470288034 -0.16307514644975357 -4.871062878988115
|
||||
4 5.273572229084702 -6.329640548895822 -0.10537322064888095
|
||||
81 -3.237096839577087 -1.2899510482475711 -0.501749653216555
|
||||
6 -2.850185972190969 -0.9855865922331829 1.2879726986158606
|
||||
166 -0.71207408822265 -1.941276610007301 -0.46670672944069197
|
||||
40 2.5501094465369287 -4.1121537776062285 -3.7730629800493616
|
||||
127 0.9391826983400688 -0.23609028118969985 -0.8428319005564415
|
||||
104 -2.889702758235898 2.6026465825944647 1.733501739951787
|
||||
151 1.0239383010373613 4.20250515830853 -2.5188428027750676
|
||||
60 0.8768242700054026 -1.4452870366932915 4.607166615214986
|
||||
168 2.6499467008683806 0.15351519699868008 -2.4173199831848433
|
||||
51 -2.7001470663696083 2.298050292705142 -1.8727439352999022
|
||||
97 4.077411493370136 -0.49363711607361804 2.618893169202227
|
||||
103 -0.7976469434966291 -2.8296239792549494 -3.1085019733170576
|
||||
163 1.4239083858918546 -1.7152330037559187 -3.7262201886107413
|
||||
175 2.28608354457103 -5.013082617544787 1.9463144730607622
|
||||
158 2.364724804444635 -1.417965451640216 3.3110988056960116
|
||||
85 2.634049111053192 2.030183273599258 -1.1156959044778305
|
||||
63 -2.5594596368644584 6.5807348164634165 1.2216612365119401
|
||||
133 0.11496856368877509 -1.3029278864933922 0.3137832360475215
|
||||
67 3.2847742901460815 -3.509493405431694 2.207008202574443
|
||||
83 2.570557721108847 -0.3717669874940476 0.19918880069367745
|
||||
162 3.0399699011039054 1.3116112714661063 2.674382531726811
|
||||
170 -1.38109599459742 3.3822351643604485 2.3645182440787846
|
||||
181 -3.229104480841883 0.4809626947427979 -1.0038042842684436
|
||||
71 3.9132675825937917 1.4930647145750953 -2.169388439547446
|
||||
31 0.2080392077753374 -0.7175240437209078 5.244126748535574
|
||||
139 -3.2722113265821164 2.403646928095839 4.89007181946881
|
||||
3 0.23844888496446556 -1.2064671761077215 -3.765272552252597
|
||||
108 1.9533881124972572 2.2407632376201616 2.7809203919337717
|
||||
16 -2.546655497698339 -2.9475172512416052 5.679217575496501
|
||||
110 -2.0619258300646304 -2.5135908125338595 -1.9634278842507895
|
||||
50 2.7297022478135924 -1.7023753942716038 0.9305543045166054
|
||||
191 -5.08419299322051 0.0712033790584315 4.019663294315123
|
||||
187 -1.1602692653736124 0.6592040176624594 -0.9276587772961099
|
||||
180 3.9270482120535912 0.7337070019018614 -6.1521791130682715
|
||||
30 2.146405625539158 -4.470711382216746 2.4389136902743624
|
||||
2 -2.164694698633498 -3.946038803617009 -6.932908852758065
|
||||
17 -5.0136316664846525 -4.910395378878622 0.2531438520391362
|
||||
7 6.405139093241594 -0.029320522419797518 -2.4556700372713656
|
||||
164 -4.71978957162196 0.7565882723845814 -7.804804192177828
|
||||
69 0.585325244096323 -4.172549570259053 1.421305529899283
|
||||
61 -1.2969434367599055 0.21371727493194503 -5.996553017036012
|
||||
34 0.836211095631979 4.842199148306591 -0.264740483545493
|
||||
43 4.973431404758735 -3.0161637272673114 0.6585207320279483
|
||||
177 1.9972180553856484 2.8405653312769714 3.7936113983454574
|
||||
179 -1.8016662165736297 0.17922718595288942 1.675961420609039
|
||||
65 -0.3262344061357664 4.502937830108041 -1.6925046570602365
|
||||
27 3.2148912674329595 -4.265923914349978 0.20837858074619325
|
||||
58 -2.5148141053183966 -3.410776250506333 -4.126435252324821
|
||||
32 -3.9688004644027894 -4.975859333985981 -0.31037975343014773
|
||||
26 -1.8868624613436276 -0.6784023280861808 -6.9019978159434325
|
||||
142 -2.2655622806415803 5.065238482808602 -0.5612653461135326
|
||||
100 -3.1689440110918863 3.611829368506524 -5.535634657025687
|
||||
184 1.155071447769214 1.3970696009831187 5.21877428678114
|
||||
105 -1.0527289600189955 -0.359868396602688 -4.314898952688254
|
||||
75 1.1126434309490583 7.161365583137096 -6.8797286508213995
|
||||
99 -2.2511573267704605 4.325930022921806 -4.536664094156967
|
||||
193 -1.8538759123569282 -0.3771359852226918 1.3265167612281819
|
||||
33 4.043103770190031 -2.463191434468879 0.2825585567463736
|
||||
79 0.8247934215179962 -0.8593180918731026 1.8075425908507756
|
||||
92 -1.9872298962564725 4.526116206000229 5.875185828559399
|
||||
165 -0.9325271408003691 1.9234746099504088 0.09139445808177141
|
||||
199 -2.4466143796538278 -3.5392337118481905 0.07336564176962056
|
||||
70 1.6955535004916 2.7542669443749292 -2.844202030673744
|
||||
146 -2.7188074197448584 1.8546678027188679 3.404472056065058
|
||||
106 1.6207845192963544 1.2164210998710923 7.1450165172108
|
||||
52 6.210256198054289 -2.1514980948844977 -3.0246733234381606
|
||||
86 -4.166581136807711 -0.379450814784322 -2.11423926273923
|
||||
197 -2.0944322960049 2.1097024434581955 -1.5699756741420037
|
||||
185 0.496431323422778 -0.673746468047717 1.6256733179580487
|
||||
190 3.5894390751435754 -0.5232916689073732 -2.5898259464521436
|
||||
145 -5.060692392767518 -3.604348262830216 8.963086293155014
|
||||
131 -1.7493649096325448 1.9215551392824017 -5.654561521157757
|
||||
156 3.0486560090093078 0.7623397112130897 -0.6623326467666147
|
||||
10 -0.3025813929631971 3.8012367067722552 1.7944918683195408
|
||||
196 0.20779509519657535 1.1724947587327104 -3.2497684331092898
|
||||
143 0.1615216816901657 0.541965759645283 -0.3699391852573772
|
||||
13 0.3416281793998905 2.006587618812918 -4.356326172952984
|
||||
59 1.6542517855144645 1.9404536050042447 2.6385288647359855
|
||||
186 -3.4589984191612237 4.344929883747252 -2.4261876990284055
|
||||
136 -1.052237178030063 1.7981079687785935 1.5452947189881334
|
||||
192 -1.8283033036376375 -2.1460456664281984 0.4532252919540826
|
||||
113 -0.07210257811201395 0.4448121853700756 0.4002442722770919
|
||||
62 0.07671657245048122 3.988794018720988 -1.5215067553007326
|
||||
74 -6.261763851450271 6.841230877971418 0.19948931371832682
|
||||
118 -4.55843930988713 0.7045880922983706 -1.5541929923380147
|
||||
117 -1.7138030815767766 -2.2218466460669197 -2.4862510267677966
|
||||
23 3.4139900995951797 -1.2153416151189098 1.5870813641624815
|
||||
171 2.9673700826094715 -2.730113253007238 -0.013674771129509489
|
||||
94 -1.559158449433541 -4.089352807642382 -4.9936243516296415
|
||||
41 0.05830786336808787 1.0332428056957692 -1.4731928753411638
|
||||
141 2.0403501209228514 0.38114816689047215 0.2637593201666092
|
||||
159 -2.276370624127765 -5.5130320242721425 -2.201507053272948
|
||||
422
examples/PACKAGES/pimd/lj/data.metalnpt02
Normal file
422
examples/PACKAGES/pimd/lj/data.metalnpt02
Normal file
@ -0,0 +1,422 @@
|
||||
LAMMPS data file via write_data, version 8 Feb 2023, timestep = 100000
|
||||
|
||||
200 atoms
|
||||
1 atom types
|
||||
|
||||
-11.876696863105703 11.876696863105703 xlo xhi
|
||||
-11.876696863105703 11.876696863105703 ylo yhi
|
||||
-11.876696863105703 11.876696863105703 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 39.948
|
||||
|
||||
Pair Coeffs # lj/cut
|
||||
|
||||
1 0.00965188 3.4
|
||||
|
||||
Atoms # atomic
|
||||
|
||||
39 1 -10.348412656724513 -8.709686235988883 -8.4270990310572 0 -1 1
|
||||
57 1 -6.076254771403757 -9.286388884881402 -7.702702502017148 1 0 0
|
||||
82 1 -7.550388144071918 -7.009510153923324 -10.103430125234938 0 0 0
|
||||
65 1 -10.007477542149314 -8.426774632489874 11.409858756818739 0 -1 -1
|
||||
8 1 -7.164995520412905 -11.038468804393306 -10.58636480246276 0 1 1
|
||||
49 1 -0.45959797061569213 -8.711842576893478 -7.759689256680434 0 1 0
|
||||
54 1 4.335836096446666 -9.860468354448713 -9.596810041931791 0 -1 1
|
||||
102 1 2.5723817340883883 -6.321599469181216 -10.836018784654463 1 -1 -1
|
||||
114 1 3.9633708583907534 -8.59122246718616 -6.211421303718058 -1 0 1
|
||||
128 1 1.6111319524977374 11.42178725036819 -7.424763349756333 0 0 -2
|
||||
157 1 6.676723241532642 -6.249807038476984 -7.434858543313773 -1 0 1
|
||||
20 1 8.180031746693997 -11.224906976375225 -9.914700910890055 0 1 0
|
||||
147 1 10.552595438745763 -5.846535200951102 -9.39377855844701 -1 2 0
|
||||
169 1 9.349136090221942 -8.979140149397233 -6.8265579785125965 0 1 1
|
||||
123 1 -6.855446583817184 -3.2640394531559696 -10.949254791001273 -1 0 -1
|
||||
130 1 -6.535059536526429 -2.567484128692307 -7.041716414515715 -1 1 0
|
||||
140 1 -9.06855871809178 -1.3542845787289544 -9.224892837601802 -1 1 0
|
||||
153 1 -4.569518029474378 -5.203914109037015 -8.781875667281184 0 1 0
|
||||
129 1 -0.2299073567614939 -5.077417463604178 -8.55580527821163 0 1 1
|
||||
148 1 -3.144987560803104 -2.0908434236033218 -9.879429686918634 0 0 0
|
||||
119 1 -3.5411143846194992 -3.8360561641889532 10.696563632316428 0 -1 -1
|
||||
134 1 -0.04545170129816967 -0.3594090384455699 -8.557611667254108 -1 0 2
|
||||
174 1 3.1061081743214345 -1.9799957752444968 -10.724581364205001 -1 1 -1
|
||||
189 1 2.8769937819916396 -1.3674240720053161 -6.389788220787231 0 0 2
|
||||
28 1 6.237115641177313 -1.1545998190288946 -9.272228860156012 0 0 -1
|
||||
1 1 7.549394959535029 -2.854734791893552 -6.538590887699934 1 -1 0
|
||||
24 1 10.883729099000904 -2.1271876989337706 -8.117545982704844 0 -1 1
|
||||
176 1 10.267930709995003 -3.6438442151633126 -4.343476582694092 0 0 0
|
||||
182 1 -10.786266284256198 0.5593263120798149 -5.188887623332871 0 1 -1
|
||||
137 1 -8.253864841052525 3.7298295620111226 -8.568533527553154 -1 1 0
|
||||
89 1 -5.794201120520342 0.9380076791670935 -8.557102414588634 0 0 -1
|
||||
88 1 -3.290466618666769 2.666597373561615 -10.965754432660972 0 1 -1
|
||||
160 1 -0.18201736379451042 5.440877252854083 -6.045408976448922 0 0 1
|
||||
125 1 -3.2721098231201498 3.482326329512073 -7.20800643325733 0 1 0
|
||||
167 1 2.6838478408055124 2.662941774470184 -7.446400398896404 0 1 0
|
||||
107 1 2.461769881852174 1.4723823486650787 -11.23948224456525 -1 1 1
|
||||
45 1 -0.32643148409171074 3.4132158246810462 -9.890588978502432 0 1 0
|
||||
95 1 7.12050576869771 1.8830305880227627 -11.021337217501824 0 2 -1
|
||||
111 1 11.302810293745958 1.3519264206984616 -8.432303785348612 0 1 1
|
||||
37 1 7.499987535787309 1.5957548452787924 -7.727720303674275 1 0 2
|
||||
53 1 9.440512427968931 5.294797843867766 -10.137582763727357 -1 -1 1
|
||||
122 1 -8.602536179448315 11.512272015578171 -7.106756749836173 2 -1 -1
|
||||
126 1 -8.684507097426447 9.102724910576027 -10.228076159133025 0 0 -1
|
||||
72 1 -11.212168106684132 7.24750708554837 10.879317278944692 2 0 0
|
||||
144 1 -3.026583839716779 -9.884067057114146 -9.895519067990667 0 1 1
|
||||
135 1 -0.0021296445465068814 7.861337183488864 -8.408004375424728 1 0 0
|
||||
183 1 2.8552963287326403 5.197557014594176 -10.04944592034365 0 0 0
|
||||
155 1 3.763607040992876 9.197661654352766 -9.383705258407385 0 0 0
|
||||
21 1 6.743085276662367 6.819489412060577 -8.245771575257553 1 0 0
|
||||
66 1 9.52403312105875 7.459476022143324 -6.138585785756646 -2 -1 0
|
||||
42 1 9.12856561120073 9.359598065403702 -10.255808680046007 -1 1 0
|
||||
22 1 11.084937277836246 10.7346270298744 -6.189336343510782 -1 0 0
|
||||
47 1 -8.79851480543095 -8.030651717047036 -5.3995272670275725 1 2 1
|
||||
77 1 -6.824604399212273 -10.927075660857042 -3.894519486445894 1 -1 1
|
||||
18 1 -10.638894292838417 -11.301447222259686 -3.92180055862298 1 0 -1
|
||||
46 1 11.290286356240586 -7.674430365874162 -4.055829279128204 1 0 -2
|
||||
14 1 -9.506577112536185 -7.441780453176744 -2.0080876276818103 -1 0 2
|
||||
178 1 -4.543756730558393 -8.097143654115143 -4.784790404681888 2 1 0
|
||||
48 1 -3.2444312260629573 -10.940861821243079 -6.354255167480908 1 1 -1
|
||||
55 1 -0.9464860706310958 -6.285996525353373 -4.30908825600282 -1 0 -1
|
||||
12 1 -1.856123326430506 -9.517447392023085 -2.3435724928975645 -1 0 2
|
||||
15 1 6.077305695814157 -8.166300444221115 0.7448836933119019 -1 0 -1
|
||||
64 1 2.7452944971646858 -10.558129575009149 -1.730050297615053 1 1 0
|
||||
44 1 8.116024736633927 -6.297043957734161 -3.618119081228304 -1 0 1
|
||||
188 1 9.990490631214506 -8.453825757862562 -0.7847723993749525 -1 0 0
|
||||
200 1 -9.371399961242005 -3.371895968187197 -5.193597997968697 -1 0 0
|
||||
198 1 -7.163187216472317 -1.1934858004192783 -2.2622400054633864 0 0 1
|
||||
76 1 -9.919958613706985 -3.040871792288106 -1.4149931903428534 1 0 0
|
||||
194 1 -6.743945843921815 -5.005230021567819 -2.613393963742155 0 1 -1
|
||||
68 1 -2.5671189668335317 -3.434435519320573 -6.1465461411366 0 1 1
|
||||
96 1 -3.430661147431614 -4.018545052073527 -2.021400662533695 -1 2 0
|
||||
91 1 2.9683873682514026 -6.254217834947031 -2.3589109971891737 1 -1 -1
|
||||
154 1 -0.2218228203315391 -2.902150057925404 -2.9725706529414366 -1 2 0
|
||||
19 1 3.2665435171804194 -1.9817522239515633 -2.3096363660640975 0 1 -1
|
||||
120 1 6.609146288179666 -2.2318382061287565 -2.808377349441308 1 1 1
|
||||
138 1 9.631227201052864 -4.547744518411388 -0.6709487904267171 -1 1 -1
|
||||
9 1 7.596887391638223 -2.0237588049028696 0.6051605861836649 0 0 1
|
||||
150 1 -10.044973671786467 2.0147581633676452 -1.3897952482345524 1 -1 1
|
||||
38 1 -5.7978106400822895 4.770632320137689 -4.758054319452569 1 0 2
|
||||
172 1 -9.658785222083136 4.026164557116778 -4.942402258050777 0 0 2
|
||||
152 1 11.431334273176418 -0.4623515239881826 -1.925450909701469 -2 -1 0
|
||||
29 1 -7.909238416570071 7.61624491229837 2.2042493522591258 1 -1 -1
|
||||
87 1 -3.3103551172038665 -0.94337019011639 -3.5930404382745955 0 -1 1
|
||||
93 1 -6.2863195662557 0.9404795536165196 -4.898675396085437 0 -1 1
|
||||
195 1 1.0245553543549981 0.20159488775043144 -3.679042462676364 1 -1 3
|
||||
149 1 -2.269526344184385 2.8074136653426387 -2.5814855370744945 1 0 0
|
||||
25 1 4.649154714287583 1.2394738761102164 -0.6186508337325307 -1 0 1
|
||||
35 1 2.8516234465534787 3.745844200453856 -3.7667964552544286 1 -1 0
|
||||
5 1 5.795606814798939 1.5285888723891716 -4.179888075744685 0 -1 -1
|
||||
116 1 6.001522247841404 5.755884373452364 -5.02433183427119 0 1 0
|
||||
112 1 4.844016623012077 5.465934695953432 -0.25432767294668557 -1 0 0
|
||||
132 1 8.53939720077536 1.8213558063438606 -1.3830903771567364 0 0 0
|
||||
173 1 9.062655610340409 3.8664027467280935 -5.47150892329001 0 0 1
|
||||
73 1 -9.979257287380412 7.98839910326609 -6.702836934882303 0 -2 1
|
||||
161 1 -11.50425364162053 7.022415057658153 -3.488322518144713 2 0 2
|
||||
78 1 -1.7469625877850241 10.184158454427994 -1.7648096425042503 1 -2 1
|
||||
11 1 4.444644958846757 11.851997915189173 -4.933412264679578 0 1 1
|
||||
84 1 2.459047681073617 7.373812748831801 -5.213139361825189 1 0 0
|
||||
90 1 6.1482860548874925 9.307626902509035 -0.9026751698054234 0 -1 1
|
||||
36 1 1.9695381713294537 7.78336838361963 -1.7729647147442544 2 -1 0
|
||||
98 1 8.527874795717773 7.612035599231426 -2.9325216125652 -1 0 0
|
||||
56 1 7.282783408448612 10.400831236794666 -6.728973679619628 -1 0 1
|
||||
109 1 9.156728968120607 11.308407539099598 -0.9040861597803378 -1 1 1
|
||||
115 1 -7.309621980156194 -8.117595813105002 2.8126740615279595 1 0 0
|
||||
124 1 -11.142069858043358 -8.82667541719755 4.10932707265772 1 0 -2
|
||||
121 1 -8.21003433895173 -10.089956822420406 6.660752548831763 0 1 -1
|
||||
80 1 -4.909425537698309 -7.256236799158399 -0.2747148144591023 0 0 1
|
||||
101 1 -4.312342956814611 -8.070113074572049 4.879741561255617 1 3 1
|
||||
4 1 1.5494925162428856 10.03102296069128 4.602107842780676 -1 -1 -1
|
||||
81 1 7.27113702294054 -8.472013640467047 6.625505444757195 -1 1 1
|
||||
6 1 8.885736885591768 -10.557271403060728 2.7878338185404203 1 1 0
|
||||
166 1 -8.69650192512206 -5.07362796560642 4.236148217669305 0 2 0
|
||||
40 1 -6.987849762900474 -4.511534637942379 1.3175075163680883 1 1 0
|
||||
127 1 -5.689629608203652 -2.3907227510814337 3.9463589292537864 0 -1 0
|
||||
104 1 -0.4397363632556015 -0.6165598923688651 -0.3313279093278112 -1 0 -1
|
||||
151 1 0.4300685018079994 -6.441488457556783 0.38045612640805615 0 1 2
|
||||
60 1 -2.3217820522915846 -2.1704723730197557 5.333166404467865 0 1 0
|
||||
168 1 3.9149834819211655 -3.3791911515481985 0.7567189672094479 -1 1 -1
|
||||
51 1 0.398133835057336 -3.3931578730294385 3.016370538231655 0 0 -1
|
||||
97 1 2.1573351041413034 -0.0855884286300217 2.2286851783702524 0 -1 -1
|
||||
103 1 3.9664988893980713 -1.064731427067052 6.037166605284854 -1 2 0
|
||||
163 1 -10.709566329240587 -2.7332402144894417 2.2660820588417665 0 -1 0
|
||||
175 1 5.762755562271241 -3.3856559659466114 4.002375112428048 -1 1 0
|
||||
158 1 8.862173003831924 -6.538751027751994 2.8769202677556542 -1 0 -1
|
||||
85 1 10.229250850148503 -0.01502947727190853 5.300096059690905 1 0 1
|
||||
63 1 -8.263417127255543 -0.18022873161562153 1.17510825734459 -1 0 1
|
||||
133 1 -10.480766232506394 2.392923584409271 3.720879727063737 1 1 0
|
||||
67 1 -6.544234163722191 3.501038541004621 3.191437971422375 1 0 0
|
||||
83 1 -3.849802400718045 0.6646468573486004 2.7446055069817703 0 -2 1
|
||||
162 1 0.6098193007635196 -0.05324811248282152 6.154363200071202 0 0 0
|
||||
170 1 -2.6786368359767714 4.255168732248176 6.435570102352074 -1 1 -2
|
||||
181 1 -5.252793067773865 0.7761154003139943 5.79909696611136 -1 1 -1
|
||||
71 1 1.6452911952303246 4.06622820161267 -0.5166203216146883 0 -1 -1
|
||||
31 1 1.0738987741436463 4.15303788757344 6.141061091921109 0 -2 0
|
||||
139 1 3.8104659718300624 3.693576878280304 3.384062081506274 -1 2 0
|
||||
3 1 10.9858871588246 1.2545617976234098 0.8570931258327192 0 -1 1
|
||||
108 1 6.174388178357244 0.8538858651722911 3.6472942727893374 1 1 0
|
||||
16 1 8.97282237909764 3.5943899325206274 4.02632096928566 0 -2 1
|
||||
110 1 -11.336507152318017 5.947474598331584 3.14037651741927 0 0 -2
|
||||
50 1 -7.046202899905131 11.083294806174674 4.036430331092051 0 0 0
|
||||
191 1 -8.508890702823583 6.994301261898876 5.5988324620755945 1 -1 0
|
||||
187 1 -10.749519222803974 11.280267500561628 5.071750333310352 1 1 0
|
||||
180 1 -1.0032349913124285 6.140237973021502 -1.7436540397788036 1 -1 2
|
||||
2 1 -1.7946548786825645 5.404613901091388 2.68002365908378 1 -2 -1
|
||||
30 1 -0.6282593143948212 8.881746166196663 1.2420280890418454 1 -2 -1
|
||||
17 1 -1.9971151666590217 8.252473054961822 5.30244560397972 -2 0 -1
|
||||
7 1 4.0488432159812255 8.81693522673231 1.6114995620401231 -1 0 1
|
||||
164 1 1.873438403508949 6.222826359057496 2.2533705281578316 -1 0 0
|
||||
69 1 4.6051775335846745 6.921132428828564 5.128620799236167 0 -2 -1
|
||||
61 1 10.268176907196304 5.08172043450454 -0.642274843845057 -1 -2 0
|
||||
34 1 7.601946368008498 9.256904252690223 2.406585955238384 0 0 -1
|
||||
43 1 7.165450199452092 6.0290506218302085 2.4419163969738023 -1 -2 1
|
||||
177 1 8.561622776612461 7.244917835893727 5.602147565752702 -1 1 -1
|
||||
179 1 11.750057623239174 -11.228395927014766 -10.487778908482419 -1 3 2
|
||||
27 1 -10.974224751020245 -11.635298968202441 8.509409995684443 1 1 1
|
||||
58 1 -9.692847117546727 -6.99702076150861 8.089242933510139 -1 0 -1
|
||||
32 1 -6.165044846878473 -5.3531372054847 6.419358142287187 2 1 -2
|
||||
26 1 -5.15775210282499 -8.509724647787523 9.35521475378418 1 0 0
|
||||
142 1 -2.2394120995772013 -6.757001235575803 8.53817557952535 2 1 0
|
||||
100 1 -1.562747759528225 -10.930435349230905 6.862796976881519 1 2 0
|
||||
184 1 7.329483236732028 -7.477553906204161 -11.457403276020457 0 1 2
|
||||
105 1 1.3124523565691075 -7.852976862538032 4.005035595809602 0 0 -1
|
||||
75 1 4.597924698307231 -6.283694211187047 5.476806400599068 0 -1 0
|
||||
99 1 1.716773073271929 -10.998458790026556 10.715096401091909 0 0 0
|
||||
193 1 2.1325154242736666 -6.931854968739277 9.419307764840358 1 1 -1
|
||||
33 1 4.48712925680286 -11.671378658171115 7.267170381111049 0 -1 0
|
||||
79 1 8.573107089496888 11.611228502272368 5.983087465760138 -1 0 0
|
||||
92 1 9.81601068917706 -9.527916362770739 11.159627680682005 0 2 -1
|
||||
165 1 -9.2113400341349 -3.219195257680457 7.288219778779848 0 0 0
|
||||
199 1 -6.931272020823427 -5.000130571946396 9.88597891452116 0 -1 1
|
||||
70 1 -5.507541862888313 -2.393142934597723 7.807143673901248 0 1 1
|
||||
146 1 -1.4771503758916822 -0.5410305896302106 11.279923136114263 2 1 1
|
||||
106 1 -1.3651808664767915 -2.54616781259121 8.590647351661577 0 0 -1
|
||||
52 1 0.6779843498698166 -3.7311606456725768 11.453754175953545 0 0 0
|
||||
86 1 5.4031998049641565 -4.549788149287394 8.596350093940629 -1 0 1
|
||||
197 1 1.573548668834416 -4.687213943022477 7.1278633337641 -1 0 -1
|
||||
185 1 2.1532991864501554 -0.6046775517606129 10.000779301772766 -2 1 -2
|
||||
190 1 7.401787297285096 -0.2505978640044338 9.870584022136198 0 0 -1
|
||||
145 1 7.111702440333872 -3.6540730490844453 -11.814469255040187 -1 -2 0
|
||||
131 1 11.130905707249603 -5.281990426153451 6.209567942496238 1 0 0
|
||||
156 1 -5.482768650143603 -0.4312680407464029 11.466238929392272 0 -1 -1
|
||||
10 1 -9.053182404201642 -0.711645217691651 4.8230146575990815 0 0 2
|
||||
196 1 -9.337441409320208 0.1609718702750058 8.663781619737854 1 2 1
|
||||
143 1 -7.17068301465806 3.0756929715249197 8.74321294778271 1 0 0
|
||||
13 1 -11.784452395762827 3.289072175663378 7.001527553636599 -1 -1 1
|
||||
59 1 -3.4378714190696336 1.7721863061771366 9.36771463550879 1 -1 1
|
||||
186 1 0.1662370132365254 2.5243181917810595 9.709168312215267 1 1 0
|
||||
136 1 3.4094152339708126 2.153729603693705 8.008621315534214 0 -1 -3
|
||||
192 1 10.489678729236587 2.4935818679754185 9.842929691077494 1 1 1
|
||||
113 1 7.1536296108923345 2.1797090477435894 6.8304033834765505 -1 -1 -1
|
||||
62 1 3.9169396613561496 6.861682724751661 8.976027690230366 1 0 0
|
||||
74 1 -8.118378807759774 9.793902614888827 8.932362315849124 1 -1 0
|
||||
118 1 -11.58583737453999 8.536873240765573 7.014861349235567 0 1 0
|
||||
117 1 -5.277108589074334 11.352800033973235 7.597327201748058 -1 -1 0
|
||||
23 1 -5.157626384085098 5.75340956696832 11.215724105856438 0 0 -2
|
||||
171 1 -4.306475221375887 7.1666374724202555 7.827635610104089 0 2 -2
|
||||
94 1 0.5173001347371304 9.700900025717369 9.033047100941438 -1 0 0
|
||||
41 1 5.490142462338115 11.510392579949611 11.613725539319557 0 0 -1
|
||||
141 1 9.87566572043054 5.774221219191659 9.0665289512053 1 -1 -1
|
||||
159 1 9.686865955901812 9.753371327924555 9.75057962979839 0 -1 0
|
||||
|
||||
Velocities
|
||||
|
||||
39 -1.9399818993193945 -6.2245952285602995 3.5338548174142916
|
||||
57 1.5287860491005811 -2.72214429330134 2.2456706435699694
|
||||
82 4.011405667244886 1.5297461738282854 -0.00848199347765205
|
||||
65 -8.99687886174914 -3.5904944014362874 -0.24257004026483364
|
||||
8 1.3456043077490425 -2.128460026427474 0.5438548397418695
|
||||
49 3.9804563992312922 -6.033137289721198 -2.4992971438276896
|
||||
54 -0.8797092038138496 -4.4441361344158485 -1.158307352101043
|
||||
102 -1.6073661483672754 -6.3013772766305705 -0.8971841583061024
|
||||
114 4.952776653242985 1.9508143607180544 -4.637659613505405
|
||||
128 -1.269058654850369 2.9109256516813193 0.4053666332013952
|
||||
157 -1.0484348115580815 1.3302695757858152 -2.3230656835483483
|
||||
20 1.6286859684439459 0.8384182438479687 3.337320080806048
|
||||
147 1.7009416069818912 -1.6078420463299883 0.41513271531119245
|
||||
169 4.488200687237288 -6.490934602483694 0.13987631822178037
|
||||
123 -2.8913963004993426 7.445402407235762 -0.2708525381058624
|
||||
130 -1.3405859620177862 1.4399831113332697 0.048073865645907876
|
||||
140 5.071347652434061 -0.6702612789643095 4.605780995472893
|
||||
153 -3.7972143859475698 -0.514917067426214 -4.9181301157390225
|
||||
129 -0.524987732421045 -3.209340969084892 2.932495986872108
|
||||
148 -5.447057077277419 -1.4060679681657386 -5.483184347880067
|
||||
119 -2.5629223421862375 1.3882127095818109 2.83591016397441
|
||||
134 -1.3621064953428361 4.288456433365155 -1.6190478694645496
|
||||
174 1.7758446648889914 4.86331991854285 1.1265592480566544
|
||||
189 -2.1997618638118066 -5.481413979755256 -1.086026577758521
|
||||
28 0.47277982211285713 -2.417172577737755 -1.932990476216946
|
||||
1 0.6703800334847378 0.767366418061703 0.19201532965448842
|
||||
24 0.04297238333671294 5.144308305848863 0.078997482901074
|
||||
176 0.4965479246937361 -0.13321844730810892 -0.13420426694661658
|
||||
182 -0.03943631525057928 -0.4576897656157408 5.202139202652978
|
||||
137 3.3038160138315282 -2.8142339694373977 5.5902387847740025
|
||||
89 -0.7210799083306686 1.5890809944259632 -0.7203455040724582
|
||||
88 1.0693506358892855 0.004219772825099388 -0.34637529725335453
|
||||
160 2.818428049318086 3.2244292228167537 -4.494216600884747
|
||||
125 0.42818621594139183 3.1889923789665167 -0.2889418149701054
|
||||
167 -1.634028108672504 2.274964875925839 -2.5010575325085713
|
||||
107 -2.275260397982265 0.40965124117591156 3.7368455922538386
|
||||
45 -0.7001662440449031 1.119455401379465 0.23148546097076927
|
||||
95 5.262372995855103 -2.4350400461030928 4.204427583146448
|
||||
111 -2.8606969082837232 -2.7980553847036016 -5.595977877258418
|
||||
37 -2.2899225677006445 -0.8948602257995134 -0.4803200724258121
|
||||
53 3.002131309420766 2.6120771462261168 -0.9952903525863226
|
||||
122 0.8674217257039606 -7.734997952666523 0.833404061351757
|
||||
126 -1.1420613062006533 -4.550118096866477 -4.2790463933780245
|
||||
72 -1.8516741228057083 5.947761028964626 1.6102399224289305
|
||||
144 -1.1917460086100382 5.214371411898472 2.577241700331775
|
||||
135 -0.6560595442322588 -5.810339924107932 -4.318267593309593
|
||||
183 -10.386809746296331 1.1897898885572993 3.451816626760367
|
||||
155 -5.162635743080924 -0.24765733386766664 -0.9110712844247615
|
||||
21 -4.2563878171076155 -3.402344841498928 -6.759865341543254
|
||||
66 3.892260841699981 -3.872668437572034 -0.3337143786545691
|
||||
42 0.4166666127989469 6.100606589949791 -1.4397576055696024
|
||||
22 0.3608663266598049 -0.6522614903150212 1.896193166731318
|
||||
47 -5.327073086748509 -3.490472671050769 -0.07383525372930849
|
||||
77 -0.978728222397191 3.4020107799172736 1.0077489411757843
|
||||
18 -0.4650542307772494 2.9718359172432747 1.4633800163719572
|
||||
46 -3.027050149464662 4.17167624743228 -1.827230734431756
|
||||
14 -0.09677720578549692 -2.7193038262530447 1.7914199983541117
|
||||
178 3.696002315695369 1.6876713658009856 -4.672832052845037
|
||||
48 3.983692149992739 -1.1833239408832328 -4.299433489091069
|
||||
55 1.4078039475385906 2.056934505867413 3.7406982539078393
|
||||
12 -6.525348764219679 3.3122244911450394 2.6197769407714624
|
||||
15 -3.3141834562011994 0.5054069138851847 -2.97725365266652
|
||||
64 -7.771910612976191 -4.581106933347833 -0.41638292972909086
|
||||
44 1.6412238745050067 -1.8908109366759165 -0.06612343065785803
|
||||
188 -3.5844091539515395 1.8268122826497 -0.2374993089904055
|
||||
200 7.894813073634868 0.057995156825788374 -2.5771892403060033
|
||||
198 2.1286980919165597 1.0207578884216715 -2.002608806720997
|
||||
76 -4.082585877193767 -3.634723448931757 0.6497689857802457
|
||||
194 -5.141422516595061 -5.385767090831518 4.1044833771883145
|
||||
68 -1.3677719930905985 1.0604606148180302 -1.7254671966550923
|
||||
96 -2.592687583785919 -0.5546395167068001 0.38605262002135754
|
||||
91 -4.294011884932044 -4.480411411848511 4.543287343202344
|
||||
154 1.815487275814105 -0.07008532516876564 -4.441392134697374
|
||||
19 -0.24976249513756998 1.579721447829149 -1.7421975373515703
|
||||
120 1.804118819372854 0.520165481785893 -0.866356354838586
|
||||
138 0.7160603181741005 -3.5316114730742316 2.8815518324723897
|
||||
9 -4.1756988875943195 2.0672991466342374 -0.8825046873416664
|
||||
150 1.815083623557248 2.773051884794719 1.9746918971798604
|
||||
38 -1.502458122060807 2.504120522003904 3.5630087040476006
|
||||
172 2.925371783317832 -4.008067088721308 2.95272814084428
|
||||
152 -4.6300230395213555 -1.2429914909034638 -3.848634119515747
|
||||
29 2.326120452340355 2.730479927388889 -4.850062460498464
|
||||
87 -3.7757652246448092 -2.144244861787354 1.0169754355289107
|
||||
93 -2.0873983214067384 0.5358760575940038 -0.23325341995082138
|
||||
195 -1.4168233936677792 2.3959259540484603 -2.0506018284590537
|
||||
149 2.2841089396850274 0.26447423100144896 -0.8987301521306412
|
||||
25 2.8990369033774663 3.4475964151025584 0.06622887609588958
|
||||
35 -3.439056984685437 3.8288190767067634 0.5330155111995796
|
||||
5 1.1832213107046619 -0.3877998693431248 -1.369194610956917
|
||||
116 -2.0849829431786198 -1.7654561629509715 0.6633937705540919
|
||||
112 -0.5822227923488573 0.3013831835536517 -4.31387983328802
|
||||
132 -4.968232076425547 -0.6461873308157724 3.153818258163696
|
||||
173 -2.606365772909947 -3.929167709306097 -2.1504295970222675
|
||||
73 1.5595598163445097 -0.6161933298135185 6.6258235518245785
|
||||
161 5.1614226588847085 4.911303681383577 3.193451794720913
|
||||
78 2.399770604666089 -1.7368694007148553 3.13840955491289
|
||||
11 -0.1723279344217883 3.2117525787482495 -5.003125430736541
|
||||
84 -3.0246026160032238 -0.10349126829912314 -2.244471367403812
|
||||
90 2.2752472907587027 0.5192129247104318 1.739661062051631
|
||||
36 3.3131943405122586 -4.945706489020841 0.7304326039438429
|
||||
98 2.222390966846857 2.076728811998776 2.745752031197498
|
||||
56 3.2308827790046997 2.20226369176158 -0.16256864643069302
|
||||
109 -5.432919034165497 -0.6507653252627013 -2.288197504123378
|
||||
115 3.2470353212929526 -7.326498442980268 2.0848162375252226
|
||||
124 3.23326108206676 -1.3727946801269606 -2.040624527813595
|
||||
121 4.263689866797482 2.7161360736926117 -0.9353436003014414
|
||||
80 -3.183923910858363 -1.409115057483441 0.20655585479413852
|
||||
101 1.8647413072811272 -5.138741167769708 1.449442652238715
|
||||
4 -4.059920467104848 2.021712460074869 4.0296908872357
|
||||
81 -1.4496413113665318 0.22275997734715647 1.0204012050853233
|
||||
6 -2.5319674910604797 2.921972066778776 -0.5937144564354684
|
||||
166 -1.7032554189048639 0.4271452228969883 -3.929596648952609
|
||||
40 -3.2997667945300786 1.7569019147151133 0.9556994202850172
|
||||
127 -4.094479436855724 1.004173845399162 -0.957686162248562
|
||||
104 5.839775077994146 0.5614942472461542 1.3388300846640222
|
||||
151 0.03681474392662332 4.158212179208171 3.087410074045597
|
||||
60 -0.5753595098363337 -1.944185172990125 -8.542198180005448
|
||||
168 1.356831683366837 -2.3643099268420564 3.337777267437989
|
||||
51 0.594767745409305 2.5443394223058013 -0.5744844027146594
|
||||
97 -1.4592614460552826 -2.9896997140291077 4.468909988652328
|
||||
103 -1.7464552873436274 -2.725030040682925 -4.682984068370838
|
||||
163 -1.6811327453491027 1.203374785043913 -2.52756154734346
|
||||
175 -2.36073693749339 -3.2083472883959288 -2.522379591971816
|
||||
158 2.0901462213047384 -0.8790568223757592 2.862349710125339
|
||||
85 1.6955544698562546 1.329401432748634 1.339424168209504
|
||||
63 -0.9387866016534254 -4.101481886236126 2.5768942521591023
|
||||
133 -3.3950934863801323 -1.1853227351766746 -0.8938618367927571
|
||||
67 -4.93636647331341 -5.808321017441839 -1.5826220082758682
|
||||
83 -4.348910184667013 0.5721399223517865 -0.7197270365001088
|
||||
162 1.9809720767805532 -3.8356819219002203 -1.5209517397218844
|
||||
170 -4.1339290337428345 5.621618700525048 -1.5836709740423311
|
||||
181 1.1838126543084162 -1.2107904166348504 5.997389392830687
|
||||
71 -3.6322706258882382 0.4573448065249036 -3.4819929402094774
|
||||
31 1.5672965345476493 -2.5171072174405418 -5.016079150444441
|
||||
139 2.347944365043533 5.087068349207903 -1.4373175728413294
|
||||
3 -0.6897541703497496 -5.2109972760726215 -3.1967261285849102
|
||||
108 2.1632029794076 -2.3278780023196486 -2.2165896316468543
|
||||
16 0.5518752214748219 1.7443113317844785 -0.3914314868799459
|
||||
110 0.6545696772446776 -2.3972319991341955 4.869786319607602
|
||||
50 3.4589447101316337 -3.631848006300771 3.113137145447494
|
||||
191 -1.2968299225913498 0.4433703369757638 -1.5568387599668925
|
||||
187 1.9322905031758904 1.7630376183510783 -1.713007037692872
|
||||
180 6.8380544057940424 1.3883512491464782 2.155270210489675
|
||||
2 -0.9447291546303294 -0.0513923732527517 -3.0672808505869886
|
||||
30 1.6158645533289293 3.1155851081317145 -2.1710811001472363
|
||||
17 -1.543787339459575 3.1374805002054007 -4.413979305864849
|
||||
7 4.040936876599553 1.9639386370487468 3.3637852508743804
|
||||
164 1.4392327984967968 -0.8254697339648331 -0.33613984139186426
|
||||
69 4.683013019846548 -1.4001774602376138 2.7483283024733463
|
||||
61 4.859801586904617 0.3945575299928299 -0.36030106753723035
|
||||
34 2.144274218554215 0.30058665232035375 1.6815154302941946
|
||||
43 -2.262284846661947 -1.933549681130589 -1.7228919249476684
|
||||
177 -0.04379017544723046 -3.0489629385721146 0.8031465712034731
|
||||
179 0.1618165357299699 -0.15566873489305255 -1.156913000807537
|
||||
27 2.280685460437968 0.25990101487970774 2.9095092475822724
|
||||
58 -0.6292223334449243 -1.0309616093739953 -3.156937935356546
|
||||
32 -0.011281818866179849 -0.9102886141888968 3.1492471714773824
|
||||
26 0.3704942133027209 -1.9855236287495084 -1.1813125622083982
|
||||
142 -1.0547774115337973 9.781673444693524 -0.5474605098370294
|
||||
100 -2.466739505935093 -2.401234723424822 -0.9166143227115303
|
||||
184 0.998183931841219 0.5555844351868584 -0.24866844568146534
|
||||
105 -0.9091746414938665 -0.6852682268807229 -0.5049408850325867
|
||||
75 -1.2458876998256998 -3.70960636595479 -1.979594195572476
|
||||
99 4.943544682867021 -2.8438984768476887 -2.114165836507449
|
||||
193 1.6648153391738203 1.9396654116178769 -2.563892949279256
|
||||
33 -1.6878161438450656 0.40927910646954185 0.5582734801758544
|
||||
79 -3.538909021595642 3.805204310016289 2.7765516255860625
|
||||
92 -2.394452859130453 -1.9459314788883335 -4.8163793839903395
|
||||
165 5.545976326258468 -1.4902648191681507 -2.852217343260048
|
||||
199 6.057154285340822 -2.785333961235231 -3.9368802597200943
|
||||
70 4.428171740986177 -4.8728670167946255 3.9631873121213563
|
||||
146 3.789706894596731 -0.4960046634434 2.7214958472715947
|
||||
106 -0.23074985036276763 -8.713636612175375 4.005748004431039
|
||||
52 -0.7237533363087905 4.119548929665377 -2.8963629157006965
|
||||
86 -0.7790443173139772 8.632440811261022 1.3650149071424797
|
||||
197 1.0158635207501077 -0.6540677867631334 -1.9286092656946883
|
||||
185 0.14103906323580015 -1.9230099439242179 -2.9613897973588497
|
||||
190 -6.016428738140042 -1.2480913921594763 3.6835279433237065
|
||||
145 2.079579027486713 7.671127892348986 -1.2249224435341195
|
||||
131 -0.32590310182334836 -2.4757135143210527 -1.108006743304219
|
||||
156 1.5441602101522276 -4.3012365664752 2.152192470473115
|
||||
10 -1.9251615561320725 7.7941703098856605 1.152489777841718
|
||||
196 -2.5417164626144206 -2.322970333327737 6.382288207464665
|
||||
143 1.1146704068320736 2.2068798409995507 4.003296941736723
|
||||
13 0.2218873541633033 2.002339450538451 -3.9278426768807844
|
||||
59 -1.1249725039613747 -1.38236183692768 0.6273981188606278
|
||||
186 0.17954184943335427 -2.3932954696372053 -0.7313011465358523
|
||||
136 -0.6086309213506338 3.5713339511273894 -3.8080329205654193
|
||||
192 -2.4502215368224705 -4.545932925209442 -1.62934516857554
|
||||
113 -3.3214500416678074 4.555014566016373 7.353766374710929
|
||||
62 -4.358088896189819 -5.982496403026446 2.5501878477362316
|
||||
74 -0.5539329584507672 2.794170243271062 -2.161412931865338
|
||||
118 -1.979611801168517 3.0336891371182197 1.2515672466968413
|
||||
117 -2.6346443065380387 -6.52420382221947 -2.3221165776786097
|
||||
23 6.421824321311546 1.7253174765287 -9.160076509970361
|
||||
171 2.1156964930224973 3.568443790163169 -3.4488134770961105
|
||||
94 2.1701428589622624 4.886850980047828 3.260178593455835
|
||||
41 6.033712104492915 2.2785562972718627 -1.4849735175385876
|
||||
141 1.4706522295431979 -1.8195923066965298 0.019053288005804775
|
||||
159 -4.554564437682667 0.05936456417819991 -1.932073129933284
|
||||
422
examples/PACKAGES/pimd/lj/data.metalnpt03
Normal file
422
examples/PACKAGES/pimd/lj/data.metalnpt03
Normal file
@ -0,0 +1,422 @@
|
||||
LAMMPS data file via write_data, version 8 Feb 2023, timestep = 100000
|
||||
|
||||
200 atoms
|
||||
1 atom types
|
||||
|
||||
-11.876696863105703 11.876696863105703 xlo xhi
|
||||
-11.876696863105703 11.876696863105703 ylo yhi
|
||||
-11.876696863105703 11.876696863105703 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 39.948
|
||||
|
||||
Pair Coeffs # lj/cut
|
||||
|
||||
1 0.00965188 3.4
|
||||
|
||||
Atoms # atomic
|
||||
|
||||
39 1 -10.394704135733114 -8.775565826160808 -8.397941096758792 0 -1 1
|
||||
57 1 -6.0931281896189695 -9.344348749599556 -7.681818125657076 1 0 0
|
||||
82 1 -7.510250310452092 -7.015516388660279 -10.07082880494168 0 0 0
|
||||
47 1 -8.77559664157391 -8.051556457641034 -5.414795391990417 1 2 1
|
||||
8 1 -7.186535453159322 -11.036850971616609 -10.567777816088821 0 1 1
|
||||
49 1 -0.39620530191825165 -8.622783800666731 -7.678166749572666 0 1 0
|
||||
184 1 7.393521813917142 -7.373039726272342 -11.446331826056564 0 1 2
|
||||
54 1 4.350458272629415 -9.857224313433228 -9.653286924521744 0 -1 1
|
||||
114 1 3.8685603455186985 -8.598956542283156 -6.307174409208557 -1 0 1
|
||||
128 1 1.5947628847115236 11.435941489344966 -7.415359628481937 0 0 -2
|
||||
102 1 2.581923114006006 -6.377657392511939 -10.762619336954629 1 -1 -1
|
||||
157 1 6.660414728640671 -6.277919775804619 -7.429265669038422 -1 0 1
|
||||
20 1 8.111607396483045 -11.231970200759829 -9.923403990974927 0 1 0
|
||||
147 1 10.627447337694411 -5.758860591417452 -9.410039814850826 -1 2 0
|
||||
169 1 9.360516562348877 -8.959647419481891 -6.858134439225374 0 1 1
|
||||
123 1 -6.81574278381186 -3.257465879140419 -10.90227212401971 -1 0 -1
|
||||
182 1 -10.83184823295899 0.6211210726593173 -5.225302920513499 0 1 -1
|
||||
130 1 -6.48675645240678 -2.4960330140097717 -7.149887944428669 -1 1 0
|
||||
140 1 -9.06689925915267 -1.3404094442689392 -9.265230651366284 -1 1 0
|
||||
153 1 -4.596115154274846 -5.2269288210583476 -8.762725686367764 0 1 0
|
||||
129 1 -0.18023204267520931 -5.069487595679249 -8.563855383994511 0 1 1
|
||||
148 1 -3.129776386379185 -2.132302209017619 -9.812957672584432 0 0 0
|
||||
68 1 -2.5326692981381176 -3.433323674590902 -6.08354364753642 0 1 1
|
||||
119 1 -3.563878018222407 -3.8548716132518166 10.583657201237452 0 -1 -1
|
||||
174 1 3.1103832548223167 -1.970524067942005 -10.720839500990373 -1 1 -1
|
||||
134 1 -0.0533798609747933 -0.3943397369034881 -8.568909963478589 -1 0 2
|
||||
189 1 2.8780134490012608 -1.3406833227009611 -6.386852522463116 0 0 2
|
||||
28 1 6.229563951867086 -1.1530156323854972 -9.327046250788925 0 0 -1
|
||||
1 1 7.525938759972945 -2.8198310481116913 -6.5604190503711814 1 -1 0
|
||||
24 1 10.94065283830757 -2.1209886921600436 -8.153560298060441 0 -1 1
|
||||
89 1 -5.78369558828959 0.914992281244533 -8.554571507812774 0 0 -1
|
||||
137 1 -8.18813666088715 3.7027977864495334 -8.645965827566897 -1 1 0
|
||||
88 1 -3.2799196205792844 2.576742862817614 -11.027465080959736 0 1 -1
|
||||
160 1 -0.2557418723462786 5.44151330793023 -5.976638045093324 0 0 1
|
||||
125 1 -3.2953557120100467 3.5116994482831103 -7.1553118740511215 0 1 0
|
||||
167 1 2.6725243652102173 2.638087495697569 -7.466301426847419 0 1 0
|
||||
107 1 2.5245946528561056 1.4391466346789628 -11.24156229950114 -1 1 1
|
||||
45 1 -0.29130191021650537 3.390022307884845 -9.780519849519312 0 1 0
|
||||
95 1 7.067732497970006 1.8275651232311958 -11.06782765028197 0 2 -1
|
||||
111 1 11.286054617943643 1.4415120259015062 -8.377487796984207 0 1 1
|
||||
37 1 7.567677172981714 1.512274859816151 -7.66702414977977 1 0 2
|
||||
53 1 9.41684489904846 5.317555173980882 -10.149115122842298 -1 -1 1
|
||||
122 1 -8.696560905496263 11.52907921791907 -7.072120720309414 2 -1 -1
|
||||
126 1 -8.701961655974642 9.131336810565264 -10.209192118557077 0 0 -1
|
||||
72 1 -11.181614439635823 7.328242947804642 10.873052780217858 2 0 0
|
||||
144 1 -3.063630044241759 -9.888584626042347 -9.88620302733954 0 1 1
|
||||
135 1 -0.011770197460421628 7.809248750526247 -8.433472830923051 1 0 0
|
||||
183 1 2.868185059788288 5.159526867067117 -10.074475497261854 0 0 0
|
||||
155 1 3.7046375990422384 9.18029420434672 -9.355401725486303 0 0 0
|
||||
21 1 6.6545915304717695 6.763201059850044 -8.264144019598284 1 0 0
|
||||
66 1 9.504750400993288 7.515486524178964 -6.171582593350192 -2 -1 0
|
||||
22 1 11.084351988266622 10.76412261505721 -6.106373064516015 -1 0 0
|
||||
42 1 9.142378798766934 9.296638377937079 -10.23790547780751 -1 1 0
|
||||
77 1 -6.875408369074396 -10.905367618463075 -3.8927601705390593 1 -1 1
|
||||
18 1 -10.586419483635158 -11.318597225412478 -3.865523315987396 1 0 -1
|
||||
46 1 11.248362092754824 -7.711534097612761 -3.9950725578324935 1 0 -2
|
||||
14 1 -9.503351845338017 -7.486629728113749 -2.029636008930268 -1 0 2
|
||||
178 1 -4.577490558383545 -8.077630279121967 -4.852591089043882 2 1 0
|
||||
48 1 -3.2127534742600403 -10.982725180284804 -6.34369805529311 1 1 -1
|
||||
55 1 -0.9448027936788463 -6.214616210957371 -4.309013304243614 -1 0 -1
|
||||
12 1 -1.8077376902517912 -9.51331251139922 -2.294135008818479 -1 0 2
|
||||
15 1 6.0707891099498035 -8.158735340051752 0.7389132882736256 -1 0 -1
|
||||
64 1 2.744794419170617 -10.568743032836894 -1.6560300803721786 1 1 0
|
||||
44 1 8.059994426810258 -6.349491556263628 -3.6188994660194567 -1 0 1
|
||||
188 1 10.007211181841205 -8.471311544163584 -0.7301030264655086 -1 0 0
|
||||
200 1 -9.361429934020506 -3.325582783501604 -5.251291205351098 -1 0 0
|
||||
198 1 -7.206783651218934 -1.1768543952383812 -2.2878728904921033 0 0 1
|
||||
76 1 -9.957900853453992 -2.990392708748729 -1.4836790089375538 1 0 0
|
||||
194 1 -6.720915931526202 -5.0514840317136205 -2.6178060083265535 0 1 -1
|
||||
96 1 -3.442998842345119 -4.030752937282784 -2.1099501345166054 -1 2 0
|
||||
104 1 -0.4344464897733502 -0.6370527730950448 -0.3065766310174318 -1 0 -1
|
||||
91 1 3.028414651691776 -6.371562707358944 -2.3012007885342207 1 -1 -1
|
||||
154 1 -0.18450456920986724 -2.8959245063427446 -2.9727341046372144 -1 2 0
|
||||
19 1 3.3110202139376677 -2.0069344123928587 -2.3036519362171575 0 1 -1
|
||||
176 1 10.315295502792623 -3.712962672865248 -4.262743726209571 0 0 0
|
||||
120 1 6.599910778171431 -2.290014983742207 -2.708516274908039 1 1 1
|
||||
138 1 9.70090444039391 -4.510671194156078 -0.7586380570561282 -1 1 -1
|
||||
9 1 7.581463530555666 -2.0591591013924426 0.5576192070111965 0 0 1
|
||||
150 1 -9.916366847902271 1.9274446583917424 -1.3280546499490278 1 -1 1
|
||||
38 1 -5.810864806174543 4.79569434382538 -4.7432663890343605 1 0 2
|
||||
172 1 -9.649044476681059 4.000883539130775 -4.9787866594630685 0 0 2
|
||||
87 1 -3.293106763914671 -0.9728697280200684 -3.5717383721780784 0 -1 1
|
||||
93 1 -6.290260113883048 1.000513447709075 -4.873943848533926 0 -1 1
|
||||
195 1 0.9143548729177553 0.18149461265281985 -3.719891858874817 1 -1 3
|
||||
149 1 -2.3007300445292564 2.7637958268752776 -2.589523265551314 1 0 0
|
||||
25 1 4.621842262318463 1.3043820546828728 -0.6225207492747167 -1 0 1
|
||||
35 1 2.847846769015831 3.7484794005209174 -3.7317005078406185 1 -1 0
|
||||
5 1 5.76859301522971 1.4821693744986142 -4.192625078793096 0 -1 -1
|
||||
116 1 5.980108401532309 5.771931805152196 -4.952107221267599 0 1 0
|
||||
112 1 4.9004069037624305 5.449030478588363 -0.25381811981375635 -1 0 0
|
||||
152 1 11.427575396440815 -0.5215078327180223 -1.9270850902641319 -2 -1 0
|
||||
132 1 8.550991064218966 1.8728424902700131 -1.3413841671493485 0 0 0
|
||||
173 1 8.98824885831321 3.8266779448060135 -5.54469830676447 0 0 1
|
||||
73 1 -9.970827412932536 8.006037772956901 -6.707069562638264 0 -2 1
|
||||
29 1 -7.851850658958549 7.656691482687513 2.2522623824361467 1 -1 -1
|
||||
161 1 -11.447924236091708 7.060851422709438 -3.5858559166646984 2 0 2
|
||||
78 1 -1.7537678607411138 10.085056705494843 -1.7540835643783588 1 -2 1
|
||||
11 1 4.471756401488951 11.779896969440827 -4.946674669424063 0 1 1
|
||||
84 1 2.43612195340992 7.404092397911457 -5.290554303714214 1 0 0
|
||||
90 1 6.2047805444381146 9.344776673352051 -0.9025295949725489 0 -1 1
|
||||
36 1 1.9413202066882462 7.760257880084115 -1.7928253633196454 2 -1 0
|
||||
98 1 8.489759189718113 7.59448375625753 -2.9903904190005255 -1 0 0
|
||||
56 1 7.283347233840352 10.49272575590101 -6.717344837699539 -1 0 1
|
||||
109 1 9.256731562506227 11.306927316729052 -0.9017849515922478 -1 1 1
|
||||
115 1 -7.271375340356332 -8.164250984794014 2.885007836656445 1 0 0
|
||||
124 1 -11.095529268087242 -8.923461918340646 4.126541576799873 1 0 -2
|
||||
121 1 -8.243366755262961 -10.114098944495577 6.642910506934619 0 1 -1
|
||||
80 1 -4.970941376701066 -7.256796443574398 -0.2694927115936565 0 0 1
|
||||
151 1 0.35720010482862147 -6.473326344145772 0.3145914251441795 0 1 2
|
||||
4 1 1.490868001691105 10.008505441456391 4.6538607757363515 -1 -1 -1
|
||||
6 1 9.00182583692019 -10.573496261667716 2.7405792887239087 1 1 0
|
||||
166 1 -8.709149836110669 -5.121301291304988 4.221356992297617 0 2 0
|
||||
40 1 -6.986302058442625 -4.546619094873101 1.2165687777692458 1 1 0
|
||||
127 1 -5.703890672733537 -2.4808733861641947 3.9258140668162143 0 -1 0
|
||||
60 1 -2.3900969955392997 -2.1240248283806444 5.301270425252238 0 1 0
|
||||
168 1 3.975110510651529 -3.4413029165097235 0.7867580630241555 -1 1 -1
|
||||
51 1 0.36128571956442473 -3.39012855469405 2.9987895355425387 0 0 -1
|
||||
97 1 2.1619059504545017 -0.14370659092792337 2.253550136735452 0 -1 -1
|
||||
103 1 4.021656515073349 -0.9827338117732367 6.042568640726292 -1 2 0
|
||||
163 1 -10.59690034092717 -2.73669268553396 2.3250010477277816 0 -1 0
|
||||
175 1 5.789631011184049 -3.417672117461432 3.9954654049476215 -1 1 0
|
||||
158 1 8.907482269205014 -6.491283319059688 2.9624073267859536 -1 0 -1
|
||||
85 1 10.197413661591135 -0.012917762754849087 5.257965818060175 1 0 1
|
||||
63 1 -8.188715623008076 -0.18029853692280418 1.160315648952679 -1 0 1
|
||||
133 1 -10.49518128239182 2.3754251515033395 3.670523930057962 1 1 0
|
||||
67 1 -6.57681506296786 3.490338685255813 3.2777499682226248 1 0 0
|
||||
83 1 -3.8395282904771557 0.6878472661538524 2.789698047147944 0 -2 1
|
||||
181 1 -5.242185082676098 0.757446996867543 5.798435988392239 -1 1 -1
|
||||
162 1 0.5730435311953745 0.02538554697642809 6.131446692962922 0 0 0
|
||||
71 1 1.5861291557437986 4.031923436354859 -0.5668685974116876 0 -1 -1
|
||||
31 1 1.1084648099889496 4.166735507593387 6.199029350547128 0 -2 0
|
||||
139 1 3.8934885611865404 3.644680090821751 3.3699758952172827 -1 2 0
|
||||
3 1 11.031167120250961 1.2297818113295769 0.8240448962619134 0 -1 1
|
||||
108 1 6.151774132335838 0.9127260755469919 3.630865862972541 1 1 0
|
||||
16 1 8.948393568215273 3.5697656211117277 4.019424538349256 0 -2 1
|
||||
110 1 -11.360902504880006 5.931262380786016 3.1386340545012104 0 0 -2
|
||||
50 1 -7.03855700568745 11.1587737863648 4.038018652970141 0 0 0
|
||||
191 1 -8.539592833531575 6.98957805034221 5.576163396973422 1 -1 0
|
||||
187 1 -10.749591400235348 11.27674482179097 5.078753839959464 1 1 0
|
||||
180 1 -1.0497509784332344 6.113751500784257 -1.8125940782158025 1 -1 2
|
||||
2 1 -1.7901048404834796 5.395364205758469 2.706946913090345 1 -2 -1
|
||||
30 1 -0.609763114135145 8.866708941315338 1.2567907242718874 1 -2 -1
|
||||
7 1 4.024360795442131 8.792731325824677 1.6316831819568236 -1 0 1
|
||||
164 1 1.9253904296798758 6.2539753963352425 2.2732172727821673 -1 0 0
|
||||
69 1 4.589943704480154 6.860175335740237 5.107742575629615 0 -2 -1
|
||||
61 1 10.211708813407666 5.048929362482134 -0.6556133826774401 -1 -2 0
|
||||
34 1 7.618123086186067 9.260791062852595 2.410253158978456 0 0 -1
|
||||
43 1 7.187831963553112 6.047643259558733 2.377231426556367 -1 -2 1
|
||||
177 1 8.53679514766192 7.2855280107021585 5.618179930120522 -1 1 -1
|
||||
65 1 -10.025744517789033 -8.43398132011017 11.42484399314975 0 -1 -1
|
||||
27 1 -10.94664003963282 -11.66367183635281 8.50586002909509 1 1 1
|
||||
58 1 -9.736423247717525 -6.9374057905213675 8.120131077653108 -1 0 -1
|
||||
26 1 -5.214988898132063 -8.488979255655 9.322140672840906 1 0 0
|
||||
142 1 -2.2289627568453696 -6.732212289220556 8.533930418433167 2 1 0
|
||||
101 1 -4.332868168974628 -8.046497536008985 4.908195000324994 1 3 1
|
||||
100 1 -1.5781140115056829 -10.89378955359733 6.845196027213777 1 2 0
|
||||
105 1 1.348709072973532 -7.840212526420486 3.935309569976617 0 0 -1
|
||||
75 1 4.538409842632715 -6.347596431637598 5.462073088539682 0 -1 0
|
||||
99 1 1.681804464017192 -11.02047184883833 10.743929007254543 0 0 0
|
||||
193 1 2.131527690130696 -6.895966349546285 9.427352746134135 1 1 -1
|
||||
33 1 4.441375653691135 -11.736850231117081 7.202677955581144 0 -1 0
|
||||
81 1 7.255373647519644 -8.53916396071646 6.739789624034124 -1 1 1
|
||||
92 1 9.790634573312333 -9.44185811686149 11.159147618448468 0 2 -1
|
||||
131 1 11.167512844489337 -5.2910720883824744 6.1780456625725 1 0 0
|
||||
32 1 -6.188065315477864 -5.388148534056967 6.4630859734577015 2 1 -2
|
||||
165 1 -9.199411318810375 -3.239575676768024 7.39142666230393 0 0 0
|
||||
199 1 -6.937479844200535 -4.998516463158538 9.811426478379644 0 -1 1
|
||||
70 1 -5.484149755229003 -2.3316100376807256 7.82342156113301 0 1 1
|
||||
146 1 -1.4782561675061032 -0.5332293079309558 11.298322053799005 2 1 1
|
||||
106 1 -1.299565649633866 -2.547377817344993 8.672457149378053 0 0 -1
|
||||
86 1 5.4346476876843255 -4.567525864857576 8.586496749161867 -1 0 1
|
||||
52 1 0.6258963928325112 -3.6737913184680213 11.408468473681546 0 0 0
|
||||
197 1 1.6655903827098761 -4.690360650696893 7.1487356646988935 -1 0 -1
|
||||
185 1 2.1215529597432052 -0.6042753779764993 10.00914541981377 -2 1 -2
|
||||
145 1 7.122063254971888 -3.6848122349525525 -11.806135592932787 -1 -2 0
|
||||
156 1 -5.464187808325629 -0.39192954326422935 11.38371879051662 0 -1 -1
|
||||
10 1 -9.035521158465771 -0.7757159430461369 4.809652747733452 0 0 2
|
||||
196 1 -9.335669158910619 0.22813232884729473 8.66176404595545 1 2 1
|
||||
143 1 -7.124352690053236 3.030922198080938 8.687337455424057 1 0 0
|
||||
13 1 -11.772101478818819 3.2748279418542197 6.990058907086091 -1 -1 1
|
||||
170 1 -2.6686912671072918 4.2637019013785284 6.493175161410804 -1 1 -2
|
||||
59 1 -3.414884055242947 1.7144589247064204 9.304818354414252 1 -1 1
|
||||
190 1 7.431647314963107 -0.2323681547056703 9.930387554553988 0 0 -1
|
||||
186 1 0.12403907626679356 2.5751847736553266 9.610847507588266 1 1 0
|
||||
136 1 3.4038632456152635 2.1695685652264665 7.948376142475482 0 -1 -3
|
||||
62 1 3.9322597596563718 6.930006246409542 8.985009369790514 1 0 0
|
||||
192 1 10.419594684028056 2.5035467156582776 9.806945423286493 1 1 1
|
||||
113 1 7.193391146269118 2.2362428283193516 6.875806515902987 -1 -1 -1
|
||||
179 1 11.834426610265067 -11.194697762969987 -10.475928756799647 -1 3 2
|
||||
74 1 -8.13998220698503 9.794354756748188 9.006589181804868 1 -1 0
|
||||
118 1 -11.66384578850255 8.468830152015009 7.042404750007243 0 1 0
|
||||
117 1 -5.315240522733173 11.32072783429444 7.576721087819581 -1 -1 0
|
||||
23 1 -5.138619088737474 5.725030905668137 11.239725943022542 0 0 -2
|
||||
171 1 -4.330917401708549 7.140228396638214 7.942565065680071 0 2 -2
|
||||
17 1 -2.03596415813805 8.313925455397243 5.2823718467129375 -2 0 -1
|
||||
94 1 0.5232518791432845 9.687616975679045 9.044820921363916 -1 0 0
|
||||
79 1 8.56918534055184 11.565534359174451 5.948120961320791 -1 0 0
|
||||
41 1 5.45739715811315 11.541960137674769 11.642369134799488 0 0 -1
|
||||
141 1 9.892948341443592 5.76405276568962 9.068370836458591 1 -1 -1
|
||||
159 1 9.60684214528172 9.743113663992652 9.758679903521092 0 -1 0
|
||||
|
||||
Velocities
|
||||
|
||||
39 -2.179321628468343 1.1511761233721014 -0.5234785181560597
|
||||
57 -6.53120961304823 2.2544161501487334 -1.2373865721091248
|
||||
82 -1.0543302569480935 -1.2919030991113425 -2.688794866729753
|
||||
47 1.4420685217894869 -0.5747049377538087 0.6848122481945966
|
||||
8 2.36242269061923 3.5603470370323436 1.4936669774368116
|
||||
49 -0.6083156247744255 -1.170955618423765 -3.8346753413107364
|
||||
184 3.2429732085760055 -3.3821697881066015 -7.235911314720436
|
||||
54 -3.6115695852161833 0.0106170916100512 5.665158101271987
|
||||
114 6.929262289695876 4.643270489304085 -2.432510904848287
|
||||
128 3.7837119455630903 -0.5425190416852157 -0.9248832742343969
|
||||
102 -5.730330621950312 2.5925672733788283 -4.330025077474401
|
||||
157 -0.16543207126613158 -3.935307993847579 1.876153422628358
|
||||
20 -2.5674917416750285 7.261116339316168 -0.2822364811608604
|
||||
147 3.957269802164221 -0.44334252499690296 1.8428688293334772
|
||||
169 -0.43761432062493966 -2.7004091328373003 -1.9616354437812995
|
||||
123 0.4419336641195504 1.661879969268821 -0.34576656499174563
|
||||
182 -2.755633666515818 2.89026397900542 -3.3064689855078004
|
||||
130 0.4228585869964945 -2.6339270059626747 2.3472759619296717
|
||||
140 -2.5258615952943133 4.5464360654810925 -2.960299517136603
|
||||
153 2.614799199811544 -6.997005129983971 -0.4675266931999429
|
||||
129 -1.0794701392816852 -0.7999027589273617 -1.3594765973927763
|
||||
148 -2.5441459127388772 -5.738540142837333 1.2458734580393733
|
||||
68 -0.8806574381084391 3.664356747058979 4.498638804868755
|
||||
119 1.348535842985886 -1.9096618944303452 1.6705192446304495
|
||||
174 0.23536625265167066 3.432430764653958 -0.9841797613553105
|
||||
134 0.26301203065712264 2.9239481371691687 4.198089422305616
|
||||
189 -5.106229336056745 1.3598593078850199 -5.0921887654096665
|
||||
28 -0.5789581538284776 4.678352716038949 1.6083556088979694
|
||||
1 4.3168451733041335 -0.8087879863432109 -1.1510010508143134
|
||||
24 4.684129190758672 0.5864820180144825 1.3599272674223446
|
||||
89 1.2931815025110984 -1.7192563446283065 -3.2675358462468287
|
||||
137 -2.489381057507014 1.3936843668930472 -3.4953181455890334
|
||||
88 5.564916491075967 0.8520321811715912 -4.447122865446203
|
||||
160 -0.07033878109043368 2.2522705799844327 1.9030072089658323
|
||||
125 -1.5185131407725638 0.6804743431846004 -2.389477187487043
|
||||
167 -3.6035218377687275 -1.9787464624356907 1.2495634883162925
|
||||
107 -4.50061384293538 -4.128984940089246 -1.940600692273992
|
||||
45 -2.0130680589133294 1.0097638511181886 -1.9327875523898734
|
||||
95 -1.8894050626509937 -4.373548537324043 0.32709687823368594
|
||||
111 -4.9090211058158335 -4.89034728498546 -4.4838347069372535
|
||||
37 -0.7827825654937912 0.2606671310038102 1.2648209822548744
|
||||
53 -3.3248176554427693 -1.934526339006954 -2.2700456945424197
|
||||
122 2.3544797713703187 -0.1174286295452037 -1.1080357975092663
|
||||
126 -1.8232106805443349 -4.42954489421542 3.9468260248902474
|
||||
72 -0.3083487798866145 7.089424978098924 -4.065977117594069
|
||||
144 -3.209546353795563 2.7953912155418355 -1.9419952653204642
|
||||
135 2.825460830342647 -1.3242735854960683 -1.061464548303972
|
||||
183 -0.6219322132099675 4.350176294595897 -3.2016653855084876
|
||||
155 -4.16183730251878 -4.394917007094668 3.143265712814128
|
||||
21 1.042679461197399 -3.76474130433989 3.307467644481217
|
||||
66 -0.5660353999856405 -0.9094642274226821 -0.5314610131608182
|
||||
22 -1.709804393279522 2.6955272721787336 6.847933865416769
|
||||
42 1.5723865718421481 1.2482884329237185 2.4822430118654624
|
||||
77 1.0256281250413677 0.6998122284735013 2.9532003047278765
|
||||
18 -3.421972744387341 -0.5274519950694775 -4.133682641337289
|
||||
46 2.168436016686143 1.0804778012063694 -4.320033516090909
|
||||
14 -4.0164283054824255 0.49834440962343196 -0.8290451948901274
|
||||
178 -1.7412819488092 2.798973205265782 -0.479900827844132
|
||||
48 -0.555572193190021 -2.2271111327857946 -5.48753500392571
|
||||
55 -0.2945098160209474 -2.3597197684570634 -1.323571695006608
|
||||
12 2.648780275608345 -5.627798255886156 3.878499085658468
|
||||
15 5.08064047237585 10.983886551374368 -3.8614562219189974
|
||||
64 4.528407739688303 3.5669581487847277 -1.59783436247384
|
||||
44 0.6179240842533569 4.733042665051045 3.2581525303469463
|
||||
188 -7.148050937863482 -0.9829624495370496 -0.8418403492142479
|
||||
200 -2.1181786226695647 -0.7796260516164706 -2.0505857854477805
|
||||
198 -0.41864716042364125 2.296081055566785 0.29109905683884685
|
||||
76 3.589037248934578 3.9784201870774147 -0.18396191505765547
|
||||
194 3.2793423730519953 -0.6090514771278666 -3.4934826993710537
|
||||
96 -1.781539941975932 -4.363514711154816 4.864062078072237
|
||||
104 1.408163209882818 -2.2024070797001714 1.13197301326935
|
||||
91 0.7549842936282545 -1.8949946215618456 -1.0202618871629823
|
||||
154 -3.58496442590166 0.6965660533263317 -1.9948941159972786
|
||||
19 1.1538547086598117 4.352147462832853 0.5698931598819479
|
||||
176 6.6158635134989 -2.4436529370166666 -7.921148144074609
|
||||
120 1.9770896033272432 5.325440429480748 0.4321682589452387
|
||||
138 -2.434142355712014 -4.211844174503549 3.7463686848024356
|
||||
9 -7.9556317081134775 1.3611081846148716 1.1973651519179334
|
||||
150 7.132627873294173 -1.1589700932996243 -0.3531633921451265
|
||||
38 -2.373885424533282 -1.6670776794732187 7.126244784839699
|
||||
172 -4.190332426742245 1.4971407429268737 -2.1038522992559976
|
||||
87 3.8705371644824407 0.6946282376038537 -0.5718475935933448
|
||||
93 1.3514689577122314 2.2886635029067657 1.1457291529838165
|
||||
195 0.8294761589431854 6.809445622982572 -4.490681006002271
|
||||
149 4.665694837020095 -3.8971221183097815 -7.000247317496072
|
||||
25 -1.4227504585025186 2.666757793916314 -4.2485642256584795
|
||||
35 2.0433487025942068 2.1539055294115 -2.682708261193331
|
||||
5 -3.648704562720594 -0.39330823945136234 0.15528838477335327
|
||||
116 2.764952659364006 3.2308857608345534 -0.538944143891585
|
||||
112 1.7976356559372615 -1.540357698562047 -2.170928793825917
|
||||
152 -2.4572877205036923 -1.6206485240807629 -4.85936004694647
|
||||
132 4.802107956404735 -0.11013197470116909 0.6674735986355181
|
||||
173 -0.7045077946396323 0.6277364102624156 1.4282110726540087
|
||||
73 -3.4535983591604964 -1.3273163733693092 3.631166806617851
|
||||
29 -5.742750315320132 4.210335165654985 -3.183862358662845
|
||||
161 0.7207671082657183 -2.639249856838032 1.2031913703667394
|
||||
78 1.9802499580941673 3.892356471093276 -6.0300544674355
|
||||
11 0.3710597317170738 3.014897507875772 7.0674999285689495
|
||||
84 0.06314153271125988 -4.938702818012672 2.3405049696166014
|
||||
90 -3.021721770486999 0.5895782968475963 -0.883462541486843
|
||||
36 0.6115261475891951 3.326758596635819 5.305093464697983
|
||||
98 -3.289247327924386 -0.7716659861479829 -0.8061979190797803
|
||||
56 -2.484208615656381 -0.7583806019455193 2.000293738990754
|
||||
109 4.065544877208817 -0.31468790514138334 0.3860037578404895
|
||||
115 -1.5583103456503846 -4.034490286401138 0.5420000897756707
|
||||
124 2.716664944254732 1.195693130251065 -1.0534283229167152
|
||||
121 8.492299287405391 -0.8573607139000322 2.0906896396885357
|
||||
80 -4.269726737071596 1.290253084422534 1.3756246647776993
|
||||
151 0.17922239204385892 -5.243344038190157 -1.7214465623209987
|
||||
4 -1.5287457726003018 4.545253326761756 0.4075652200807629
|
||||
6 -5.5555965267113505 5.196757149002673 -2.131768740002899
|
||||
166 3.8192709965319924 8.287983828276944 -1.2203929922517287
|
||||
40 3.450300769917062 1.3679263003539135 -5.713912913407013
|
||||
127 -1.8550057408599427 0.2529213554001156 4.292787610095508
|
||||
60 -0.4570467791684108 2.1995625338737512 0.38684023826685754
|
||||
168 -1.1461639744415708 -3.7753008221986715 -0.7069362633693567
|
||||
51 4.246427854086795 2.2660286121479016 -0.17525536000106454
|
||||
97 -0.45920058079801923 2.3672214881822935 2.918793131685986
|
||||
103 2.8457407886760415 5.079818233132883 -1.6831372889932052
|
||||
163 6.588786306029201 2.961102097923318 0.12898108224833468
|
||||
175 -0.7784000842847736 0.05239163186710383 4.783927411692968
|
||||
158 1.324975092911766 5.716483065795907 -2.766582829578808
|
||||
85 1.126575470046233 1.8878210873276244 -0.3160540074040886
|
||||
63 0.26385610607819265 -1.0518690744177137 4.681584068045189
|
||||
133 -0.8004471826186864 6.474544076922776 1.4133211461125943
|
||||
67 3.6157553514613374 3.5767340310447207 0.22045279936244222
|
||||
83 -1.0062072078141164 -6.493845317833074 -5.600689394569981
|
||||
181 -1.9698774782124704 -2.4967875449198838 -1.482046688397622
|
||||
162 -2.904567214261779 4.609525946829769 -4.773883794319192
|
||||
71 4.704149679704777 3.1523586525426124 4.57547323305684
|
||||
31 -1.5901553457672002 -3.05689507101266 2.2039810687618497
|
||||
139 -2.695407001366337 2.151237461783768 -2.283708689815052
|
||||
3 -0.46766817551787454 -3.140857693103965 0.4361924390516714
|
||||
108 0.1913617703423478 -2.71581239158428 0.6724779385423365
|
||||
16 -0.5574602967458635 2.869089341747036 3.246617986586125
|
||||
110 -3.2935781644783413 -4.906537822882089 2.429950659174858
|
||||
50 1.3517081278566716 0.7979565345760338 -0.4185472621695281
|
||||
191 -6.186669509381163 1.5069910278978673 -3.122140179713244
|
||||
187 0.8559064953620825 0.3957056787517148 0.9088293844669495
|
||||
180 0.221714052316844 3.344232199120801 0.5800459730217239
|
||||
2 2.3994296631460794 -2.8375195813060388 -1.0887178593496891
|
||||
30 1.2210690766888224 3.5899619104376446 0.08151741673684687
|
||||
7 2.7726111769463913 0.687615055956059 0.37410979119832144
|
||||
164 -1.1931898641891907 -1.3539824930215878 -3.3405462160564703
|
||||
69 1.9731979197688503 -3.2571194324245205 1.6749831681024951
|
||||
61 3.1823016504442476 -3.0315743307115213 0.8747268024881065
|
||||
34 0.42940760329491323 -0.8546757769020348 0.7046464666351262
|
||||
43 -1.2834304624987016 -0.32585553857664296 0.40311374457538895
|
||||
177 -4.156106157869977 -1.1691085227558309 4.764406539360629
|
||||
65 0.7459698348800096 2.6999150256104985 -3.5548113977053744
|
||||
27 1.2331887682296838 -1.694381902758542 0.04304965560826135
|
||||
58 -6.154057979578904 -0.19938148972279413 -3.4163165607386854
|
||||
26 2.910747146350628 -2.990465499480819 -1.5258142005591657
|
||||
142 -2.6857404309480515 -0.4742647340730133 0.8619212003727141
|
||||
101 0.8564696967146533 -2.0546263222545185 5.004696469365843
|
||||
100 1.7773361390238631 3.5466656645190247 -4.741841979587642
|
||||
105 5.236015515046745 -7.745834640119119 -2.0944663177984997
|
||||
75 3.19034440896343 4.856191854526413 0.20239301909347396
|
||||
99 0.7372059827598996 0.8218000327204846 1.1962914445625328
|
||||
193 -5.54751039136509 -0.8984829893317632 -0.09804506747660646
|
||||
33 -0.9015609488918586 2.8634014710755875 -0.5142897564939601
|
||||
81 -4.226349362632615 0.4990338142221863 -3.177351469506789
|
||||
92 4.852938979419456 -0.5312580038435196 0.4444574326006344
|
||||
131 -6.780942865007681 0.2505331120455996 2.984671966978939
|
||||
32 2.043323184339133 -2.0915365663642502 0.3570674081797969
|
||||
165 1.772621337461088 5.624086428613788 -2.1958779155861525
|
||||
199 -4.655961690467214 -1.5582587292151853 -1.0372922469851396
|
||||
70 2.1009520029345854 -3.4367267457669444 0.3489118952393979
|
||||
146 1.1094627356046975 -3.7052416904893786 3.1151669468585044
|
||||
106 0.9244635796842038 -0.8697076449017062 -1.1271268628891515
|
||||
86 -2.4614440724404063 -1.1443915951868173 3.0472327038543923
|
||||
52 2.206997554373295 0.48895638167295574 7.813903343751546
|
||||
197 -4.43947099244034 0.3827402537789232 -6.114284477117655
|
||||
185 1.8450115502667273 -3.367103363338241 -2.7646657581326055
|
||||
145 -4.495233666659511 1.3255674480674051 -1.5848168476287035
|
||||
156 -1.1061826790673608 3.490100920043544 1.7425058587963753
|
||||
10 0.10888349121518726 -2.3346954910750384 0.3634642612209191
|
||||
196 -1.237862986215301 2.306399540514406 -5.426709024577362
|
||||
143 1.387043305733553 -2.3787136376519027 -0.20756141146550633
|
||||
13 2.2357687358768974 1.685714857075964 2.2457142840004356
|
||||
170 5.1889099023089535 2.9826822454922652 1.0755609101553643
|
||||
59 -1.712405925615148 -2.553137012160255 0.03926835373766702
|
||||
190 -1.7274645985224364 -0.0964601276780217 -0.8892867639051387
|
||||
186 -0.5051041743099376 2.0346977046537615 2.086897795173162
|
||||
136 1.6635288094047165 0.5254443611211371 1.8199836517530088
|
||||
62 0.7708640981248649 0.12152082573932288 1.7717141492471689
|
||||
192 -1.0422128532558474 -4.04447955732469 -1.926662726630305
|
||||
113 -4.472429838979146 -6.765621050808509 -3.003588999898843
|
||||
179 -1.7067254128417755 -7.980317775082368 -0.9140818138687279
|
||||
74 3.515578700667397 -5.09057685611017 -2.4373465493326076
|
||||
118 -3.836950473028625 -4.398228703366778 -0.9008313748045251
|
||||
117 1.2669363304661976 0.4817377004658103 -1.5641060379969072
|
||||
23 -3.023411190495862 0.4127754096885368 0.24116380806370397
|
||||
171 0.782437003849918 2.278657242176388 -1.477387925776958
|
||||
17 0.8979396881179555 -2.2139965953711083 -0.9661842759619532
|
||||
94 -2.2083649456241576 -0.3520697824173402 6.939477089019811
|
||||
79 -5.097477099334401 -1.1053765447054356 -0.5927717885602897
|
||||
41 2.717742851180541 -0.8197068618726784 -1.1670313842646072
|
||||
141 1.3223712852080913 -1.1251601779570968 2.4100632027817
|
||||
159 -3.979797713933269 1.5260607907829866 1.4624579807682239
|
||||
422
examples/PACKAGES/pimd/lj/data.metalnpt04
Normal file
422
examples/PACKAGES/pimd/lj/data.metalnpt04
Normal file
@ -0,0 +1,422 @@
|
||||
LAMMPS data file via write_data, version 8 Feb 2023, timestep = 100000
|
||||
|
||||
200 atoms
|
||||
1 atom types
|
||||
|
||||
-11.876696863105703 11.876696863105703 xlo xhi
|
||||
-11.876696863105703 11.876696863105703 ylo yhi
|
||||
-11.876696863105703 11.876696863105703 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 39.948
|
||||
|
||||
Pair Coeffs # lj/cut
|
||||
|
||||
1 0.00965188 3.4
|
||||
|
||||
Atoms # atomic
|
||||
|
||||
39 1 -10.354249178970125 -8.813051919915168 -8.382969093379817 0 -1 1
|
||||
57 1 -6.095139656027609 -9.359263918713493 -7.698842353606457 1 0 0
|
||||
82 1 -7.493664607592135 -7.0059769885785474 -10.165574967227153 0 0 0
|
||||
8 1 -7.207830943811267 -11.030802786228156 -10.545758277848378 0 1 1
|
||||
49 1 -0.3707760358866739 -8.703874147846175 -7.734231800660862 0 1 0
|
||||
54 1 4.371171010756674 -9.822286390366472 -9.608608173022526 0 -1 1
|
||||
114 1 3.857478702816806 -8.583003039261015 -6.26115845444949 -1 0 1
|
||||
128 1 1.580452299690882 11.414121196534609 -7.383200117467098 0 0 -2
|
||||
102 1 2.6350731915864145 -6.397417482172074 -10.801961817246344 1 -1 -1
|
||||
157 1 6.611187455803048 -6.205022609136458 -7.392834911294685 -1 0 1
|
||||
20 1 8.102933091687992 -11.214330088075124 -9.936524774492973 0 1 0
|
||||
147 1 10.596045290286296 -5.759130098910738 -9.380762680610847 -1 2 0
|
||||
169 1 9.366630474689176 -8.921006522319503 -6.843673029579733 0 1 1
|
||||
123 1 -6.859009660270495 -3.2379537512590297 -10.864178266429683 -1 0 -1
|
||||
130 1 -6.577322046738903 -2.5106835965921164 -7.224326100490352 -1 1 0
|
||||
140 1 -9.107723436323155 -1.3229863757258506 -9.244986454221655 -1 1 0
|
||||
153 1 -4.548656766959874 -5.17967134910819 -8.787434718939945 0 1 0
|
||||
129 1 -0.17808656259561137 -5.023072792674526 -8.617493408883192 0 1 1
|
||||
148 1 -3.2601725736553027 -2.033844854035978 -9.777384129731104 0 0 0
|
||||
119 1 -3.5689822234610595 -3.8505044768944927 10.627709646886371 0 -1 -1
|
||||
174 1 3.140197534695247 -1.913882100151838 -10.76389374977719 -1 1 -1
|
||||
134 1 0.048608226174046365 -0.39555664243276595 -8.555122102444741 -1 0 2
|
||||
189 1 2.8889478385298655 -1.3768037709890826 -6.4534432907832056 0 0 2
|
||||
28 1 6.251824687614619 -1.150087307901578 -9.266876365488919 0 0 -1
|
||||
1 1 7.556173300837827 -2.8495110668506705 -6.5781416096142475 1 -1 0
|
||||
24 1 10.885498404916829 -2.163413929107282 -8.181530231530648 0 -1 1
|
||||
176 1 10.317143708012939 -3.6994503272775026 -4.285905348037859 0 0 0
|
||||
182 1 -10.866713794399553 0.5835390862478285 -5.190897922574198 0 1 -1
|
||||
137 1 -8.197336531384668 3.7710266805092836 -8.628333311872499 -1 1 0
|
||||
89 1 -5.830740775393367 0.9227024639457406 -8.56962226272939 0 0 -1
|
||||
88 1 -3.2174671278447153 2.596119117918313 -11.010039397757382 0 1 -1
|
||||
160 1 -0.16353319092958282 5.356569592952759 -6.027400461354258 0 0 1
|
||||
125 1 -3.2660565494911986 3.5402608994580014 -7.139474945270797 0 1 0
|
||||
107 1 2.5004686193441863 1.4213418016161157 -11.264390107008213 -1 1 1
|
||||
167 1 2.6306438675911963 2.7047021139073024 -7.49322777752869 0 1 0
|
||||
45 1 -0.26576210897417507 3.3660903959893673 -9.858663372020018 0 1 0
|
||||
95 1 7.02981932063029 1.8215081284089933 -11.08913793230704 0 2 -1
|
||||
111 1 11.249280516767561 1.4119125550850526 -8.355555586118154 0 1 1
|
||||
37 1 7.519477058425284 1.5490589443573544 -7.629176894794767 1 0 2
|
||||
53 1 9.42047942911636 5.244187392085703 -10.133263719784543 -1 -1 1
|
||||
122 1 -8.63992654505136 11.450404981587694 -7.075458716341785 2 -1 -1
|
||||
126 1 -8.723342916981192 9.13102883296233 -10.17466547482745 0 0 -1
|
||||
72 1 -11.206699277582317 7.297248005363309 10.79372604446887 2 0 0
|
||||
144 1 -3.0607758424636864 -9.877816322452732 -9.947243110943289 0 1 1
|
||||
135 1 -0.051808796348424835 7.83802622288054 -8.426793042584595 1 0 0
|
||||
183 1 2.8265474855254293 5.2650728973076095 -10.056888138059385 0 0 0
|
||||
155 1 3.7333346013160673 9.271985029918303 -9.380687277523048 0 0 0
|
||||
21 1 6.713007344355741 6.806136281598503 -8.223321187919673 1 0 0
|
||||
66 1 9.521874492322397 7.474069880889854 -6.18586873962963 -2 -1 0
|
||||
22 1 11.050170157856584 10.74761987425433 -6.194431008418831 -1 0 0
|
||||
42 1 9.124991617085433 9.313926068749339 -10.259091612355418 -1 1 0
|
||||
77 1 -6.847598261663958 -10.941109014822928 -3.892206492676891 1 -1 1
|
||||
47 1 -8.72137736883077 -8.020553455249186 -5.411695457067339 1 2 1
|
||||
46 1 11.333911554840483 -7.659682887184623 -4.080815689532784 1 0 -2
|
||||
18 1 -10.646224114047842 -11.295142102189118 -3.8769976756703564 1 0 -1
|
||||
14 1 -9.605745944890806 -7.401374860679573 -1.982921039201294 -1 0 2
|
||||
178 1 -4.564495057067056 -8.050510749495825 -4.8659978849512635 2 1 0
|
||||
48 1 -3.165816579392377 -10.956276319999837 -6.319173483966388 1 1 -1
|
||||
55 1 -0.9801312338979216 -6.257580408615657 -4.2669674058977485 -1 0 -1
|
||||
12 1 -1.844858616965503 -9.490670669998687 -2.2961766563429364 -1 0 2
|
||||
15 1 6.049786455655653 -8.189634166823847 0.7790760301881896 -1 0 -1
|
||||
64 1 2.7732180154018238 -10.586600242266561 -1.7220526985868578 1 1 0
|
||||
44 1 7.987685169786731 -6.317537693048875 -3.624602682973471 -1 0 1
|
||||
188 1 9.985693632064716 -8.552544016815117 -0.7260907476837022 -1 0 0
|
||||
200 1 -9.468913996814749 -3.332006112139499 -5.219156914346259 -1 0 0
|
||||
198 1 -7.176651640198091 -1.1963525306783946 -2.253714347543795 0 0 1
|
||||
76 1 -9.922127224407973 -2.9538091484944595 -1.5482866071777552 1 0 0
|
||||
194 1 -6.755129554954018 -4.9982944036574395 -2.6156955876752477 0 1 -1
|
||||
68 1 -2.4837259122195063 -3.490803572414407 -6.114089975980331 0 1 1
|
||||
96 1 -3.411864655652117 -4.073235933810771 -2.067669105620388 -1 2 0
|
||||
91 1 3.0280594613502636 -6.3376596415711255 -2.326898295867128 1 -1 -1
|
||||
154 1 -0.19811764587289105 -2.9629996027018635 -2.9145103486688195 -1 2 0
|
||||
19 1 3.201765959673939 -2.0909064907714274 -2.3150720129859153 0 1 -1
|
||||
120 1 6.666250093808799 -2.2381082538053363 -2.826357084420522 1 1 1
|
||||
138 1 9.709412364194842 -4.510669257803851 -0.7371785941816178 -1 1 -1
|
||||
9 1 7.576584804759921 -2.0173260225381977 0.5837619474494389 0 0 1
|
||||
150 1 -9.925148350003655 2.008414757334357 -1.3585989335940631 1 -1 1
|
||||
38 1 -5.774540065294694 4.703952130507923 -4.709776738882269 1 0 2
|
||||
172 1 -9.650643801070206 4.065753015545833 -4.8890536457268325 0 0 2
|
||||
152 1 11.354703841174967 -0.5574832611945055 -1.878354960063874 -2 -1 0
|
||||
29 1 -7.8756923654824735 7.618259977195223 2.1884603240114373 1 -1 -1
|
||||
87 1 -3.3182201208100697 -0.9619504843434044 -3.571516039019219 0 -1 1
|
||||
93 1 -6.22447967806385 0.9237017015404234 -4.899961705314269 0 -1 1
|
||||
195 1 0.9557760919893532 0.18190089307880442 -3.7530657563825116 1 -1 3
|
||||
149 1 -2.258211757279497 2.7869892960968605 -2.6067337721972543 1 0 0
|
||||
25 1 4.582659783463335 1.197304704789868 -0.6333382889463834 -1 0 1
|
||||
35 1 2.8340362437473665 3.775198295599683 -3.7220216498098746 1 -1 0
|
||||
5 1 5.712702262390174 1.525516395213053 -4.231454437885219 0 -1 -1
|
||||
116 1 5.993880302160488 5.819609728686341 -4.981314501727478 0 1 0
|
||||
112 1 4.993891288991353 5.44294004315121 -0.20000094912971011 -1 0 0
|
||||
132 1 8.553215140035688 1.848923908331039 -1.3929852223418029 0 0 0
|
||||
173 1 9.058614097754903 3.793989570565648 -5.529277027531151 0 0 1
|
||||
73 1 -9.97609370360327 8.001052498887105 -6.678871508542809 0 -2 1
|
||||
161 1 -11.443764897577033 7.1235053711641685 -3.5412879782897306 2 0 2
|
||||
78 1 -1.7946589875472476 10.140074782001498 -1.7188309657767924 1 -2 1
|
||||
11 1 4.48445505597226 -11.863465860429208 -4.995823112103199 0 2 1
|
||||
84 1 2.463379766571318 7.427030445050496 -5.251636426023569 1 0 0
|
||||
90 1 6.171978058160043 9.299313343642424 -0.9265676065333643 0 -1 1
|
||||
36 1 1.9133463519046003 7.719511929183511 -1.7420567765226709 2 -1 0
|
||||
56 1 7.255050752153057 10.433125182056429 -6.693622072998551 -1 0 1
|
||||
109 1 9.138840387988623 11.32849279657362 -0.9075432219499753 -1 1 1
|
||||
98 1 8.493633429672352 7.664253543281429 -2.9150549381854445 -1 0 0
|
||||
115 1 -7.310435599643078 -8.126317136056372 2.852881189844054 1 0 0
|
||||
124 1 -11.031652111608674 -8.829616358814924 4.11892916031843 1 0 -2
|
||||
121 1 -8.24719811507558 -10.102559907485395 6.644774570363861 0 1 -1
|
||||
80 1 -4.990158022745006 -7.228416620009519 -0.23616829431627906 0 0 1
|
||||
101 1 -4.425835217027135 -8.041862792922046 4.912842377205241 1 3 1
|
||||
4 1 1.6093443070111064 10.036215537003722 4.649624528139505 -1 -1 -1
|
||||
6 1 8.957102959942503 -10.648514255179037 2.7520244907338807 1 1 0
|
||||
81 1 7.208459443972924 -8.512507364143946 6.7186127098675 -1 1 1
|
||||
166 1 -8.735612761804596 -5.051940162290023 4.287135452158321 0 2 0
|
||||
40 1 -7.0154409632766175 -4.6058645552640805 1.2332349553758588 1 1 0
|
||||
127 1 -5.628166701486109 -2.4571683554307384 3.9074191001707503 0 -1 0
|
||||
104 1 -0.4346324933964958 -0.6513905925349095 -0.2958543835790408 -1 0 -1
|
||||
151 1 0.3877075536664327 -6.4007225085014845 0.24945488280004469 0 1 2
|
||||
60 1 -2.369840965541917 -2.0961144039265633 5.2852382593681435 0 1 0
|
||||
168 1 3.911007973828095 -3.389123300929967 0.7576129789066393 -1 1 -1
|
||||
51 1 0.3292384996563097 -3.420112775820937 2.935489834742583 0 0 -1
|
||||
97 1 2.1485649172664862 -0.10439592636417316 2.279403065792625 0 -1 -1
|
||||
103 1 4.042877904485135 -1.0208892892284567 6.118986931410435 -1 2 0
|
||||
163 1 -10.685207062128164 -2.805182722090798 2.2992408280776737 0 -1 0
|
||||
175 1 5.777080728790477 -3.428422767297768 3.9500489905592655 -1 1 0
|
||||
158 1 8.901770795533949 -6.449835056793116 2.8925949474189174 -1 0 -1
|
||||
85 1 10.225188926473791 0.0017773278841735195 5.209115671649155 1 0 1
|
||||
63 1 -8.213348572388885 -0.1729333455438991 1.128439638194422 -1 0 1
|
||||
133 1 -10.560391258433501 2.3871994933981604 3.6217764405881163 1 1 0
|
||||
67 1 -6.58893267726452 3.5537178434565275 3.2475644463629347 1 0 0
|
||||
83 1 -3.8515887631140515 0.6260605243857498 2.809794279660778 0 -2 1
|
||||
162 1 0.5353669870800427 0.011171969691910696 6.140615526988775 0 0 0
|
||||
170 1 -2.6982076482868784 4.239239002024167 6.5023488926564 -1 1 -2
|
||||
181 1 -5.269736706670749 0.6633143508889567 5.80856876438175 -1 1 -1
|
||||
71 1 1.6280398876142836 3.9922472717626896 -0.5550063690378906 0 -1 -1
|
||||
31 1 1.1405250667226041 4.200703300864838 6.2167435118694465 0 -2 0
|
||||
139 1 3.842562548009269 3.6547622321511497 3.2913955399115533 -1 2 0
|
||||
3 1 10.98202973743475 1.2548431833407037 0.9250033618641567 0 -1 1
|
||||
108 1 6.094576089388102 0.9247979169923504 3.624011344184912 1 1 0
|
||||
16 1 8.94421023892344 3.592040529277952 3.968834804835023 0 -2 1
|
||||
110 1 -11.386726712959288 6.012786074810452 3.1335330551037686 0 0 -2
|
||||
50 1 -7.019873322974002 11.162655244151733 4.132863440221239 0 0 0
|
||||
191 1 -8.58859990391919 7.042920679843704 5.549588183323656 1 -1 0
|
||||
187 1 -10.694945657883851 11.280545373237025 5.089277301544773 1 1 0
|
||||
180 1 -0.9832322177090624 6.17374336331137 -1.7810168677844587 1 -1 2
|
||||
30 1 -0.5786545001726999 8.92644611919124 1.2001444343316763 1 -2 -1
|
||||
2 1 -1.7987623083026563 5.385135175592104 2.641095387043805 1 -2 -1
|
||||
17 1 -1.9803131781320147 8.340104277288379 5.2339610584552005 -2 0 -1
|
||||
7 1 4.056078571838132 8.755054555667046 1.7129552906297647 -1 0 1
|
||||
164 1 1.8606879960472185 6.264401812470137 2.238048307949188 -1 0 0
|
||||
69 1 4.582260343749063 6.901308432226479 5.16724455389889 0 -2 -1
|
||||
61 1 10.203999344055715 5.098875037493535 -0.6552273031803888 -1 -2 0
|
||||
34 1 7.6452062423181015 9.296589241677342 2.4017008610787727 0 0 -1
|
||||
43 1 7.186240451053859 6.044802069738282 2.458597580290494 -1 -2 1
|
||||
177 1 8.52522272174418 7.310838340899178 5.550705478002598 -1 1 -1
|
||||
179 1 11.738401405730409 -11.171052154041227 -10.46073671167246 -1 3 2
|
||||
65 1 -9.923794257190753 -8.360277300667597 11.397343948439744 0 -1 -1
|
||||
27 1 -10.96202039046517 -11.679459496759502 8.461761452894827 1 1 1
|
||||
58 1 -9.782820449181592 -6.900116722543098 8.161461366886957 -1 0 -1
|
||||
32 1 -6.176757614808324 -5.427580338396943 6.37353314773015 2 1 -2
|
||||
26 1 -5.244950495195521 -8.48903289150118 9.276610316099598 1 0 0
|
||||
142 1 -2.2192381371286913 -6.710860567512032 8.5692633945157 2 1 0
|
||||
100 1 -1.5829434980745454 -10.919909502588283 6.783259906533759 1 2 0
|
||||
184 1 7.415704119987677 -7.40752254135457 -11.394836902247562 0 1 2
|
||||
105 1 1.324436294552863 -7.868824845245506 3.928981783067961 0 0 -1
|
||||
75 1 4.559950916659301 -6.316720857110099 5.422215632967026 0 -1 0
|
||||
99 1 1.6556187341181972 -11.042676696296036 10.823511254079808 0 0 0
|
||||
193 1 2.1147403084852634 -6.885083505075134 9.409447220216105 1 1 -1
|
||||
33 1 4.45464187128425 -11.736247949088288 7.271061852952995 0 -1 0
|
||||
79 1 8.565919655629239 11.638486198403275 5.960760377855752 -1 0 0
|
||||
92 1 9.769060714231218 -9.492631803351557 11.102372610406375 0 2 -1
|
||||
165 1 -9.212711733999253 -3.259454828813142 7.377981593005203 0 0 0
|
||||
199 1 -6.873376106851867 -4.9933518932685566 9.87422952115871 0 -1 1
|
||||
70 1 -5.445601633222862 -2.349920544152827 7.807205278865663 0 1 1
|
||||
146 1 -1.4368974006040247 -0.5526263308116413 11.329045170425331 2 1 1
|
||||
106 1 -1.320489681644758 -2.525949605897458 8.649126125808394 0 0 -1
|
||||
52 1 0.6432865601156172 -3.653577986848175 11.390625659771409 0 0 0
|
||||
86 1 5.463936380191402 -4.545155299286932 8.600558169678536 -1 0 1
|
||||
197 1 1.6297777023246702 -4.6288437196490895 7.127308915254101 -1 0 -1
|
||||
185 1 2.117376701545396 -0.6740584604995838 9.981858778655166 -2 1 -2
|
||||
190 1 7.391326441541653 -0.2420688149799064 9.912167028101104 0 0 -1
|
||||
145 1 7.1433612487852685 -3.600502105720082 -11.787138473864353 -1 -2 0
|
||||
131 1 11.237287581981867 -5.265986055819216 6.2884198947288406 1 0 0
|
||||
156 1 -5.499196268975016 -0.3842368684419455 11.47923685297254 0 -1 -1
|
||||
10 1 -9.091750969544233 -0.8101391784724588 4.798103517685853 0 0 2
|
||||
196 1 -9.331229431870144 0.22379652065858124 8.694495890506026 1 2 1
|
||||
143 1 -7.138465404537655 3.0174764853722347 8.68001066247089 1 0 0
|
||||
13 1 -11.76499693524697 3.321385859999623 6.936314787144568 -1 -1 1
|
||||
59 1 -3.4402166179497833 1.730296081472357 9.358944812035546 1 -1 1
|
||||
186 1 0.1617283142132493 2.5970365582430226 9.662083422391825 1 1 0
|
||||
136 1 3.4199513038280873 2.163828872826315 7.95543255977617 0 -1 -3
|
||||
62 1 3.963989117283031 6.890950850270743 8.983560199060738 1 0 0
|
||||
192 1 10.513433172209162 2.5350934882928264 9.78265608934408 1 1 1
|
||||
113 1 7.161285582100181 2.2124289355489886 6.79272048842973 -1 -1 -1
|
||||
74 1 -8.169335431227 9.77557136132564 9.00057456275031 1 -1 0
|
||||
118 1 -11.608821137521177 8.521503367814617 7.013321378357836 0 1 0
|
||||
117 1 -5.327579617349453 11.314505774662308 7.558097527322893 -1 -1 0
|
||||
23 1 -5.129126916477775 5.721102420605024 11.278247239081892 0 0 -2
|
||||
171 1 -4.352281149020513 7.112600115001591 7.871167109278595 0 2 -2
|
||||
94 1 0.5998107735037941 9.708724091432982 9.014903980367055 -1 0 0
|
||||
41 1 5.4449659738536695 11.522021070488632 11.662868284303414 0 0 -1
|
||||
141 1 9.872190892571076 5.7761026505659245 8.948318084922565 1 -1 -1
|
||||
159 1 9.641274357072867 9.726441601090215 9.76145240542319 0 -1 0
|
||||
|
||||
Velocities
|
||||
|
||||
39 2.577793097354695 -3.3983788380629387 0.9311775479132861
|
||||
57 0.044350439903272976 -2.756321060337954 -1.0428315092461067
|
||||
82 -2.504296787676701 -3.6468474399030493 0.2541672097953289
|
||||
8 3.6367927137204146 -0.708503612114486 -3.734398328076926
|
||||
49 1.8873851156019454 -1.4752561333771483 0.44317628658177016
|
||||
54 2.0609459874818237 -3.7591063995516816 6.295629243534251
|
||||
114 5.3525465279303015 -3.959388563871946 6.9201302420483755
|
||||
128 1.2908060914043953 -2.111376197467554 -0.48873831716967264
|
||||
102 -4.571293842871747 8.300052861760934 -2.8260260042769847
|
||||
157 0.6864784580965262 2.3741938996988416 3.197851910441299
|
||||
20 4.652994650182517 -2.368616661754701 -3.6239824640674376
|
||||
147 2.3112278761829046 2.7926157746726785 0.3841905616879638
|
||||
169 3.8809056176148298 -3.783797831749185 1.5132762830383186
|
||||
123 1.2907138384495385 4.5605260997379515 6.265572889261794
|
||||
130 2.3899251274818005 0.27666961403153456 4.415473432866114
|
||||
140 1.0077403345435272 3.331618501750946 3.823686801783437
|
||||
153 -4.158360194263056 -0.05792314282326738 -0.09170129980331274
|
||||
129 -2.0924141264102167 -2.229463311149641 5.774701380963026
|
||||
148 4.419535691773222 -2.221801500903651 -1.322900377568077
|
||||
119 3.3013302732178436 1.0440417527080033 2.8019660816699443
|
||||
174 1.8865107534171663 4.984254074383621 -4.4680569390231515
|
||||
134 -3.051462360151183 0.13872483873263985 0.8334720216492622
|
||||
189 -1.575075881871396 1.8217362685289014 -2.0444979947436
|
||||
28 3.421168174684726 -5.498073809092277 -0.04014458535812704
|
||||
1 1.9883484696931384 -5.62737172391044 -0.6897496957906657
|
||||
24 -1.2667871307922316 4.30277534955836 -0.9434339008200991
|
||||
176 5.33889839399068 -0.7261935889242956 -1.0648636501642632
|
||||
182 -1.3434249574772492 -1.2612974855392476 -0.8264254407007674
|
||||
137 1.9669241314073078 1.4304166951432975 -0.7941330665668798
|
||||
89 3.0037245881229415 0.2485958612228784 0.43340084246330035
|
||||
88 -4.773290068397481 -4.145612735120506 2.9587651882723076
|
||||
160 3.2238819912540246 1.454427974780249 -0.8931785023147302
|
||||
125 -2.027584749577839 0.2846539404784728 -1.9747515011844237
|
||||
107 -0.4309962618034694 -3.6977689727188716 -1.9008509957370174
|
||||
167 1.1593622921328293 -1.8699221821464713 -0.35243227029296986
|
||||
45 3.8023301775972866 1.4226356824680009 0.7412574800338123
|
||||
95 -6.444883722807761 -0.36547146467399716 -2.3313614045704956
|
||||
111 2.654717565255864 1.4059595144409067 -0.8812624422906502
|
||||
37 2.6344865612342447 3.1241557322031097 0.21727945365726709
|
||||
53 -1.162490586497141 -1.8114743286402544 -3.3819238034771355
|
||||
122 -0.39245032082132514 6.341371204609977 0.15639083036810653
|
||||
126 -1.605697227924968 4.594486921923675 2.22444280178021
|
||||
72 5.553154164868334 -1.6002168773168566 2.986954509825138
|
||||
144 1.3403843285320132 -1.7279031413546053 1.3999311572505995
|
||||
135 2.534876793407053 -3.9801581090182863 3.1492981080983657
|
||||
183 -4.679242103632781 2.993032322724656 -1.3277928954591556
|
||||
155 2.478325342602548 0.096505570078343 0.23454435113676975
|
||||
21 -3.5229231861916004 -3.9816529561376006 0.026639755919907415
|
||||
66 -4.078355783351698 -0.12178976416838905 3.6922808103625115
|
||||
22 -3.6395126219587364 -6.832262596301959 1.5951115669463118
|
||||
42 -4.403508549300507 -1.075423056570003 -0.591849033607009
|
||||
77 -3.529890611915624 -4.75010415058562 1.6925557776838493
|
||||
47 -2.1850961781212535 0.29268584139732723 -6.145825548126078
|
||||
46 4.627258609793938 -0.35735610275796525 -4.228603145133978
|
||||
18 3.73167019444449 -0.1412650186120299 1.8269713694609548
|
||||
14 4.255528637119755 -1.6399584278487664 -2.3670010206718466
|
||||
178 -5.547816263652345 -3.2716811779531016 0.3760629173372536
|
||||
48 4.425750039051989 -1.6380895084775802 3.0834785539819825
|
||||
55 0.9664608309050373 -3.9279561872107216 3.738153737041613
|
||||
12 -0.41819517254673283 0.9367025298427245 1.548662259471958
|
||||
15 -1.5561256264944465 -1.7138464717908113 -5.214325558070718
|
||||
64 -4.340047339400262 -2.22675786620723 -1.8953705605237372
|
||||
44 1.1388904606478099 1.1952052434483869 -4.7138321817777165
|
||||
188 -0.6813174034115439 -5.349606335139992 -0.5494798369887832
|
||||
200 4.5313662932423755 -1.509632335926491 -0.7143667001741889
|
||||
198 -0.147474124917653 -4.398760900940008 -1.3829542092135303
|
||||
76 3.499335281047853 4.321577651994544 1.8422196851357424
|
||||
194 0.40702093571028386 2.536045454224767 -0.25948941675872716
|
||||
68 1.095513798887539 6.302453994563069 -0.032465133466722085
|
||||
96 -0.8025115532160563 4.133456324521671 -0.3987555142125939
|
||||
91 -1.0924701330602116 -4.134760716625712 -2.5476966892452007
|
||||
154 -0.6420195815805342 0.5441210237991451 -2.4764714848254394
|
||||
19 -6.45757006657402 -1.8917738383254377 -2.2385612755611657
|
||||
120 -2.333329676155747 -2.6263663088962446 -0.31608193981125454
|
||||
138 -4.2274347886527295 -5.149547905719161 0.18051226809116783
|
||||
9 1.9482438581325014 1.836033317169747 4.767132863545005
|
||||
150 1.9981648567087547 6.350098740087899 -2.8565846607881165
|
||||
38 0.7805411976234249 3.2336875919271204 -5.491325260091564
|
||||
172 -1.6067207370017498 -4.025457011374177 3.328473783113818
|
||||
152 1.2783569248468387 1.1836235305806408 -2.8398807957375904
|
||||
29 0.012522208655832867 -2.202968899510487 1.2653923818179775
|
||||
87 2.4301555960867915 -0.3844922649780862 2.3653616101850643
|
||||
93 -0.8167645337546143 7.0869554155527865 -0.992159930343214
|
||||
195 1.386850643478473 -2.1138124263507945 -2.6343099572277926
|
||||
149 -1.9222490388239173 -2.9269314999007365 1.9288615526733388
|
||||
25 -3.59971099165819 -1.6866464810245103 1.7143969426226588
|
||||
35 1.1068675504822845 2.9570865620910163 1.5489285873628789
|
||||
5 -0.06525583154753622 4.64663174535613 0.0051166703840210825
|
||||
116 -2.156521693342489 -1.106530196750272 -0.7392284182460408
|
||||
112 0.8256766355184204 -3.3427544054629896 2.364051175484082
|
||||
132 2.1070952059277808 -0.7636208241660348 -2.901239577070981
|
||||
173 0.9555468923097092 0.9205686685241707 -3.199573856104545
|
||||
73 1.5067078955449293 -1.4433124895723743 -1.0680684282081363
|
||||
161 2.1775187990003184 -2.0432036406877887 -2.502427749527437
|
||||
78 0.4277549814794872 0.923985061568942 -4.462582084674592
|
||||
11 -0.7883572752861073 -3.298996571191427 5.184829507433079
|
||||
84 -0.3908120720288031 0.8981771084266208 2.781123174827333
|
||||
90 0.1806374932457661 1.6703751943299625 2.7208543462130645
|
||||
36 -1.267739998375956 2.1167954160312523 -2.3987528368253503
|
||||
56 0.42755132352919767 0.3105230600944311 -0.03753157138922093
|
||||
109 1.9130458422765049 -2.4592218292820647 -3.7955776970359176
|
||||
98 2.224412680285525 2.8105570053709483 -6.007751163289515
|
||||
115 -2.8264888701698423 -6.77384783439804 -4.5128631453140455
|
||||
124 1.0115631212847158 2.197697811017366 -1.4884565302411554
|
||||
121 1.819952585372025 2.133685315101777 -0.48009196690211353
|
||||
80 3.6825834395072827 2.9369744584874624 0.7772431106319383
|
||||
101 3.8152106585296663 -0.7504695117106335 -1.3678083578602058
|
||||
4 1.1543968705285124 3.6108919626584783 1.279726012491966
|
||||
6 -2.734554328800396 0.45690265044985007 1.7653493310436426
|
||||
81 2.173385375162031 -1.545557384488483 -2.635973810143899
|
||||
166 -1.239464711076861 1.3504238003340796 -0.49024226288977
|
||||
40 1.7898346069542372 -0.4474778752941201 3.4790111502788887
|
||||
127 1.6296109635966738 0.6612604860538578 5.807821273928263
|
||||
104 -4.901664479006097 1.1052244598202794 3.4465808005881824
|
||||
151 -3.983151444075344 -3.2501191110732113 -1.2526584841338049
|
||||
60 -1.922006700361108 -0.7785585059363819 -4.390434339117124
|
||||
168 -2.788478664171041 3.923738577427861 2.49523972250301
|
||||
51 -1.6149322848467969 -3.4296394320723262 4.226459281197094
|
||||
97 -1.226730421851149 -2.392775221203476 5.070036120535187
|
||||
103 -2.9962982871055357 -2.90339448475708 -1.1348192929647936
|
||||
163 0.3128021577268095 -4.112121184421586 2.47129388197539
|
||||
175 -4.72131850682648 -1.6008946774115904 -3.6054426092000593
|
||||
158 -5.274680729271083 -0.4457302148856164 4.174272671309751
|
||||
85 2.9757034033315444 -0.5103121033627565 1.99919210117291
|
||||
63 1.600933165736236 1.4604641421860185 5.197681341346513
|
||||
133 0.3650834395918216 4.123541846312257 2.1615515366543354
|
||||
67 2.0607792864448453 2.3124375339420076 0.21959246817514527
|
||||
83 -6.156022387564482 -1.1548915743184078 -0.4948872456362283
|
||||
162 -2.1450070724040025 3.9286059442169066 2.007885747151935
|
||||
170 1.8166139807691821 -1.95234066921456 -1.8559861240898843
|
||||
181 -1.587457433365127 -3.2094890956838205 2.212401241994942
|
||||
71 1.7829689662908779 -3.6713609566551657 1.3773962271622693
|
||||
31 3.918178411733008 -0.5772484115851036 0.16726508680219976
|
||||
139 -4.560722486125075 -0.5471630166750243 5.863010868871481
|
||||
3 -3.9686726349917825 3.6173076990026054 2.5273959166862507
|
||||
108 0.3042801304200664 4.847444330423647 -0.35518169829313484
|
||||
16 -2.4685650045584717 5.98056595230015 0.9384145704518219
|
||||
110 -0.6129548866614436 1.8199747299312752 -0.6050782543434758
|
||||
50 -1.8884152067915962 -1.4877561250799833 -3.9811275374353494
|
||||
191 1.500896458072849 -1.9099553342822155 -5.024921011162899
|
||||
187 -2.013243274912701 -0.8604266013822317 -1.038480536601888
|
||||
180 1.4966822969502809 2.2104050426784707 3.732721924128324
|
||||
30 -2.3551911487538373 -1.0313809690434763 -1.4871503115129143
|
||||
2 2.4972367326603697 -1.5125466361921762 1.0762650051734106
|
||||
17 0.43112912988867413 -1.9548201848493156 -0.43017998184207773
|
||||
7 6.622180146484479 4.7673609572662725 0.19425898871224434
|
||||
164 2.301415823751322 0.4827221772498991 4.559127095693677
|
||||
69 -3.4364505629674733 -1.1594038113628669 -1.2078137888752072
|
||||
61 1.7869953777023173 0.9935547623401149 0.14745693195171444
|
||||
34 -0.027807484985171937 -3.1354780466577754 -1.036977576868685
|
||||
43 -1.3037743820903311 -5.61028065095172 -4.306710886889687
|
||||
177 2.1781720801097206 -1.516912077043328 -2.054689845757315
|
||||
179 0.4934049365569875 -4.8639422788504625 -6.225153590664796
|
||||
65 2.6970228261721383 0.19294320506195817 6.683323231860031
|
||||
27 -1.6731814501881797 0.7519385590564082 3.2183027406212203
|
||||
58 -0.7774753429967389 -0.6669437971456971 3.5183225900940927
|
||||
32 -5.389835933890947 -0.4954507654154201 0.4594525916972694
|
||||
26 0.7382474998065096 -3.102724138188651 -2.185686698723454
|
||||
142 -1.944479379421283 -1.2761486898263725 0.72348529709274
|
||||
100 -2.739025692998968 -2.6245009262596986 3.182008026346906
|
||||
184 1.4210317521782347 3.1395926369797884 5.319543188841913
|
||||
105 -1.2308708716614136 -1.2494207925918743 -3.3415190888725443
|
||||
75 -1.8835854547991517 -1.3807763884880995 3.052239941977269
|
||||
99 2.3501462152911015 -0.09098282020287418 -2.963130739502538
|
||||
193 3.2483282921859455 -6.045063326765766 -1.2297831607518321
|
||||
33 -1.5552221515820004 2.623852853566988 -0.3953508079233695
|
||||
79 2.0518370606822334 1.899510113710928 2.0859744201323727
|
||||
92 1.5026700715390955 0.9352029472761221 -5.528904283783295
|
||||
165 -2.240438523644089 -0.6103912799862421 0.40653914875448993
|
||||
199 -1.2653571662196268 3.710626862073433 1.4730516528440072
|
||||
70 1.655492430853343 0.17760859693009826 -1.650919734678463
|
||||
146 -1.4225048482747793 2.74232833480091 -3.413198079564811
|
||||
106 -1.093901348299414 0.20953760114868714 -0.7298112830112282
|
||||
52 6.647000075136453 -0.30141024565553315 1.2035752428962934
|
||||
86 0.6741589587443484 4.365068713763016 3.5677961016049315
|
||||
197 -0.666824417721529 0.7257967702216201 6.272517109849018
|
||||
185 -1.1845876194928404 2.1001111189632264 2.457366035714506
|
||||
190 -1.6517508143986053 2.271851696760304 3.7976228734124575
|
||||
145 -0.6660913411508007 -2.1887913545610314 1.427073342591097
|
||||
131 3.4923356345857024 1.8910870819349503 0.22757964871813297
|
||||
156 1.3901143776938099 -0.5912367128957199 -1.945898273856384
|
||||
10 -3.3254266550003906 2.363446512042732 -2.8505669909097167
|
||||
196 1.9772342503358795 2.9791453967072834 5.0702556945320305
|
||||
143 1.3619198656944898 -4.070780999483669 0.554762511858757
|
||||
13 -3.6607073229889986 -6.103961980753075 3.3895476442791126
|
||||
59 1.3424546798513801 -0.012418821554116527 -1.0607350515292961
|
||||
186 -0.19147109350375446 -0.14042042908600805 -5.06183250631794
|
||||
136 10.318783006250738 -0.33198398090799297 -3.1695432610471372
|
||||
62 -0.9320061937291512 -8.919718141167188 -1.0031472261072583
|
||||
192 -6.036717500669019 -0.4626110813075395 -5.283002697165421
|
||||
113 -1.9312339562598033 1.2868323831429733 -0.27836767602350954
|
||||
74 0.289298974376203 4.639184114550362 -1.3074893268836063
|
||||
118 2.3186362762712704 0.014757210175651903 -1.9096714905556824
|
||||
117 2.917320124569121 -0.927139463682407 -2.038093079844118
|
||||
23 3.445296199640721 -2.484450168397722 6.150025302403371
|
||||
171 -1.3488599922862394 -0.40015537573335275 5.541824987776105
|
||||
94 2.7016234671889183 -4.500360725821148 -0.3771036206116729
|
||||
41 0.040051409073174504 1.3144504850460685 -2.628956804481983
|
||||
141 0.8101589418958534 -0.40901282998394567 2.3777914588666906
|
||||
159 -2.168905163137191 -3.9077440516609387 3.1238186982134213
|
||||
28
examples/PACKAGES/pimd/lj/in.lmp
Normal file
28
examples/PACKAGES/pimd/lj/in.lmp
Normal file
@ -0,0 +1,28 @@
|
||||
variable ibead uloop 99 pad
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
atom_modify map yes
|
||||
boundary p p p
|
||||
pair_style lj/cut 9.5251
|
||||
read_data data.metalnpt${ibead}
|
||||
|
||||
pair_coeff * * 0.00965188 3.4
|
||||
pair_modify shift yes
|
||||
|
||||
mass 1 39.948
|
||||
|
||||
timestep 0.001
|
||||
|
||||
velocity all create 0.0 ${ibead}
|
||||
|
||||
fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no
|
||||
|
||||
thermo_style custom step temp f_1[*] vol press
|
||||
thermo 100
|
||||
thermo_modify norm no format line "%d %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f"
|
||||
|
||||
dump dcd all custom 100 ${ibead}.xyz id type xu yu zu vx vy vz ix iy iz fx fy fz
|
||||
dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f"
|
||||
|
||||
run 1000
|
||||
1
examples/PACKAGES/pimd/lj/run.sh
Normal file
1
examples/PACKAGES/pimd/lj/run.sh
Normal file
@ -0,0 +1 @@
|
||||
mpirun -np 4 $LMP -in in.lmp -p 4x1 -log log -screen screen
|
||||
219
examples/PACKAGES/pimd/lj_reduced_units/data.lj01
Normal file
219
examples/PACKAGES/pimd/lj_reduced_units/data.lj01
Normal file
@ -0,0 +1,219 @@
|
||||
LAMMPS data file via write_data, version 8 Feb 2023, timestep = 2000
|
||||
|
||||
200 atoms
|
||||
1 atom types
|
||||
|
||||
-3.4945130603740377 3.4945130603740377 xlo xhi
|
||||
-3.4945130603740377 3.4945130603740377 ylo yhi
|
||||
-3.4945130603740377 3.4945130603740377 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 1
|
||||
|
||||
Pair Coeffs # lj/cut
|
||||
|
||||
1 1 1
|
||||
|
||||
Atoms # atomic
|
||||
|
||||
108 1 -2.7795690566068996 -2.0367677788080942 3.4238258338844894 2 1 -1
|
||||
102 1 -2.609481280743025 -1.8912619121268304 -2.399753092988466 1 -1 -1
|
||||
141 1 -3.140749645549514 -2.8903241627869427 -2.7071762462261537 2 0 0
|
||||
49 1 -2.3658136681990007 -3.088812044820056 3.4760124445890623 0 1 -1
|
||||
88 1 -1.6158710173914035 -2.3369020600614756 3.233517474511907 0 1 -1
|
||||
192 1 -1.2960228223928079 -3.237522585981233 -3.1506262911155765 1 1 2
|
||||
113 1 -0.5058112539671865 -2.175265580488635 -2.895948573481031 -1 0 0
|
||||
147 1 -0.22721902013037146 -3.2095321965856187 -2.5444416457809185 0 1 0
|
||||
55 1 0.6250447384071113 -2.6446349401275255 -2.959767417439857 -1 0 -1
|
||||
63 1 1.6783992808137906 -3.22203513406057 -3.1652676844989256 -1 1 1
|
||||
95 1 1.3579478870419064 -2.684729254303277 -2.052496056604152 0 2 -1
|
||||
105 1 1.4496281787006915 -1.9673030959679096 -3.332658945278261 0 0 0
|
||||
84 1 2.4045875426768606 -1.8297724699275564 -2.7874627893944544 0 0 0
|
||||
65 1 -2.68682939849047 -0.8114540186440395 -3.126687818057689 0 -1 0
|
||||
112 1 -1.7203801180145006 -0.8038481618523634 -2.0163240721427838 0 0 0
|
||||
174 1 -1.4968933339977661 -1.3290620346554367 -3.064010040861048 -1 0 -1
|
||||
189 1 -0.6249709402997541 -1.252931712435372 -1.9882716349469658 0 0 2
|
||||
9 1 -0.23886293275872486 -1.0612344376875333 -3.025432389188406 0 0 1
|
||||
146 1 -0.9802936024515303 -0.3953988402073487 -2.8364522494017708 2 1 2
|
||||
171 1 0.39730078560778914 -1.7846492070113664 -2.443607407553737 0 2 -1
|
||||
140 1 0.5573788374911133 -0.5990036144148324 -2.402963062521378 -1 0 0
|
||||
152 1 3.4379847727225346 -1.3055938268830742 -2.4905074589410936 -2 -1 0
|
||||
11 1 3.1992117767992068 -1.191883736793153 -3.4723419170834338 -1 2 1
|
||||
69 1 2.6376153053668867 -0.2845436411244765 -2.788279844473203 0 -2 0
|
||||
173 1 -1.967038944001471 0.06098718735032446 -2.58940519609616 1 0 1
|
||||
190 1 -2.8711350478349926 0.9129034739862979 -3.477848194666021 0 0 0
|
||||
164 1 -2.8409776961511124 1.1599509265598786 -2.2464830240939375 0 0 1
|
||||
161 1 -1.6469671018177567 0.9360204597700993 -3.3491365145788827 1 0 2
|
||||
74 1 -0.028453987680887038 0.3739399392930446 -2.9891764409930484 1 -1 1
|
||||
162 1 -0.9152119867762214 1.8538003710645874 -2.0787458665529313 0 0 1
|
||||
165 1 0.20472499231506947 0.41157279287578097 -1.7804952487691292 0 0 0
|
||||
28 1 0.9556568956317052 0.9070586383550882 -3.051580171737043 0 -1 -1
|
||||
107 1 0.27101548210140264 1.6697625775553313 3.256398876364515 -1 1 0
|
||||
53 1 -2.2768986954542476 1.9520208666344268 -2.905899876141582 -1 -1 1
|
||||
60 1 -2.3748565234893153 3.1415519659534046 -2.6903226937570888 1 1 0
|
||||
172 1 -1.3831407623603917 2.6439383680022495 -2.988114399273657 0 0 2
|
||||
35 1 -1.9040946957475922 2.4850230251463294 -1.8238074088896814 1 -1 0
|
||||
90 1 -0.6407155002729499 2.891205873820353 -2.184576201275668 0 -1 1
|
||||
183 1 -0.7452468270399182 1.6958511415691964 -3.2646018242495516 1 0 0
|
||||
46 1 -0.22701759376730096 2.672935498985858 -3.2296828094464414 1 -1 -1
|
||||
26 1 0.3607641531328818 1.9915770180932266 -2.4322620664253045 0 -1 1
|
||||
41 1 0.6373758855225722 3.1576967379383136 -2.2076729513672273 0 0 1
|
||||
62 1 1.2599715479139464 2.4637352645229535 -2.996655642771261 0 0 1
|
||||
114 1 0.7095094175128512 3.3529225376529834 -3.446569928809617 0 -1 1
|
||||
29 1 -3.4441516076858747 3.186682881361427 -3.164290558791177 1 -1 0
|
||||
120 1 -2.7699397214807666 -3.0679149510930377 -1.4586405778286127 2 1 1
|
||||
166 1 -2.9639598123456348 -1.8230569851379879 -1.1336421298957986 0 1 0
|
||||
19 1 -2.219481001384856 -2.718720936926987 -0.17152653954078959 1 1 -1
|
||||
143 1 -3.3367462911096637 -2.646710289319255 -0.08639804580378332 1 1 0
|
||||
14 1 -0.8080539703460301 -3.3138674801902015 -1.5513416052298858 -1 0 1
|
||||
17 1 -1.2519028473371163 -1.9834151764617522 -0.4751925051419198 -2 0 0
|
||||
7 1 -0.6422036076119758 -2.1822637849150257 -1.309964136714573 -1 0 1
|
||||
76 1 0.002896678458885543 -2.2620445897063184 -0.2330303144789453 0 0 0
|
||||
25 1 0.3195487317939559 -2.5915964162672633 -1.6847661018972104 -1 0 1
|
||||
122 1 0.9437732996524034 -3.076308154774796 -1.0301951566376644 1 0 -1
|
||||
188 1 1.3149323047475332 -2.0202232851439175 -0.9332517483120624 -1 0 0
|
||||
196 1 2.4252816482051065 -2.9991133261256717 -0.2915609413585816 0 2 1
|
||||
154 1 1.617010887740887 -2.199305270305938 0.15712874770371849 -1 2 0
|
||||
64 1 2.934967635633404 -1.92620475221537 -0.7077313528493354 0 1 0
|
||||
79 1 -2.8111804533557017 -0.5176533778232942 -2.0486672107634094 0 1 0
|
||||
80 1 -2.079807139196039 -1.2506968999173758 -0.6878784167189951 0 0 1
|
||||
12 1 -2.996784469690298 -1.494057160171672 -0.09378065633433766 0 0 1
|
||||
87 1 -1.4786937501974577 -0.24572242955022147 -1.0411298155891553 0 -1 1
|
||||
118 1 -1.5219571471797697 -0.6469152337096267 0.07790607124041445 0 1 0
|
||||
106 1 1.1039107347748043 -0.9982945968846851 -1.4358613477546331 -1 0 0
|
||||
6 1 0.2994229743009 -1.5755502164022743 -1.1025451212735877 2 0 0
|
||||
98 1 0.14422647245316755 -0.4562748967814887 -1.1288823927075846 -1 0 0
|
||||
36 1 1.117403260546369 -0.6258611972204157 -0.45746732579129296 1 -1 0
|
||||
133 1 0.859517194013173 -1.4579095853876511 0.2223121798831755 1 1 1
|
||||
1 1 1.9750704226304612 -1.2226584851722493 -0.5050391499153623 0 -1 0
|
||||
91 1 2.930212504963826 -0.8900603772487206 0.31326990070574257 0 -1 -1
|
||||
135 1 -1.8704119131145511 1.4151617424236407 -2.0299493395071555 1 0 0
|
||||
145 1 -2.5978280185456044 0.23771261564216897 -0.6973478660383656 0 -2 -1
|
||||
194 1 -0.802106175542123 1.5380363524561962 -1.0014646333327863 0 1 -1
|
||||
177 1 -0.4209642163497379 1.4081511815239465 0.048786606404428355 0 1 -1
|
||||
56 1 0.1655081354187105 0.488612868229853 -0.6685586469118172 0 0 1
|
||||
137 1 1.0403444543974962 0.29392106264506496 -1.157047853549803 -1 1 -1
|
||||
3 1 1.426791637331859 1.1994824011018168 -0.7391487398561316 0 -1 1
|
||||
125 1 0.6384933993980926 1.4087406696008793 -0.04513978672724809 0 1 0
|
||||
85 1 3.492386221258323 -0.022918569575539983 -0.18415289757087 1 0 1
|
||||
37 1 1.9446560065460998 0.32690249887078415 -1.557848909197346 1 0 1
|
||||
157 1 2.2693311785439514 1.4234672203444076 -1.3950756204319474 -1 -1 1
|
||||
81 1 2.2043144165939133 0.7734976358785483 -0.1443989261496442 -1 0 1
|
||||
193 1 -2.800913203549158 3.3913795040038752 -0.3002902442199323 1 0 0
|
||||
127 1 -1.832485514575906 -3.475177695698571 -1.0143919033965547 0 0 0
|
||||
104 1 -0.9864189902172598 -3.128510029811542 -0.3946109581791233 0 0 -1
|
||||
72 1 -1.091863924309645 2.651695772194485 -1.1525574140711645 1 -1 0
|
||||
99 1 -1.376188772302252 2.1367308970905112 -0.22414000562735564 0 -1 0
|
||||
24 1 1.0798151658945965 1.8088284522753606 -1.611839691529319 1 -1 0
|
||||
42 1 3.3099578488331143 2.7636832208891664 -0.11775790598994411 -1 1 -1
|
||||
38 1 -2.6469918571054945 -2.446265188540552 0.8006326688775777 1 0 1
|
||||
86 1 -3.3982593364606077 -1.9911707046121028 1.4129412590921573 -1 0 0
|
||||
116 1 -3.3782151164102614 3.3939134790192074 0.6418244028431277 1 0 0
|
||||
144 1 -2.152212571536467 -2.8119708535854224 1.6778364082976118 0 1 0
|
||||
179 1 -0.8263021362457004 -1.7214596406733806 0.6812305480127513 -1 3 1
|
||||
151 1 -1.5217298498042864 -2.5933593936403763 0.7963122225368328 0 1 2
|
||||
130 1 -0.41366866285633624 -2.851509016203123 0.6773665297002652 -1 1 0
|
||||
149 1 -0.8196954968551895 -2.4620140380344058 1.6681749543249536 1 1 0
|
||||
123 1 0.42149982032625755 -2.3318080821151144 1.1400194349387576 -1 1 -1
|
||||
142 1 1.7676090653529768 -2.7694388971884765 1.0411093428968425 1 1 0
|
||||
43 1 1.2651581412723922 -1.7350310325188918 1.2119129817343088 -1 -1 1
|
||||
156 1 2.796603060966876 -1.975811297437484 0.5269881248554414 0 -1 0
|
||||
30 1 -2.572197786362113 -0.5211520888332514 0.06478473226429171 1 -1 0
|
||||
200 1 -2.796037525463158 -1.2242406753887405 0.9147806710233006 -1 0 0
|
||||
75 1 -3.264195451754593 -0.2758623474229462 0.8501703715118789 1 -1 0
|
||||
199 1 -1.8606891200301348 -0.81109530705794 1.234068196576104 1 -1 1
|
||||
119 1 -1.8952925629684365 -1.6742391291961565 0.3056526633582653 0 -1 0
|
||||
153 1 -0.6179778569135823 -0.6812551828045249 0.8822634033092613 1 1 0
|
||||
31 1 0.1434804396367878 -0.5352374975985325 0.00065681711961239 0 -1 0
|
||||
8 1 0.9896949675708329 -0.5825805499366115 0.8390036708294969 0 0 0
|
||||
198 1 0.20957042666083733 -1.2300305579788615 1.1505092305231928 0 0 1
|
||||
22 1 0.11282413745771128 -0.029722367543426716 1.1299864513218787 -1 0 -1
|
||||
195 1 2.9662277270739343 -0.9097471611972223 1.378968815531931 1 0 2
|
||||
32 1 1.9176581701385829 -1.0963885598161285 0.612637989357651 1 0 -1
|
||||
139 1 2.2034635745403706 -0.09403988556633318 0.8645554281632429 -1 2 0
|
||||
77 1 1.7035877859699526 -0.8133688575022073 1.6318409740615665 0 -1 1
|
||||
111 1 -3.223221512681343 0.8515794477136406 0.5304444380887284 1 1 1
|
||||
138 1 -2.102339643808083 0.3205080511040257 0.6397061187151873 0 1 -1
|
||||
103 1 -2.8441279458234914 0.5800051690180812 1.512417106043963 -1 1 0
|
||||
184 1 -2.4512811422970944 1.4407376078485292 1.024840909070544 0 0 1
|
||||
73 1 -1.2083083753201984 0.16913042396249212 1.31830897028215 0 -2 0
|
||||
89 1 -0.622943103836138 0.15695545887374523 0.03344907944561345 0 0 -1
|
||||
93 1 -0.6871612783719626 1.4782545941619265 1.7130745398216136 0 -1 0
|
||||
94 1 -1.209899480419889 1.1419050120740204 0.768566708093127 0 0 0
|
||||
181 1 0.8338139283938067 0.2955625473112081 0.1708175991674893 -1 1 -1
|
||||
129 1 1.1355758059362249 0.3630461551808931 1.290797674214222 -1 0 0
|
||||
182 1 0.08831527814343061 0.9709201913937692 0.9217855950625892 0 1 -1
|
||||
158 1 1.4062820374169525 1.1517166598840343 0.6269036353613398 0 0 0
|
||||
100 1 2.8360458941172935 1.5280995172170748 0.62642849190607 0 1 0
|
||||
59 1 3.120666407088228 0.49773318717092796 1.2390797462592613 0 -1 1
|
||||
40 1 2.1784673001300465 0.9493086808156442 1.37690657576216 0 0 0
|
||||
110 1 3.092811420136352 1.457598231264991 1.8333488137634408 0 0 -2
|
||||
71 1 -2.704068160468349 3.198799130983575 1.5420861670955985 0 -1 -1
|
||||
187 1 -3.3809787804159894 2.339193447924602 0.9253127201661663 1 1 0
|
||||
58 1 -1.8161128905276918 3.295453805825648 0.4419286058239596 0 -1 0
|
||||
39 1 -1.9288855291902436 2.399541640622866 1.1856795461879515 0 -2 0
|
||||
115 1 -1.3188418056778684 -3.426962627878111 1.3071043811339145 1 1 0
|
||||
109 1 0.7422148102651713 1.9772692916114134 0.8946623229549697 -1 1 0
|
||||
48 1 1.212990075236676 2.7637861839630933 1.668138216427735 0 0 -1
|
||||
44 1 1.8875283020177747 2.01954806585405 0.15097670327664356 -1 -1 1
|
||||
16 1 2.5088486436667465 3.2867062332187165 0.5352876678637931 0 -2 1
|
||||
150 1 2.339993315563226 2.225227215494749 1.201791196292386 0 -1 1
|
||||
101 1 -2.7232595674410254 -2.5310321070553594 2.520173028347837 1 3 1
|
||||
121 1 -0.1371595891679715 -2.734037361783574 3.2547541081110136 -1 1 -1
|
||||
131 1 -1.616105025949218 -1.97873290984862 2.2250110182725185 1 0 0
|
||||
50 1 -0.9774458776093428 -3.080336575399165 2.647294574069851 0 1 0
|
||||
78 1 -0.6388640381972747 -1.8358994538797384 3.0793625374288474 1 -1 1
|
||||
126 1 0.2617829860592282 -3.185635897887874 2.046978007125428 0 1 -1
|
||||
185 1 0.3910180046792306 -1.7476201774885758 3.460179487049301 -2 1 -1
|
||||
27 1 0.9216706073777299 -2.620009754961919 2.980059759810019 0 0 1
|
||||
5 1 0.14805884420723833 -2.060999311749248 2.194803632818035 0 -1 -1
|
||||
10 1 1.3885697256222325 -2.5811721069430047 1.960299612344295 0 0 1
|
||||
68 1 1.2305537223759786 3.452417391198064 2.5060768204562396 0 0 1
|
||||
92 1 3.2579931163558924 -3.0623298587917547 1.8252693484803535 0 2 -1
|
||||
178 1 2.26419751848874 -1.7585846281228215 1.7123805014943867 1 1 0
|
||||
96 1 2.599921016729558 -2.6427367710738228 3.4145177684858803 -2 2 -1
|
||||
57 1 3.2402592062064213 -1.9899576048001384 2.7907002699370937 1 0 0
|
||||
155 1 2.209613988042176 -1.7162524781709796 2.7271827572979834 0 0 -1
|
||||
168 1 3.477326382335708 -3.4068959852573992 2.821891114170504 -1 1 -2
|
||||
175 1 -3.1260125076640937 -0.1261845495956751 3.231607373653429 0 0 0
|
||||
117 1 -2.5082381499858095 -1.6201356456498082 1.916360867966056 0 0 0
|
||||
4 1 -3.1142920073981517 -0.7023062901592412 1.8555906719306698 0 0 -1
|
||||
51 1 -1.9626772134484154 -1.4010881760394245 3.033958867461655 0 0 -1
|
||||
148 1 -3.011516485433896 -1.1469037793442038 2.7610753028279933 0 0 0
|
||||
197 1 -2.0048159662329326 -0.6749211621392989 2.344679442661877 0 -1 -1
|
||||
70 1 -1.8654941392471802 -0.3319695813423535 3.329224742630753 0 1 1
|
||||
23 1 -1.0720302561208543 -0.8796307974060223 2.9652586368172633 0 0 -2
|
||||
134 1 -0.9769774773292339 -1.023866537972646 1.8133872200496586 -1 0 0
|
||||
66 1 0.0812156007450339 -1.0967406204476347 2.677696992399577 -1 -1 -1
|
||||
33 1 -0.42833987516917704 0.2127920276630183 3.0504271041557827 0 -1 -1
|
||||
18 1 0.8738459806171345 -0.7301638515378504 3.451151027750579 0 -1 -2
|
||||
167 1 1.1687036142366616 -1.4517802174625138 2.5014340704062015 0 1 -1
|
||||
136 1 1.795137560517328 -0.5623222017058748 2.761148573575212 0 -1 -2
|
||||
176 1 0.8667263057428289 -0.39855552371320657 2.157386135628261 0 0 0
|
||||
132 1 2.7791570748849397 -0.1854473725861777 3.06331164881256 0 0 -1
|
||||
163 1 2.861161516036147 -0.9653887253660198 2.3742914745631665 -1 -1 0
|
||||
159 1 -1.638440405488927 1.040992844593558 1.6945368306541542 0 0 0
|
||||
34 1 -2.319980614869211 0.615010700172925 2.607891496520952 1 0 -1
|
||||
67 1 -1.8758084270870021 1.7856292006021222 2.9794597615239873 1 0 0
|
||||
82 1 3.450078342208421 0.43347862445962865 2.3965330453749276 -1 -1 -1
|
||||
20 1 -0.3345634991984191 0.4474749361055883 2.021125197093307 1 0 -1
|
||||
160 1 -1.337826167757788 0.19507650189296638 2.4559469377176044 0 0 0
|
||||
191 1 -0.9433598322448645 1.0765639185970945 2.7978676989244713 1 -1 0
|
||||
97 1 1.4995074975439164 1.4827775589636611 2.8582397165142885 0 -1 -1
|
||||
83 1 0.7440931705195399 0.28485269404070884 2.8824261695219513 0 -2 0
|
||||
186 1 0.4501325900005473 1.1817617584793225 2.171005382838285 1 1 0
|
||||
21 1 1.5799209373811796 0.5165927484280916 2.197344395644513 1 0 -1
|
||||
170 1 1.781383760665039 0.4589516263468447 3.2606047972968697 -1 1 -1
|
||||
15 1 2.5264882009659457 -0.10271458568953422 1.9429509270634897 -1 0 -1
|
||||
54 1 2.4907565610148112 1.0443458588262453 2.659572052524602 0 -1 -1
|
||||
45 1 -2.3851170089162586 2.7278135027281576 3.2923683043438063 1 0 -1
|
||||
47 1 -2.417816843075144 1.911767591397239 2.070179319067279 0 1 0
|
||||
52 1 -3.4931268842957652 2.50155605132379 2.127865658713496 0 -1 0
|
||||
180 1 -1.9509177290095516 3.309670529089689 2.349688492929276 1 -1 1
|
||||
13 1 -0.12240867021598209 3.2141258686958913 2.833411182871058 -1 -1 1
|
||||
2 1 -1.340442106022601 2.2849149851767008 2.069093746173476 1 -2 -1
|
||||
124 1 -0.41265942682553436 2.1334074442091007 2.592421577863454 1 -1 -1
|
||||
61 1 0.7799049336891462 2.500510040165389 2.633457440959517 -1 -2 0
|
||||
128 1 2.8514020342376654 2.399755896897204 3.251183881976271 0 0 -2
|
||||
169 1 2.1185477137097575 2.27540363851787 2.3296903855745934 0 0 0
|
||||
219
examples/PACKAGES/pimd/lj_reduced_units/data.lj02
Normal file
219
examples/PACKAGES/pimd/lj_reduced_units/data.lj02
Normal file
@ -0,0 +1,219 @@
|
||||
LAMMPS data file via write_data, version 8 Feb 2023, timestep = 8000
|
||||
|
||||
200 atoms
|
||||
1 atom types
|
||||
|
||||
-3.4945130603740377 3.4945130603740377 xlo xhi
|
||||
-3.4945130603740377 3.4945130603740377 ylo yhi
|
||||
-3.4945130603740377 3.4945130603740377 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 1
|
||||
|
||||
Pair Coeffs # lj/cut
|
||||
|
||||
1 1 1
|
||||
|
||||
Atoms # atomic
|
||||
|
||||
141 1 -1.763209980389579 -2.6156484242195064 -2.931843780833984 2 0 0
|
||||
152 1 -1.5928871542954757 3.3501884422702433 -1.8656866405706811 -1 -2 0
|
||||
49 1 -2.7539752553137182 -3.2181862303090325 -3.2982185001231508 0 1 0
|
||||
113 1 -0.7003027892165357 -2.1799819378730754 -2.999588953057854 -1 0 0
|
||||
147 1 -0.9066147762335637 -3.0721536393085946 -3.451497569202878 0 1 0
|
||||
25 1 -0.8348129272923334 -3.2010555139777104 -2.4342714727995403 -1 0 1
|
||||
7 1 -1.155032969500839 -2.109409697780318 -2.01960214884411 -1 0 1
|
||||
122 1 -0.11210230788570166 -2.6275713274626975 -1.900506384406081 1 0 -1
|
||||
55 1 0.23346664931542635 -2.573966195106371 -3.0437128589517024 -1 0 -1
|
||||
95 1 0.716981854784511 -1.7560064219465084 -1.6999612600924723 0 2 -1
|
||||
105 1 1.1248014998718883 -1.7403082354703703 -3.356758018801178 0 0 0
|
||||
84 1 2.225043764737794 -2.1031554472806464 -3.42558560520243 0 0 0
|
||||
65 1 -2.8977942390562763 -2.1977837904725823 -3.370623324950664 0 -1 0
|
||||
175 1 -3.151432241251456 -0.37515180280237564 3.4437485581764316 0 0 0
|
||||
173 1 -2.3157350741156972 -0.12943144237356516 -2.753320161369244 1 0 1
|
||||
174 1 -1.4393153013859372 -1.4595317956467175 -2.895392195630071 -1 0 -1
|
||||
189 1 -0.9035292808774392 -0.8049470303120404 -2.0013910310988474 0 0 2
|
||||
171 1 -0.09043747063992294 -1.5712222691835853 -2.3464524824680155 0 2 -1
|
||||
9 1 -0.38933479997274456 -0.745737254721562 -3.0928316849953847 0 0 1
|
||||
37 1 0.8181444837942082 -0.7091668788083872 -2.594933610756206 1 0 1
|
||||
170 1 1.3754078695474516 -0.09950193181623739 -3.3522400330808644 -1 1 0
|
||||
69 1 1.8294621328196188 -1.0504767914076205 -2.8686605757666803 0 -2 0
|
||||
11 1 3.053917621871791 -1.2494689141836135 -3.2389748560412586 -1 2 1
|
||||
132 1 2.7977059570311695 -0.2496088420677755 -3.341775035063612 0 0 0
|
||||
190 1 3.4919178496580034 0.673724849434539 3.4160908466980175 -1 0 -1
|
||||
146 1 -0.6231884714133011 0.14913282842463038 -2.641949381637644 2 1 2
|
||||
135 1 -1.5674517925968012 0.6290709302591437 -2.3856462153486317 1 0 0
|
||||
183 1 -0.49431360672463004 1.4890871743231773 -2.7350680810605428 1 0 0
|
||||
74 1 0.37022638217671316 0.08409992531451556 -3.033741105582725 1 -1 1
|
||||
26 1 0.4574609043057575 1.0299917975368564 -2.3172978982485737 0 -1 1
|
||||
28 1 1.1181699312197082 1.1244486490934802 -3.1866832135712855 0 -1 -1
|
||||
29 1 -2.5977690868714194 2.5288932865762908 -3.4450145823917615 1 -1 0
|
||||
60 1 -1.7983398047844672 3.3151201773371946 -2.9557747417019304 1 1 0
|
||||
35 1 -2.341675516391612 2.5752707942079995 -2.1932303039293837 1 -1 0
|
||||
172 1 -1.5906394201515217 2.0015866768978423 -2.97713376733703 0 0 2
|
||||
90 1 -0.9570316941978154 2.7341944347748575 -2.39704430602322 0 -1 1
|
||||
41 1 0.17097469683906785 3.422589740764926 -2.7250117611585174 0 0 1
|
||||
102 1 -2.1834144246935057 -1.9708341062049972 -1.651792998752301 1 -1 -1
|
||||
19 1 -2.799899482947646 -2.4762586983196475 -0.30170497621753223 1 1 -1
|
||||
193 1 -1.8524344777477728 -2.9040612754975954 -0.9352876177978476 1 1 0
|
||||
76 1 -0.14754768813509733 -2.534237145454477 -0.5903298333231304 0 0 0
|
||||
104 1 -1.4292162927828058 -1.8887180032986757 -0.7510048521253992 0 0 -1
|
||||
14 1 -0.7531800111600084 -3.202737076324235 -1.3992046647831564 -1 0 1
|
||||
188 1 1.0895178734825146 -2.3416281855941414 0.09937021752979631 -1 0 0
|
||||
157 1 1.53648073670157 -2.278353849103656 -0.9969007844888839 -1 -1 1
|
||||
64 1 3.2685116460755688 -1.7040641958682559 -0.168149877537844 0 1 0
|
||||
196 1 3.243226770875574 -2.735431073745969 -0.24543333692900807 0 2 1
|
||||
120 1 -2.7480834527815015 -1.2726347498238166 -0.7010605053509458 2 1 1
|
||||
166 1 -2.5409778907446827 -0.09698240322803402 -1.3435121782531134 0 1 0
|
||||
30 1 -2.536346720442665 -0.46539641115594493 0.008770351469747525 1 -1 0
|
||||
80 1 -1.716490207148261 -0.7528793181105096 -0.6170398381312646 0 0 1
|
||||
17 1 -0.8652064576231921 -1.1974714632304932 -0.15888843807113082 -2 0 0
|
||||
98 1 -0.5496242692202938 -0.5939149881300675 -0.9303624863402448 -1 0 0
|
||||
6 1 -0.45332547354146785 -1.6738816451677578 -1.1232699958219994 2 0 0
|
||||
140 1 0.09381666738090248 -0.533597973200848 -1.8865070415277823 -1 0 0
|
||||
106 1 0.5488648307350995 -1.2535162508826685 -0.8256886196074045 -1 0 0
|
||||
36 1 0.7889198394938511 -0.3476398702185327 -0.04547023889787161 1 -1 0
|
||||
24 1 1.3300945978662577 -0.35153772413771023 -0.9700284287655409 1 -1 0
|
||||
81 1 2.0630098337462903 -0.9138666208698583 -0.13962068859670462 -1 0 1
|
||||
91 1 -3.4535066291698033 -0.4796384079540839 -0.5221884185889151 1 -1 -1
|
||||
164 1 -1.8003776637651108 1.3095354466285742 -0.9389018844249196 0 0 1
|
||||
87 1 -1.8547858498275616 0.3065099544053662 -0.4980768850921695 0 -1 1
|
||||
145 1 -3.090772587596814 0.5837989607708169 -0.6251810283740868 0 -2 -1
|
||||
111 1 -2.534664983415859 1.34688446772606 0.11460128889340086 1 1 1
|
||||
79 1 -1.380899470765548 0.24370827853097413 -1.4854169578503262 0 1 0
|
||||
162 1 -1.1815902722068103 1.6597770188121743 -1.9852434376303232 0 0 1
|
||||
112 1 -0.32558743037491716 0.7106169572157139 -1.615285962267308 0 0 0
|
||||
56 1 -0.8283072702254036 0.4564624534306639 -0.5700689028075459 0 0 1
|
||||
182 1 0.04863074266364189 0.7978824700683131 -0.008284573593351257 0 1 -1
|
||||
177 1 -0.6481696376748467 1.7650890642565358 -0.05338043165294714 0 1 -1
|
||||
137 1 0.32639925685778487 -0.05353328668133155 -0.9586895874383917 -1 1 -1
|
||||
165 1 0.9387159980444888 0.2522291776639033 -1.8478441123660552 0 0 0
|
||||
3 1 1.0844300875316264 0.6025889724525081 -0.4582563908829376 0 -1 1
|
||||
194 1 0.8662415299163716 1.2219273986337442 -1.3857941220556813 0 1 -1
|
||||
158 1 2.0486184184859972 0.9634063040985638 -0.3354215045861158 0 0 0
|
||||
42 1 -1.5693584560601268 2.9075068816274467 -0.8387140667909673 0 1 -1
|
||||
99 1 -1.6113116181616747 2.147179220461499 0.1775215873578245 0 -1 0
|
||||
72 1 -0.6293873725016741 2.630010118252137 -0.9564776518035689 1 -1 0
|
||||
38 1 -2.8640470065198236 -2.2435586739017785 1.3910743129711478 1 0 1
|
||||
143 1 -3.0743396057883414 -3.212849746838124 0.5259359570888149 1 1 0
|
||||
58 1 -1.9981958681612715 -3.1822656548185346 0.09920225142503952 0 0 0
|
||||
144 1 -2.279979967578157 -3.0851896187054515 1.4084093697981352 0 1 0
|
||||
151 1 -2.0216078245666655 -2.2216580360079643 0.7457122321748793 0 1 2
|
||||
130 1 -0.17493166269242383 -2.4315359476317373 0.444080856211588 -1 1 0
|
||||
149 1 -1.3750250274960272 -1.974930490228725 1.5829454078902832 1 1 0
|
||||
115 1 -1.2118995350185076 -2.9035919135907267 0.8179968023020373 1 1 0
|
||||
126 1 -0.25733050703242866 -2.3407760209116555 1.6674720764378244 0 1 -1
|
||||
123 1 0.5187414713973443 -1.8755931680751559 1.2290889493691715 -1 1 -1
|
||||
92 1 3.2842270894719214 -2.336991573654636 0.7621232582722934 0 2 -1
|
||||
142 1 2.8537576665436712 -3.369110508718591 0.5560526759827451 1 1 0
|
||||
1 1 2.08557845839204 -2.010493903326111 0.46603456602394955 0 -1 0
|
||||
12 1 -2.813558556370972 -1.5225310581093578 0.39881007051362743 0 0 1
|
||||
200 1 -2.620780645842095 -0.6334500549042138 1.1697962611458572 -1 0 0
|
||||
117 1 -2.3409262065663707 -1.4262844598718953 1.577896400637549 0 0 0
|
||||
199 1 -1.6721028915736709 -0.3937836671461621 1.764496832035196 1 -1 1
|
||||
119 1 -1.3702172421751233 -0.982726844411586 0.8109159599445125 0 -1 0
|
||||
118 1 -1.22523977151256 0.049111500972962366 0.34422431168243056 0 1 0
|
||||
179 1 -0.48400468992080004 -1.5634732075160336 0.9724005879568145 -1 3 1
|
||||
153 1 -0.7754078116015299 -0.12746028844271876 1.3139844087365358 1 1 0
|
||||
31 1 -0.21960550339589976 -0.3692535839546128 0.27760883173133294 0 -1 0
|
||||
154 1 1.1892001894282327 -1.234463776085168 0.4980011557336487 -1 2 0
|
||||
198 1 0.208959161472621 -0.7925251742172552 1.1981697813594612 0 0 1
|
||||
133 1 0.2021894978277857 -1.321629803385425 0.21342138424976495 1 1 1
|
||||
8 1 1.290866486655316 -0.32315323656178685 1.238429676489808 0 0 0
|
||||
43 1 1.4755875560077207 -1.5038423322367462 1.5696783276393578 -1 -1 1
|
||||
178 1 2.5595353005590473 -1.8548623704973153 1.5265130435507075 1 1 0
|
||||
156 1 3.10009336795942 -1.1347768292920712 0.7103971454931245 0 -1 0
|
||||
195 1 3.0488535895478486 -0.3819070637556806 1.6994009663148437 1 0 2
|
||||
32 1 2.1785721999000907 -0.8868183892594861 1.0608219538420214 1 0 -1
|
||||
75 1 -3.330023312049968 -0.13053199225722137 0.5772143324801579 1 -1 0
|
||||
138 1 -2.126928513622699 0.2705982397065681 0.9031685365715656 0 1 -1
|
||||
103 1 -2.5233875332738447 1.119832203926971 1.7143082124863906 -1 1 0
|
||||
89 1 -1.5625051595744621 1.0842527403417836 0.48114251556352683 0 0 -1
|
||||
73 1 -1.3841491529474708 0.7735632155517752 1.4917172788469495 0 -2 0
|
||||
93 1 -0.8459409435273203 1.6986071717879083 1.233579181789839 0 -1 0
|
||||
22 1 0.23130054165086983 0.3973595019638049 1.136265889331469 -1 0 -1
|
||||
181 1 1.6715679048902568 0.38189497066002065 0.5813616713777726 -1 1 -1
|
||||
125 1 0.7657348058398646 1.4638634812356126 0.3595929949039634 0 1 0
|
||||
129 1 1.187621376432971 0.7432781269466477 1.4756104377419834 -1 0 0
|
||||
186 1 0.12119836338531766 1.4258158866314226 1.7139997055217806 1 1 0
|
||||
44 1 3.246466614044557 0.935266979887072 0.09504504915790167 -1 -1 1
|
||||
139 1 2.294764083473655 0.2623628592978102 1.523064327633417 -1 2 0
|
||||
85 1 2.6715078057197426 -0.13923978779568133 0.48921080221894214 1 0 1
|
||||
100 1 2.179445623029225 1.1813699866412055 0.929258254331208 0 1 0
|
||||
59 1 3.199013987449739 0.7056213255691308 1.3011789902622373 0 -1 1
|
||||
184 1 -3.3541957825280964 1.6540170153788636 1.314525393258615 0 0 1
|
||||
116 1 -2.5607854807212633 2.8662954762956563 0.2561876654735037 1 0 0
|
||||
94 1 -2.209938696472392 1.817908573668992 0.9714554983444477 0 0 0
|
||||
16 1 3.462148790854558 2.750688132987863 1.1678814516580918 0 -2 1
|
||||
127 1 -0.6724215018270191 2.910608435174655 0.1393721830184081 0 -1 0
|
||||
39 1 -1.4963936644183389 2.8490269023893804 1.0397387839630663 0 -2 0
|
||||
109 1 1.2282064333649392 2.002097356660932 1.219647219360347 -1 1 0
|
||||
13 1 -0.038761589919005045 2.283368111259498 0.6285508805046305 -1 -1 1
|
||||
68 1 1.8122507294414043 2.919628635322565 1.388388027502655 0 0 1
|
||||
187 1 2.839543107439997 1.9712312705165291 0.44701965347775696 0 1 0
|
||||
150 1 2.6350933896773805 2.228885886643039 1.6430472643318494 0 -1 1
|
||||
101 1 -2.9845915106276357 -2.643240276070094 2.6131611879137338 1 3 1
|
||||
180 1 -2.4664624391703636 3.2461534604898077 2.2991216200041777 1 -1 1
|
||||
131 1 -2.1198879143055582 -2.5254800707290985 2.2468458013290475 1 0 0
|
||||
88 1 -1.8261664412558902 -3.2761989619835945 3.0217607589697706 0 1 -1
|
||||
51 1 -1.7527244407627123 -2.1114193587023125 3.178648460302574 0 0 -1
|
||||
121 1 -0.8632847382707834 -2.364486787477818 2.5298242427842235 -1 1 -1
|
||||
50 1 -1.3127850841438964 -3.332989957578539 1.7903541140988317 0 1 0
|
||||
63 1 1.6040989853168577 -2.8917377487223326 2.9749125296584396 -1 1 0
|
||||
27 1 0.22872838010698016 -2.994984028716655 2.6653598205127595 0 0 1
|
||||
10 1 0.9362147196804173 -2.581105523755157 1.9878669654444103 0 0 1
|
||||
185 1 0.06742724446398485 -1.8726052150227481 3.179787889614259 -2 1 -1
|
||||
62 1 0.9381874848569671 3.2183812476038773 2.122950032967029 0 0 0
|
||||
108 1 3.2075816395574557 -2.6473251670969744 3.3899630726255054 1 1 -1
|
||||
168 1 -3.4886505297786643 -3.024902771510678 1.648075348189236 0 1 -2
|
||||
96 1 2.193516168781477 -3.220451114036294 2.031971070369377 -2 2 -1
|
||||
57 1 2.897670474066688 -1.7869273194590956 2.7802854592878443 1 0 0
|
||||
155 1 2.0203257801003764 -2.093908363815807 2.3651374010253265 0 0 -1
|
||||
70 1 -2.289198729241698 -1.0693505000499786 3.3341581014665116 0 1 1
|
||||
86 1 3.4317154036170927 -1.33629793948954 1.5868690985104916 -2 0 0
|
||||
4 1 -2.642034929204445 -0.5735696636076526 2.24988074624273 0 0 -1
|
||||
148 1 -2.7958435550832177 -1.6271830272245196 2.4651167378398258 0 0 0
|
||||
197 1 -1.6297637248397103 -1.2496732630952756 2.4653302717640746 0 -1 -1
|
||||
23 1 -1.4165843839294037 -0.23332219410733462 -3.3887252652014874 0 0 -1
|
||||
78 1 -0.8539129642965406 -1.4368914881460948 3.1097976169270467 1 -1 1
|
||||
134 1 -0.7681520363929484 -1.1354013495310054 1.8538106613640677 -1 0 0
|
||||
66 1 -0.23373724912576396 -0.5882558302750734 2.5656269999794135 -1 -1 -1
|
||||
160 1 -1.1132775718863501 0.16126595419727965 2.3994619853672896 0 0 0
|
||||
18 1 0.6168554097448792 -0.8675105647197154 3.3233443940314107 0 -1 -2
|
||||
5 1 0.21124689546372627 -1.527936340282886 2.128421015823146 0 -1 -1
|
||||
167 1 1.157996163161525 -1.3890474926504965 2.5930120556899743 0 1 -1
|
||||
176 1 0.7227757787132028 -0.4265054817409199 2.130677354553178 0 0 0
|
||||
77 1 2.0007502274099562 -0.6930768409753575 2.0562080526704536 0 -1 1
|
||||
136 1 2.059758900185651 -1.052357318680519 3.1194387358517117 0 -1 -2
|
||||
163 1 3.3650479388293877 -0.7812523229666395 2.7231341802578797 -1 -1 0
|
||||
53 1 -2.3141819292399695 1.20855609162257 -3.127003289906138 -1 -1 1
|
||||
34 1 -2.2520285035649175 0.34377072469492165 3.2433897655354262 1 0 -1
|
||||
82 1 -3.1361148993392707 0.2917712829104399 2.508598507937298 0 -1 -1
|
||||
47 1 -2.903472142580087 1.2996380231419302 2.6614912616951822 0 1 0
|
||||
159 1 -1.8421866316781088 1.3742261871908503 2.7832166426856038 0 0 0
|
||||
161 1 -1.2319440636738626 0.9387211724622819 -3.4892930122068617 1 0 2
|
||||
33 1 -0.4449542140900899 0.2769280403688486 3.289217283277774 0 -1 -1
|
||||
191 1 -0.8687075277531521 1.281273999295463 2.3493691514045447 1 -1 0
|
||||
20 1 -0.12835229617409075 0.4001437971686418 2.091186274425671 1 0 -1
|
||||
21 1 1.5590447736292827 0.23116165627532026 2.4331182207698356 1 0 -1
|
||||
83 1 0.6019872094726322 0.17868421219256525 2.965010196172179 0 -2 0
|
||||
107 1 -0.09314344901480053 1.8386195873289717 2.9198165047206524 -1 1 0
|
||||
97 1 0.9500008570521725 1.1147256892756756 2.5445482565685626 0 -1 -1
|
||||
15 1 2.6866827472081427 0.05611542822496954 2.621280841687164 -1 0 -1
|
||||
40 1 2.0535009935702107 1.3482348414084473 2.153119101811638 0 0 0
|
||||
110 1 3.037377950690711 1.1454318013031137 2.4602998295324308 0 0 -2
|
||||
54 1 2.1368310833242825 0.6989281938007096 3.190545712320829 0 -1 -1
|
||||
71 1 -2.6906257490825327 2.3188264822083675 1.851572369390678 0 -1 -1
|
||||
45 1 -1.8822606439217724 2.5464355632785174 2.887157746831732 1 0 -1
|
||||
2 1 -1.527738763941238 2.1784215473644295 1.8498426738676617 1 -2 -1
|
||||
67 1 -1.014923597719753 2.0522310481028465 3.091487536680741 1 0 0
|
||||
192 1 -0.8672155474955553 3.087168735274927 2.6165250257240618 1 0 1
|
||||
124 1 -0.37769468839105996 2.5506571887551175 1.8053870882842125 1 -1 -1
|
||||
46 1 -0.2092884053324724 2.562694157698328 -3.2372195292692605 1 -1 -1
|
||||
114 1 -0.2001222858286487 -3.429888000295159 1.8301280696628333 0 0 0
|
||||
61 1 0.5140644440329998 2.208326878392573 2.2153556959139413 -1 -2 0
|
||||
169 1 1.5629071468921552 2.2983930760888316 2.2366483189031316 0 0 0
|
||||
128 1 -3.438885935852406 3.376929578988928 3.002455750479755 1 0 -2
|
||||
52 1 -3.4549495641597217 2.178628786705743 2.923210719991474 0 -1 0
|
||||
48 1 2.502392696348409 2.9340155922847346 2.5991521468190113 0 0 -1
|
||||
26
examples/PACKAGES/pimd/lj_reduced_units/in.lmp
Normal file
26
examples/PACKAGES/pimd/lj_reduced_units/in.lmp
Normal file
@ -0,0 +1,26 @@
|
||||
variable ibead uloop 32 pad
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
atom_modify map yes
|
||||
boundary p p p
|
||||
pair_style lj/cut 2.8015
|
||||
read_data data.lj${ibead}
|
||||
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_modify shift yes
|
||||
|
||||
mass 1 1.0
|
||||
|
||||
timestep 0.00044905847
|
||||
|
||||
fix 1 all pimd/langevin ensemble nvt integrator obabo temp 1.00888 lj 0.00965188 3.4 39.948 4.135667403e-3 1.03646168908e-4 thermostat PILE_L ${ibead}
|
||||
|
||||
thermo_style custom step temp f_1[*] vol press
|
||||
thermo 100
|
||||
thermo_modify norm no format line "%d %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f %.16f"
|
||||
|
||||
dump dcd all custom 1 ${ibead}.xyz id type x y z vx vy vz ix iy iz fx fy fz
|
||||
dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f"
|
||||
|
||||
run 1000
|
||||
1
examples/PACKAGES/pimd/lj_reduced_units/run.sh
Normal file
1
examples/PACKAGES/pimd/lj_reduced_units/run.sh
Normal file
@ -0,0 +1 @@
|
||||
mpirun -np 2 $LMP -in in.lmp -p 2x1 -log log -screen screen
|
||||
@ -87,10 +87,15 @@ MODULE LIBLAMMPS
|
||||
INTEGER(c_int) :: scalar, vector, array
|
||||
END TYPE lammps_type
|
||||
|
||||
TYPE lammps_dtype
|
||||
INTEGER(c_int) :: i32, i64, r64, str
|
||||
END TYPE lammps_dtype
|
||||
|
||||
TYPE lammps
|
||||
TYPE(c_ptr) :: handle = c_null_ptr
|
||||
TYPE(lammps_style) :: style
|
||||
TYPE(lammps_type) :: type
|
||||
TYPE(lammps_dtype) :: dtype
|
||||
CONTAINS
|
||||
PROCEDURE :: close => lmp_close
|
||||
PROCEDURE :: error => lmp_error
|
||||
@ -100,6 +105,7 @@ MODULE LIBLAMMPS
|
||||
PROCEDURE :: commands_string => lmp_commands_string
|
||||
PROCEDURE :: get_natoms => lmp_get_natoms
|
||||
PROCEDURE :: get_thermo => lmp_get_thermo
|
||||
PROCEDURE :: last_thermo => lmp_last_thermo
|
||||
PROCEDURE :: extract_box => lmp_extract_box
|
||||
PROCEDURE :: reset_box => lmp_reset_box
|
||||
PROCEDURE :: memory_usage => lmp_memory_usage
|
||||
@ -243,7 +249,7 @@ MODULE LIBLAMMPS
|
||||
END TYPE lammps_data_baseclass
|
||||
|
||||
! Derived type for receiving LAMMPS data (in lieu of the ability to type cast
|
||||
! pointers). Used for extract_compute, extract_atom
|
||||
! pointers). Used for extract_compute, extract_atom, last_thermo
|
||||
TYPE, EXTENDS(lammps_data_baseclass) :: lammps_data
|
||||
INTEGER(c_int), POINTER :: i32 => NULL()
|
||||
INTEGER(c_int), DIMENSION(:), POINTER :: i32_vec => NULL()
|
||||
@ -439,6 +445,15 @@ MODULE LIBLAMMPS
|
||||
TYPE(c_ptr), INTENT(IN), VALUE :: name
|
||||
END FUNCTION lammps_get_thermo
|
||||
|
||||
FUNCTION lammps_last_thermo(handle,what,index) BIND(C)
|
||||
IMPORT :: c_ptr, c_int
|
||||
IMPLICIT NONE
|
||||
TYPE(c_ptr) :: lammps_last_thermo
|
||||
TYPE(c_ptr), INTENT(IN), VALUE :: handle
|
||||
TYPE(c_ptr), INTENT(IN), VALUE :: what
|
||||
INTEGER(c_int), INTENT(IN), VALUE :: index
|
||||
END FUNCTION lammps_last_thermo
|
||||
|
||||
SUBROUTINE lammps_extract_box(handle,boxlo,boxhi,xy,yz,xz,pflags, &
|
||||
boxflag) BIND(C)
|
||||
IMPORT :: c_ptr, c_double, c_int
|
||||
@ -995,6 +1010,10 @@ CONTAINS
|
||||
lmp_open%type%scalar = LMP_TYPE_SCALAR
|
||||
lmp_open%type%vector = LMP_TYPE_VECTOR
|
||||
lmp_open%type%array = LMP_TYPE_ARRAY
|
||||
lmp_open%dtype%i32 = LAMMPS_INT
|
||||
lmp_open%dtype%i64 = LAMMPS_INT64
|
||||
lmp_open%dtype%r64 = LAMMPS_DOUBLE
|
||||
lmp_open%dtype%str = LAMMPS_STRING
|
||||
|
||||
! Assign constants for bigint and tagint for use elsewhere
|
||||
SIZE_TAGINT = lmp_extract_setting(lmp_open, 'tagint')
|
||||
@ -1103,6 +1122,65 @@ CONTAINS
|
||||
CALL lammps_free(Cname)
|
||||
END FUNCTION lmp_get_thermo
|
||||
|
||||
! equivalent function to lammps_last_thermo
|
||||
FUNCTION lmp_last_thermo(self,what,index) RESULT(thermo_data)
|
||||
CLASS(lammps), INTENT(IN), TARGET :: self
|
||||
CHARACTER(LEN=*), INTENT(IN) :: what
|
||||
INTEGER(c_int) :: index
|
||||
TYPE(lammps_data) :: thermo_data, type_data
|
||||
INTEGER(c_int) :: datatype
|
||||
TYPE(c_ptr) :: Cname, Cptr
|
||||
|
||||
! set data type for known cases
|
||||
SELECT CASE (what)
|
||||
CASE ('step')
|
||||
IF (SIZE_BIGINT == 4_c_int) THEN
|
||||
datatype = LAMMPS_INT
|
||||
ELSE
|
||||
datatype = LAMMPS_INT64
|
||||
END IF
|
||||
CASE ('num')
|
||||
datatype = LAMMPS_INT
|
||||
CASE ('type')
|
||||
datatype = LAMMPS_INT
|
||||
CASE ('keyword')
|
||||
datatype = LAMMPS_STRING
|
||||
CASE ('data')
|
||||
Cname = f2c_string('type')
|
||||
Cptr = lammps_last_thermo(self%handle,Cname,index-1)
|
||||
type_data%lammps_instance => self
|
||||
type_data%datatype = DATA_INT
|
||||
CALL C_F_POINTER(Cptr, type_data%i32)
|
||||
datatype = type_data%i32
|
||||
CALL lammps_free(Cname)
|
||||
CASE DEFAULT
|
||||
datatype = -1
|
||||
END SELECT
|
||||
|
||||
Cname = f2c_string(what)
|
||||
Cptr = lammps_last_thermo(self%handle,Cname,index-1)
|
||||
CALL lammps_free(Cname)
|
||||
|
||||
thermo_data%lammps_instance => self
|
||||
SELECT CASE (datatype)
|
||||
CASE (LAMMPS_INT)
|
||||
thermo_data%datatype = DATA_INT
|
||||
CALL C_F_POINTER(Cptr, thermo_data%i32)
|
||||
CASE (LAMMPS_INT64)
|
||||
thermo_data%datatype = DATA_INT64
|
||||
CALL C_F_POINTER(Cptr, thermo_data%i64)
|
||||
CASE (LAMMPS_DOUBLE)
|
||||
thermo_data%datatype = DATA_DOUBLE
|
||||
CALL C_F_POINTER(Cptr, thermo_data%r64)
|
||||
CASE (LAMMPS_STRING)
|
||||
thermo_data%datatype = DATA_STRING
|
||||
thermo_data%str = c2f_string(Cptr)
|
||||
CASE DEFAULT
|
||||
CALL lmp_error(self, LMP_ERROR_ALL + LMP_ERROR_WORLD, &
|
||||
'Unknown pointer type in last_thermo')
|
||||
END SELECT
|
||||
END FUNCTION lmp_last_thermo
|
||||
|
||||
! equivalent subroutine to lammps_extract_box
|
||||
SUBROUTINE lmp_extract_box(self, boxlo, boxhi, xy, yz, xz, pflags, boxflag)
|
||||
CLASS(lammps), INTENT(IN) :: self
|
||||
|
||||
28
potentials/COH.DMC.aip.water.2dm
Normal file
28
potentials/COH.DMC.aip.water.2dm
Normal file
@ -0,0 +1,28 @@
|
||||
# DATE: 2022-12-02 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: Z. Feng, ..., and W. Ouyang, J. Phys. Chem. C 127, 8704 (2023).
|
||||
# Anisotropic Interfacial Potential (AIP) parameters for water/graphene heterojunctions
|
||||
# The parameters below are fitted against the DMC reference data that rescaled from PBE+MBD-NL.
|
||||
#
|
||||
# ----------------- Repulsion Potential ------------------++++++++++++++ Vdw Potential ++++++++++++++++************
|
||||
# beta(A) alpha delta(A) epsilon(meV) C(meV) d sR reff(A) C6(meV*A^6) S rcut
|
||||
# For graphene and hydrocarbons
|
||||
C C 3.205843 7.511126 1.235334 1.528338E-5 37.530428 15.499947 0.7954443 3.681440 25.714535E3 1.0 2.0
|
||||
H H 3.974540 6.53799 1.080633 0.6700556 0.8333833 15.022371 0.7490632 2.767223 1.6159581E3 1.0 1.2
|
||||
C H 2.642950 12.91410 1.020257 0.9750012 25.340996 15.222927 0.8115998 3.887324 5.6874617E3 1.0 1.5
|
||||
H C 2.642950 12.91410 1.020257 0.9750012 25.340996 15.222927 0.8115998 3.887324 5.6874617E3 1.0 1.5
|
||||
|
||||
# For water-graphene
|
||||
C Ow 4.03686677 15.09817069 1.00000323 1.03838111 0.16372013 9.00010553 1.12057182 2.96484087 21887.14173222 1.0 2.0
|
||||
C Hw 3.08246994 6.412090180 1.00000265 2.89390420 -1.85748759 9.00009101 1.04574423 2.21642099 4652.78021666 1.0 2.0
|
||||
Ow C 4.03686677 15.09817069 1.00000323 1.03838111 0.16372013 9.00010553 1.12057182 2.96484087 21887.14173222 1.0 1.2
|
||||
Hw C 3.08246994 6.412090180 1.00000265 2.89390420 -1.85748759 9.00009101 1.04574423 2.21642099 4652.78021666 1.0 1.2
|
||||
|
||||
# # The ILPs for other systems are set to zero
|
||||
H Ow 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
H Hw 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Ow H 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Hw H 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
|
||||
Ow Ow 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Hw Hw 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Ow Hw 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Hw Ow 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
28
potentials/COH.aip.water.2dm
Normal file
28
potentials/COH.aip.water.2dm
Normal file
@ -0,0 +1,28 @@
|
||||
# DATE: 2022-12-02 UNITS: metal CONTRIBUTOR: Wengen Ouyang w.g.ouyang@gmail.com CITATION: Z. Feng, ..., and W. Ouyang, J. Phys. Chem. C 127, 8704 (2023).
|
||||
# Anisotropic Interfacial Potential (AIP) parameters for water/graphene heterojunctions
|
||||
# The parameters below are fitted against the PBE + MBD-NL DFT reference data from 2.5 A to 15 A.
|
||||
#
|
||||
# ----------------- Repulsion Potential ------------------++++++++++++++ Vdw Potential ++++++++++++++++************
|
||||
# beta(A) alpha delta(A) epsilon(meV) C(meV) d sR reff(A) C6(meV*A^6) S rcut
|
||||
# For graphene and hydrocarbons
|
||||
C C 3.205843 7.511126 1.235334 1.528338E-5 37.530428 15.499947 0.7954443 3.681440 25.714535E3 1.0 2.0
|
||||
H H 3.974540 6.53799 1.080633 0.6700556 0.8333833 15.022371 0.7490632 2.767223 1.6159581E3 1.0 1.2
|
||||
C H 2.642950 12.91410 1.020257 0.9750012 25.340996 15.222927 0.8115998 3.887324 5.6874617E3 1.0 1.5
|
||||
H C 2.642950 12.91410 1.020257 0.9750012 25.340996 15.222927 0.8115998 3.887324 5.6874617E3 1.0 1.5
|
||||
|
||||
# For water-graphene
|
||||
C Ow 5.45369612 6.18172364 1.25025450 3.34909245 0.68780636 9.05706482 1.23249498 2.77577173 100226.55503127 1.0 2.0
|
||||
C Hw 2.55380862 9.68664390 1.96489198 41.77617053 -16.30012807 9.01568534 0.74415463 2.41545571 7409.12856378 1.0 2.0
|
||||
Ow C 5.45369612 6.18172364 1.25025450 3.34909245 0.68780636 9.05706482 1.23249498 2.77577173 100226.55503127 1.0 1.2
|
||||
Hw C 2.55380862 9.68664390 1.96489198 41.77617053 -16.30012807 9.01568534 0.74415463 2.41545571 7409.12856378 1.0 1.2
|
||||
|
||||
# # The ILPs for other systems are set to zero
|
||||
H Ow 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
H Hw 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Ow H 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Hw H 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
|
||||
Ow Ow 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Hw Hw 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Ow Hw 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
Hw Ow 5.45369612 6.18172364 1.25025450 0.00000000 0.00000000 9.05706482 1.23249498 2.77577173 0.00000000 1.0 1.2
|
||||
@ -272,6 +272,9 @@ class lammps(object):
|
||||
self.lib.lammps_get_thermo.argtypes = [c_void_p, c_char_p]
|
||||
self.lib.lammps_get_thermo.restype = c_double
|
||||
|
||||
self.lib.lammps_last_thermo.argtypes = [c_void_p, c_char_p, c_int]
|
||||
self.lib.lammps_last_thermo.restype = c_void_p
|
||||
|
||||
self.lib.lammps_encode_image_flags.restype = self.c_imageint
|
||||
|
||||
self.lib.lammps_config_has_package.argtypes = [c_char_p]
|
||||
@ -503,9 +506,9 @@ class lammps(object):
|
||||
def error(self, error_type, error_text):
|
||||
"""Forward error to the LAMMPS Error class.
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_error` function of the C-library interface.
|
||||
.. versionadded:: 3Nov2022
|
||||
|
||||
.. versionadded:: TBD
|
||||
This is a wrapper around the :cpp:func:`lammps_error` function of the C-library interface.
|
||||
|
||||
:param error_type:
|
||||
:type error_type: int
|
||||
@ -744,6 +747,56 @@ class lammps(object):
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
def last_thermo(self):
|
||||
"""Get a dictionary of the last thermodynamic output
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_last_thermo`
|
||||
function of the C-library interface. It collects the cached thermo
|
||||
data from the last timestep into a dictionary. The return value
|
||||
is None, if there has not been any thermo output yet.
|
||||
|
||||
:return: value of thermo keyword
|
||||
:rtype: dict or None
|
||||
"""
|
||||
|
||||
rv = dict()
|
||||
with ExceptionCheck(self):
|
||||
ptr = self.lib.lammps_last_thermo(self.lmp, c_char_p("step".encode()), 0)
|
||||
mystep = cast(ptr, POINTER(self.c_bigint)).contents.value
|
||||
if mystep < 0:
|
||||
return None
|
||||
|
||||
with ExceptionCheck(self):
|
||||
ptr = self.lib.lammps_last_thermo(self.lmp, c_char_p("num".encode()), 0)
|
||||
nfield = cast(ptr, POINTER(c_int)).contents.value
|
||||
|
||||
for i in range(nfield):
|
||||
with ExceptionCheck(self):
|
||||
ptr = self.lib.lammps_last_thermo(self.lmp, c_char_p("keyword".encode()), i)
|
||||
kw = cast(ptr, c_char_p).value.decode()
|
||||
|
||||
with ExceptionCheck(self):
|
||||
ptr = self.lib.lammps_last_thermo(self.lmp, c_char_p("type".encode()), i)
|
||||
typ = cast(ptr, POINTER(c_int)).contents.value
|
||||
|
||||
with ExceptionCheck(self):
|
||||
ptr = self.lib.lammps_last_thermo(self.lmp, c_char_p("data".encode()), i)
|
||||
|
||||
if typ == LAMMPS_DOUBLE:
|
||||
val = cast(ptr, POINTER(c_double)).contents.value
|
||||
elif typ == LAMMPS_INT:
|
||||
val = cast(ptr, POINTER(c_int)).contents.value
|
||||
elif typ == LAMMPS_INT64:
|
||||
val = cast(ptr, POINTER(c_int64)).contents.value
|
||||
else:
|
||||
# we should not get here
|
||||
raise TypeError("Unknown LAMMPS data type " + str(typ))
|
||||
rv[kw] = val
|
||||
|
||||
return rv
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
def extract_setting(self, name):
|
||||
"""Query LAMMPS about global settings that can be expressed as an integer.
|
||||
|
||||
@ -1289,6 +1342,8 @@ class lammps(object):
|
||||
def gather_bonds(self):
|
||||
"""Retrieve global list of bonds
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_gather_bonds`
|
||||
function of the C-library interface.
|
||||
|
||||
@ -1296,8 +1351,6 @@ class lammps(object):
|
||||
flat list of ctypes integer values with the bond type, bond atom1,
|
||||
bond atom2 for each bond.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:return: a tuple with the number of bonds and a list of c_int or c_long
|
||||
:rtype: (int, 3*nbonds*c_tagint)
|
||||
"""
|
||||
@ -1312,6 +1365,8 @@ class lammps(object):
|
||||
def gather_angles(self):
|
||||
"""Retrieve global list of angles
|
||||
|
||||
.. versionadded:: 8Feb2023
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_gather_angles`
|
||||
function of the C-library interface.
|
||||
|
||||
@ -1319,8 +1374,6 @@ class lammps(object):
|
||||
flat list of ctypes integer values with the angle type, angle atom1,
|
||||
angle atom2, angle atom3 for each angle.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
:return: a tuple with the number of angles and a list of c_int or c_long
|
||||
:rtype: (int, 4*nangles*c_tagint)
|
||||
"""
|
||||
@ -1335,6 +1388,8 @@ class lammps(object):
|
||||
def gather_dihedrals(self):
|
||||
"""Retrieve global list of dihedrals
|
||||
|
||||
.. versionadded:: 8Feb2023
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_gather_dihedrals`
|
||||
function of the C-library interface.
|
||||
|
||||
@ -1342,8 +1397,6 @@ class lammps(object):
|
||||
flat list of ctypes integer values with the dihedral type, dihedral atom1,
|
||||
dihedral atom2, dihedral atom3, dihedral atom4 for each dihedral.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
:return: a tuple with the number of dihedrals and a list of c_int or c_long
|
||||
:rtype: (int, 5*ndihedrals*c_tagint)
|
||||
"""
|
||||
@ -1358,6 +1411,8 @@ class lammps(object):
|
||||
def gather_impropers(self):
|
||||
"""Retrieve global list of impropers
|
||||
|
||||
.. versionadded:: 8Feb2023
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_gather_impropers`
|
||||
function of the C-library interface.
|
||||
|
||||
@ -1365,8 +1420,6 @@ class lammps(object):
|
||||
flat list of ctypes integer values with the improper type, improper atom1,
|
||||
improper atom2, improper atom3, improper atom4 for each improper.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
:return: a tuple with the number of impropers and a list of c_int or c_long
|
||||
:rtype: (int, 5*nimpropers*c_tagint)
|
||||
"""
|
||||
@ -1605,13 +1658,13 @@ class lammps(object):
|
||||
def is_running(self):
|
||||
""" Report whether being called from a function during a run or a minimization
|
||||
|
||||
.. versionadded:: 9Oct2020
|
||||
|
||||
Various LAMMPS commands must not be called during an ongoing
|
||||
run or minimization. This property allows to check for that.
|
||||
This is a wrapper around the :cpp:func:`lammps_is_running`
|
||||
function of the library interface.
|
||||
|
||||
.. versionadded:: 9Oct2020
|
||||
|
||||
:return: True when called during a run otherwise false
|
||||
:rtype: bool
|
||||
"""
|
||||
@ -1622,12 +1675,13 @@ class lammps(object):
|
||||
def force_timeout(self):
|
||||
""" Trigger an immediate timeout, i.e. a "soft stop" of a run.
|
||||
|
||||
.. versionadded:: 9Oct2020
|
||||
|
||||
This function allows to cleanly stop an ongoing run or minimization
|
||||
at the next loop iteration.
|
||||
This is a wrapper around the :cpp:func:`lammps_force_timeout`
|
||||
function of the library interface.
|
||||
|
||||
.. versionadded:: 9Oct2020
|
||||
"""
|
||||
self.lib.lammps_force_timeout(self.lmp)
|
||||
|
||||
@ -1710,11 +1764,11 @@ class lammps(object):
|
||||
def has_package(self, name):
|
||||
""" Report if the named package has been enabled in the LAMMPS shared library.
|
||||
|
||||
.. versionadded:: 3Nov2022
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_config_has_package`
|
||||
function of the library interface.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
:param name: name of the package
|
||||
:type name: string
|
||||
|
||||
@ -1854,11 +1908,11 @@ class lammps(object):
|
||||
def has_id(self, category, name):
|
||||
"""Returns whether a given ID name is available in a given category
|
||||
|
||||
.. versionadded:: 9Oct2020
|
||||
|
||||
This is a wrapper around the function :cpp:func:`lammps_has_id`
|
||||
of the library interface.
|
||||
|
||||
.. versionadded:: 9Oct2020
|
||||
|
||||
:param category: name of category
|
||||
:type category: string
|
||||
:param name: name of the ID
|
||||
@ -1874,11 +1928,11 @@ class lammps(object):
|
||||
def available_ids(self, category):
|
||||
"""Returns a list of IDs available for a given category
|
||||
|
||||
.. versionadded:: 9Oct2020
|
||||
|
||||
This is a wrapper around the functions :cpp:func:`lammps_id_count()`
|
||||
and :cpp:func:`lammps_id_name()` of the library interface.
|
||||
|
||||
.. versionadded:: 9Oct2020
|
||||
|
||||
:param category: name of category
|
||||
:type category: string
|
||||
|
||||
@ -1901,11 +1955,11 @@ class lammps(object):
|
||||
def available_plugins(self, category):
|
||||
"""Returns a list of plugins available for a given category
|
||||
|
||||
.. versionadded:: 10Mar2021
|
||||
|
||||
This is a wrapper around the functions :cpp:func:`lammps_plugin_count()`
|
||||
and :cpp:func:`lammps_plugin_name()` of the library interface.
|
||||
|
||||
.. versionadded:: 10Mar2021
|
||||
|
||||
:return: list of style/name pairs of loaded plugins
|
||||
:rtype: list
|
||||
"""
|
||||
@ -1970,11 +2024,11 @@ class lammps(object):
|
||||
def fix_external_get_force(self, fix_id):
|
||||
"""Get access to the array with per-atom forces of a fix external instance with a given fix ID.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_fix_external_get_force` function
|
||||
of the C-library interface.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:return: requested data
|
||||
@ -1989,11 +2043,11 @@ class lammps(object):
|
||||
def fix_external_set_energy_global(self, fix_id, eng):
|
||||
"""Set the global energy contribution for a fix external instance with the given ID.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_fix_external_set_energy_global` function
|
||||
of the C-library interface.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:param eng: potential energy value to be added by fix external
|
||||
@ -2008,11 +2062,11 @@ class lammps(object):
|
||||
def fix_external_set_virial_global(self, fix_id, virial):
|
||||
"""Set the global virial contribution for a fix external instance with the given ID.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_fix_external_set_virial_global` function
|
||||
of the C-library interface.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:param eng: list of 6 floating point numbers with the virial to be added by fix external
|
||||
@ -2028,11 +2082,11 @@ class lammps(object):
|
||||
def fix_external_set_energy_peratom(self, fix_id, eatom):
|
||||
"""Set the per-atom energy contribution for a fix external instance with the given ID.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_fix_external_set_energy_peratom` function
|
||||
of the C-library interface.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:param eatom: list of potential energy values for local atoms to be added by fix external
|
||||
@ -2051,11 +2105,11 @@ class lammps(object):
|
||||
def fix_external_set_virial_peratom(self, fix_id, vatom):
|
||||
"""Set the per-atom virial contribution for a fix external instance with the given ID.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_fix_external_set_virial_peratom` function
|
||||
of the C-library interface.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:param vatom: list of natoms lists with 6 floating point numbers to be added by fix external
|
||||
@ -2083,11 +2137,11 @@ class lammps(object):
|
||||
def fix_external_set_vector_length(self, fix_id, length):
|
||||
"""Set the vector length for a global vector stored with fix external for analysis
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_fix_external_set_vector_length` function
|
||||
of the C-library interface.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:param length: length of the global vector
|
||||
@ -2101,11 +2155,11 @@ class lammps(object):
|
||||
def fix_external_set_vector(self, fix_id, idx, val):
|
||||
"""Store a global vector value for a fix external instance with the given ID.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_fix_external_set_vector` function
|
||||
of the C-library interface.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:param idx: 1-based index of the value in the global vector
|
||||
|
||||
@ -262,12 +262,12 @@ class numpy_wrapper:
|
||||
def gather_bonds(self):
|
||||
"""Retrieve global list of bonds as NumPy array
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This is a wrapper around :py:meth:`lammps.gather_bonds() <lammps.lammps.gather_bonds()>`
|
||||
It behaves the same as the original method, but returns a NumPy array instead
|
||||
of a ``ctypes`` list.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:return: the requested data as a 2d-integer numpy array
|
||||
:rtype: numpy.array(nbonds,3)
|
||||
"""
|
||||
@ -280,12 +280,12 @@ class numpy_wrapper:
|
||||
def gather_angles(self):
|
||||
""" Retrieve global list of angles as NumPy array
|
||||
|
||||
.. versionadded:: 8Feb2023
|
||||
|
||||
This is a wrapper around :py:meth:`lammps.gather_angles() <lammps.lammps.gather_angles()>`
|
||||
It behaves the same as the original method, but returns a NumPy array instead
|
||||
of a ``ctypes`` list.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
:return: the requested data as a 2d-integer numpy array
|
||||
:rtype: numpy.array(nangles,4)
|
||||
"""
|
||||
@ -298,12 +298,12 @@ class numpy_wrapper:
|
||||
def gather_dihedrals(self):
|
||||
""" Retrieve global list of dihedrals as NumPy array
|
||||
|
||||
.. versionadded:: 8Feb2023
|
||||
|
||||
This is a wrapper around :py:meth:`lammps.gather_dihedrals() <lammps.lammps.gather_dihedrals()>`
|
||||
It behaves the same as the original method, but returns a NumPy array instead
|
||||
of a ``ctypes`` list.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
:return: the requested data as a 2d-integer numpy array
|
||||
:rtype: numpy.array(ndihedrals,5)
|
||||
"""
|
||||
@ -316,12 +316,12 @@ class numpy_wrapper:
|
||||
def gather_impropers(self):
|
||||
""" Retrieve global list of impropers as NumPy array
|
||||
|
||||
.. versionadded:: 8Feb2023
|
||||
|
||||
This is a wrapper around :py:meth:`lammps.gather_impropers() <lammps.lammps.gather_impropers()>`
|
||||
It behaves the same as the original method, but returns a NumPy array instead
|
||||
of a ``ctypes`` list.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
:return: the requested data as a 2d-integer numpy array
|
||||
:rtype: numpy.array(nimpropers,5)
|
||||
"""
|
||||
@ -334,13 +334,13 @@ class numpy_wrapper:
|
||||
def fix_external_get_force(self, fix_id):
|
||||
"""Get access to the array with per-atom forces of a fix external instance with a given fix ID.
|
||||
|
||||
.. versionchanged:: 28Jul2021
|
||||
|
||||
This function is a wrapper around the
|
||||
:py:meth:`lammps.fix_external_get_force() <lammps.lammps.fix_external_get_force()>`
|
||||
method. It behaves the same as the original method, but returns a NumPy array instead
|
||||
of a ``ctypes`` pointer.
|
||||
|
||||
.. versionchanged:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:return: requested data
|
||||
@ -356,13 +356,13 @@ class numpy_wrapper:
|
||||
def fix_external_set_energy_peratom(self, fix_id, eatom):
|
||||
"""Set the per-atom energy contribution for a fix external instance with the given ID.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This function is an alternative to
|
||||
:py:meth:`lammps.fix_external_set_energy_peratom() <lammps.lammps.fix_external_set_energy_peratom()>`
|
||||
method. It behaves the same as the original method, but accepts a NumPy array
|
||||
instead of a list as argument.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:param eatom: per-atom potential energy
|
||||
@ -383,13 +383,13 @@ class numpy_wrapper:
|
||||
def fix_external_set_virial_peratom(self, fix_id, vatom):
|
||||
"""Set the per-atom virial contribution for a fix external instance with the given ID.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
This function is an alternative to
|
||||
:py:meth:`lammps.fix_external_set_virial_peratom() <lammps.lammps.fix_external_set_virial_peratom()>`
|
||||
method. It behaves the same as the original method, but accepts a NumPy array
|
||||
instead of a list as argument.
|
||||
|
||||
.. versionadded:: 28Jul2021
|
||||
|
||||
:param fix_id: Fix-ID of a fix external instance
|
||||
:type: string
|
||||
:param eatom: per-atom potential energy
|
||||
|
||||
8
src/.gitignore
vendored
8
src/.gitignore
vendored
@ -1058,6 +1058,10 @@
|
||||
/pair_adp.h
|
||||
/pair_agni.cpp
|
||||
/pair_agni.h
|
||||
/pair_aip_water_2dm.cpp
|
||||
/pair_aip_water_2dm.h
|
||||
/pair_aip_water_2dm_opt.cpp
|
||||
/pair_aip_water_2dm_opt.h
|
||||
/pair_airebo.cpp
|
||||
/pair_airebo.h
|
||||
/pair_airebo_morse.cpp
|
||||
@ -1549,6 +1553,10 @@
|
||||
/fix_langevin_drude.h
|
||||
/fix_mol_swap.cpp
|
||||
/fix_mol_swap.h
|
||||
/fix_pimd.cpp
|
||||
/fix_pimd.h
|
||||
/fix_pimd_langevin.cpp
|
||||
/fix_pimd_langevin.h
|
||||
/fix_alchemy.cpp
|
||||
/fix_alchemy.h
|
||||
/fix_pimd_nvt.cpp
|
||||
|
||||
@ -187,10 +187,12 @@ void BondBPM::settings(int narg, char **arg)
|
||||
iarg++;
|
||||
}
|
||||
} else if (strcmp(arg[iarg], "overlay/pair") == 0) {
|
||||
overlay_flag = 1;
|
||||
if (iarg + 1 > narg) error->all(FLERR, "Illegal bond bpm command, missing option for overlay/pair");
|
||||
overlay_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
|
||||
iarg++;
|
||||
} else if (strcmp(arg[iarg], "break/no") == 0) {
|
||||
break_flag = 0;
|
||||
} else if (strcmp(arg[iarg], "break") == 0) {
|
||||
if (iarg + 1 > narg) error->all(FLERR, "Illegal bond bpm command, missing option for break");
|
||||
break_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
|
||||
iarg++;
|
||||
} else {
|
||||
leftover_iarg.push_back(iarg);
|
||||
|
||||
@ -50,6 +50,7 @@ BondBPMRotational::BondBPMRotational(LAMMPS *_lmp) :
|
||||
{
|
||||
partial_flag = 1;
|
||||
smooth_flag = 1;
|
||||
normalize_flag = 0;
|
||||
|
||||
single_extra = 7;
|
||||
svector = new double[7];
|
||||
@ -203,6 +204,13 @@ double BondBPMRotational::elastic_forces(int i1, int i2, int type, double r_mag,
|
||||
double Ts[3], Tb[3], Tt[3], Tbp[3], Ttp[3], Tsp[3], T_rot[3], Ttmp[3];
|
||||
|
||||
double **quat = atom->quat;
|
||||
double r0_mag_inv = 1.0 / r0_mag;
|
||||
double Kr_type = Kr[type];
|
||||
double Ks_type = Ks[type];
|
||||
if (normalize_flag) {
|
||||
Kr_type *= r0_mag_inv;
|
||||
Ks_type *= r0_mag_inv;
|
||||
}
|
||||
|
||||
q1[0] = quat[i1][0];
|
||||
q1[1] = quat[i1][1];
|
||||
@ -217,26 +225,26 @@ double BondBPMRotational::elastic_forces(int i1, int i2, int type, double r_mag,
|
||||
// Calculate normal forces, rb = bond vector in particle 1's frame
|
||||
MathExtra::qconjugate(q2, q2inv);
|
||||
MathExtra::quatrotvec(q2inv, r, rb);
|
||||
Fr = Kr[type] * (r_mag - r0_mag);
|
||||
Fr = Kr_type * (r_mag - r0_mag);
|
||||
|
||||
MathExtra::scale3(Fr * r_mag_inv, rb, F_rot);
|
||||
|
||||
// Calculate forces due to tangential displacements (no rotation)
|
||||
r0_dot_rb = MathExtra::dot3(r0, rb);
|
||||
c = r0_dot_rb * r_mag_inv / r0_mag;
|
||||
c = r0_dot_rb * r_mag_inv * r0_mag_inv;
|
||||
gamma = acos_limit(c);
|
||||
|
||||
MathExtra::cross3(rb, r0, rb_x_r0);
|
||||
MathExtra::cross3(rb, rb_x_r0, s);
|
||||
MathExtra::norm3(s);
|
||||
|
||||
MathExtra::scale3(Ks[type] * r_mag * gamma, s, Fs);
|
||||
MathExtra::scale3(Ks_type * r_mag * gamma, s, Fs);
|
||||
|
||||
// Calculate torque due to tangential displacements
|
||||
MathExtra::cross3(r0, rb, t);
|
||||
MathExtra::norm3(t);
|
||||
|
||||
MathExtra::scale3(0.5 * r_mag * Ks[type] * r_mag * gamma, t, Ts);
|
||||
MathExtra::scale3(0.5 * r_mag * Ks_type * r_mag * gamma, t, Ts);
|
||||
|
||||
// Relative rotation force/torque
|
||||
// Use representation of X'Y'Z' rotations from Wang, Mora 2009
|
||||
@ -316,12 +324,12 @@ double BondBPMRotational::elastic_forces(int i1, int i2, int type, double r_mag,
|
||||
Ttp[1] = 0.0;
|
||||
Ttp[2] = Kt[type] * psi;
|
||||
|
||||
Fsp[0] = -0.5 * Ks[type] * r_mag * theta * cos_phi;
|
||||
Fsp[1] = -0.5 * Ks[type] * r_mag * theta * sin_phi;
|
||||
Fsp[0] = -0.5 * Ks_type * r_mag * theta * cos_phi;
|
||||
Fsp[1] = -0.5 * Ks_type * r_mag * theta * sin_phi;
|
||||
Fsp[2] = 0.0;
|
||||
|
||||
Tsp[0] = 0.25 * Ks[type] * r_mag * r_mag * theta * sin_phi;
|
||||
Tsp[1] = -0.25 * Ks[type] * r_mag * r_mag * theta * cos_phi;
|
||||
Tsp[0] = 0.25 * Ks_type * r_mag * r_mag * theta * sin_phi;
|
||||
Tsp[1] = -0.25 * Ks_type * r_mag * r_mag * theta * cos_phi;
|
||||
Tsp[2] = 0.0;
|
||||
|
||||
// Rotate forces/torques back to 1st particle's frame
|
||||
@ -667,6 +675,10 @@ void BondBPMRotational::settings(int narg, char **arg)
|
||||
if (iarg + 1 > narg) error->all(FLERR, "Illegal bond bpm command, missing option for smooth");
|
||||
smooth_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
|
||||
i += 1;
|
||||
} else if (strcmp(arg[iarg], "normalize") == 0) {
|
||||
if (iarg + 1 > narg) error->all(FLERR, "Illegal bond bpm command, missing option for normalize");
|
||||
normalize_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
|
||||
i += 1;
|
||||
} else {
|
||||
error->all(FLERR, "Illegal bond bpm command, invalid argument {}", arg[iarg]);
|
||||
}
|
||||
@ -793,7 +805,7 @@ double BondBPMRotational::single(int type, double rsq, int i, int j, double &ffo
|
||||
double breaking = elastic_forces(i, j, type, r_mag, r0_mag, r_mag_inv, rhat, r, r0, force1on2,
|
||||
torque1on2, torque2on1);
|
||||
damping_forces(i, j, type, rhat, r, force1on2, torque1on2, torque2on1);
|
||||
fforce = MathExtra::dot3(force1on2, r);
|
||||
fforce = MathExtra::dot3(force1on2, rhat);
|
||||
fforce *= -1;
|
||||
|
||||
double smooth = 1.0;
|
||||
|
||||
@ -41,7 +41,7 @@ class BondBPMRotational : public BondBPM {
|
||||
protected:
|
||||
double *Kr, *Ks, *Kt, *Kb, *gnorm, *gslide, *groll, *gtwist;
|
||||
double *Fcr, *Fcs, *Tct, *Tcb;
|
||||
int smooth_flag;
|
||||
int smooth_flag, normalize_flag;
|
||||
|
||||
double elastic_forces(int, int, int, double, double, double, double *, double *, double *,
|
||||
double *, double *, double *);
|
||||
|
||||
@ -37,6 +37,7 @@ BondBPMSpring::BondBPMSpring(LAMMPS *_lmp) :
|
||||
{
|
||||
partial_flag = 1;
|
||||
smooth_flag = 1;
|
||||
normalize_flag = 0;
|
||||
|
||||
single_extra = 1;
|
||||
svector = new double[1];
|
||||
@ -190,7 +191,10 @@ void BondBPMSpring::compute(int eflag, int vflag)
|
||||
}
|
||||
|
||||
rinv = 1.0 / r;
|
||||
fbond = k[type] * (r0 - r);
|
||||
if (normalize_flag)
|
||||
fbond = -k[type] * e;
|
||||
else
|
||||
fbond = k[type] * (r0 - r);
|
||||
|
||||
delvx = v[i1][0] - v[i2][0];
|
||||
delvy = v[i1][1] - v[i2][1];
|
||||
@ -302,6 +306,10 @@ void BondBPMSpring::settings(int narg, char **arg)
|
||||
if (iarg + 1 > narg) error->all(FLERR, "Illegal bond bpm command, missing option for smooth");
|
||||
smooth_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
|
||||
i += 1;
|
||||
} else if (strcmp(arg[iarg], "normalize") == 0) {
|
||||
if (iarg + 1 > narg) error->all(FLERR, "Illegal bond bpm command, missing option for normalize");
|
||||
normalize_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
|
||||
i += 1;
|
||||
} else {
|
||||
error->all(FLERR, "Illegal bond bpm command, invalid argument {}", arg[iarg]);
|
||||
}
|
||||
@ -376,7 +384,11 @@ double BondBPMSpring::single(int type, double rsq, int i, int j, double &fforce)
|
||||
|
||||
double r = sqrt(rsq);
|
||||
double rinv = 1.0 / r;
|
||||
fforce = k[type] * (r0 - r);
|
||||
|
||||
if (normalize_flag)
|
||||
fforce = k[type] * (r0 - r) / r0;
|
||||
else
|
||||
fforce = k[type] * (r0 - r);
|
||||
|
||||
double **x = atom->x;
|
||||
double **v = atom->v;
|
||||
|
||||
@ -40,7 +40,7 @@ class BondBPMSpring : public BondBPM {
|
||||
|
||||
protected:
|
||||
double *k, *ecrit, *gamma;
|
||||
int smooth_flag;
|
||||
int smooth_flag, normalize_flag;
|
||||
|
||||
void allocate();
|
||||
void store_data();
|
||||
|
||||
@ -90,8 +90,7 @@ ComputeXRD::ComputeXRD(LAMMPS *lmp, int narg, char **arg) :
|
||||
ztype[i] = j;
|
||||
}
|
||||
}
|
||||
if (ztype[i] == XRDmaxType + 1)
|
||||
error->all(FLERR,"Compute XRD: Invalid ASF atom type");
|
||||
if (ztype[i] == XRDmaxType + 1) error->all(FLERR,"Compute XRD: Invalid ASF atom type {}", arg[iarg]);
|
||||
iarg++;
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
@ -14,15 +13,21 @@
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
Contributing Authors : Romain Vermorel (LFCR), Laurent Joly (ULyon)
|
||||
Support for bonds and angles added by : Evangelos Voyiatzis (NovaMechanics)
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
#include "compute_stress_mop.h"
|
||||
|
||||
#include "angle.h"
|
||||
#include "atom.h"
|
||||
#include "atom_vec.h"
|
||||
#include "bond.h"
|
||||
#include "comm.h"
|
||||
#include "domain.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "molecule.h"
|
||||
#include "neigh_list.h"
|
||||
#include "neighbor.h"
|
||||
#include "pair.h"
|
||||
@ -33,40 +38,52 @@
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
enum{X,Y,Z};
|
||||
enum{TOTAL,CONF,KIN};
|
||||
|
||||
#define BIG 1000000000
|
||||
enum { X, Y, Z };
|
||||
enum { TOTAL, CONF, KIN, PAIR, BOND, ANGLE };
|
||||
|
||||
// clang-format off
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) :
|
||||
Compute(lmp, narg, arg)
|
||||
{
|
||||
if (narg < 6) error->all(FLERR,"Illegal compute stress/mop command");
|
||||
if (narg < 6) utils::missing_cmd_args(FLERR, "compute stress/mop", error);
|
||||
|
||||
MPI_Comm_rank(world,&me);
|
||||
bondflag = 0;
|
||||
angleflag = 0;
|
||||
|
||||
// set compute mode and direction of plane(s) for pressure calculation
|
||||
|
||||
if (strcmp(arg[3],"x")==0) {
|
||||
if (strcmp(arg[3],"x") == 0) {
|
||||
dir = X;
|
||||
} else if (strcmp(arg[3],"y")==0) {
|
||||
} else if (strcmp(arg[3],"y") == 0) {
|
||||
dir = Y;
|
||||
} else if (strcmp(arg[3],"z")==0) {
|
||||
} else if (strcmp(arg[3],"z") == 0) {
|
||||
dir = Z;
|
||||
} else error->all(FLERR,"Illegal compute stress/mop command");
|
||||
|
||||
// Position of the plane
|
||||
|
||||
if (strcmp(arg[4],"lower")==0) {
|
||||
if (strcmp(arg[4],"lower") == 0) {
|
||||
pos = domain->boxlo[dir];
|
||||
} else if (strcmp(arg[4],"upper")==0) {
|
||||
} else if (strcmp(arg[4],"upper") == 0) {
|
||||
pos = domain->boxhi[dir];
|
||||
} else if (strcmp(arg[4],"center")==0) {
|
||||
} else if (strcmp(arg[4],"center") == 0) {
|
||||
pos = 0.5*(domain->boxlo[dir]+domain->boxhi[dir]);
|
||||
} else pos = utils::numeric(FLERR,arg[4],false,lmp);
|
||||
|
||||
// plane inside the box
|
||||
if ((pos > domain->boxhi[dir]) || (pos < domain->boxlo[dir])) {
|
||||
error->warning(FLERR, "The specified initial plane lies outside of the simulation box");
|
||||
double dx[3] = {0.0, 0.0, 0.0};
|
||||
dx[dir] = pos - 0.5*(domain->boxhi[dir] + domain->boxlo[dir]);
|
||||
domain->minimum_image(dx[0], dx[1], dx[2]);
|
||||
pos = 0.5*(domain->boxhi[dir] + domain->boxlo[dir]) + dx[dir];
|
||||
|
||||
if ((pos > domain->boxhi[dir]) || (pos < domain->boxlo[dir]))
|
||||
error->all(FLERR, "Plane for compute stress/mop is out of bounds");
|
||||
}
|
||||
|
||||
if (pos < (domain->boxlo[dir]+domain->prd_half[dir])) {
|
||||
pos1 = pos + domain->prd[dir];
|
||||
} else {
|
||||
@ -96,34 +113,53 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) :
|
||||
which[nvalues] = TOTAL;
|
||||
nvalues++;
|
||||
}
|
||||
} else if (strcmp(arg[iarg],"pair") == 0) {
|
||||
for (i=0; i<3; i++) {
|
||||
which[nvalues] = PAIR;
|
||||
nvalues++;
|
||||
}
|
||||
} else if (strcmp(arg[iarg],"bond") == 0) {
|
||||
for (i=0; i<3; i++) {
|
||||
which[nvalues] = BOND;
|
||||
nvalues++;
|
||||
}
|
||||
} else if (strcmp(arg[iarg],"angle") == 0) {
|
||||
for (i=0; i<3; i++) {
|
||||
which[nvalues] = ANGLE;
|
||||
nvalues++;
|
||||
}
|
||||
} else error->all(FLERR, "Illegal compute stress/mop command"); //break;
|
||||
|
||||
iarg++;
|
||||
}
|
||||
|
||||
// Error check
|
||||
// Error checks
|
||||
// 3D only
|
||||
|
||||
if (domain->dimension < 3)
|
||||
error->all(FLERR, "Compute stress/mop incompatible with simulation dimension");
|
||||
if (domain->dimension != 3)
|
||||
error->all(FLERR, "Compute stress/mop requires a 3d system");
|
||||
|
||||
// orthogonal simulation box
|
||||
if (domain->triclinic != 0)
|
||||
error->all(FLERR, "Compute stress/mop incompatible with triclinic simulation box");
|
||||
// plane inside the box
|
||||
if (pos >domain->boxhi[dir] || pos <domain->boxlo[dir])
|
||||
error->all(FLERR, "Plane for compute stress/mop is out of bounds");
|
||||
|
||||
error->all(FLERR, "Compute stress/mop is incompatible with triclinic simulation box");
|
||||
|
||||
// Initialize some variables
|
||||
|
||||
values_local = values_global = vector = nullptr;
|
||||
bond_local = nullptr;
|
||||
bond_global = nullptr;
|
||||
angle_local = nullptr;
|
||||
angle_global = nullptr;
|
||||
|
||||
// this fix produces a global vector
|
||||
|
||||
memory->create(vector,nvalues,"stress/mop:vector");
|
||||
memory->create(values_local,nvalues,"stress/mop/spatial:values_local");
|
||||
memory->create(values_global,nvalues,"stress/mop/spatial:values_global");
|
||||
memory->create(values_local,nvalues,"stress/mop:values_local");
|
||||
memory->create(values_global,nvalues,"stress/mop:values_global");
|
||||
memory->create(bond_local,nvalues,"stress/mop:bond_local");
|
||||
memory->create(bond_global,nvalues,"stress/mop:bond_global");
|
||||
memory->create(angle_local,nvalues,"stress/mop:angle_local");
|
||||
memory->create(angle_global,nvalues,"stress/mop:angle_global");
|
||||
size_vector = nvalues;
|
||||
|
||||
vector_flag = 1;
|
||||
@ -135,11 +171,14 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) :
|
||||
|
||||
ComputeStressMop::~ComputeStressMop()
|
||||
{
|
||||
|
||||
delete [] which;
|
||||
delete[] which;
|
||||
|
||||
memory->destroy(values_local);
|
||||
memory->destroy(values_global);
|
||||
memory->destroy(bond_local);
|
||||
memory->destroy(bond_global);
|
||||
memory->destroy(angle_local);
|
||||
memory->destroy(angle_global);
|
||||
memory->destroy(vector);
|
||||
}
|
||||
|
||||
@ -169,31 +208,39 @@ void ComputeStressMop::init()
|
||||
|
||||
// Compute stress/mop requires fixed simulation box
|
||||
if (domain->box_change_size || domain->box_change_shape || domain->deform_flag)
|
||||
error->all(FLERR, "Compute stress/mop requires a fixed simulation box");
|
||||
error->all(FLERR, "Compute stress/mop requires a fixed size simulation box");
|
||||
|
||||
// This compute requires a pair style with pair_single method implemented
|
||||
|
||||
if (force->pair == nullptr)
|
||||
if (!force->pair)
|
||||
error->all(FLERR,"No pair style is defined for compute stress/mop");
|
||||
if (force->pair->single_enable == 0)
|
||||
error->all(FLERR,"Pair style does not support compute stress/mop");
|
||||
|
||||
// Warnings
|
||||
// Errors
|
||||
|
||||
if (me==0) {
|
||||
if (comm->me == 0) {
|
||||
|
||||
//Compute stress/mop only accounts for pair interactions.
|
||||
// issue a warning if any intramolecular potential or Kspace is defined.
|
||||
// issue an error for unimplemented intramolecular potentials or Kspace.
|
||||
|
||||
if (force->bond!=nullptr)
|
||||
error->warning(FLERR,"compute stress/mop does not account for bond potentials");
|
||||
if (force->angle!=nullptr)
|
||||
error->warning(FLERR,"compute stress/mop does not account for angle potentials");
|
||||
if (force->dihedral!=nullptr)
|
||||
error->warning(FLERR,"compute stress/mop does not account for dihedral potentials");
|
||||
if (force->improper!=nullptr)
|
||||
error->warning(FLERR,"compute stress/mop does not account for improper potentials");
|
||||
if (force->kspace!=nullptr)
|
||||
if (force->bond) bondflag = 1;
|
||||
if (force->angle) {
|
||||
if (force->angle->born_matrix_enable == 0) {
|
||||
if ((strcmp(force->angle_style, "zero") != 0) && (strcmp(force->angle_style, "none") != 0))
|
||||
error->all(FLERR,"compute stress/mop does not account for angle potentials");
|
||||
} else {
|
||||
angleflag = 1;
|
||||
}
|
||||
}
|
||||
if (force->dihedral) {
|
||||
if ((strcmp(force->dihedral_style, "zero") != 0) && (strcmp(force->dihedral_style, "none") != 0))
|
||||
error->all(FLERR,"compute stress/mop does not account for dihedral potentials");
|
||||
}
|
||||
if (force->improper) {
|
||||
if ((strcmp(force->improper_style, "zero") != 0) && (strcmp(force->improper_style, "none") != 0))
|
||||
error->all(FLERR,"compute stress/mop does not account for improper potentials");
|
||||
}
|
||||
if (force->kspace)
|
||||
error->warning(FLERR,"compute stress/mop does not account for kspace contributions");
|
||||
}
|
||||
|
||||
@ -221,14 +268,31 @@ void ComputeStressMop::compute_vector()
|
||||
compute_pairs();
|
||||
|
||||
// sum pressure contributions over all procs
|
||||
MPI_Allreduce(values_local,values_global,nvalues,
|
||||
MPI_DOUBLE,MPI_SUM,world);
|
||||
MPI_Allreduce(values_local,values_global,nvalues,MPI_DOUBLE,MPI_SUM,world);
|
||||
|
||||
int m;
|
||||
for (m=0; m<nvalues; m++) {
|
||||
vector[m] = values_global[m];
|
||||
if (bondflag) {
|
||||
//Compute bond contribution on separate procs
|
||||
compute_bonds();
|
||||
} else {
|
||||
for (int i=0; i<nvalues; i++) bond_local[i] = 0.0;
|
||||
}
|
||||
|
||||
// sum bond contribution over all procs
|
||||
MPI_Allreduce(bond_local,bond_global,nvalues,MPI_DOUBLE,MPI_SUM,world);
|
||||
|
||||
if (angleflag) {
|
||||
//Compute angle contribution on separate procs
|
||||
compute_angles();
|
||||
} else {
|
||||
for (int i=0; i<nvalues; i++) angle_local[i] = 0.0;
|
||||
}
|
||||
|
||||
// sum angle contribution over all procs
|
||||
MPI_Allreduce(angle_local,angle_global,nvalues,MPI_DOUBLE,MPI_SUM,world);
|
||||
|
||||
for (int m=0; m<nvalues; m++) {
|
||||
vector[m] = values_global[m] + bond_global[m] + angle_global[m];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -280,8 +344,8 @@ void ComputeStressMop::compute_pairs()
|
||||
double xj[3];
|
||||
|
||||
m = 0;
|
||||
while (m<nvalues) {
|
||||
if (which[m] == CONF || which[m] == TOTAL) {
|
||||
while (m < nvalues) {
|
||||
if ((which[m] == CONF) || (which[m] == TOTAL) || (which[m] == PAIR)) {
|
||||
|
||||
//Compute configurational contribution to pressure
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
@ -316,47 +380,34 @@ void ComputeStressMop::compute_pairs()
|
||||
if (newton_pair || j < nlocal) {
|
||||
|
||||
//check if ij pair is across plane, add contribution to pressure
|
||||
if (((xi[dir]>pos) && (xj[dir]<pos)) || ((xi[dir]>pos1) && (xj[dir]<pos1))) {
|
||||
|
||||
if (((xi[dir] > pos) && (xj[dir] < pos)) || ((xi[dir] > pos1) && (xj[dir] < pos1))) {
|
||||
pair->single(i,j,itype,jtype,rsq,factor_coul,factor_lj,fpair);
|
||||
|
||||
values_local[m] += fpair*(xi[0]-xj[0])/area*nktv2p;
|
||||
values_local[m+1] += fpair*(xi[1]-xj[1])/area*nktv2p;
|
||||
values_local[m+2] += fpair*(xi[2]-xj[2])/area*nktv2p;
|
||||
}
|
||||
else if (((xi[dir]<pos) && (xj[dir]>pos)) || ((xi[dir]<pos1) && (xj[dir]>pos1))) {
|
||||
|
||||
} else if (((xi[dir] < pos) && (xj[dir] > pos)) || ((xi[dir] < pos1) && (xj[dir] > pos1))) {
|
||||
pair->single(i,j,itype,jtype,rsq,factor_coul,factor_lj,fpair);
|
||||
|
||||
values_local[m] -= fpair*(xi[0]-xj[0])/area*nktv2p;
|
||||
values_local[m+1] -= fpair*(xi[1]-xj[1])/area*nktv2p;
|
||||
values_local[m+2] -= fpair*(xi[2]-xj[2])/area*nktv2p;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (((xi[dir]>pos) && (xj[dir]<pos)) || ((xi[dir]>pos1) && (xj[dir]<pos1))) {
|
||||
|
||||
if (((xi[dir] > pos) && (xj[dir] < pos)) || ((xi[dir] > pos1) && (xj[dir] < pos1))) {
|
||||
pair->single(i,j,itype,jtype,rsq,factor_coul,factor_lj,fpair);
|
||||
|
||||
values_local[m] += fpair*(xi[0]-xj[0])/area*nktv2p;
|
||||
values_local[m+1] += fpair*(xi[1]-xj[1])/area*nktv2p;
|
||||
values_local[m+2] += fpair*(xi[2]-xj[2])/area*nktv2p;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Compute kinetic contribution to pressure
|
||||
// counts local particles transfers across the plane
|
||||
|
||||
if (which[m] == KIN || which[m] == TOTAL) {
|
||||
if ((which[m] == KIN) || (which[m] == TOTAL)) {
|
||||
double sgn;
|
||||
|
||||
for (int i = 0; i < nlocal; i++) {
|
||||
@ -383,13 +434,13 @@ void ComputeStressMop::compute_pairs()
|
||||
|
||||
//coordinates at t-dt (based on Velocity-Verlet alg.)
|
||||
if (rmass) {
|
||||
xj[0] = xi[0]-vi[0]*dt+fi[0]/2/rmass[i]*dt*dt*ftm2v;
|
||||
xj[1] = xi[1]-vi[1]*dt+fi[1]/2/rmass[i]*dt*dt*ftm2v;
|
||||
xj[2] = xi[2]-vi[2]*dt+fi[2]/2/rmass[i]*dt*dt*ftm2v;
|
||||
xj[0] = xi[0]-vi[0]*dt+fi[0]/2.0/rmass[i]*dt*dt*ftm2v;
|
||||
xj[1] = xi[1]-vi[1]*dt+fi[1]/2.0/rmass[i]*dt*dt*ftm2v;
|
||||
xj[2] = xi[2]-vi[2]*dt+fi[2]/2.0/rmass[i]*dt*dt*ftm2v;
|
||||
} else {
|
||||
xj[0] = xi[0]-vi[0]*dt+fi[0]/2/mass[itype]*dt*dt*ftm2v;
|
||||
xj[1] = xi[1]-vi[1]*dt+fi[1]/2/mass[itype]*dt*dt*ftm2v;
|
||||
xj[2] = xi[2]-vi[2]*dt+fi[2]/2/mass[itype]*dt*dt*ftm2v;
|
||||
xj[0] = xi[0]-vi[0]*dt+fi[0]/2.0/mass[itype]*dt*dt*ftm2v;
|
||||
xj[1] = xi[1]-vi[1]*dt+fi[1]/2.0/mass[itype]*dt*dt*ftm2v;
|
||||
xj[2] = xi[2]-vi[2]*dt+fi[2]/2.0/mass[itype]*dt*dt*ftm2v;
|
||||
}
|
||||
|
||||
// because LAMMPS does not put atoms back in the box
|
||||
@ -399,21 +450,21 @@ void ComputeStressMop::compute_pairs()
|
||||
double pos_temp = pos+copysign(1.0,domain->prd_half[dir]-pos)*domain->prd[dir];
|
||||
if (fabs(xi[dir]-pos)<fabs(xi[dir]-pos_temp)) pos_temp = pos;
|
||||
|
||||
if (((xi[dir]-pos_temp)*(xj[dir]-pos_temp)<0)) {
|
||||
if (((xi[dir]-pos_temp)*(xj[dir]-pos_temp)) < 0) {
|
||||
|
||||
//sgn = copysign(1.0,vi[dir]-vcm[dir]);
|
||||
// sgn = copysign(1.0,vi[dir]-vcm[dir]);
|
||||
sgn = copysign(1.0,vi[dir]);
|
||||
|
||||
//approximate crossing velocity by v(t-dt/2) (based on Velocity-Verlet alg.)
|
||||
// approximate crossing velocity by v(t-dt/2) (based on Velocity-Verlet alg.)
|
||||
double vcross[3];
|
||||
if (rmass) {
|
||||
vcross[0] = vi[0]-fi[0]/rmass[i]/2*ftm2v*dt;
|
||||
vcross[1] = vi[1]-fi[1]/rmass[i]/2*ftm2v*dt;
|
||||
vcross[2] = vi[2]-fi[2]/rmass[i]/2*ftm2v*dt;
|
||||
vcross[0] = vi[0]-fi[0]/rmass[i]/2.0*ftm2v*dt;
|
||||
vcross[1] = vi[1]-fi[1]/rmass[i]/2.0*ftm2v*dt;
|
||||
vcross[2] = vi[2]-fi[2]/rmass[i]/2.0*ftm2v*dt;
|
||||
} else {
|
||||
vcross[0] = vi[0]-fi[0]/mass[itype]/2*ftm2v*dt;
|
||||
vcross[1] = vi[1]-fi[1]/mass[itype]/2*ftm2v*dt;
|
||||
vcross[2] = vi[2]-fi[2]/mass[itype]/2*ftm2v*dt;
|
||||
vcross[0] = vi[0]-fi[0]/mass[itype]/2.0*ftm2v*dt;
|
||||
vcross[1] = vi[1]-fi[1]/mass[itype]/2.0*ftm2v*dt;
|
||||
vcross[2] = vi[2]-fi[2]/mass[itype]/2.0*ftm2v*dt;
|
||||
}
|
||||
|
||||
values_local[m] += mass[itype]*vcross[0]*sgn/dt/area*nktv2p/ftm2v;
|
||||
@ -423,7 +474,288 @@ void ComputeStressMop::compute_pairs()
|
||||
}
|
||||
}
|
||||
}
|
||||
m+=3;
|
||||
m += 3;
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
* compute bond contribution to pressure of local proc
|
||||
*-------------------------------------------------------------------------*/
|
||||
|
||||
void ComputeStressMop::compute_bonds()
|
||||
{
|
||||
int i, nb, atom1, atom2, imol, iatom, btype;
|
||||
tagint tagprev;
|
||||
double rsq, fpair;
|
||||
|
||||
double **x = atom->x;
|
||||
tagint *tag = atom->tag;
|
||||
int *num_bond = atom->num_bond;
|
||||
tagint **bond_atom = atom->bond_atom;
|
||||
int **bond_type = atom->bond_type;
|
||||
int *mask = atom->mask;
|
||||
|
||||
int *molindex = atom->molindex;
|
||||
int *molatom = atom->molatom;
|
||||
Molecule **onemols = atom->avec->onemols;
|
||||
|
||||
int nlocal = atom->nlocal;
|
||||
int newton_bond = force->newton_bond;
|
||||
int molecular = atom->molecular;
|
||||
|
||||
Bond *bond = force->bond;
|
||||
|
||||
double dx[3] = {0.0, 0.0, 0.0};
|
||||
double x_bond_1[3] = {0.0, 0.0, 0.0};
|
||||
double x_bond_2[3] = {0.0, 0.0, 0.0};
|
||||
double local_contribution[3] = {0.0, 0.0, 0.0};
|
||||
|
||||
// initialization
|
||||
for (int i = 0; i < nvalues; i++) bond_local[i] = 0.0;
|
||||
|
||||
// loop over all bonded atoms in the current proc
|
||||
for (atom1 = 0; atom1 < nlocal; atom1++) {
|
||||
if (!(mask[atom1] & groupbit)) continue;
|
||||
|
||||
if (molecular == 1)
|
||||
nb = num_bond[atom1];
|
||||
else {
|
||||
if (molindex[atom1] < 0) continue;
|
||||
imol = molindex[atom1];
|
||||
iatom = molatom[atom1];
|
||||
nb = onemols[imol]->num_bond[iatom];
|
||||
}
|
||||
|
||||
for (i = 0; i < nb; i++) {
|
||||
if (molecular == 1) {
|
||||
btype = bond_type[atom1][i];
|
||||
atom2 = atom->map(bond_atom[atom1][i]);
|
||||
} else {
|
||||
tagprev = tag[atom1] - iatom - 1;
|
||||
btype = onemols[imol]->bond_type[iatom][i];
|
||||
atom2 = atom->map(onemols[imol]->bond_atom[iatom][i] + tagprev);
|
||||
}
|
||||
|
||||
if (atom2 < 0 || !(mask[atom2] & groupbit)) continue;
|
||||
if (newton_bond == 0 && tag[atom1] > tag[atom2]) continue;
|
||||
if (btype <= 0) continue;
|
||||
|
||||
// minimum image of atom1 with respect to the plane of interest
|
||||
dx[0] = x[atom1][0];
|
||||
dx[1] = x[atom1][1];
|
||||
dx[2] = x[atom1][2];
|
||||
dx[dir] -= pos;
|
||||
domain->minimum_image(dx[0], dx[1], dx[2]);
|
||||
x_bond_1[0] = dx[0];
|
||||
x_bond_1[1] = dx[1];
|
||||
x_bond_1[2] = dx[2];
|
||||
x_bond_1[dir] += pos;
|
||||
|
||||
// minimum image of atom2 with respect to atom1
|
||||
dx[0] = x[atom2][0] - x_bond_1[0];
|
||||
dx[1] = x[atom2][1] - x_bond_1[1];
|
||||
dx[2] = x[atom2][2] - x_bond_1[2];
|
||||
domain->minimum_image(dx[0], dx[1], dx[2]);
|
||||
x_bond_2[0] = x_bond_1[0] + dx[0];
|
||||
x_bond_2[1] = x_bond_1[1] + dx[1];
|
||||
x_bond_2[2] = x_bond_1[2] + dx[2];
|
||||
|
||||
// check if the bond vector crosses the plane of interest
|
||||
double tau = (x_bond_1[dir] - pos) / (x_bond_1[dir] - x_bond_2[dir]);
|
||||
if ((tau <= 1) && (tau >= 0)) {
|
||||
dx[0] = x_bond_1[0] - x_bond_2[0];
|
||||
dx[1] = x_bond_1[1] - x_bond_2[1];
|
||||
dx[2] = x_bond_1[2] - x_bond_2[2];
|
||||
rsq = dx[0] * dx[0] + dx[1] * dx[1] + dx[2] * dx[2];
|
||||
bond->single(btype, rsq, atom1, atom2, fpair);
|
||||
|
||||
double sgn = copysign(1.0, x_bond_1[dir] - pos);
|
||||
local_contribution[0] += sgn*fpair*dx[0]/area*nktv2p;
|
||||
local_contribution[1] += sgn*fpair*dx[1]/area*nktv2p;
|
||||
local_contribution[2] += sgn*fpair*dx[2]/area*nktv2p;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// loop over the keywords and if necessary add the bond contribution
|
||||
int m = 0;
|
||||
while (m<nvalues) {
|
||||
if (which[m] == CONF || which[m] == TOTAL || which[m] == BOND) {
|
||||
bond_local[m] = local_contribution[0];
|
||||
bond_local[m+1] = local_contribution[1];
|
||||
bond_local[m+2] = local_contribution[2];
|
||||
}
|
||||
m += 3;
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
compute angle contribution to pressure of local proc
|
||||
-------------------------------------------------------------------------*/
|
||||
|
||||
void ComputeStressMop::compute_angles()
|
||||
{
|
||||
int na, atom1, atom2, atom3, imol, iatom, atype;
|
||||
tagint tagprev;
|
||||
double r1, r2, cos_theta;
|
||||
|
||||
double **x = atom->x;
|
||||
tagint *tag = atom->tag;
|
||||
int *num_angle = atom->num_angle;
|
||||
tagint **angle_atom1 = atom->angle_atom1;
|
||||
tagint **angle_atom2 = atom->angle_atom2;
|
||||
tagint **angle_atom3 = atom->angle_atom3;
|
||||
int **angle_type = atom->angle_type;
|
||||
int *mask = atom->mask;
|
||||
|
||||
int *molindex = atom->molindex;
|
||||
int *molatom = atom->molatom;
|
||||
Molecule **onemols = atom->avec->onemols;
|
||||
|
||||
int nlocal = atom->nlocal;
|
||||
int molecular = atom->molecular;
|
||||
|
||||
// loop over all atoms and their angles
|
||||
|
||||
Angle *angle = force->angle;
|
||||
|
||||
double duang, du2ang;
|
||||
double dx[3] = {0.0, 0.0, 0.0};
|
||||
double dx_left[3] = {0.0, 0.0, 0.0};
|
||||
double dx_right[3] = {0.0, 0.0, 0.0};
|
||||
double x_angle_left[3] = {0.0, 0.0, 0.0};
|
||||
double x_angle_middle[3] = {0.0, 0.0, 0.0};
|
||||
double x_angle_right[3] = {0.0, 0.0, 0.0};
|
||||
double dcos_theta[3] = {0.0, 0.0, 0.0};
|
||||
double local_contribution[3] = {0.0, 0.0, 0.0};
|
||||
|
||||
// initialization
|
||||
for (int i = 0; i < nvalues; i++) angle_local[i] = 0.0;
|
||||
|
||||
for (atom2 = 0; atom2 < nlocal; atom2++) {
|
||||
if (!(mask[atom2] & groupbit)) continue;
|
||||
|
||||
if (molecular == 1)
|
||||
na = num_angle[atom2];
|
||||
else {
|
||||
if (molindex[atom2] < 0) continue;
|
||||
imol = molindex[atom2];
|
||||
iatom = molatom[atom2];
|
||||
na = onemols[imol]->num_angle[iatom];
|
||||
}
|
||||
|
||||
for (int i = 0; i < na; i++) {
|
||||
if (molecular == 1) {
|
||||
if (tag[atom2] != angle_atom2[atom2][i]) continue;
|
||||
atype = angle_type[atom2][i];
|
||||
atom1 = atom->map(angle_atom1[atom2][i]);
|
||||
atom3 = atom->map(angle_atom3[atom2][i]);
|
||||
} else {
|
||||
if (tag[atom2] != onemols[imol]->angle_atom2[atom2][i]) continue;
|
||||
atype = onemols[imol]->angle_type[atom2][i];
|
||||
tagprev = tag[atom2] - iatom - 1;
|
||||
atom1 = atom->map(onemols[imol]->angle_atom1[atom2][i] + tagprev);
|
||||
atom3 = atom->map(onemols[imol]->angle_atom3[atom2][i] + tagprev);
|
||||
}
|
||||
|
||||
if (atom1 < 0 || !(mask[atom1] & groupbit)) continue;
|
||||
if (atom3 < 0 || !(mask[atom3] & groupbit)) continue;
|
||||
if (atype <= 0) continue;
|
||||
|
||||
// minimum image of atom1 with respect to the plane of interest
|
||||
dx[0] = x[atom1][0];
|
||||
dx[1] = x[atom1][1];
|
||||
dx[2] = x[atom1][2];
|
||||
dx[dir] -= pos;
|
||||
domain->minimum_image(dx[0], dx[1], dx[2]);
|
||||
x_angle_left[0] = dx[0];
|
||||
x_angle_left[1] = dx[1];
|
||||
x_angle_left[2] = dx[2];
|
||||
x_angle_left[dir] += pos;
|
||||
// minimum image of atom2 with respect to atom1
|
||||
dx_left[0] = x[atom2][0] - x_angle_left[0];
|
||||
dx_left[1] = x[atom2][1] - x_angle_left[1];
|
||||
dx_left[2] = x[atom2][2] - x_angle_left[2];
|
||||
domain->minimum_image(dx_left[0], dx_left[1], dx_left[2]);
|
||||
x_angle_middle[0] = x_angle_left[0] + dx_left[0];
|
||||
x_angle_middle[1] = x_angle_left[1] + dx_left[1];
|
||||
x_angle_middle[2] = x_angle_left[2] + dx_left[2];
|
||||
|
||||
// minimum image of atom3 with respect to atom2
|
||||
dx_right[0] = x[atom3][0] - x_angle_middle[0];
|
||||
dx_right[1] = x[atom3][1] - x_angle_middle[1];
|
||||
dx_right[2] = x[atom3][2] - x_angle_middle[2];
|
||||
domain->minimum_image(dx_right[0], dx_right[1], dx_right[2]);
|
||||
x_angle_right[0] = x_angle_middle[0] + dx_right[0];
|
||||
x_angle_right[1] = x_angle_middle[1] + dx_right[1];
|
||||
x_angle_right[2] = x_angle_middle[2] + dx_right[2];
|
||||
|
||||
// check if any bond vector crosses the plane of interest
|
||||
double tau_right = (x_angle_right[dir] - pos) / (x_angle_right[dir] - x_angle_middle[dir]);
|
||||
double tau_left = (x_angle_middle[dir] - pos) / (x_angle_middle[dir] - x_angle_left[dir]);
|
||||
bool right_cross = ((tau_right >=0) && (tau_right <= 1));
|
||||
bool left_cross = ((tau_left >=0) && (tau_left <= 1));
|
||||
|
||||
// no bonds crossing the plane
|
||||
if (!right_cross && !left_cross) continue;
|
||||
|
||||
// compute the cos(theta) of the angle
|
||||
r1 = sqrt(dx_left[0]*dx_left[0] + dx_left[1]*dx_left[1] + dx_left[2]*dx_left[2]);
|
||||
r2 = sqrt(dx_right[0]*dx_right[0] + dx_right[1]*dx_right[1] + dx_right[2]*dx_right[2]);
|
||||
cos_theta = -(dx_right[0]*dx_left[0] + dx_right[1]*dx_left[1] + dx_right[2]*dx_left[2])/(r1*r2);
|
||||
|
||||
if (cos_theta > 1.0) cos_theta = 1.0;
|
||||
if (cos_theta < -1.0) cos_theta = -1.0;
|
||||
|
||||
// The method returns derivative with regards to cos(theta)
|
||||
angle->born_matrix(atype, atom1, atom2, atom3, duang, du2ang);
|
||||
// only right bond crossing the plane
|
||||
if (right_cross && !left_cross)
|
||||
{
|
||||
double sgn = copysign(1.0, x_angle_right[dir] - pos);
|
||||
dcos_theta[0] = sgn*(dx_right[0]*cos_theta/r2 + dx_left[0]/r1)/r2;
|
||||
dcos_theta[1] = sgn*(dx_right[1]*cos_theta/r2 + dx_left[1]/r1)/r2;
|
||||
dcos_theta[2] = sgn*(dx_right[2]*cos_theta/r2 + dx_left[2]/r1)/r2;
|
||||
}
|
||||
|
||||
// only left bond crossing the plane
|
||||
if (!right_cross && left_cross)
|
||||
{
|
||||
double sgn = copysign(1.0, x_angle_left[dir] - pos);
|
||||
dcos_theta[0] = -sgn*(dx_left[0]*cos_theta/r1 + dx_right[0]/r2)/r1;
|
||||
dcos_theta[1] = -sgn*(dx_left[1]*cos_theta/r1 + dx_right[1]/r2)/r1;
|
||||
dcos_theta[2] = -sgn*(dx_left[2]*cos_theta/r1 + dx_right[2]/r2)/r1;
|
||||
}
|
||||
|
||||
// both bonds crossing the plane
|
||||
if (right_cross && left_cross)
|
||||
{
|
||||
// due to right bond
|
||||
double sgn = copysign(1.0, x_angle_middle[dir] - pos);
|
||||
dcos_theta[0] = -sgn*(dx_right[0]*cos_theta/r2 + dx_left[0]/r1)/r2;
|
||||
dcos_theta[1] = -sgn*(dx_right[1]*cos_theta/r2 + dx_left[1]/r1)/r2;
|
||||
dcos_theta[2] = -sgn*(dx_right[2]*cos_theta/r2 + dx_left[2]/r1)/r2;
|
||||
|
||||
// due to left bond
|
||||
dcos_theta[0] += sgn*(dx_left[0]*cos_theta/r1 + dx_right[0]/r2)/r1;
|
||||
dcos_theta[1] += sgn*(dx_left[1]*cos_theta/r1 + dx_right[1]/r2)/r1;
|
||||
dcos_theta[2] += sgn*(dx_left[2]*cos_theta/r1 + dx_right[2]/r2)/r1;
|
||||
}
|
||||
|
||||
// final contribution of the given angle term
|
||||
local_contribution[0] += duang*dcos_theta[0]/area*nktv2p;
|
||||
local_contribution[1] += duang*dcos_theta[1]/area*nktv2p;
|
||||
local_contribution[2] += duang*dcos_theta[2]/area*nktv2p;
|
||||
}
|
||||
}
|
||||
// loop over the keywords and if necessary add the angle contribution
|
||||
int m = 0;
|
||||
while (m < nvalues) {
|
||||
if (which[m] == CONF || which[m] == TOTAL || which[m] == ANGLE) {
|
||||
angle_local[m] = local_contribution[0];
|
||||
angle_local[m+1] = local_contribution[1];
|
||||
angle_local[m+2] = local_contribution[2];
|
||||
}
|
||||
m += 3;
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,11 +38,17 @@ class ComputeStressMop : public Compute {
|
||||
|
||||
private:
|
||||
void compute_pairs();
|
||||
void compute_bonds();
|
||||
void compute_angles();
|
||||
|
||||
int me, nvalues, dir;
|
||||
int nvalues, dir;
|
||||
int *which;
|
||||
|
||||
int bondflag, angleflag;
|
||||
|
||||
double *values_local, *values_global;
|
||||
double *bond_local, *bond_global;
|
||||
double *angle_local, *angle_global;
|
||||
double pos, pos1, dt, nktv2p, ftm2v;
|
||||
double area;
|
||||
class NeighList *list;
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
@ -14,47 +13,51 @@
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
Contributing Authors : Romain Vermorel (LFCR), Laurent Joly (ULyon)
|
||||
Support for bonds added by : Evangelos Voyiatzis (NovaMechanics)
|
||||
--------------------------------------------------------------------------*/
|
||||
|
||||
#include "compute_stress_mop_profile.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "update.h"
|
||||
#include "atom_vec.h"
|
||||
#include "bond.h"
|
||||
#include "comm.h"
|
||||
#include "domain.h"
|
||||
#include "neighbor.h"
|
||||
#include "force.h"
|
||||
#include "pair.h"
|
||||
#include "neigh_list.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "molecule.h"
|
||||
#include "neigh_list.h"
|
||||
#include "neighbor.h"
|
||||
#include "pair.h"
|
||||
#include "update.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
enum{X,Y,Z};
|
||||
enum{LOWER,CENTER,UPPER,COORD};
|
||||
enum{TOTAL,CONF,KIN};
|
||||
|
||||
#define BIG 1000000000
|
||||
enum { X, Y, Z };
|
||||
enum { LOWER, CENTER, UPPER, COORD };
|
||||
enum { TOTAL, CONF, KIN, PAIR, BOND };
|
||||
|
||||
// clang-format off
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ComputeStressMopProfile::ComputeStressMopProfile(LAMMPS *lmp, int narg, char **arg) :
|
||||
Compute(lmp, narg, arg)
|
||||
{
|
||||
if (narg < 7) error->all(FLERR,"Illegal compute stress/mop/profile command");
|
||||
if (narg < 7) utils::missing_cmd_args(FLERR, "compute stress/mop/profile", error);
|
||||
|
||||
MPI_Comm_rank(world,&me);
|
||||
bondflag = 0;
|
||||
|
||||
// set compute mode and direction of plane(s) for pressure calculation
|
||||
|
||||
if (strcmp(arg[3],"x")==0) {
|
||||
if (strcmp(arg[3],"x") == 0) {
|
||||
dir = X;
|
||||
} else if (strcmp(arg[3],"y")==0) {
|
||||
} else if (strcmp(arg[3],"y") == 0) {
|
||||
dir = Y;
|
||||
} else if (strcmp(arg[3],"z")==0) {
|
||||
} else if (strcmp(arg[3],"z") == 0) {
|
||||
dir = Z;
|
||||
} else error->all(FLERR,"Illegal compute stress/mop/profile command");
|
||||
|
||||
@ -64,8 +67,7 @@ ComputeStressMopProfile::ComputeStressMopProfile(LAMMPS *lmp, int narg, char **a
|
||||
else if (strcmp(arg[4],"center") == 0) originflag = CENTER;
|
||||
else if (strcmp(arg[4],"upper") == 0) originflag = UPPER;
|
||||
else originflag = COORD;
|
||||
if (originflag == COORD)
|
||||
origin = utils::numeric(FLERR,arg[4],false,lmp);
|
||||
if (originflag == COORD) origin = utils::numeric(FLERR,arg[4],false,lmp);
|
||||
delta = utils::numeric(FLERR,arg[5],false,lmp);
|
||||
invdelta = 1.0/delta;
|
||||
|
||||
@ -92,6 +94,16 @@ ComputeStressMopProfile::ComputeStressMopProfile(LAMMPS *lmp, int narg, char **a
|
||||
which[nvalues] = TOTAL;
|
||||
nvalues++;
|
||||
}
|
||||
} else if (strcmp(arg[iarg],"pair") == 0) {
|
||||
for (i=0; i<3; i++) {
|
||||
which[nvalues] = PAIR;
|
||||
nvalues++;
|
||||
}
|
||||
} else if (strcmp(arg[iarg],"bond") == 0) {
|
||||
for (i=0; i<3; i++) {
|
||||
which[nvalues] = BOND;
|
||||
nvalues++;
|
||||
}
|
||||
} else error->all(FLERR, "Illegal compute stress/mop/profile command"); //break;
|
||||
|
||||
iarg++;
|
||||
@ -114,6 +126,9 @@ ComputeStressMopProfile::ComputeStressMopProfile(LAMMPS *lmp, int narg, char **a
|
||||
nbins = 0;
|
||||
coord = coordp = nullptr;
|
||||
values_local = values_global = array = nullptr;
|
||||
bond_local = nullptr;
|
||||
bond_global = nullptr;
|
||||
local_contribution = nullptr;
|
||||
|
||||
// bin setup
|
||||
|
||||
@ -133,13 +148,15 @@ ComputeStressMopProfile::ComputeStressMopProfile(LAMMPS *lmp, int narg, char **a
|
||||
|
||||
ComputeStressMopProfile::~ComputeStressMopProfile()
|
||||
{
|
||||
|
||||
delete [] which;
|
||||
delete[] which;
|
||||
|
||||
memory->destroy(coord);
|
||||
memory->destroy(coordp);
|
||||
memory->destroy(values_local);
|
||||
memory->destroy(values_global);
|
||||
memory->destroy(bond_local);
|
||||
memory->destroy(bond_global);
|
||||
memory->destroy(local_contribution);
|
||||
memory->destroy(array);
|
||||
}
|
||||
|
||||
@ -147,7 +164,6 @@ ComputeStressMopProfile::~ComputeStressMopProfile()
|
||||
|
||||
void ComputeStressMopProfile::init()
|
||||
{
|
||||
|
||||
// conversion constants
|
||||
|
||||
nktv2p = force->nktv2p;
|
||||
@ -173,27 +189,30 @@ void ComputeStressMopProfile::init()
|
||||
|
||||
//This compute requires a pair style with pair_single method implemented
|
||||
|
||||
if (force->pair == nullptr)
|
||||
if (!force->pair)
|
||||
error->all(FLERR,"No pair style is defined for compute stress/mop/profile");
|
||||
if (force->pair->single_enable == 0)
|
||||
error->all(FLERR,"Pair style does not support compute stress/mop/profile");
|
||||
|
||||
// Warnings
|
||||
// Errors
|
||||
|
||||
if (me==0) {
|
||||
if (comm->me == 0) {
|
||||
|
||||
//Compute stress/mop/profile only accounts for pair interactions.
|
||||
// issue a warning if any intramolecular potential or Kspace is defined.
|
||||
// issue an error if any intramolecular potential or Kspace is defined.
|
||||
|
||||
if (force->bond!=nullptr)
|
||||
error->warning(FLERR,"compute stress/mop/profile does not account for bond potentials");
|
||||
if (force->angle!=nullptr)
|
||||
error->warning(FLERR,"compute stress/mop/profile does not account for angle potentials");
|
||||
if (force->dihedral!=nullptr)
|
||||
error->warning(FLERR,"compute stress/mop/profile does not account for dihedral potentials");
|
||||
if (force->improper!=nullptr)
|
||||
error->warning(FLERR,"compute stress/mop/profile does not account for improper potentials");
|
||||
if (force->kspace!=nullptr)
|
||||
if (force->bond) bondflag = 1;
|
||||
|
||||
if (force->angle)
|
||||
if ((strcmp(force->angle_style, "zero") != 0) && (strcmp(force->angle_style, "none") != 0))
|
||||
error->all(FLERR,"compute stress/mop/profile does not account for angle potentials");
|
||||
if (force->dihedral)
|
||||
if ((strcmp(force->dihedral_style, "zero") != 0) && (strcmp(force->dihedral_style, "none") != 0))
|
||||
error->all(FLERR,"compute stress/mop/profile does not account for dihedral potentials");
|
||||
if (force->improper)
|
||||
if ((strcmp(force->improper_style, "zero") != 0) && (strcmp(force->improper_style, "none") != 0))
|
||||
error->all(FLERR,"compute stress/mop/profile does not account for improper potentials");
|
||||
if (force->kspace)
|
||||
error->warning(FLERR,"compute stress/mop/profile does not account for kspace contributions");
|
||||
}
|
||||
|
||||
@ -222,17 +241,29 @@ void ComputeStressMopProfile::compute_array()
|
||||
compute_pairs();
|
||||
|
||||
// sum pressure contributions over all procs
|
||||
MPI_Allreduce(&values_local[0][0],&values_global[0][0],nbins*nvalues,
|
||||
MPI_DOUBLE,MPI_SUM,world);
|
||||
MPI_Allreduce(&values_local[0][0],&values_global[0][0],nbins*nvalues,MPI_DOUBLE,MPI_SUM,world);
|
||||
|
||||
int ibin,m,mo;
|
||||
for (ibin=0; ibin<nbins; ibin++) {
|
||||
if (bondflag) {
|
||||
//Compute bond contribution on separate procs
|
||||
compute_bonds();
|
||||
} else {
|
||||
for (int m = 0; m < nbins; m++) {
|
||||
for (int i = 0; i < nvalues; i++) {
|
||||
bond_local[m][i] = 0.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// sum bond contribution over all procs
|
||||
MPI_Allreduce(&bond_local[0][0],&bond_global[0][0],nbins*nvalues,MPI_DOUBLE,MPI_SUM,world);
|
||||
|
||||
for (int ibin=0; ibin<nbins; ibin++) {
|
||||
array[ibin][0] = coord[ibin][0];
|
||||
mo=1;
|
||||
|
||||
m = 0;
|
||||
while (m<nvalues) {
|
||||
array[ibin][m+mo] = values_global[ibin][m];
|
||||
int mo = 1;
|
||||
int m = 0;
|
||||
while (m < nvalues) {
|
||||
array[ibin][m+mo] = values_global[ibin][m] + bond_global[ibin][m];
|
||||
m++;
|
||||
}
|
||||
}
|
||||
@ -289,8 +320,8 @@ void ComputeStressMopProfile::compute_pairs()
|
||||
double xj[3];
|
||||
|
||||
m = 0;
|
||||
while (m<nvalues) {
|
||||
if (which[m] == CONF || which[m] == TOTAL) {
|
||||
while (m < nvalues) {
|
||||
if ((which[m] == CONF) || (which[m] == TOTAL) || (which[m] == PAIR)) {
|
||||
|
||||
// Compute configurational contribution to pressure
|
||||
|
||||
@ -377,7 +408,7 @@ void ComputeStressMopProfile::compute_pairs()
|
||||
// compute kinetic contribution to pressure
|
||||
// counts local particles transfers across the plane
|
||||
|
||||
if (which[m] == KIN || which[m] == TOTAL) {
|
||||
if ((which[m] == KIN) || (which[m] == TOTAL)) {
|
||||
|
||||
double sgn;
|
||||
|
||||
@ -415,7 +446,7 @@ void ComputeStressMopProfile::compute_pairs()
|
||||
xj[2] = xi[2]-vi[2]*dt+fi[2]/2/mass[itype]*dt*dt*ftm2v;
|
||||
}
|
||||
|
||||
for (ibin=0;ibin<nbins;ibin++) {
|
||||
for (ibin = 0; ibin < nbins; ibin++) {
|
||||
pos = coord[ibin][0];
|
||||
pos1 = coordp[ibin][0];
|
||||
|
||||
@ -452,6 +483,129 @@ void ComputeStressMopProfile::compute_pairs()
|
||||
}
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
compute bond contribution to pressure of local proc
|
||||
-------------------------------------------------------------------------*/
|
||||
|
||||
void ComputeStressMopProfile::compute_bonds()
|
||||
{
|
||||
int i, nb, atom1, atom2, imol, iatom, btype;
|
||||
tagint tagprev;
|
||||
double rsq, fpair;
|
||||
|
||||
double **x = atom->x;
|
||||
tagint *tag = atom->tag;
|
||||
int *num_bond = atom->num_bond;
|
||||
tagint **bond_atom = atom->bond_atom;
|
||||
int **bond_type = atom->bond_type;
|
||||
int *mask = atom->mask;
|
||||
|
||||
int *molindex = atom->molindex;
|
||||
int *molatom = atom->molatom;
|
||||
Molecule **onemols = atom->avec->onemols;
|
||||
|
||||
int nlocal = atom->nlocal;
|
||||
int newton_bond = force->newton_bond;
|
||||
int molecular = atom->molecular;
|
||||
|
||||
Bond *bond = force->bond;
|
||||
|
||||
double dx[3] = {0.0, 0.0, 0.0};
|
||||
double x_bond_1[3] = {0.0, 0.0, 0.0};
|
||||
double x_bond_2[3] = {0.0, 0.0, 0.0};
|
||||
|
||||
// initialization
|
||||
for (int m = 0; m < nbins; m++) {
|
||||
for (int i = 0; i < nvalues; i++) {
|
||||
bond_local[m][i] = 0.0;
|
||||
}
|
||||
local_contribution[m][0] = 0.0;
|
||||
local_contribution[m][1] = 0.0;
|
||||
local_contribution[m][2] = 0.0;
|
||||
}
|
||||
|
||||
// loop over all bonded atoms in the current proc
|
||||
for (atom1 = 0; atom1 < nlocal; atom1++) {
|
||||
if (!(mask[atom1] & groupbit)) continue;
|
||||
|
||||
if (molecular == 1)
|
||||
nb = num_bond[atom1];
|
||||
else {
|
||||
if (molindex[atom1] < 0) continue;
|
||||
imol = molindex[atom1];
|
||||
iatom = molatom[atom1];
|
||||
nb = onemols[imol]->num_bond[iatom];
|
||||
}
|
||||
|
||||
for (i = 0; i < nb; i++) {
|
||||
if (molecular == 1) {
|
||||
btype = bond_type[atom1][i];
|
||||
atom2 = atom->map(bond_atom[atom1][i]);
|
||||
} else {
|
||||
tagprev = tag[atom1] - iatom - 1;
|
||||
btype = onemols[imol]->bond_type[iatom][i];
|
||||
atom2 = atom->map(onemols[imol]->bond_atom[iatom][i] + tagprev);
|
||||
}
|
||||
|
||||
if (atom2 < 0 || !(mask[atom2] & groupbit)) continue;
|
||||
if (newton_bond == 0 && tag[atom1] > tag[atom2]) continue;
|
||||
if (btype <= 0) continue;
|
||||
|
||||
for (int ibin = 0; ibin<nbins; ibin++) {
|
||||
double pos = coord[ibin][0];
|
||||
|
||||
// minimum image of atom1 with respect to the plane of interest
|
||||
dx[0] = x[atom1][0];
|
||||
dx[1] = x[atom1][1];
|
||||
dx[2] = x[atom1][2];
|
||||
dx[dir] -= pos;
|
||||
domain->minimum_image(dx[0], dx[1], dx[2]);
|
||||
x_bond_1[0] = dx[0];
|
||||
x_bond_1[1] = dx[1];
|
||||
x_bond_1[2] = dx[2];
|
||||
x_bond_1[dir] += pos;
|
||||
|
||||
// minimum image of atom2 with respect to atom1
|
||||
dx[0] = x[atom2][0] - x_bond_1[0];
|
||||
dx[1] = x[atom2][1] - x_bond_1[1];
|
||||
dx[2] = x[atom2][2] - x_bond_1[2];
|
||||
domain->minimum_image(dx[0], dx[1], dx[2]);
|
||||
x_bond_2[0] = x_bond_1[0] + dx[0];
|
||||
x_bond_2[1] = x_bond_1[1] + dx[1];
|
||||
x_bond_2[2] = x_bond_1[2] + dx[2];
|
||||
|
||||
// check if the bond vector crosses the plane of interest
|
||||
double tau = (x_bond_1[dir] - pos) / (x_bond_1[dir] - x_bond_2[dir]);
|
||||
if ((tau <= 1) && (tau >= 0)) {
|
||||
dx[0] = x_bond_1[0] - x_bond_2[0];
|
||||
dx[1] = x_bond_1[1] - x_bond_2[1];
|
||||
dx[2] = x_bond_1[2] - x_bond_2[2];
|
||||
rsq = dx[0] * dx[0] + dx[1] * dx[1] + dx[2] * dx[2];
|
||||
bond->single(btype, rsq, atom1, atom2, fpair);
|
||||
|
||||
double sgn = copysign(1.0, x_bond_1[dir] - pos);
|
||||
local_contribution[ibin][0] += sgn*fpair*dx[0]/area*nktv2p;
|
||||
local_contribution[ibin][1] += sgn*fpair*dx[1]/area*nktv2p;
|
||||
local_contribution[ibin][2] += sgn*fpair*dx[2]/area*nktv2p;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// loop over the keywords and if necessary add the bond contribution
|
||||
int m = 0;
|
||||
while (m < nvalues) {
|
||||
if ((which[m] == CONF) || (which[m] == TOTAL) || (which[m] == BOND)) {
|
||||
for (int ibin = 0; ibin < nbins; ibin++) {
|
||||
bond_local[ibin][m] = local_contribution[ibin][0];
|
||||
bond_local[ibin][m+1] = local_contribution[ibin][1];
|
||||
bond_local[ibin][m+2] = local_contribution[ibin][2];
|
||||
}
|
||||
}
|
||||
m += 3;
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
setup 1d bins and their extent and coordinates
|
||||
called at init()
|
||||
@ -492,6 +646,9 @@ void ComputeStressMopProfile::setup_bins()
|
||||
memory->create(coordp,nbins,1,"stress/mop/profile:coordp");
|
||||
memory->create(values_local,nbins,nvalues,"stress/mop/profile:values_local");
|
||||
memory->create(values_global,nbins,nvalues,"stress/mop/profile:values_global");
|
||||
memory->create(bond_local,nbins,nvalues,"stress/mop/profile:bond_local");
|
||||
memory->create(bond_global,nbins,nvalues,"stress/mop/profile:bond_global");
|
||||
memory->create(local_contribution,nbins,3,"stress/mop/profile:local_contribution");
|
||||
|
||||
// set bin coordinates
|
||||
for (i = 0; i < nbins; i++) {
|
||||
|
||||
@ -38,16 +38,21 @@ class ComputeStressMopProfile : public Compute {
|
||||
|
||||
private:
|
||||
void compute_pairs();
|
||||
void compute_bonds();
|
||||
void setup_bins();
|
||||
|
||||
int me, nvalues, dir;
|
||||
int nvalues, dir;
|
||||
int *which;
|
||||
|
||||
int bondflag;
|
||||
|
||||
int originflag;
|
||||
double origin, delta, offset, invdelta;
|
||||
int nbins;
|
||||
double **coord, **coordp;
|
||||
double **values_local, **values_global;
|
||||
double **bond_local, **bond_global;
|
||||
double **local_contribution;
|
||||
|
||||
double dt, nktv2p, ftm2v;
|
||||
double area;
|
||||
|
||||
@ -60,21 +60,29 @@ void DumpYAML::write_header(bigint ndump)
|
||||
std::string thermo_data;
|
||||
if (thermo) {
|
||||
Thermo *th = output->thermo;
|
||||
thermo_data += "thermo:\n - keywords: [ ";
|
||||
for (int i = 0; i < th->nfield; ++i) thermo_data += fmt::format("{}, ", th->keyword[i]);
|
||||
thermo_data += "]\n - data: [ ";
|
||||
// output thermo data only on timesteps where it was computed
|
||||
if (update->ntimestep == *th->get_timestep()) {
|
||||
int nfield = *th->get_nfield();
|
||||
const auto &keywords = th->get_keywords();
|
||||
const auto &fields = th->get_fields();
|
||||
|
||||
for (int i = 0; i < th->nfield; ++i) {
|
||||
th->call_vfunc(i);
|
||||
if (th->vtype[i] == Thermo::FLOAT)
|
||||
thermo_data += fmt::format("{}, ", th->dvalue);
|
||||
else if (th->vtype[i] == Thermo::INT)
|
||||
thermo_data += fmt::format("{}, ", th->ivalue);
|
||||
else if (th->vtype[i] == Thermo::BIGINT)
|
||||
thermo_data += fmt::format("{}, ", th->bivalue);
|
||||
thermo_data += "thermo:\n - keywords: [ ";
|
||||
for (int i = 0; i < nfield; ++i) thermo_data += fmt::format("{}, ", keywords[i]);
|
||||
thermo_data += "]\n - data: [ ";
|
||||
|
||||
for (int i = 0; i < nfield; ++i) {
|
||||
if (fields[i].type == multitype::DOUBLE)
|
||||
thermo_data += fmt::format("{}, ", fields[i].data.d);
|
||||
else if (fields[i].type == multitype::INT)
|
||||
thermo_data += fmt::format("{}, ", fields[i].data.i);
|
||||
else if (fields[i].type == multitype::BIGINT)
|
||||
thermo_data += fmt::format("{}, ", fields[i].data.b);
|
||||
else
|
||||
thermo_data += ", ";
|
||||
}
|
||||
thermo_data += "]\n";
|
||||
MPI_Barrier(world);
|
||||
}
|
||||
thermo_data += "]\n";
|
||||
MPI_Barrier(world);
|
||||
}
|
||||
|
||||
if (comm->me == 0) {
|
||||
@ -85,7 +93,7 @@ void DumpYAML::write_header(bigint ndump)
|
||||
|
||||
fmt::print(fp, "natoms: {}\n", ndump);
|
||||
fputs("boundary: [ ", fp);
|
||||
for (const auto bflag : boundary) {
|
||||
for (const auto &bflag : boundary) {
|
||||
if (bflag == ' ') continue;
|
||||
fmt::print(fp, "{}, ", bflag);
|
||||
}
|
||||
|
||||
@ -175,7 +175,8 @@ void FixElectronStopping::post_force(int /*vflag*/)
|
||||
if (energy < Ecut) continue;
|
||||
if (energy < elstop_ranges[0][0]) continue;
|
||||
if (energy > elstop_ranges[0][table_entries - 1])
|
||||
error->one(FLERR, "Atom kinetic energy too high for fix electron/stopping");
|
||||
error->one(FLERR, "Fix electron/stopping: kinetic energy too high for atom {}: {} vs {}",
|
||||
atom->tag[i], energy, elstop_ranges[0][table_entries - 1]);
|
||||
|
||||
if (region) {
|
||||
// Only apply in the given region
|
||||
|
||||
@ -150,6 +150,7 @@ GranSubModNormalHertzMaterial::GranSubModNormalHertzMaterial(GranularModel *gm,
|
||||
material_properties = 1;
|
||||
num_coeffs = 3;
|
||||
contact_radius_flag = 1;
|
||||
mixed_coefficients = 0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -159,10 +160,12 @@ void GranSubModNormalHertzMaterial::coeffs_to_local()
|
||||
Emod = coeffs[0];
|
||||
damp = coeffs[1];
|
||||
poiss = coeffs[2];
|
||||
if (gm->contact_type == PAIR) {
|
||||
k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss);
|
||||
if (!mixed_coefficients) {
|
||||
if (gm->contact_type == PAIR) {
|
||||
k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss);
|
||||
}
|
||||
}
|
||||
|
||||
if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal Hertz material normal model");
|
||||
@ -175,6 +178,10 @@ void GranSubModNormalHertzMaterial::mix_coeffs(double *icoeffs, double *jcoeffs)
|
||||
coeffs[0] = mix_stiffnessE(icoeffs[0], jcoeffs[0], icoeffs[2], jcoeffs[2]);
|
||||
coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]);
|
||||
coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]);
|
||||
|
||||
k = FOURTHIRDS * coeffs[0];
|
||||
mixed_coefficients = 1;
|
||||
|
||||
coeffs_to_local();
|
||||
}
|
||||
|
||||
@ -188,6 +195,7 @@ GranSubModNormalDMT::GranSubModNormalDMT(GranularModel *gm, LAMMPS *lmp) : GranS
|
||||
cohesive_flag = 1;
|
||||
num_coeffs = 4;
|
||||
contact_radius_flag = 1;
|
||||
mixed_coefficients = 0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -198,10 +206,13 @@ void GranSubModNormalDMT::coeffs_to_local()
|
||||
damp = coeffs[1];
|
||||
poiss = coeffs[2];
|
||||
cohesion = coeffs[3];
|
||||
if (gm->contact_type == PAIR) {
|
||||
k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss);
|
||||
|
||||
if (!mixed_coefficients) {
|
||||
if (gm->contact_type == PAIR) {
|
||||
k = FOURTHIRDS * mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
k = FOURTHIRDS * mix_stiffnessE_wall(Emod, poiss);
|
||||
}
|
||||
}
|
||||
|
||||
if (Emod < 0.0 || damp < 0.0) error->all(FLERR, "Illegal DMT normal model");
|
||||
@ -215,6 +226,10 @@ void GranSubModNormalDMT::mix_coeffs(double *icoeffs, double *jcoeffs)
|
||||
coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]);
|
||||
coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]);
|
||||
coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]);
|
||||
|
||||
k = FOURTHIRDS * coeffs[0];
|
||||
mixed_coefficients = 1;
|
||||
|
||||
coeffs_to_local();
|
||||
}
|
||||
|
||||
@ -246,6 +261,7 @@ GranSubModNormalJKR::GranSubModNormalJKR(GranularModel *gm, LAMMPS *lmp) : GranS
|
||||
beyond_contact = 1;
|
||||
num_coeffs = 4;
|
||||
contact_radius_flag = 1;
|
||||
mixed_coefficients = 0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -257,10 +273,12 @@ void GranSubModNormalJKR::coeffs_to_local()
|
||||
poiss = coeffs[2];
|
||||
cohesion = coeffs[3];
|
||||
|
||||
if (gm->contact_type == PAIR) {
|
||||
Emix = mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
Emix = mix_stiffnessE_wall(Emod, poiss);
|
||||
if (!mixed_coefficients) {
|
||||
if (gm->contact_type == PAIR) {
|
||||
Emix = mix_stiffnessE(Emod, Emod, poiss, poiss);
|
||||
} else {
|
||||
Emix = mix_stiffnessE_wall(Emod, poiss);
|
||||
}
|
||||
}
|
||||
|
||||
k = FOURTHIRDS * Emix;
|
||||
@ -276,6 +294,10 @@ void GranSubModNormalJKR::mix_coeffs(double *icoeffs, double *jcoeffs)
|
||||
coeffs[1] = mix_geom(icoeffs[1], jcoeffs[1]);
|
||||
coeffs[2] = mix_geom(icoeffs[2], jcoeffs[2]);
|
||||
coeffs[3] = mix_geom(icoeffs[3], jcoeffs[3]);
|
||||
|
||||
Emix = coeffs[0];
|
||||
mixed_coefficients = 1;
|
||||
|
||||
coeffs_to_local();
|
||||
}
|
||||
|
||||
|
||||
@ -29,6 +29,7 @@ GranSubModStyle(jkr,GranSubModNormalJKR,NORMAL);
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
namespace Granular_NS {
|
||||
|
||||
class GranSubModNormal : public GranSubMod {
|
||||
public:
|
||||
GranSubModNormal(class GranularModel *, class LAMMPS *);
|
||||
@ -92,6 +93,8 @@ namespace Granular_NS {
|
||||
GranSubModNormalHertzMaterial(class GranularModel *, class LAMMPS *);
|
||||
void coeffs_to_local() override;
|
||||
void mix_coeffs(double *, double *) override;
|
||||
private:
|
||||
int mixed_coefficients;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -107,6 +110,7 @@ namespace Granular_NS {
|
||||
protected:
|
||||
double k, cohesion;
|
||||
double F_pulloff, Fne;
|
||||
int mixed_coefficients;
|
||||
};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -125,6 +129,7 @@ namespace Granular_NS {
|
||||
protected:
|
||||
double k, cohesion;
|
||||
double Emix, F_pulloff, Fne;
|
||||
int mixed_coefficients;
|
||||
};
|
||||
|
||||
} // namespace Granular_NS
|
||||
|
||||
72
src/INTERLAYER/pair_aip_water_2dm.cpp
Normal file
72
src/INTERLAYER/pair_aip_water_2dm.cpp
Normal file
@ -0,0 +1,72 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
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 author: Wengen Ouyang (Wuhan University)
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
|
||||
This is a full version of the potential described in
|
||||
[Feng and Ouyang et al, J. Phys. Chem. C 127, 8704-8713 (2023).]
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_aip_water_2dm.h"
|
||||
|
||||
#include "citeme.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
#define MAXLINE 1024
|
||||
#define DELTA 4
|
||||
#define PGDELTA 1
|
||||
|
||||
static const char cite_aip_water[] =
|
||||
"aip/water/2dm potential doi/10.1021/acs.jpcc.2c08464\n"
|
||||
"@Article{Feng2023\n"
|
||||
" author = {Z. Feng, Y. Yao, J. Liu, B. Wu, Z. Liu, and W. Ouyang},\n"
|
||||
" title = {Registry-Dependent Potential for Interfaces of Water with Graphene},\n"
|
||||
" journal = {J. Phys. Chem. C},\n"
|
||||
" volume = 127,\n"
|
||||
" pages = {8704-8713}\n"
|
||||
" year = 2023,\n"
|
||||
"}\n\n";
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairAIPWATER2DM::PairAIPWATER2DM(LAMMPS *lmp) : PairILPGrapheneHBN(lmp), PairILPTMD(lmp)
|
||||
{
|
||||
variant = AIP_WATER_2DM;
|
||||
single_enable = 0;
|
||||
|
||||
// for TMD, each atom have six neighbors
|
||||
Nnei = 6;
|
||||
|
||||
if (lmp->citeme) lmp->citeme->add(cite_aip_water);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
global settings
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairAIPWATER2DM::settings(int narg, char **arg)
|
||||
{
|
||||
if (narg < 1 || narg > 2) error->all(FLERR, "Illegal pair_style command");
|
||||
if (!utils::strmatch(force->pair_style, "^hybrid/overlay"))
|
||||
error->all(FLERR, "Pair style aip/water/2dm must be used as sub-style with hybrid/overlay");
|
||||
|
||||
cut_global = utils::numeric(FLERR, arg[0], false, lmp);
|
||||
if (narg == 2) tap_flag = utils::numeric(FLERR, arg[1], false, lmp);
|
||||
}
|
||||
39
src/INTERLAYER/pair_aip_water_2dm.h
Normal file
39
src/INTERLAYER/pair_aip_water_2dm.h
Normal file
@ -0,0 +1,39 @@
|
||||
/* -*- 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 PAIR_CLASS
|
||||
// clang-format off
|
||||
PairStyle(aip/water/2dm,PairAIPWATER2DM);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_AIP_WATER_2DM_H
|
||||
#define LMP_PAIR_AIP_WATER_2DM_H
|
||||
|
||||
#include "pair_ilp_tmd.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairAIPWATER2DM : virtual public PairILPTMD {
|
||||
public:
|
||||
PairAIPWATER2DM(class LAMMPS *);
|
||||
|
||||
protected:
|
||||
void settings(int, char **) override;
|
||||
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
#endif
|
||||
@ -11,7 +11,7 @@
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Wengen Ouyang (Tel Aviv University)
|
||||
Contributing author: Wengen Ouyang (Wuhan University)
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
|
||||
This is a Coulomb potential described in
|
||||
|
||||
@ -11,13 +11,11 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Wengen Ouyang (Tel Aviv University)
|
||||
Contributing author: Wengen Ouyang (Wuhan University)
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
|
||||
This is a full version of the potential described in
|
||||
[Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017)]
|
||||
The definition of normals are the same as that in
|
||||
[Kolmogorov & Crespi, Phys. Rev. B 71, 235415 (2005)]
|
||||
[Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020)]
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_ilp_graphene_hbn.h"
|
||||
@ -59,6 +57,7 @@ static const char cite_ilp[] =
|
||||
static std::map<int, std::string> variant_map = {
|
||||
{PairILPGrapheneHBN::ILP_GrhBN, "ilp/graphene/hbn"},
|
||||
{PairILPGrapheneHBN::ILP_TMD, "ilp/tmd"},
|
||||
{PairILPGrapheneHBN::AIP_WATER_2DM, "aip/water/2dm"},
|
||||
{PairILPGrapheneHBN::SAIP_METAL, "saip/metal"}};
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -632,7 +631,7 @@ void PairILPGrapheneHBN::calc_FRep(int eflag, int /* vflag */)
|
||||
|
||||
void PairILPGrapheneHBN::ILP_neigh()
|
||||
{
|
||||
int i, j, ii, jj, n, allnum, jnum, itype, jtype;
|
||||
int i, j, ii, jj, n, inum, jnum, itype, jtype;
|
||||
double xtmp, ytmp, ztmp, delx, dely, delz, rsq;
|
||||
int *ilist, *jlist, *numneigh, **firstneigh;
|
||||
int *neighptr;
|
||||
@ -649,7 +648,7 @@ void PairILPGrapheneHBN::ILP_neigh()
|
||||
(int **) memory->smalloc(maxlocal * sizeof(int *), "ILPGrapheneHBN:firstneigh");
|
||||
}
|
||||
|
||||
allnum = list->inum + list->gnum;
|
||||
inum = list->inum;
|
||||
ilist = list->ilist;
|
||||
numneigh = list->numneigh;
|
||||
firstneigh = list->firstneigh;
|
||||
@ -659,7 +658,7 @@ void PairILPGrapheneHBN::ILP_neigh()
|
||||
|
||||
ipage->reset();
|
||||
|
||||
for (ii = 0; ii < allnum; ii++) {
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
i = ilist[ii];
|
||||
|
||||
n = 0;
|
||||
|
||||
@ -39,7 +39,7 @@ class PairILPGrapheneHBN : public Pair {
|
||||
|
||||
static constexpr int NPARAMS_PER_LINE = 13;
|
||||
|
||||
enum { ILP_GrhBN, ILP_TMD, SAIP_METAL }; // for telling class variants apart in shared code
|
||||
enum { ILP_GrhBN, ILP_TMD, SAIP_METAL, AIP_WATER_2DM }; // for telling class variants apart in shared code
|
||||
|
||||
protected:
|
||||
int me;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
|
||||
This is a full version of the potential described in
|
||||
[Ouyang et al, J. Chem. Theory Comput. 17, 7237 (2021).]
|
||||
[Ouyang et al., J. Chem. Theory Comput. 17, 7237 (2021).]
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_ilp_tmd.h"
|
||||
@ -35,10 +35,6 @@
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace InterLayer;
|
||||
|
||||
#define MAXLINE 1024
|
||||
#define DELTA 4
|
||||
#define PGDELTA 1
|
||||
|
||||
static const char cite_ilp_tmd[] =
|
||||
"ilp/tmd potential doi:10.1021/acs.jctc.1c00782\n"
|
||||
"@Article{Ouyang2021\n"
|
||||
@ -232,7 +228,7 @@ void PairILPTMD::calc_FRep(int eflag, int /* vflag */)
|
||||
|
||||
void PairILPTMD::ILP_neigh()
|
||||
{
|
||||
int i, j, l, ii, jj, ll, n, allnum, jnum, itype, jtype, ltype, imol, jmol, count;
|
||||
int i, j, l, ii, jj, ll, n, inum, jnum, itype, jtype, ltype, imol, jmol, count;
|
||||
double xtmp, ytmp, ztmp, delx, dely, delz, deljx, deljy, deljz, rsq, rsqlj;
|
||||
int *ilist, *jlist, *numneigh, **firstneigh;
|
||||
int *neighsort;
|
||||
@ -249,7 +245,7 @@ void PairILPTMD::ILP_neigh()
|
||||
ILP_firstneigh = (int **) memory->smalloc(maxlocal * sizeof(int *), "ILPTMD:firstneigh");
|
||||
}
|
||||
|
||||
allnum = list->inum + list->gnum;
|
||||
inum = list->inum;
|
||||
ilist = list->ilist;
|
||||
numneigh = list->numneigh;
|
||||
firstneigh = list->firstneigh;
|
||||
@ -259,7 +255,7 @@ void PairILPTMD::ILP_neigh()
|
||||
|
||||
ipage->reset();
|
||||
|
||||
for (ii = 0; ii < allnum; ii++) {
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
i = ilist[ii];
|
||||
|
||||
//initialize varibles
|
||||
@ -288,21 +284,21 @@ void PairILPTMD::ILP_neigh()
|
||||
delz = ztmp - x[j][2];
|
||||
rsq = delx * delx + dely * dely + delz * delz;
|
||||
|
||||
// check if the atom i is TMD, i.e., Mo/S/W/Se
|
||||
if (strcmp(elements[itype], "Mo") == 0 || strcmp(elements[itype], "W") == 0 ||
|
||||
strcmp(elements[itype], "S") == 0 || strcmp(elements[itype], "Se") == 0 ||
|
||||
// check if the atom i is a TMD atom, i.e., Mo/S/W/Se
|
||||
if (strcmp(elements[itype], "Mo") == 0 || strcmp(elements[itype], "W") == 0 ||
|
||||
strcmp(elements[itype], "S") == 0 || strcmp(elements[itype], "Se") == 0 ||
|
||||
strcmp(elements[itype], "Te") == 0) {
|
||||
if (rsq != 0 && rsq < cutILPsq[itype][jtype] && imol == jmol && type[i] == type[j]) {
|
||||
neighptr[n++] = j;
|
||||
}
|
||||
} else { // atom i is C, B, N or H.
|
||||
} else { // atom i can be P, C, B, N or H.
|
||||
if (rsq != 0 && rsq < cutILPsq[itype][jtype] && imol == jmol) { neighptr[n++] = j; }
|
||||
}
|
||||
} // loop over jj
|
||||
|
||||
// if atom i is Mo/W/S/Se/Te, then sorting the orders of neighbors
|
||||
if (strcmp(elements[itype], "Mo") == 0 || strcmp(elements[itype], "W") == 0 ||
|
||||
strcmp(elements[itype], "S") == 0 || strcmp(elements[itype], "Se") == 0 ||
|
||||
if (strcmp(elements[itype], "Mo") == 0 || strcmp(elements[itype], "W") == 0 ||
|
||||
strcmp(elements[itype], "S") == 0 || strcmp(elements[itype], "Se") == 0 ||
|
||||
strcmp(elements[itype], "Te") == 0) {
|
||||
// initialize neighsort
|
||||
for (ll = 0; ll < n; ll++) {
|
||||
@ -336,9 +332,6 @@ void PairILPTMD::ILP_neigh()
|
||||
}
|
||||
} // end of idenfying the first neighbor
|
||||
} else if (n > Nnei) {
|
||||
fprintf(screen, "Molecule ID = %d\n", imol);
|
||||
fprintf(screen, "Atom Type = %d\n", type[i]);
|
||||
fprintf(screen, "Neinum = %d\n", n);
|
||||
error->one(FLERR,
|
||||
"There are too many neighbors for TMD atoms, please check your configuration");
|
||||
}
|
||||
@ -367,11 +360,11 @@ void PairILPTMD::ILP_neigh()
|
||||
ll++;
|
||||
}
|
||||
} // end of sorting the order of neighbors
|
||||
} else { // for B/N/C/H atoms
|
||||
} else { // for P/B/N/C/H atoms
|
||||
if (n > 3)
|
||||
error->one(
|
||||
FLERR,
|
||||
"There are too many neighbors for B/N/C/H atoms, please check your configuration");
|
||||
"There are too many neighbors for P/B/N/C/H atoms, please check your configuration");
|
||||
for (ll = 0; ll < n; ll++) { neighsort[ll] = neighptr[ll]; }
|
||||
}
|
||||
|
||||
@ -390,12 +383,14 @@ void PairILPTMD::calc_normal()
|
||||
{
|
||||
int i, j, ii, jj, inum, jnum;
|
||||
int cont, id, ip, m, k, itype;
|
||||
double nn, xtp, ytp, ztp, delx, dely, delz, nn2;
|
||||
int *ilist, *jlist;
|
||||
int iH1,iH2,jH1,jH2;
|
||||
double Nave[3], dni[3], dpvdri[3][3];
|
||||
double nn, xtp, ytp, ztp, delx, dely, delz, nn2;
|
||||
|
||||
double **x = atom->x;
|
||||
int *type = atom->type;
|
||||
tagint *tag = atom->tag;
|
||||
|
||||
memory->destroy(dnn);
|
||||
memory->destroy(vect);
|
||||
@ -479,9 +474,60 @@ void PairILPTMD::calc_normal()
|
||||
for (m = 0; m < Nnei; m++) { dnormal[i][id][m][ip] = 0.0; }
|
||||
}
|
||||
}
|
||||
// for hydrogen in water molecule
|
||||
if (strcmp(elements[itype], "Hw") == 0) {
|
||||
if(cont == 0) {
|
||||
jH1 = atom->map(tag[i] - 1);
|
||||
jH2 = atom->map(tag[i] - 2);
|
||||
iH1 = map[type[jH1]];
|
||||
iH2 = map[type[jH2]];
|
||||
if (strcmp(elements[iH1], "Ow") == 0 ) {
|
||||
vect[0][0] = x[jH1][0] - xtp;
|
||||
vect[0][1] = x[jH1][1] - ytp;
|
||||
vect[0][2] = x[jH1][2] - ztp;
|
||||
} else if (strcmp(elements[iH2], "Ow") == 0 ) {
|
||||
vect[0][0] = x[jH2][0] - xtp;
|
||||
vect[0][1] = x[jH2][1] - ytp;
|
||||
vect[0][2] = x[jH2][2] - ztp;
|
||||
} else {
|
||||
error->one(FLERR, "The order of atoms in water molecule should be O H H !");
|
||||
}
|
||||
}
|
||||
Nave[0] = vect[0][0];
|
||||
Nave[1] = vect[0][1];
|
||||
Nave[2] = vect[0][2];
|
||||
// the magnitude of the normal vector
|
||||
nn2 = Nave[0] * Nave[0] + Nave[1] * Nave[1] + Nave[2] * Nave[2];
|
||||
nn = sqrt(nn2);
|
||||
if (nn == 0) error->one(FLERR, "The magnitude of the normal vector is zero");
|
||||
// the unit normal vector
|
||||
normal[i][0] = Nave[0] / nn;
|
||||
normal[i][1] = Nave[1] / nn;
|
||||
normal[i][2] = Nave[2] / nn;
|
||||
|
||||
// Calculte dNave/dri, defined as dpvdri
|
||||
for (id = 0; id < 3; id++) {
|
||||
for (ip = 0; ip < 3; ip++) {
|
||||
if (ip == id) { dpvdri[id][ip] = -1.0;}
|
||||
else {dpvdri[id][ip] = 0.0;}
|
||||
}
|
||||
}
|
||||
|
||||
// derivatives of nn, dnn:3x1 vector
|
||||
dni[0] = (Nave[0] * dpvdri[0][0] + Nave[1] * dpvdri[1][0] + Nave[2] * dpvdri[2][0]) / nn;
|
||||
dni[1] = (Nave[0] * dpvdri[0][1] + Nave[1] * dpvdri[1][1] + Nave[2] * dpvdri[2][1]) / nn;
|
||||
dni[2] = (Nave[0] * dpvdri[0][2] + Nave[1] * dpvdri[1][2] + Nave[2] * dpvdri[2][2]) / nn;
|
||||
// derivatives of unit vector ni respect to ri, the result is 3x3 matrix
|
||||
for (id = 0; id < 3; id++) {
|
||||
for (ip = 0; ip < 3; ip++) {
|
||||
dnormdri[i][id][ip] = dpvdri[id][ip] / nn - Nave[id] * dni[ip] / nn2;
|
||||
dnormal[i][id][0][ip] = -dnormdri[i][id][ip];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//############################ For the edge atoms of TMD ################################
|
||||
else if (cont < Nnei) {
|
||||
else if (cont > 1 && cont < Nnei) {
|
||||
if (strcmp(elements[itype], "Mo") == 0 || strcmp(elements[itype], "W") == 0 ||
|
||||
strcmp(elements[itype], "S") == 0 || strcmp(elements[itype], "Se") == 0) {
|
||||
// derivatives of Ni[l] respect to the cont neighbors
|
||||
@ -557,8 +603,7 @@ void PairILPTMD::calc_normal()
|
||||
for (m = 0; m < cont; m++) {
|
||||
for (id = 0; id < 3; id++) {
|
||||
dnn[m][id] = (Nave[0] * dNave[0][m][id] + Nave[1] * dNave[1][m][id] +
|
||||
Nave[2] * dNave[2][m][id]) /
|
||||
nn;
|
||||
Nave[2] * dNave[2][m][id]) / nn;
|
||||
}
|
||||
}
|
||||
// dnormal[i][id][m][ip]: the derivative of normal[i][id] respect to r[m][ip], id,ip=0,1,2.
|
||||
@ -589,12 +634,99 @@ void PairILPTMD::calc_normal()
|
||||
}
|
||||
}
|
||||
} // for TMD
|
||||
//############################ For Oxygen in the water molecule #######################
|
||||
else if (strcmp(elements[itype], "Ow") == 0) {
|
||||
if(cont == 0) {
|
||||
jH1 = atom->map(tag[i] + 1);
|
||||
jH2 = atom->map(tag[i] + 2);
|
||||
iH1 = map[type[jH1]];
|
||||
iH2 = map[type[jH2]];
|
||||
if (strcmp(elements[iH1], "Hw") == 0 && strcmp(elements[iH2], "Hw") == 0) {
|
||||
vect[0][0] = x[jH1][0] - xtp;
|
||||
vect[0][1] = x[jH1][1] - ytp;
|
||||
vect[0][2] = x[jH1][2] - ztp;
|
||||
|
||||
vect[1][0] = x[jH2][0] - xtp;
|
||||
vect[1][1] = x[jH2][1] - ytp;
|
||||
vect[1][2] = x[jH2][2] - ztp;
|
||||
|
||||
cont = 2;
|
||||
} else {
|
||||
error->one(FLERR, "The order of atoms in water molecule should be O H H !");
|
||||
}
|
||||
}
|
||||
if (cont == 2) {
|
||||
Nave[0] = (vect[0][0] + vect[1][0])/cont;
|
||||
Nave[1] = (vect[0][1] + vect[1][1])/cont;
|
||||
Nave[2] = (vect[0][2] + vect[1][2])/cont;
|
||||
// the magnitude of the normal vector
|
||||
nn2 = Nave[0] * Nave[0] + Nave[1] * Nave[1] + Nave[2] * Nave[2];
|
||||
nn = sqrt(nn2);
|
||||
if (nn == 0) error->one(FLERR, "The magnitude of the normal vector is zero");
|
||||
// the unit normal vector
|
||||
normal[i][0] = Nave[0] / nn;
|
||||
normal[i][1] = Nave[1] / nn;
|
||||
normal[i][2] = Nave[2] / nn;
|
||||
|
||||
// derivatives of non-normalized normal vector, dNave:3xcontx3 array
|
||||
// dNave[id][m][ip]: the derivatve of the id component of Nave
|
||||
// respect to the ip component of atom m
|
||||
for (id = 0; id < 3; id++) {
|
||||
for (ip = 0; ip < 3; ip++) {
|
||||
for (m = 0; m < cont; m++) {
|
||||
if (ip == id) { dNave[id][m][ip] = 0.5;}
|
||||
else {dNave[id][m][ip] = 0.0;}
|
||||
}
|
||||
}
|
||||
}
|
||||
// derivatives of nn, dnn:contx3 vector
|
||||
// dnn[m][id]: the derivative of nn respect to r[m][id], m=0,...Nnei-1; id=0,1,2
|
||||
// r[m][id]: the id's component of atom m
|
||||
for (m = 0; m < cont; m++) {
|
||||
for (id = 0; id < 3; id++) {
|
||||
dnn[m][id] = (Nave[0] * dNave[0][m][id] + Nave[1] * dNave[1][m][id] +
|
||||
Nave[2] * dNave[2][m][id]) / nn;
|
||||
}
|
||||
}
|
||||
// dnormal[i][id][m][ip]: the derivative of normal[i][id] respect to r[m][ip], id,ip=0,1,2.
|
||||
// for atom m, which is a neighbor atom of atom i, m = 0,...,Nnei-1
|
||||
for (m = 0; m < cont; m++) {
|
||||
for (id = 0; id < 3; id++) {
|
||||
for (ip = 0; ip < 3; ip++) {
|
||||
dnormal[i][id][m][ip] = dNave[id][m][ip] / nn - Nave[id] * dnn[m][ip] / nn2;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Calculte dNave/dri, defined as dpvdri
|
||||
for (id = 0; id < 3; id++) {
|
||||
for (ip = 0; ip < 3; ip++) {
|
||||
dpvdri[id][ip] = 0.0;
|
||||
for (k = 0; k < cont; k++) { dpvdri[id][ip] -= dNave[id][k][ip]; }
|
||||
}
|
||||
}
|
||||
|
||||
// derivatives of nn, dnn:3x1 vector
|
||||
dni[0] = (Nave[0] * dpvdri[0][0] + Nave[1] * dpvdri[1][0] + Nave[2] * dpvdri[2][0]) / nn;
|
||||
dni[1] = (Nave[0] * dpvdri[0][1] + Nave[1] * dpvdri[1][1] + Nave[2] * dpvdri[2][1]) / nn;
|
||||
dni[2] = (Nave[0] * dpvdri[0][2] + Nave[1] * dpvdri[1][2] + Nave[2] * dpvdri[2][2]) / nn;
|
||||
// derivatives of unit vector ni respect to ri, the result is 3x3 matrix
|
||||
for (id = 0; id < 3; id++) {
|
||||
for (ip = 0; ip < 3; ip++) {
|
||||
dnormdri[i][id][ip] = dpvdri[id][ip] / nn - Nave[id] * dni[ip] / nn2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (cont >= 3) {
|
||||
error->one(FLERR,
|
||||
"There are too many neighbors for calculating normals of water molecules");
|
||||
}
|
||||
}
|
||||
//############################ For the edge & bulk atoms of GrhBN ################################
|
||||
else {
|
||||
if (cont == 2) {
|
||||
for (ip = 0; ip < 3; ip++) {
|
||||
pvet[0][ip] = vect[0][modulo(ip + 1, 3)] * vect[1][modulo(ip + 2, 3)] -
|
||||
vect[0][modulo(ip + 2, 3)] * vect[1][modulo(ip + 1, 3)];
|
||||
vect[0][modulo(ip + 2, 3)] * vect[1][modulo(ip + 1, 3)];
|
||||
}
|
||||
// dpvet1[k][l][ip]: the derivatve of the k (=0,...cont-1)th Nik respect to the ip component of atom l
|
||||
// derivatives respect to atom l
|
||||
@ -657,8 +789,7 @@ void PairILPTMD::calc_normal()
|
||||
for (m = 0; m < cont; m++) {
|
||||
for (id = 0; id < 3; id++) {
|
||||
dnn[m][id] = (Nave[0] * dNave[0][m][id] + Nave[1] * dNave[1][m][id] +
|
||||
Nave[2] * dNave[2][m][id]) /
|
||||
nn;
|
||||
Nave[2] * dNave[2][m][id]) / nn;
|
||||
}
|
||||
}
|
||||
// dnormal[i][id][m][ip]: the derivative of normal[i][id] respect to r[m][ip], id,ip=0,1,2.
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Wengen Ouyang (Tel Aviv University)
|
||||
Contributing author: Wengen Ouyang (Wuhan University)
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
based on previous versions by Jaap Kroes
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
|
||||
This is a full version of the potential described in
|
||||
[Ouyang et al, J. Chem. Theory Comput. 17, 7215-7223 (2021)]
|
||||
[Ouyang et al., J. Chem. Theory Comput. 17, 7215-7223 (2021)]
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_saip_metal.h"
|
||||
|
||||
@ -980,9 +980,9 @@ void CommKokkos::borders()
|
||||
} else {
|
||||
atomKK->sync(Host,ALL_MASK);
|
||||
k_sendlist.sync<LMPHostType>();
|
||||
CommBrick::borders();
|
||||
k_sendlist.modify<LMPHostType>();
|
||||
atomKK->modified(Host,ALL_MASK);
|
||||
atomKK->modified(Host,ALL_MASK); // needed here for atom map
|
||||
CommBrick::borders();
|
||||
}
|
||||
|
||||
if (comm->nprocs == 1 && !ghost_velocity && !forward_comm_classic)
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Aidan Thompson (SNL) - original Tersoff implementation
|
||||
Wengen Ouyang (TAU) - Shift addition
|
||||
Wengen Ouyang (WHU) - Shift addition
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_tersoff.h"
|
||||
|
||||
@ -195,6 +195,7 @@ DumpNetCDF::DumpNetCDF(LAMMPS *lmp, int narg, char **arg) :
|
||||
type_nc_real = NC_FLOAT;
|
||||
|
||||
thermo = false;
|
||||
thermo_warn = true;
|
||||
thermovar = nullptr;
|
||||
|
||||
framei = 0;
|
||||
@ -223,7 +224,7 @@ void DumpNetCDF::openfile()
|
||||
|
||||
if (thermo && !singlefile_opened) {
|
||||
delete[] thermovar;
|
||||
thermovar = new int[output->thermo->nfield];
|
||||
thermovar = new int[*output->thermo->get_nfield()];
|
||||
}
|
||||
|
||||
// now the computes and fixes have been initialized, so we can query
|
||||
@ -321,8 +322,11 @@ void DumpNetCDF::openfile()
|
||||
// perframe variables
|
||||
if (thermo) {
|
||||
Thermo *th = output->thermo;
|
||||
for (int i = 0; i < th->nfield; i++) {
|
||||
NCERRX( nc_inq_varid(ncid, th->keyword[i].c_str(), &thermovar[i]), th->keyword[i].c_str() );
|
||||
const auto &keywords = th->get_keywords();
|
||||
const int nfield = *th->get_nfield();
|
||||
|
||||
for (int i = 0; i < nfield; i++) {
|
||||
NCERRX( nc_inq_varid(ncid, keywords[i].c_str(), &thermovar[i]), keywords[i].c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
@ -433,21 +437,17 @@ void DumpNetCDF::openfile()
|
||||
// perframe variables
|
||||
if (thermo) {
|
||||
Thermo *th = output->thermo;
|
||||
for (int i = 0; i < th->nfield; i++) {
|
||||
if (th->vtype[i] == Thermo::FLOAT) {
|
||||
NCERRX( nc_def_var(ncid, th->keyword[i].c_str(), type_nc_real, 1, dims,
|
||||
&thermovar[i]), th->keyword[i].c_str() );
|
||||
} else if (th->vtype[i] == Thermo::INT) {
|
||||
NCERRX( nc_def_var(ncid, th->keyword[i].c_str(), NC_INT, 1, dims,
|
||||
&thermovar[i]), th->keyword[i].c_str() );
|
||||
} else if (th->vtype[i] == Thermo::BIGINT) {
|
||||
#if defined(LAMMPS_SMALLBIG) || defined(LAMMPS_BIGBIG)
|
||||
NCERRX( nc_def_var(ncid, th->keyword[i].c_str(), NC_INT64, 1, dims,
|
||||
&thermovar[i]), th->keyword[i].c_str() );
|
||||
#else
|
||||
NCERRX( nc_def_var(ncid, th->keyword[i].c_str(), NC_LONG, 1, dims,
|
||||
&thermovar[i]), th->keyword[i].c_str() );
|
||||
#endif
|
||||
const auto &fields = th->get_fields();
|
||||
const auto &keywords = th->get_keywords();
|
||||
const int nfield = *th->get_nfield();
|
||||
|
||||
for (int i = 0; i < nfield; i++) {
|
||||
if (fields[i].type == multitype::DOUBLE) {
|
||||
NCERRX( nc_def_var(ncid, keywords[i].c_str(), type_nc_real, 1, dims, &thermovar[i]), keywords[i].c_str() );
|
||||
} else if (fields[i].type == multitype::INT) {
|
||||
NCERRX( nc_def_var(ncid, keywords[i].c_str(), NC_INT, 1, dims, &thermovar[i]), keywords[i].c_str() );
|
||||
} else if (fields[i].type == multitype::BIGINT) {
|
||||
NCERRX( nc_def_var(ncid, keywords[i].c_str(), NC_INT64, 1, dims, &thermovar[i]), keywords[i].c_str() );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -606,19 +606,30 @@ void DumpNetCDF::write()
|
||||
|
||||
if (thermo) {
|
||||
Thermo *th = output->thermo;
|
||||
for (int i = 0; i < th->nfield; i++) {
|
||||
th->call_vfunc(i);
|
||||
|
||||
// will output current thermo data only on timesteps where it was computed.
|
||||
// warn (once) about using cached copy from old timestep.
|
||||
|
||||
if (thermo_warn && (update->ntimestep != *th->get_timestep())) {
|
||||
thermo_warn = false;
|
||||
if (comm->me == 0) {
|
||||
error->warning(FLERR, "Dump {} output on incompatible timestep with thermo output: {} vs {} \n"
|
||||
" Dump netcdf always stores thermo data from last thermo output",
|
||||
id, *th->get_timestep(), update->ntimestep);
|
||||
}
|
||||
}
|
||||
|
||||
const auto &keywords = th->get_keywords();
|
||||
const auto &fields = th->get_fields();
|
||||
int nfield = *th->get_nfield();
|
||||
for (int i = 0; i < nfield; i++) {
|
||||
if (filewriter) {
|
||||
if (th->vtype[i] == Thermo::FLOAT) {
|
||||
NCERRX( nc_put_var1_double(ncid, thermovar[i], start,
|
||||
&th->dvalue),
|
||||
th->keyword[i].c_str() );
|
||||
} else if (th->vtype[i] == Thermo::INT) {
|
||||
NCERRX( nc_put_var1_int(ncid, thermovar[i], start, &th->ivalue),
|
||||
th->keyword[i].c_str() );
|
||||
} else if (th->vtype[i] == Thermo::BIGINT) {
|
||||
NCERRX( nc_put_var1_bigint(ncid, thermovar[i], start, &th->bivalue),
|
||||
th->keyword[i].c_str() );
|
||||
if (fields[i].type == multitype::DOUBLE) {
|
||||
NCERRX( nc_put_var1_double(ncid, thermovar[i], start, &fields[i].data.d), keywords[i].c_str() );
|
||||
} else if (fields[i].type == multitype::INT) {
|
||||
NCERRX( nc_put_var1_int(ncid, thermovar[i], start, &fields[i].data.i), keywords[i].c_str() );
|
||||
} else if (fields[i].type == multitype::BIGINT) {
|
||||
NCERRX( nc_put_var1_bigint(ncid, thermovar[i], start, &fields[i].data.b), keywords[i].c_str() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,6 +65,7 @@ class DumpNetCDF : public DumpCustom {
|
||||
|
||||
int type_nc_real; // netcdf type to use for real variables: float or double
|
||||
bool thermo; // write thermo output to netcdf file
|
||||
bool thermo_warn; // warn (once) that thermo output is on incompatible step
|
||||
|
||||
bigint n_buffer; // size of buffer
|
||||
bigint *int_buffer; // buffer for passing data to netcdf
|
||||
|
||||
@ -192,6 +192,7 @@ DumpNetCDFMPIIO::DumpNetCDFMPIIO(LAMMPS *lmp, int narg, char **arg) :
|
||||
type_nc_real = NC_FLOAT;
|
||||
|
||||
thermo = false;
|
||||
thermo_warn = true;
|
||||
thermovar = nullptr;
|
||||
|
||||
framei = 0;
|
||||
@ -220,7 +221,7 @@ void DumpNetCDFMPIIO::openfile()
|
||||
|
||||
if (thermo && !singlefile_opened) {
|
||||
delete[] thermovar;
|
||||
thermovar = new int[output->thermo->nfield];
|
||||
thermovar = new int[*output->thermo->get_nfield()];
|
||||
}
|
||||
|
||||
// now the computes and fixes have been initialized, so we can query
|
||||
@ -319,8 +320,11 @@ void DumpNetCDFMPIIO::openfile()
|
||||
// perframe variables
|
||||
if (thermo) {
|
||||
Thermo *th = output->thermo;
|
||||
for (int i = 0; i < th->nfield; i++) {
|
||||
NCERRX( ncmpi_inq_varid(ncid, th->keyword[i].c_str(), &thermovar[i]), th->keyword[i].c_str() );
|
||||
const auto &keywords = th->get_keywords();
|
||||
const int nfield = *th->get_nfield();
|
||||
|
||||
for (int i = 0; i < nfield; i++) {
|
||||
NCERRX( ncmpi_inq_varid(ncid, keywords[i].c_str(), &thermovar[i]), keywords[i].c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
@ -423,17 +427,17 @@ void DumpNetCDFMPIIO::openfile()
|
||||
// perframe variables
|
||||
if (thermo) {
|
||||
Thermo *th = output->thermo;
|
||||
for (int i = 0; i < th->nfield; i++) {
|
||||
if (th->vtype[i] == Thermo::FLOAT) {
|
||||
NCERRX( ncmpi_def_var(ncid, th->keyword[i].c_str(), type_nc_real, 1, dims, &thermovar[i]), th->keyword[i].c_str() );
|
||||
} else if (th->vtype[i] == Thermo::INT) {
|
||||
NCERRX( ncmpi_def_var(ncid, th->keyword[i].c_str(), NC_INT, 1, dims, &thermovar[i]), th->keyword[i].c_str() );
|
||||
} else if (th->vtype[i] == Thermo::BIGINT) {
|
||||
#if defined(LAMMPS_SMALLBIG) || defined(LAMMPS_BIGBIG)
|
||||
NCERRX( ncmpi_def_var(ncid, th->keyword[i].c_str(), NC_INT64, 1, dims, &thermovar[i]), th->keyword[i].c_str() );
|
||||
#else
|
||||
NCERRX( ncmpi_def_var(ncid, th->keyword[i].c_str(), NC_LONG, 1, dims, &thermovar[i]), th->keyword[i].c_str() );
|
||||
#endif
|
||||
const auto &fields = th->get_fields();
|
||||
const auto &keywords = th->get_keywords();
|
||||
const int nfield = *th->get_nfield();
|
||||
|
||||
for (int i = 0; i < nfield; i++) {
|
||||
if (fields[i].type == multitype::DOUBLE) {
|
||||
NCERRX( ncmpi_def_var(ncid, keywords[i].c_str(), type_nc_real, 1, dims, &thermovar[i]), keywords[i].c_str() );
|
||||
} else if (fields[i].type == multitype::INT) {
|
||||
NCERRX( ncmpi_def_var(ncid, keywords[i].c_str(), NC_INT, 1, dims, &thermovar[i]), keywords[i].c_str() );
|
||||
} else if (fields[i].type == multitype::BIGINT) {
|
||||
NCERRX( ncmpi_def_var(ncid, keywords[i].c_str(), NC_INT64, 1, dims, &thermovar[i]), keywords[i].c_str() );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -595,25 +599,36 @@ void DumpNetCDFMPIIO::write()
|
||||
|
||||
if (thermo) {
|
||||
Thermo *th = output->thermo;
|
||||
for (int i = 0; i < th->nfield; i++) {
|
||||
th->call_vfunc(i);
|
||||
|
||||
// will output current thermo data only on timesteps where it was computed.
|
||||
// warn (once) about using cached copy from old timestep.
|
||||
|
||||
if (thermo_warn && (update->ntimestep != *th->get_timestep())) {
|
||||
thermo_warn = false;
|
||||
if (comm->me == 0) {
|
||||
error->warning(FLERR, "Dump {} output on incompatible timestep with thermo output: {} vs {} \n"
|
||||
" Dump netcdf/mpiio always stores thermo data from last thermo output",
|
||||
id, *th->get_timestep(), update->ntimestep);
|
||||
}
|
||||
}
|
||||
|
||||
const auto &keywords = th->get_keywords();
|
||||
const auto &fields = th->get_fields();
|
||||
int nfield = *th->get_nfield();
|
||||
for (int i = 0; i < nfield; i++) {
|
||||
if (filewriter) {
|
||||
if (th->vtype[i] == Thermo::FLOAT) {
|
||||
NCERRX( ncmpi_put_var1_double(ncid, thermovar[i], start,
|
||||
&th->dvalue),
|
||||
th->keyword[i].c_str() );
|
||||
} else if (th->vtype[i] == Thermo::INT) {
|
||||
NCERRX( ncmpi_put_var1_int(ncid, thermovar[i], start, &th->ivalue),
|
||||
th->keyword[i].c_str() );
|
||||
} else if (th->vtype[i] == Thermo::BIGINT) {
|
||||
NCERRX( ncmpi_put_var1_bigint(ncid, thermovar[i], start, &th->bivalue),
|
||||
th->keyword[i].c_str() );
|
||||
if (fields[i].type == multitype::DOUBLE) {
|
||||
NCERRX( ncmpi_put_var1_double(ncid, thermovar[i], start, &fields[i].data.d), keywords[i].c_str() );
|
||||
} else if (fields[i].type == multitype::INT) {
|
||||
NCERRX( ncmpi_put_var1_int(ncid, thermovar[i], start, &fields[i].data.i), keywords[i].c_str() );
|
||||
} else if (fields[i].type == multitype::BIGINT) {
|
||||
NCERRX( ncmpi_put_var1_bigint(ncid, thermovar[i], start, &fields[i].data.b), keywords[i].c_str() );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// write timestep header
|
||||
// write timestep header
|
||||
|
||||
write_time_and_cell();
|
||||
|
||||
|
||||
@ -62,6 +62,7 @@ class DumpNetCDFMPIIO : public DumpCustom {
|
||||
|
||||
int type_nc_real; // netcdf type to use for real variables: float or double
|
||||
bool thermo; // write thermo output to netcdf file
|
||||
bool thermo_warn; // warn (once) that thermo output is on incompatible step
|
||||
|
||||
bigint n_buffer; // size of buffer
|
||||
bigint *int_buffer; // buffer for passing data to netcdf
|
||||
|
||||
63
src/OPT/pair_aip_water_2dm_opt.cpp
Normal file
63
src/OPT/pair_aip_water_2dm_opt.cpp
Normal file
@ -0,0 +1,63 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
This is an optimized version of aip/water/2dm based on the contribution of:
|
||||
author: Wengen Ouyang (Wuhan University)
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
|
||||
Optimizations are done by:
|
||||
author1: Xiaohui Duan (National Supercomputing Center in Wuxi, China)
|
||||
e-mail: sunrise_duan at 126 dot com
|
||||
|
||||
author2: Ping Gao (National Supercomputing Center in Wuxi, China)
|
||||
e-mail: qdgaoping at gmail dot com
|
||||
|
||||
Optimizations are described in:
|
||||
Gao, Ping and Duan, Xiaohui, et al.:
|
||||
LMFF: Efficient and Scalable Layered Materials Force Field on Heterogeneous Many-Core Processors
|
||||
DOI: 10.1145/3458817.3476137
|
||||
|
||||
Potential is described by:
|
||||
[Feng and Ouyang et al, J. Phys. Chem. C 127, 8704-8713 (2023).]
|
||||
*/
|
||||
#include "pair_aip_water_2dm_opt.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "memory.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
PairAIPWATER2DMOpt::PairAIPWATER2DMOpt(LAMMPS *lmp) :
|
||||
PairILPGrapheneHBN(lmp), PairILPTMD(lmp), PairAIPWATER2DM(lmp), PairILPGrapheneHBNOpt(lmp)
|
||||
{
|
||||
}
|
||||
|
||||
void PairAIPWATER2DMOpt::coeff(int narg, char **args)
|
||||
{
|
||||
PairILPTMD::coeff(narg, args);
|
||||
memory->create(special_type, atom->ntypes + 1, "PairAIPWATER2DMOpt:check_sublayer");
|
||||
for (int i = 1; i <= atom->ntypes; i++) {
|
||||
int itype = map[i];
|
||||
if (strcmp(elements[itype], "Mo") == 0 || strcmp(elements[itype], "W") == 0 ||
|
||||
strcmp(elements[itype], "S") == 0 || strcmp(elements[itype], "Se") == 0 ||
|
||||
strcmp(elements[itype], "Te") == 0) {
|
||||
special_type[i] = TMD_METAL;
|
||||
} else if (strcmp(elements[itype], "Hw") == 0 || strcmp(elements[itype], "Ow") == 0) {
|
||||
special_type[i] = WATER;
|
||||
} else {
|
||||
special_type[i] = NOT_SPECIAL;
|
||||
}
|
||||
}
|
||||
}
|
||||
38
src/OPT/pair_aip_water_2dm_opt.h
Normal file
38
src/OPT/pair_aip_water_2dm_opt.h
Normal file
@ -0,0 +1,38 @@
|
||||
/* -*- 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 PAIR_CLASS
|
||||
// clang-format off
|
||||
PairStyle(aip/water/2dm/opt,PairAIPWATER2DMOpt);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_AIP_WATER_2DM_OPT_H
|
||||
#define LMP_PAIR_AIP_WATER_2DM_OPT_H
|
||||
|
||||
#include "pair_ilp_graphene_hbn_opt.h"
|
||||
#include "pair_aip_water_2dm.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairAIPWATER2DMOpt : public PairAIPWATER2DM, public PairILPGrapheneHBNOpt {
|
||||
public:
|
||||
PairAIPWATER2DMOpt(class LAMMPS *);
|
||||
void coeff(int narg, char **args) override;
|
||||
|
||||
protected:
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
#endif
|
||||
#endif
|
||||
@ -11,12 +11,24 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Optimization author1: Ping Gao (National Supercomputing Center in Wuxi, China)
|
||||
This is an optimized version of ilp/graphene/hbn based on the contirubtion of:
|
||||
author: Wengen Ouyang (Wuhan University, China)
|
||||
e-mail: w.g.ouyang at gmail dot com
|
||||
|
||||
Optimizations are done by:
|
||||
author1: Ping Gao (National Supercomputing Center in Wuxi, China) implements the base ILP potential.
|
||||
e-mail: qdgaoping at gmail dot com
|
||||
Optimization author2: Xiaohui Duan (National Supercomputing Center in Wuxi, China)
|
||||
|
||||
author2: Xiaohui Duan (Shandong University, China) adjusts the framework to adopt SAIP, TMD, WATER2DM, etc.
|
||||
e-mail: sunrise_duan at 126 dot com
|
||||
|
||||
Provides some bugfixes and performance optimizations in this potential.
|
||||
Optimizations are described in:
|
||||
Gao, Ping and Duan, Xiaohui, et al:
|
||||
LMFF: Efficient and Scalable Layered Materials Force Field on Heterogeneous Many-Core Processors
|
||||
DOI: 10.1145/3458817.3476137
|
||||
|
||||
Potential is described by:
|
||||
[Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020)]
|
||||
*/
|
||||
|
||||
#include "pair_ilp_graphene_hbn_opt.h"
|
||||
@ -28,19 +40,21 @@
|
||||
#include "interlayer_taper.h"
|
||||
#include "memory.h"
|
||||
#include "neigh_list.h"
|
||||
#include "neigh_request.h"
|
||||
#include "neighbor.h"
|
||||
#include "pointers.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <utility>
|
||||
#include <cstring>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace InterLayer;
|
||||
|
||||
static const char cite_ilp_cur[] =
|
||||
"ilp/graphene/hbn/opt potential: doi:10.1145/3458817.3476137\n"
|
||||
"ilp/graphene/hbn/opt potential doi:10.1145/3458817.3476137\n"
|
||||
"@inproceedings{gao2021lmff\n"
|
||||
" author = {Gao, Ping and Duan, Xiaohui and others},\n"
|
||||
" title = {{LMFF}: Efficient and Scalable Layered Materials Force Field on Heterogeneous "
|
||||
" author = {Gao, Ping and Duan, Xiaohui and Others},\n"
|
||||
" title = {LMFF: Efficient and Scalable Layered Materials Force Field on Heterogeneous "
|
||||
"Many-Core Processors},\n"
|
||||
" year = {2021},\n"
|
||||
" isbn = {9781450384421},\n"
|
||||
@ -50,14 +64,12 @@ static const char cite_ilp_cur[] =
|
||||
" doi = {10.1145/3458817.3476137},\n"
|
||||
" booktitle = {Proceedings of the International Conference for High Performance Computing, "
|
||||
"Networking, Storage and Analysis},\n"
|
||||
" pages = {42},\n"
|
||||
" articleno = {42},\n"
|
||||
" numpages = {14},\n"
|
||||
" location = {St.~Louis, Missouri},\n"
|
||||
" location = {St. Louis, Missouri},\n"
|
||||
" series = {SC'21},\n"
|
||||
"}\n\n";
|
||||
|
||||
static bool check_vdw(tagint itag, tagint jtag, double *xi, double *xj);
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairILPGrapheneHBNOpt::PairILPGrapheneHBNOpt(LAMMPS *lmp) :
|
||||
@ -168,6 +180,36 @@ void PairILPGrapheneHBNOpt::compute(int eflag, int vflag)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (variant == AIP_WATER_2DM) {
|
||||
if (eflag_global || eflag_atom) {
|
||||
if (vflag_either) {
|
||||
if (tap_flag) {
|
||||
eval<6, 1, 1, 1, AIP_WATER_2DM>();
|
||||
} else {
|
||||
eval<6, 1, 1, 0, AIP_WATER_2DM>();
|
||||
}
|
||||
} else {
|
||||
if (tap_flag) {
|
||||
eval<6, 1, 0, 1, AIP_WATER_2DM>();
|
||||
} else {
|
||||
eval<6, 1, 0, 0, AIP_WATER_2DM>();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (vflag_either) {
|
||||
if (tap_flag) {
|
||||
eval<6, 0, 1, 1, AIP_WATER_2DM>();
|
||||
} else {
|
||||
eval<6, 0, 1, 0, AIP_WATER_2DM>();
|
||||
}
|
||||
} else {
|
||||
if (tap_flag) {
|
||||
eval<6, 0, 0, 1, AIP_WATER_2DM>();
|
||||
} else {
|
||||
eval<6, 0, 0, 0, AIP_WATER_2DM>();
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (variant == SAIP_METAL) {
|
||||
if (eflag_global || eflag_atom) {
|
||||
if (vflag_either) {
|
||||
@ -255,7 +297,7 @@ void PairILPGrapheneHBNOpt::eval()
|
||||
rsq = delx * delx + dely * dely + delz * delz;
|
||||
|
||||
if (rsq != 0 && rsq < cutILPsq[itype_map][jtype]) {
|
||||
if (VARIANT == ILP_TMD && special_type[itype] && itype != type[j]) continue;
|
||||
if ((VARIANT == ILP_TMD || VARIANT == AIP_WATER_2DM) && special_type[itype] == TMD_METAL && itype != type[j]) continue;
|
||||
if (ILP_nneigh >= MAX_NNEIGH) {
|
||||
error->one(FLERR, "There are too many neighbors for calculating normals");
|
||||
}
|
||||
@ -269,7 +311,8 @@ void PairILPGrapheneHBNOpt::eval()
|
||||
dproddni[2] = 0.0;
|
||||
|
||||
double norm[3], dnormdxi[3][3], dnormdxk[MAX_NNEIGH][3][3];
|
||||
calc_normal<MAX_NNEIGH>(i, ILP_neigh, ILP_nneigh, norm, dnormdxi, dnormdxk);
|
||||
|
||||
calc_atom_normal<MAX_NNEIGH>(i, itype, ILP_neigh, ILP_nneigh, norm, dnormdxi, dnormdxk);
|
||||
|
||||
for (jj = 0; jj < jnum_inter; jj++) {
|
||||
j = jlist_inter[jj];
|
||||
@ -298,7 +341,7 @@ void PairILPGrapheneHBNOpt::eval()
|
||||
Tap = 1.0;
|
||||
dTap = 0.0;
|
||||
}
|
||||
if (VARIANT != SAIP_METAL || !special_type[itype]) {
|
||||
if (VARIANT != SAIP_METAL || special_type[itype] != SAIP_BNCH) {
|
||||
// Calculate the transverse distance
|
||||
prodnorm1 = norm[0] * delx + norm[1] * dely + norm[2] * delz;
|
||||
rhosq1 = rsq - prodnorm1 * prodnorm1; // rho_ij
|
||||
@ -310,7 +353,7 @@ void PairILPGrapheneHBNOpt::eval()
|
||||
|
||||
frho1 = exp1 * p.C;
|
||||
Erep = 0.5 * p.epsilon + frho1;
|
||||
if (VARIANT == SAIP_METAL && special_type[jtype]) { Erep += 0.5 * p.epsilon + p.C; }
|
||||
if (VARIANT == SAIP_METAL && special_type[jtype] == SAIP_BNCH) { Erep += 0.5 * p.epsilon + p.C; }
|
||||
Vilp = exp0 * Erep;
|
||||
|
||||
// derivatives
|
||||
@ -428,6 +471,18 @@ inline void deriv_normal(double dndr[3][3], double *del, double *n, double rnnor
|
||||
dndr[1][2] = (del[1] * n[0] * n[1] + del[0] * (n[0] * n[0] + n[2] * n[2])) * rnnorm;
|
||||
dndr[2][2] = (del[1] * n[0] * n[2] - del[0] * n[1] * n[2]) * rnnorm;
|
||||
}
|
||||
inline void deriv_hat(double dnhatdn[3][3], double *n, double rnnorm, double factor){
|
||||
double cfactor = rnnorm * factor;
|
||||
dnhatdn[0][0] = (n[1]*n[1]+n[2]*n[2])*cfactor;
|
||||
dnhatdn[1][0] = -n[1]*n[0]*cfactor;
|
||||
dnhatdn[2][0] = -n[2]*n[0]*cfactor;
|
||||
dnhatdn[0][1] = -n[0]*n[1]*cfactor;
|
||||
dnhatdn[1][1] = (n[0]*n[0]+n[2]*n[2])*cfactor;
|
||||
dnhatdn[2][1] = -n[2]*n[1]*cfactor;
|
||||
dnhatdn[0][2] = -n[0]*n[2]*cfactor;
|
||||
dnhatdn[1][2] = -n[1]*n[2]*cfactor;
|
||||
dnhatdn[2][2] = (n[0]*n[0]+n[1]*n[1])*cfactor;
|
||||
}
|
||||
inline double normalize_factor(double *n)
|
||||
{
|
||||
double nnorm = sqrt(n[0] * n[0] + n[1] * n[1] + n[2] * n[2]);
|
||||
@ -441,7 +496,7 @@ inline double normalize_factor(double *n)
|
||||
Yet another normal calculation method for simpiler code.
|
||||
*/
|
||||
template <int MAX_NNEIGH>
|
||||
void PairILPGrapheneHBNOpt::calc_normal(int i, int *ILP_neigh, int nneigh, double *n,
|
||||
void PairILPGrapheneHBNOpt::calc_atom_normal(int i, int itype, int *ILP_neigh, int nneigh, double *n,
|
||||
double (*dnormdri)[3], double (*dnormdrk)[3][3])
|
||||
{
|
||||
double **x = atom->x;
|
||||
@ -475,6 +530,32 @@ void PairILPGrapheneHBNOpt::calc_normal(int i, int *ILP_neigh, int nneigh, doubl
|
||||
vet[jj][2] = x[j][2] - x[i][2];
|
||||
}
|
||||
|
||||
//specialize for AIP_WATER_2DM for hydrogen has special normal vector rule
|
||||
if (variant == AIP_WATER_2DM && special_type[itype] == WATER) {
|
||||
if (nneigh == 1){
|
||||
n[0] = vet[0][0];
|
||||
n[1] = vet[0][1];
|
||||
n[2] = vet[0][2];
|
||||
|
||||
double rnnorm = normalize_factor(n);
|
||||
|
||||
deriv_hat(dnormdri, n, rnnorm, -1.0);
|
||||
deriv_hat(dnormdrk[0], n, rnnorm, 1.0);
|
||||
|
||||
} else if (nneigh == 2){
|
||||
n[0] = (vet[0][0] + vet[1][0])*0.5;
|
||||
n[1] = (vet[0][1] + vet[1][1])*0.5;
|
||||
n[2] = (vet[0][2] + vet[1][2])*0.5;
|
||||
double rnnorm = normalize_factor(n);
|
||||
|
||||
deriv_hat(dnormdri, n, rnnorm, -1.0);
|
||||
deriv_hat(dnormdrk[0], n, rnnorm, 0.5);
|
||||
deriv_hat(dnormdrk[1], n, rnnorm, 0.5);
|
||||
} else {
|
||||
error->one(FLERR, "malformed water");
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (nneigh <= 1) {
|
||||
n[0] = 0.0;
|
||||
n[1] = 0.0;
|
||||
|
||||
@ -35,7 +35,7 @@ class PairILPGrapheneHBNOpt : virtual public PairILPGrapheneHBN {
|
||||
protected:
|
||||
void update_internal_list();
|
||||
template <int MAX_NNEIGH>
|
||||
void calc_normal(int i, int *ILP_neigh, int nneigh, double *normal, double (*dnormdri)[3],
|
||||
void calc_atom_normal(int i, int itype, int *ILP_neigh, int nneigh, double *normal, double (*dnormdri)[3],
|
||||
double (*dnormdrk)[3][3]);
|
||||
template <int MAX_NNEIGH, int EFLAG, int VFLAG_EITHER, int TAP_FLAG, int VARIANT = ILP_GrhBN>
|
||||
void eval();
|
||||
@ -44,6 +44,14 @@ class PairILPGrapheneHBNOpt : virtual public PairILPGrapheneHBN {
|
||||
int *special_type;
|
||||
int *num_intra, *num_inter, *num_vdw;
|
||||
int inum_max, jnum_max;
|
||||
|
||||
enum special_type_const {
|
||||
NOT_SPECIAL = 0,
|
||||
TMD_METAL,
|
||||
SAIP_BNCH,
|
||||
WATER,
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
e-mail: qdgaoping at gmail dot com
|
||||
|
||||
Optimizations are described in:
|
||||
Gao, Ping and Duan, Xiaohui, et al:
|
||||
Gao, Ping and Duan, Xiaohui, et al.:
|
||||
LMFF: Efficient and Scalable Layered Materials Force Field on Heterogeneous Many-Core Processors
|
||||
DOI: 10.1145/3458817.3476137
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user