Merge pull request #4331 from akohlmey/collected-small-changes
Collected small changes and fixes
This commit is contained in:
@ -3,71 +3,70 @@ Running LAMMPS on Windows
|
||||
|
||||
To run a serial (non-MPI) executable, follow these steps:
|
||||
|
||||
* Get a command prompt by going to Start->Run... ,
|
||||
then typing "cmd".
|
||||
* Move to the directory where you have your input script,
|
||||
* Install a LAMMPS installer package from https://packages.lammps.org/windows.html
|
||||
* Open the "Command Prompt" or "Terminal" app.
|
||||
* Change to the directory where you have your input script,
|
||||
(e.g. by typing: cd "Documents").
|
||||
* At the command prompt, type "lmp -in in.file", where
|
||||
in.file is the name of your LAMMPS input script.
|
||||
* At the command prompt, type "lmp -in in.file.lmp", where
|
||||
``in.file.lmp`` is the name of your LAMMPS input script.
|
||||
|
||||
Note that the serial executable includes support for multi-threading
|
||||
parallelization from the styles in the OPENMP packages. To run with
|
||||
4 threads, you can type this:
|
||||
parallelization from the styles in the OPENMP and KOKKOS packages.
|
||||
To run with 4 threads, you can type this:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
lmp -in in.lj -pk omp 4 -sf omp
|
||||
lmp -in in.lj.lmp -pk omp 4 -sf omp
|
||||
lmp -in in.lj.lmp -k on t 4 -sf kk
|
||||
|
||||
Alternately, you can also install a package with LAMMPS-GUI included and
|
||||
open the LAMMPS-GUI app (the package includes the command line version
|
||||
of LAMMPS as well) and open the input file in the GUI and run it from
|
||||
there. For details on LAMMPS-GUI, see :doc:`Howto_lammps_gui`.
|
||||
|
||||
----------
|
||||
|
||||
For the MPI executable, which allows you to run LAMMPS under Windows
|
||||
in parallel, follow these steps.
|
||||
For the MS-MPI executables, which allow you to run LAMMPS under Windows
|
||||
in parallel using MPI rather than multi-threading, follow these steps.
|
||||
|
||||
Download and install a compatible MPI library binary package:
|
||||
|
||||
* for 32-bit Windows: `mpich2-1.4.1p1-win-ia32.msi <https://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi>`_
|
||||
* for 64-bit Windows: `mpich2-1.4.1p1-win-x86-64.msi <https://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi>`_
|
||||
|
||||
The LAMMPS Windows installer packages will automatically adjust your
|
||||
path for the default location of this MPI package. After the
|
||||
installation of the MPICH2 software, it needs to be integrated into
|
||||
the system. For this you need to start a Command Prompt in
|
||||
*Administrator Mode* (right click on the icon and select it). Change
|
||||
into the MPICH2 installation directory, then into the subdirectory
|
||||
**bin** and execute **smpd.exe -install**\ . Exit the command window.
|
||||
|
||||
* Get a new, regular command prompt by going to Start->Run... ,
|
||||
then typing "cmd".
|
||||
* Move to the directory where you have your input file
|
||||
(e.g. by typing: cd "Documents").
|
||||
Download and install the MS-MPI runtime package ``msmpisetup.exe`` from
|
||||
https://www.microsoft.com/en-us/download/details.aspx?id=105289 (Note
|
||||
that the ``msmpisdk.msi`` is **only** required for **compilation** of
|
||||
LAMMPS from source on Windows using Microsoft Visual Studio). After
|
||||
installation of MS-MPI perform a reboot.
|
||||
|
||||
Then you can run the executable in serial like in the example above
|
||||
or in parallel using MPI with one of the following commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mpiexec -localonly 4 lmp -in in.file
|
||||
mpiexec -np 4 lmp -in in.file
|
||||
mpiexec -localonly 4 lmp -in in.file.lmp
|
||||
mpiexec -np 4 lmp -in in.file.lmp
|
||||
|
||||
where in.file is the name of your LAMMPS input script. For the latter
|
||||
case, you may be prompted to enter the password that you set during
|
||||
installation of the MPI library software.
|
||||
where ``in.file.lmp`` is the name of your LAMMPS input script. For the
|
||||
latter case, you may be prompted to enter the password that you set
|
||||
during installation of the MPI library software.
|
||||
|
||||
In this mode, output may not immediately show up on the screen, so if
|
||||
your input script takes a long time to execute, you may need to be
|
||||
patient before the output shows up.
|
||||
|
||||
The parallel executable can also run on a single processor by typing
|
||||
something like this:
|
||||
Note that the parallel executable also includes OpenMP multi-threading
|
||||
through both the OPENMP and the KOKKOS package, which can be combined
|
||||
with MPI using something like:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
lmp -in in.lj
|
||||
mpiexec -localonly 2 lmp -in in.lj.lmp -pk omp 2 -sf omp
|
||||
mpiexec -localonly 2 lmp -in in.lj.lmp -kokkos on t 2 -sf kk
|
||||
|
||||
Note that the parallel executable also includes OpenMP
|
||||
multi-threading, which can be combined with MPI using something like:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mpiexec -localonly 2 lmp -in in.lj -pk omp 2 -sf omp
|
||||
-------------
|
||||
|
||||
MPI parallelization will work for *all* functionality in LAMMPS and in
|
||||
many cases the MPI parallelization is more efficient than
|
||||
multi-threading since LAMMPS was designed from ground up for MPI
|
||||
parallelization using domain decomposition. Multi-threading is only
|
||||
available for selected styles and implemented on top of the MPI
|
||||
parallelization. Multi-threading is most useful for systems with large
|
||||
load imbalances when using domain decomposition and a smaller number
|
||||
of threads (<= 8).
|
||||
|
||||
@ -322,29 +322,31 @@ all types from 1 to :math:`N`. A leading asterisk means all types from
|
||||
If :doc:`bond_style hybrid <bond_hybrid>` is used, *bstyle* should be a
|
||||
sub-style name. The bond styles that currently work with fix adapt are:
|
||||
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`class2 <bond_class2>` | r0 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`fene <bond_fene>` | k,r0 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`fene/expand <bond_fene_expand>` | k,r0,epsilon,sigma,shift | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`fene/nm <bond_fene>` | k,r0 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`gromos <bond_gromos>` | k,r0 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`harmonic <bond_harmonic>` | k,r0 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`harmonic/shift <bond_harmonic_shift>` | k,r0,r1 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`harmonic/restrain <bond_harmonic_restrain>` | k | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`mm3 <bond_mm3>` | k,r0 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`morse <bond_morse>` | r0 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`nonlinear <bond_nonlinear>` | epsilon,r0 | type bonds |
|
||||
+---------------------------------------------------+---------------------------+------------+
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`class2 <bond_class2>` | r0 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`fene <bond_fene>` | k,r0 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`fene/expand <bond_fene_expand>` | k,r0,epsilon,sigma,shift | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`fene/nm <bond_fene>` | k,r0 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`gromos <bond_gromos>` | k,r0 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`harmonic <bond_harmonic>` | k,r0 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`harmonic/restrain <bond_harmonic_restrain>` | k | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`harmonic/shift <bond_harmonic_shift>` | k,r0,r1 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`harmonic/shift/cut <bond_harmonic_shift_cut>` | k,r0,r1 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`mm3 <bond_mm3>` | k,r0 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`morse <bond_morse>` | r0 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
| :doc:`nonlinear <bond_nonlinear>` | epsilon,r0 | type bonds |
|
||||
+-----------------------------------------------------+---------------------------+------------+
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -50,8 +50,8 @@ Syntax
|
||||
*intra_energy* value = intramolecular energy (energy units)
|
||||
*tfac_insert* value = scale up/down temperature of inserted atoms (unitless)
|
||||
*overlap_cutoff* value = maximum pair distance for overlap rejection (distance units)
|
||||
*max* value = Maximum number of molecules allowed in the system
|
||||
*min* value = Minimum number of molecules allowed in the system
|
||||
*max* value = Maximum number of atoms allowed in the fix group (and region)
|
||||
*min* value = Minimum number of atoms allowed in the fix group (and region)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -380,10 +380,11 @@ an infinite positive energy to all new configurations that place any
|
||||
pair of atoms closer than the specified overlap cutoff distance.
|
||||
|
||||
The *max* and *min* keywords allow for the restriction of the number of
|
||||
atoms in the simulation. They automatically reject all insertion or
|
||||
deletion moves that would take the system beyond the set boundaries.
|
||||
Should the system already be beyond the boundary, only moves that bring
|
||||
the system closer to the bounds may be accepted.
|
||||
atoms in the fix group (and region in case the *region* keyword is
|
||||
used). They automatically reject all insertion or deletion moves that
|
||||
would take the system beyond the set boundaries. Should the system
|
||||
already be beyond the boundary, only moves that bring the system closer
|
||||
to the bounds may be accepted.
|
||||
|
||||
The *group* keyword adds all inserted atoms to the :doc:`group <group>`
|
||||
of the group-ID value. The *grouptype* keyword adds all inserted atoms
|
||||
|
||||
@ -115,10 +115,11 @@ to tell LAMMPS how many parallel files exist, via its specified
|
||||
|
||||
The format of the dump file is selected through the *format* keyword.
|
||||
If specified, it must be the last keyword used, since all remaining
|
||||
arguments are passed on to the dump reader. The *native* format is
|
||||
for native LAMMPS dump files, written with a :doc:`dump atom <dump>`
|
||||
or :doc:`dump custom <dump>` command. The *xyz* format is for generic XYZ
|
||||
formatted dump files. These formats take no additional values.
|
||||
arguments are passed on to the dump reader. The *native* format is for
|
||||
native LAMMPS dump files, written with a :doc:`dump atom <dump>` or
|
||||
:doc:`dump custom <dump>` command. The *xyz* format is for generic XYZ
|
||||
formatted dump files (see details below). These formats take no
|
||||
additional values.
|
||||
|
||||
The *molfile* format supports reading data through using the `VMD <vmd_>`_
|
||||
molfile plugin interface. This dump reader format is only available,
|
||||
@ -230,23 +231,39 @@ will then have a label corresponding to the fix-ID rather than "x" or
|
||||
"xs". The *label* keyword can also be used to specify new column
|
||||
labels for fields *id* and *type*\ .
|
||||
|
||||
For dump files in *xyz* format, only the *x*, *y*, and *z* fields are
|
||||
supported. The dump file does not store atom IDs, so these are
|
||||
assigned consecutively to the atoms as they appear in the dump file,
|
||||
starting from 1. Thus you should ensure that order of atoms is
|
||||
consistent from snapshot to snapshot in the XYZ dump file. See
|
||||
the :doc:`dump_modify sort <dump_modify>` command if the XYZ dump file
|
||||
was written by LAMMPS.
|
||||
For dump files in *xyz* format, only the *type*, *x*, *y*, and *z*
|
||||
fields are supported. There are many variants of the XYZ file format.
|
||||
LAMMPS will read the number of atoms from the first line of each frame,
|
||||
ignore the second (title) line, and then read one line for each atom in the format:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
<label> <x coordinate> <y coordinate> <z coordinate>
|
||||
|
||||
|
||||
If the atom label is a numeric integer (like with XYZ files created by
|
||||
created with default settings by :doc:`dump style <dump>` *xyz*), that
|
||||
number will be used as the atom type. If the atom label is a string,
|
||||
then a type map must be created using the :doc:`labelmap command
|
||||
<labelmap>`. This map needs to associate each (numeric) atom type with
|
||||
a string label. The numeric atom type is stored internally.
|
||||
|
||||
The xyz format dump file does not store atom IDs, so these are assigned
|
||||
consecutively to the atoms as they appear in the dump file, starting
|
||||
from 1. Thus you should ensure that the order of atoms is consistent
|
||||
from snapshot to snapshot in the XYZ dump file. See the
|
||||
:doc:`dump_modify sort <dump_modify>` command if the XYZ dump file was
|
||||
written by LAMMPS.
|
||||
|
||||
For dump files in *molfile* format, the *x*, *y*, *z*, *vx*, *vy*, and
|
||||
*vz* fields can be specified. However, not all molfile formats store
|
||||
velocities, or their respective plugins may not support reading of
|
||||
velocities. The molfile dump files do not store atom IDs, so these
|
||||
are assigned consecutively to the atoms as they appear in the dump
|
||||
file, starting from 1. Thus you should ensure that order of atoms are
|
||||
consistent from snapshot to snapshot in the molfile dump file.
|
||||
See the :doc:`dump_modify sort <dump_modify>` command if the dump file
|
||||
was written by LAMMPS.
|
||||
velocities. The molfile dump files do not store atom IDs, so these are
|
||||
assigned consecutively to the atoms as they appear in the dump file,
|
||||
starting from 1. Thus you should ensure that the order of atoms are
|
||||
consistent from snapshot to snapshot in the molfile dump file. See the
|
||||
:doc:`dump_modify sort <dump_modify>` command if the dump file was
|
||||
written by LAMMPS.
|
||||
|
||||
The *adios* format supports all fields that the *native* format supports
|
||||
except for the *q* charge field.
|
||||
|
||||
@ -13,11 +13,11 @@ neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra all
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff * * 1.0 1.0 1.0 0.25 2.5
|
||||
pair_coeff * * 0.25 0.25 1.0 0.25 2.5
|
||||
|
||||
fix 2 all rigid molecule langevin 2.0 2.0 1.0 492983
|
||||
|
||||
fix 3 all deform 1 x scale 0.3 y scale 0.3
|
||||
fix 3 all deform 5 x scale 0.8 y scale 0.8
|
||||
fix 4 all enforce2d
|
||||
|
||||
compute 10 all property/atom end1x end1y end2x end2y
|
||||
@ -26,7 +26,7 @@ compute 10 all property/atom end1x end1y end2x end2y
|
||||
#dump 2 all custom 500 dump1.line id type &
|
||||
# c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
timestep 0.004
|
||||
timestep 0.001
|
||||
|
||||
compute 1 all erotate/asphere
|
||||
compute 2 all ke
|
||||
|
||||
@ -21,10 +21,10 @@ set group small mass 0.01
|
||||
# delete overlaps
|
||||
# must set 1-2 cutoff to non-zero value
|
||||
|
||||
pair_style lj/cut 1.5
|
||||
pair_style lj/cut 1.5
|
||||
pair_coeff 1 1 1.0 1.0
|
||||
pair_coeff 2 2 0.0 1.0 0.0
|
||||
pair_coeff 1 2 0.0 1.0
|
||||
pair_coeff 1 2 1.0 1.0
|
||||
|
||||
delete_atoms overlap 1.5 small big
|
||||
|
||||
@ -34,7 +34,7 @@ reset_timestep 0
|
||||
|
||||
velocity small create 1.44 87287 loop geom
|
||||
|
||||
neighbor 0.3 multi
|
||||
neighbor 0.8 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra big include big
|
||||
|
||||
@ -44,21 +44,21 @@ neigh_modify include big
|
||||
# no pairwise interactions with small particles
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
|
||||
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
|
||||
pair_coeff 1 2 1.0 0.0 0.0 1.0 0.0
|
||||
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
|
||||
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
|
||||
pair_coeff 1 2 1.0 0.2 1.0 0.2 2.5
|
||||
|
||||
# use fix SRD to push small particles out from inside big ones
|
||||
# if comment out, big particles won't see SRD particles
|
||||
|
||||
timestep 0.001
|
||||
timestep 0.0001
|
||||
|
||||
fix 1 big rigid molecule
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 &
|
||||
search 0.2 cubic warn 0.0001 shift yes 49829 &
|
||||
overlap yes collision noslip
|
||||
|
||||
fix 3 all deform 1 x scale 0.35 y scale 0.35
|
||||
fix 3 all deform 1 x scale 1.25 y scale 1.25
|
||||
fix 4 all enforce2d
|
||||
|
||||
# diagnostics
|
||||
@ -96,12 +96,12 @@ change_box all triclinic
|
||||
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 &
|
||||
search 0.2 cubic warn 0.0001 shift yes 49829 &
|
||||
overlap yes collision noslip tstat yes
|
||||
overlap yes collision noslip #tstat yes
|
||||
|
||||
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump2.line.srd id type &
|
||||
# c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
fix 3 all deform 1 xy erate 0.05 units box remap v
|
||||
fix 3 all deform 1 xy erate 0.0002 units box remap v
|
||||
|
||||
run 40000
|
||||
run 30000
|
||||
|
||||
@ -1,213 +0,0 @@
|
||||
LAMMPS (1 Feb 2014)
|
||||
# Aspherical shear demo - 2d line box and triangle mixture, implicit solvent
|
||||
|
||||
units lj
|
||||
atom_style line
|
||||
dimension 2
|
||||
|
||||
read_data data.line
|
||||
orthogonal box = (-22.5539 -22.5539 -0.5) to (22.5539 22.5539 0.5)
|
||||
4 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
350 atoms
|
||||
350 lines
|
||||
|
||||
velocity all create 1.44 320984 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule all
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff * * 1.0 0.25
|
||||
|
||||
fix 2 all rigid molecule langevin 2.0 2.0 1.0 492983
|
||||
100 rigid bodies with 350 atoms
|
||||
|
||||
fix 3 all deform 1 x scale 0.3 y scale 0.3
|
||||
fix 4 all enforce2d
|
||||
|
||||
compute 10 all property/atom end1x end1y end2x end2y
|
||||
|
||||
#dump 1 all custom 500 dump1.atom id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump1.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
timestep 0.004
|
||||
|
||||
compute 1 all erotate/asphere
|
||||
compute 2 all ke
|
||||
compute 3 all pe
|
||||
variable toteng equal (c_1+c_2+c_3)/atoms
|
||||
|
||||
thermo 1000
|
||||
thermo_style custom step temp f_2 pe ke c_1 c_2 c_3 v_toteng
|
||||
|
||||
run 10000
|
||||
Memory usage per processor = 2.6072 Mbytes
|
||||
Step Temp 2 PotEng KinEng 1 2 3 toteng
|
||||
0 0 1.2780105 0 -0 0.037823677 0.50989511 0 0.54771879
|
||||
1000 0 1.9896906 -0.13333756 -0 0.12630626 0.72641827 -0.13333756 0.71938697
|
||||
2000 0 2.0408541 -0.24906647 -0 0.13199238 0.74265938 -0.24906647 0.62558529
|
||||
3000 0 1.9921323 -0.39759798 -0 0.11671173 0.73705927 -0.39759798 0.45617302
|
||||
4000 0 2.1392159 -0.36475197 -0 0.11923802 0.7975688 -0.36475197 0.55205485
|
||||
5000 0 2.139715 -0.52582091 -0 0.15846417 0.75855653 -0.52582091 0.39119979
|
||||
6000 0 2.1313904 -0.65532027 -0 0.11090422 0.80254883 -0.65532027 0.25813278
|
||||
7000 0 1.9416614 -0.81322598 -0 0.11722471 0.71491587 -0.81322598 0.018914608
|
||||
8000 0 1.9388183 -1.0581149 -0 0.10142762 0.72949452 -1.0581149 -0.22719275
|
||||
9000 0 2.2830265 -1.583347 -0 0.14583927 0.83260066 -1.583347 -0.60490709
|
||||
10000 0 4.1416666 -2.6034045 -0 0.18839177 1.5866082 -2.6034045 -0.82840455
|
||||
Loop time of 2.84713 on 8 procs for 10000 steps with 350 atoms
|
||||
|
||||
Pair time (%) = 1.26607 (44.4682)
|
||||
Neigh time (%) = 0.0163046 (0.572669)
|
||||
Comm time (%) = 0.786148 (27.612)
|
||||
Outpt time (%) = 0.000368953 (0.0129588)
|
||||
Other time (%) = 0.778241 (27.3342)
|
||||
|
||||
Nlocal: 43.75 ave 51 max 39 min
|
||||
Histogram: 1 2 0 2 0 1 1 0 0 1
|
||||
Nghost: 170.25 ave 180 max 160 min
|
||||
Histogram: 2 1 0 0 0 0 2 0 1 2
|
||||
Neighs: 963.125 ave 1209 max 767 min
|
||||
Histogram: 2 0 2 0 1 0 1 0 1 1
|
||||
|
||||
Total # of neighbors = 7705
|
||||
Ave neighs/atom = 22.0143
|
||||
Neighbor list builds = 987
|
||||
Dangerous builds = 0
|
||||
|
||||
#undump 1
|
||||
#undump 2
|
||||
unfix 3
|
||||
|
||||
change_box all triclinic
|
||||
triclinic box = (-6.76616 -6.76616 -0.5) to (6.76616 6.76616 0.5) with tilt (0 0 0)
|
||||
|
||||
#dump 1 all custom 500 dump2.atom id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump2.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
fix 3 all deform 1 xy erate 0.01 units box
|
||||
|
||||
run 100000
|
||||
Memory usage per processor = 2.75978 Mbytes
|
||||
Step Temp 2 PotEng KinEng 1 2 3 toteng
|
||||
10000 0 4.1416666 -2.6024092 -0 0.18839177 1.5866082 -2.6024092 -0.82740923
|
||||
11000 0 1.8408319 -3.1031477 -0 0.12073234 0.66819561 -3.1031477 -2.3142198
|
||||
12000 0 2.0793172 -3.0329681 -0 0.086927592 0.80420833 -3.0329681 -2.1418322
|
||||
13000 0 2.2022136 -2.99776 -0 0.14309291 0.8007129 -2.99776 -2.0539542
|
||||
14000 0 1.9510757 -3.094649 -0 0.09482969 0.74134559 -3.094649 -2.2584737
|
||||
15000 0 1.9874689 -3.1431753 -0 0.1083061 0.7434663 -3.1431753 -2.2914029
|
||||
16000 0 1.8484778 -2.9491537 -0 0.079102883 0.71310191 -2.9491537 -2.1569489
|
||||
17000 0 2.1978438 -2.9675694 -0 0.11677634 0.82515673 -2.9675694 -2.0256363
|
||||
18000 0 2.0293397 -2.9860257 -0 0.1287845 0.7409325 -2.9860257 -2.1163087
|
||||
19000 0 2.0077219 -3.005622 -0 0.12697603 0.7334762 -3.005622 -2.1451698
|
||||
20000 0 2.1806369 -3.0622132 -0 0.11066657 0.82389212 -3.0622132 -2.1276545
|
||||
21000 0 1.8156509 -3.1031481 -0 0.10227614 0.67585994 -3.1031481 -2.325012
|
||||
22000 0 2.1028516 -3.0861182 -0 0.098877162 0.80234493 -3.0861182 -2.1848961
|
||||
23000 0 1.8994891 -3.0110243 -0 0.10961187 0.70445488 -3.0110243 -2.1969576
|
||||
24000 0 1.9305389 -3.0057136 -0 0.11735151 0.7100223 -3.0057136 -2.1783398
|
||||
25000 0 1.9553918 -3.0848948 -0 0.13217467 0.70585039 -3.0848948 -2.2468697
|
||||
26000 0 1.8903754 -2.9543658 -0 0.099925113 0.71023579 -2.9543658 -2.1442049
|
||||
27000 0 2.2624684 -3.2416154 -0 0.11398815 0.85564117 -3.2416154 -2.2719861
|
||||
28000 0 2.0335234 -3.1795174 -0 0.10291986 0.76859015 -3.1795174 -2.3080074
|
||||
29000 0 1.7056403 -3.1198739 -0 0.076174496 0.65481419 -3.1198739 -2.3888853
|
||||
30000 0 2.1203465 -3.0863113 -0 0.11355683 0.79516311 -3.0863113 -2.1775914
|
||||
31000 0 1.8446708 -3.2764357 -0 0.11006455 0.68050865 -3.2764357 -2.4858625
|
||||
32000 0 1.7947968 -3.081031 -0 0.087540776 0.68165784 -3.081031 -2.3118324
|
||||
33000 0 2.2576228 -3.1042222 -0 0.15666855 0.81088407 -3.1042222 -2.1366696
|
||||
34000 0 1.8522306 -3.0037311 -0 0.08276626 0.71104684 -3.0037311 -2.209918
|
||||
35000 0 2.0611686 -2.9877406 -0 0.10822003 0.77513794 -2.9877406 -2.1043826
|
||||
36000 0 2.0739798 -2.981184 -0 0.11784198 0.77100651 -2.981184 -2.0923355
|
||||
37000 0 2.2120215 -2.8961216 -0 0.13172943 0.8162798 -2.8961216 -1.9481124
|
||||
38000 0 2.1097357 -2.9746777 -0 0.11881736 0.78535507 -2.9746777 -2.0705053
|
||||
39000 0 1.8928127 -2.9482169 -0 0.10915752 0.70204792 -2.9482169 -2.1370115
|
||||
40000 0 1.8515483 -3.003524 -0 0.096981256 0.69653943 -3.003524 -2.2100033
|
||||
41000 0 1.8569065 -3.0834675 -0 0.10562739 0.6901897 -3.0834675 -2.2876504
|
||||
42000 0 2.2638459 -3.0577224 -0 0.10896442 0.86125524 -3.0577224 -2.0875027
|
||||
43000 0 2.0992151 -3.1219185 -0 0.13280434 0.76685929 -3.1219185 -2.2222548
|
||||
44000 0 2.3479986 -3.0702445 -0 0.14438131 0.86190379 -3.0702445 -2.0639594
|
||||
45000 0 2.0295235 -2.9619688 -0 0.13726365 0.73253213 -2.9619688 -2.092173
|
||||
46000 0 2.0597998 -3.1282569 -0 0.10139093 0.7813804 -3.1282569 -2.2454856
|
||||
47000 0 1.8173541 -3.1122647 -0 0.10380346 0.67506259 -3.1122647 -2.3333986
|
||||
48000 0 1.9650208 -3.22153 -0 0.10115952 0.74099226 -3.22153 -2.3793782
|
||||
49000 0 1.8836303 -3.0781944 -0 0.10561306 0.70165705 -3.0781944 -2.2709243
|
||||
50000 0 1.7799289 -3.1090208 -0 0.10522105 0.65760561 -3.1090208 -2.3461941
|
||||
51000 0 1.7270244 -2.894789 -0 0.079316066 0.66083727 -2.894789 -2.1546357
|
||||
52000 0 2.1036512 -3.0708266 -0 0.11762021 0.7839446 -3.0708266 -2.1692618
|
||||
53000 0 2.1749106 -3.043193 -0 0.11908953 0.81301499 -3.043193 -2.1110885
|
||||
54000 0 1.7245018 -3.1528646 -0 0.11118993 0.62788226 -3.1528646 -2.4137924
|
||||
55000 0 1.7599209 -3.0543405 -0 0.098996756 0.65525507 -3.0543405 -2.3000886
|
||||
56000 0 1.9085953 -3.1072383 -0 0.10931083 0.70865859 -3.1072383 -2.2892689
|
||||
57000 0 1.9682028 -3.131335 -0 0.094973379 0.74854212 -3.131335 -2.2878195
|
||||
58000 0 1.7813545 -3.167275 -0 0.085523136 0.6779145 -3.167275 -2.4038374
|
||||
59000 0 2.0324497 -3.1103534 -0 0.13343285 0.73761703 -3.1103534 -2.2393035
|
||||
60000 0 1.697349 -3.152831 -0 0.086035815 0.64139945 -3.152831 -2.4253957
|
||||
61000 0 2.061537 -3.0730484 -0 0.12753143 0.75598441 -3.0730484 -2.1895325
|
||||
62000 0 1.8186587 -3.1590894 -0 0.096701457 0.68272371 -3.1590894 -2.3796643
|
||||
63000 0 1.9692063 -3.1053354 -0 0.094864849 0.7490807 -3.1053354 -2.2613899
|
||||
64000 0 2.0113722 -3.0898117 -0 0.12640828 0.73560838 -3.0898117 -2.227795
|
||||
65000 0 1.9350085 -3.2290712 -0 0.11850297 0.71078638 -3.2290712 -2.3997819
|
||||
66000 0 2.0569306 -3.0489252 -0 0.12731012 0.75423156 -3.0489252 -2.1673835
|
||||
67000 0 2.0119071 -3.10894 -0 0.099142151 0.76310375 -3.10894 -2.2466941
|
||||
68000 0 2.0615321 -3.167552 -0 0.11066625 0.77284751 -3.167552 -2.2840383
|
||||
69000 0 1.8731077 -3.1864825 -0 0.12982742 0.672933 -3.1864825 -2.3837221
|
||||
70000 0 2.109088 -3.1787326 -0 0.13107619 0.77281866 -3.1787326 -2.2748377
|
||||
71000 0 1.9764202 -3.0731116 -0 0.12035585 0.72668137 -3.0731116 -2.2260744
|
||||
72000 0 1.6460591 -3.0865952 -0 0.09486718 0.61058673 -3.0865952 -2.3811413
|
||||
73000 0 1.9756864 -3.0431747 -0 0.1041775 0.74254526 -3.0431747 -2.196452
|
||||
74000 0 2.0553658 -3.1290715 -0 0.12267262 0.75819842 -3.1290715 -2.2482004
|
||||
75000 0 1.550997 -2.9813403 -0 0.094350599 0.57036238 -2.9813403 -2.3166273
|
||||
76000 0 1.9824851 -3.0057088 -0 0.11621875 0.73341774 -3.0057088 -2.1560723
|
||||
77000 0 1.8451505 -3.0063772 -0 0.12602143 0.66475735 -3.0063772 -2.2155984
|
||||
78000 0 1.934755 -3.0603773 -0 0.11800375 0.71117696 -3.0603773 -2.2311966
|
||||
79000 0 2.1982093 -3.095224 -0 0.12840585 0.81368383 -3.095224 -2.1531343
|
||||
80000 0 1.7547828 -3.0620364 -0 0.092552269 0.65949751 -3.0620364 -2.3099866
|
||||
81000 0 2.1064588 -3.1631358 -0 0.11415036 0.78861768 -3.1631358 -2.2603677
|
||||
82000 0 2.0039288 -3.1190532 -0 0.13374009 0.72508654 -3.1190532 -2.2602266
|
||||
83000 0 1.7749465 -3.2172309 -0 0.11017601 0.65051537 -3.2172309 -2.4565396
|
||||
84000 0 1.7865147 -3.1433093 -0 0.086859958 0.67878922 -3.1433093 -2.3776602
|
||||
85000 0 1.4541199 -3.0123872 -0 0.096301993 0.52689225 -3.0123872 -2.3891929
|
||||
86000 0 2.0345567 -2.9577061 -0 0.11756878 0.7543841 -2.9577061 -2.0857532
|
||||
87000 0 1.9655671 -3.0235755 -0 0.13068174 0.71170417 -3.0235755 -2.1811896
|
||||
88000 0 2.1238733 -3.0972095 -0 0.15660293 0.75362848 -3.0972095 -2.1869781
|
||||
89000 0 1.93413 -3.0018414 -0 0.11736651 0.71154634 -3.0018414 -2.1729285
|
||||
90000 0 2.0106701 -3.0778989 -0 0.1150105 0.74670527 -3.0778989 -2.2161831
|
||||
91000 0 1.9700224 -3.0072749 -0 0.1200151 0.72428023 -3.0072749 -2.1629796
|
||||
92000 0 2.3062898 -3.1245149 -0 0.16045862 0.82795128 -3.1245149 -2.136105
|
||||
93000 0 1.9977984 -3.1072212 -0 0.098381856 0.75781746 -3.1072212 -2.2510219
|
||||
94000 0 1.9684844 -3.0923519 -0 0.11228362 0.73135255 -3.0923519 -2.2487157
|
||||
95000 0 1.8913269 -3.1044766 -0 0.088944817 0.72162386 -3.1044766 -2.293908
|
||||
96000 0 2.139258 -2.9032081 -0 0.12122357 0.7956013 -2.9032081 -1.9863833
|
||||
97000 0 2.1549839 -3.0073823 -0 0.14177897 0.78178555 -3.0073823 -2.0838178
|
||||
98000 0 2.001084 -3.0411655 -0 0.16549603 0.69211139 -3.0411655 -2.1835581
|
||||
99000 0 2.269108 -3.0749812 -0 0.11370514 0.85876972 -3.0749812 -2.1025064
|
||||
100000 0 2.0270482 -3.0802101 -0 0.098599302 0.77013563 -3.0802101 -2.2114752
|
||||
101000 0 1.9412796 -3.1543623 -0 0.11953004 0.71244692 -3.1543623 -2.3223853
|
||||
102000 0 2.0146461 -3.0140006 -0 0.10152606 0.7618937 -3.0140006 -2.1505808
|
||||
103000 0 1.7377282 -3.1862597 -0 0.082111131 0.66262952 -3.1862597 -2.441519
|
||||
104000 0 1.7973897 -3.1055088 -0 0.093370304 0.67693958 -3.1055088 -2.3351989
|
||||
105000 0 2.2615194 -2.9636424 -0 0.12584102 0.84338157 -2.9636424 -1.9944198
|
||||
106000 0 1.8974182 -2.9505576 -0 0.085928679 0.72725057 -2.9505576 -2.1373783
|
||||
107000 0 2.0691161 -3.0804349 -0 0.12411017 0.76265389 -3.0804349 -2.1936708
|
||||
108000 0 2.0457472 -2.981702 -0 0.09308074 0.78366806 -2.981702 -2.1049532
|
||||
109000 0 1.6610604 -3.1463569 -0 0.066318676 0.64556436 -3.1463569 -2.4344738
|
||||
110000 0 1.9606721 -3.080013 -0 0.13164067 0.70864736 -3.080013 -2.2397249
|
||||
Loop time of 62.2251 on 8 procs for 100000 steps with 350 atoms
|
||||
|
||||
Pair time (%) = 43.4946 (69.8987)
|
||||
Neigh time (%) = 0.395421 (0.635469)
|
||||
Comm time (%) = 10.3551 (16.6414)
|
||||
Outpt time (%) = 0.00358662 (0.00576394)
|
||||
Other time (%) = 7.97644 (12.8187)
|
||||
|
||||
Nlocal: 43.75 ave 51 max 33 min
|
||||
Histogram: 1 0 1 0 0 2 0 1 2 1
|
||||
Nghost: 168.375 ave 180 max 155 min
|
||||
Histogram: 1 1 0 0 1 0 2 2 0 1
|
||||
Neighs: 971 ave 1278 max 631 min
|
||||
Histogram: 1 1 0 1 0 1 2 1 0 1
|
||||
|
||||
Total # of neighbors = 7768
|
||||
Ave neighs/atom = 22.1943
|
||||
Neighbor list builds = 7621
|
||||
Dangerous builds = 0
|
||||
@ -1,244 +0,0 @@
|
||||
LAMMPS (1 Feb 2014)
|
||||
# Aspherical shear demo - 2d line boxes, solvated by SRD particles
|
||||
|
||||
units lj
|
||||
atom_style line
|
||||
atom_modify first big
|
||||
dimension 2
|
||||
|
||||
read_data data.line.srd
|
||||
orthogonal box = (-28.7968 -28.7968 -0.5) to (28.7968 28.7968 0.5)
|
||||
4 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
400 atoms
|
||||
400 lines
|
||||
|
||||
# add small particles as hi density lattice
|
||||
|
||||
lattice sq 0.4
|
||||
Lattice spacing in x,y,z = 1.58114 1.58114 1.58114
|
||||
region plane block INF INF INF INF -0.001 0.001
|
||||
lattice sq 10.0
|
||||
Lattice spacing in x,y,z = 0.316228 0.316228 0.316228
|
||||
create_atoms 2 region plane
|
||||
Created 33489 atoms
|
||||
|
||||
group big type 1
|
||||
400 atoms in group big
|
||||
group small type 2
|
||||
33489 atoms in group small
|
||||
set group small mass 0.01
|
||||
33489 settings made for mass
|
||||
|
||||
# delete overlaps
|
||||
# must set 1-2 cutoff to non-zero value
|
||||
|
||||
pair_style lj/cut 1.5
|
||||
pair_coeff 1 1 1.0 1.0
|
||||
pair_coeff 2 2 0.0 1.0 0.0
|
||||
pair_coeff 1 2 0.0 1.0
|
||||
|
||||
delete_atoms overlap 1.5 small big
|
||||
Deleted 13605 atoms, new total = 20284
|
||||
|
||||
# SRD run
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
velocity small create 1.44 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule big include big
|
||||
|
||||
communicate multi group big vel yes
|
||||
neigh_modify include big
|
||||
|
||||
# no pairwise interactions with small particles
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff 1 1 1.0 1.0
|
||||
pair_coeff 2 2 0.0 1.0 0.0
|
||||
pair_coeff 1 2 0.0 1.0 0.0
|
||||
|
||||
# use fix SRD to push small particles out from inside big ones
|
||||
# if comment out, big particles won't see SRD particles
|
||||
|
||||
timestep 0.001
|
||||
|
||||
fix 1 big rigid molecule
|
||||
100 rigid bodies with 400 atoms
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
|
||||
|
||||
fix 3 all deform 1 x scale 0.35 y scale 0.35
|
||||
fix 4 all enforce2d
|
||||
|
||||
# diagnostics
|
||||
|
||||
compute tsmall small temp/deform
|
||||
compute tbig big temp
|
||||
variable pebig equal pe*atoms/count(big)
|
||||
variable ebig equal etotal*atoms/count(big)
|
||||
|
||||
compute 1 big erotate/asphere
|
||||
compute 2 all ke
|
||||
compute 3 all pe
|
||||
variable toteng equal (c_1+c_2+c_3)/atoms
|
||||
|
||||
thermo 1000
|
||||
thermo_style custom step temp c_tsmall f_2[9] c_1 etotal v_pebig v_ebig press
|
||||
thermo_modify temp tbig
|
||||
WARNING: Temperature for thermo pressure is not for group all (../thermo.cpp:439)
|
||||
|
||||
compute 10 big property/atom end1x end1y end2x end2y
|
||||
|
||||
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump1.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
run 10000
|
||||
WARNING: Using fix srd with box deformation but no SRD thermostat (../fix_srd.cpp:385)
|
||||
SRD info:
|
||||
SRD/big particles = 19884 400
|
||||
big particle diameter max/min = 1.99882 0.503306
|
||||
SRD temperature & lamda = 1 0.2
|
||||
SRD max distance & max velocity = 0.8 40
|
||||
SRD grid counts: 230 230 1
|
||||
SRD grid size: request, actual (xyz) = 0.25, 0.250407 0.250407 1
|
||||
SRD per actual grid cell = 0.444963
|
||||
SRD viscosity = 4.2356
|
||||
big/SRD mass density ratio = 14.0918
|
||||
WARNING: SRD bin size for fix srd differs from user request (../fix_srd.cpp:2853)
|
||||
WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2875)
|
||||
# of rescaled SRD velocities = 0
|
||||
ave/max small velocity = 15.906 29.1054
|
||||
ave/max big velocity = 0 0
|
||||
WARNING: Using compute temp/deform with inconsistent fix deform remap option (../compute_temp_deform.cpp:76)
|
||||
Memory usage per processor = 7.79007 Mbytes
|
||||
Step Temp tsmall 2[9] 1 TotEng pebig ebig Press
|
||||
0 0 1.4528554 0 0 0 0 0 0
|
||||
1000 0 1.1122612 1.1071958 0.00058011072 0 0 0 0.32625408
|
||||
2000 0 1.0254475 1.0231236 0.00072347646 -2.3144253e-06 -0.00011736451 -0.00011736451 0.44526308
|
||||
3000 0 1.0089214 0.99966408 0.00061511441 -0.00023298189 -0.011814512 -0.011814512 0.87208025
|
||||
4000 0 1.0066185 0.99391102 0.00079065587 -0.0021630644 -0.10968899 -0.10968899 1.3901494
|
||||
5000 0 1.0109003 1.0009124 0.00071588733 -0.0040023493 -0.20295913 -0.20295913 1.2736445
|
||||
6000 0 1.0119642 1.0105049 0.00080741361 -0.0067908165 -0.34436231 -0.34436231 2.5492857
|
||||
7000 0 1.0048989 0.98912274 0.00098851463 -0.010933999 -0.55446309 -0.55446309 3.5707613
|
||||
8000 0 1.0021597 0.99377939 0.0008405671 -0.015690841 -0.79568252 -0.79568252 6.685381
|
||||
9000 0 1.0197546 1.00114 0.0012645557 -0.021124602 -1.0712286 -1.0712286 18.907993
|
||||
10000 0 1.0401079 1.0184189 0.0036111452 0.0099395852 0.50403637 0.50403637 96.909257
|
||||
Loop time of 3.93391 on 8 procs for 10000 steps with 20284 atoms
|
||||
|
||||
Pair time (%) = 0.110261 (2.80284)
|
||||
Neigh time (%) = 0.32853 (8.35124)
|
||||
Comm time (%) = 0.199613 (5.07416)
|
||||
Outpt time (%) = 0.00108692 (0.0276295)
|
||||
Other time (%) = 3.29442 (83.7441)
|
||||
|
||||
Nlocal: 2535.5 ave 2850 max 2226 min
|
||||
Histogram: 1 0 1 1 1 1 1 0 1 1
|
||||
Nghost: 109.25 ave 117 max 102 min
|
||||
Histogram: 1 0 2 0 1 1 1 1 0 1
|
||||
Neighs: 526 ave 665 max 407 min
|
||||
Histogram: 1 2 0 1 0 1 1 1 0 1
|
||||
|
||||
Total # of neighbors = 4208
|
||||
Ave neighs/atom = 0.207454
|
||||
Neighbor list builds = 522
|
||||
Dangerous builds = 0
|
||||
|
||||
#undump 1
|
||||
#undump 2
|
||||
unfix 3
|
||||
|
||||
change_box all triclinic
|
||||
triclinic box = (-10.0789 -10.0789 -0.5) to (10.0789 10.0789 0.5) with tilt (0 0 0)
|
||||
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip tstat yes
|
||||
|
||||
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump2.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
fix 3 all deform 1 xy erate 0.05 units box remap v
|
||||
|
||||
run 40000
|
||||
SRD info:
|
||||
SRD/big particles = 19884 400
|
||||
big particle diameter max/min = 1.99882 0.503306
|
||||
SRD temperature & lamda = 1 0.2
|
||||
SRD max distance & max velocity = 0.8 40
|
||||
SRD grid counts: 81 81 1
|
||||
SRD grid size: request, actual (xyz) = 0.25, 0.248861 0.248861 1
|
||||
SRD per actual grid cell = -11.3331
|
||||
SRD viscosity = -1920.36
|
||||
big/SRD mass density ratio = -0.546468
|
||||
WARNING: SRD bin size for fix srd differs from user request (../fix_srd.cpp:2853)
|
||||
WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2875)
|
||||
WARNING: Fix srd viscosity < 0.0 due to low SRD density (../fix_srd.cpp:2877)
|
||||
# of rescaled SRD velocities = 1
|
||||
ave/max small velocity = 12.724 40
|
||||
ave/max big velocity = 1.54523 5.36901
|
||||
Memory usage per processor = 4.23847 Mbytes
|
||||
Step Temp tsmall 2[9] 1 TotEng pebig ebig Press
|
||||
10000 0 1.0277413 0 0.0036111452 0.010135973 0.51399517 0.51399517 60.794865
|
||||
11000 0 1.0024742 1 0.00040482851 -0.031643325 -1.604633 -1.604633 55.531632
|
||||
12000 0 1.0036177 1 0.00036416993 -0.030844063 -1.5641024 -1.5641024 56.694788
|
||||
13000 0 1.0043067 1 0.00068862721 -0.030673787 -1.5554677 -1.5554677 56.852537
|
||||
14000 0 1.0042533 1 0.00050997053 -0.035967153 -1.8238943 -1.8238943 51.254109
|
||||
15000 0 1.003956 1 0.00048458218 -0.038060147 -1.9300301 -1.9300301 50.346943
|
||||
16000 0 1.0059929 1 0.0004740426 -0.037433402 -1.8982478 -1.8982478 49.82532
|
||||
17000 0 1.0042401 1 0.00039855238 -0.034314446 -1.7400855 -1.7400855 48.430648
|
||||
18000 0 1.0025952 1 0.00046207703 -0.034166102 -1.732563 -1.732563 53.883613
|
||||
19000 0 1.0025881 1 0.00034818943 -0.037341367 -1.8935807 -1.8935807 48.90662
|
||||
20000 0 1.0009932 1 0.00031244041 -0.035274728 -1.7887814 -1.7887814 47.665935
|
||||
21000 0 1.0025603 1 0.0005514826 -0.034350221 -1.7418997 -1.7418997 63.290704
|
||||
22000 0 1.0038575 1 0.00034453716 -0.03576596 -1.8136918 -1.8136918 49.805726
|
||||
23000 0 1.0030321 1 0.00049535709 -0.035873083 -1.819124 -1.819124 48.973244
|
||||
24000 0 1.0048593 1 0.00034225992 -0.03322158 -1.6846663 -1.6846663 52.557383
|
||||
25000 0 1.0024423 1 0.00059157362 -0.030152319 -1.5290241 -1.5290241 56.733821
|
||||
26000 0 1.0022703 1 0.00047512976 -0.029563064 -1.499143 -1.499143 56.271943
|
||||
27000 0 1.0024537 1 0.00054158319 -0.02957039 -1.4995145 -1.4995145 55.246787
|
||||
28000 0 1.0023325 1 0.00051129428 -0.035115211 -1.7806924 -1.7806924 49.718172
|
||||
29000 0 1.002865 1 0.00056728135 -0.035484703 -1.7994293 -1.7994293 48.387401
|
||||
30000 0 1.0022693 1 0.00040284402 -0.033844303 -1.7162446 -1.7162446 50.486676
|
||||
31000 0 1.0037106 1 0.00056291948 -0.036529699 -1.852421 -1.852421 52.011803
|
||||
32000 0 1.0022542 1 0.00041877447 -0.036903458 -1.8713743 -1.8713743 52.712289
|
||||
33000 0 1.0021364 1 0.00040871451 -0.033616728 -1.7047043 -1.7047043 55.199593
|
||||
34000 0 1.003779 1 0.00040667148 -0.031745412 -1.6098098 -1.6098098 51.055261
|
||||
35000 0 1.0015547 1 0.00042509365 -0.033603064 -1.7040114 -1.7040114 53.887389
|
||||
36000 0 1.0024849 1 0.00040589851 -0.032151258 -1.6303903 -1.6303903 55.673615
|
||||
37000 0 1.0038204 1 0.00040542177 -0.033643242 -1.7060488 -1.7060488 51.834694
|
||||
38000 0 1.0031777 1 0.00040237126 -0.034711811 -1.7602359 -1.7602359 56.275778
|
||||
39000 0 1.002777 1 0.00051021239 -0.034375104 -1.7431615 -1.7431615 48.461145
|
||||
40000 0 1.0053762 1 0.00041566465 -0.036016384 -1.8263908 -1.8263908 48.937456
|
||||
41000 0 1.0039078 1 0.00049726673 -0.036481888 -1.8499966 -1.8499966 49.290465
|
||||
42000 0 1.0033408 1 0.00045236191 -0.034254524 -1.7370469 -1.7370469 52.146603
|
||||
43000 0 1.0039893 1 0.00048362351 -0.032519474 -1.6490625 -1.6490625 53.320599
|
||||
44000 0 1.0036667 1 0.00046834006 -0.031099875 -1.5770747 -1.5770747 55.907531
|
||||
45000 0 1.0035765 1 0.0005195031 -0.029559708 -1.4989728 -1.4989728 56.191165
|
||||
46000 0 1.004514 1 0.00050134348 -0.028852909 -1.463131 -1.463131 57.547696
|
||||
47000 0 1.003864 1 0.00038963389 -0.031339229 -1.5892123 -1.5892123 55.775764
|
||||
48000 0 1.003145 1 0.00035436452 -0.032390682 -1.6425315 -1.6425315 55.233354
|
||||
49000 0 1.0042615 1 0.00053161075 -0.029960468 -1.5192953 -1.5192953 54.611685
|
||||
50000 0 1.0037096 1 0.00031191389 -0.02942011 -1.4918938 -1.4918938 58.653762
|
||||
Loop time of 27.1275 on 8 procs for 40000 steps with 20284 atoms
|
||||
|
||||
Pair time (%) = 1.54277 (5.68709)
|
||||
Neigh time (%) = 1.26864 (4.67658)
|
||||
Comm time (%) = 1.19871 (4.4188)
|
||||
Outpt time (%) = 0.00421953 (0.0155544)
|
||||
Other time (%) = 23.1132 (85.202)
|
||||
|
||||
Nlocal: 2535.5 ave 2670 max 2406 min
|
||||
Histogram: 1 1 1 0 0 2 1 1 0 1
|
||||
Nghost: 114.5 ave 124 max 103 min
|
||||
Histogram: 1 0 1 0 2 1 0 1 0 2
|
||||
Neighs: 521.5 ave 692 max 442 min
|
||||
Histogram: 3 1 1 1 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 4172
|
||||
Ave neighs/atom = 0.205679
|
||||
Neighbor list builds = 2002
|
||||
Dangerous builds = 0
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
189
examples/ASPHERE/line/log.21Sep24.line.g++.1
Normal file
189
examples/ASPHERE/line/log.21Sep24.line.g++.1
Normal file
@ -0,0 +1,189 @@
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Aspherical shear demo - 2d line box and triangle mixture, implicit solvent
|
||||
|
||||
units lj
|
||||
atom_style line
|
||||
dimension 2
|
||||
|
||||
read_data data.line
|
||||
Reading data file ...
|
||||
orthogonal box = (-22.553882 -22.553882 -0.5) to (22.553882 22.553882 0.5)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
350 atoms
|
||||
350 lines
|
||||
read_data CPU = 0.003 seconds
|
||||
|
||||
velocity all create 1.44 320984 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra all
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff * * 0.25 0.25 1.0 0.25 2.5
|
||||
|
||||
fix 2 all rigid molecule langevin 2.0 2.0 1.0 492983
|
||||
100 rigid bodies with 350 atoms
|
||||
|
||||
fix 3 all deform 5 x scale 0.8 y scale 0.8
|
||||
fix 4 all enforce2d
|
||||
|
||||
compute 10 all property/atom end1x end1y end2x end2y
|
||||
|
||||
#dump 1 all custom 500 dump1.atom id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump1.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
timestep 0.001
|
||||
|
||||
compute 1 all erotate/asphere
|
||||
compute 2 all ke
|
||||
compute 3 all pe
|
||||
variable toteng equal (c_1+c_2+c_3)/atoms
|
||||
|
||||
compute_modify thermo_temp extra/dof -350
|
||||
|
||||
thermo 1000
|
||||
thermo_style custom step f_2 pe ke c_1 c_2 c_3 v_toteng
|
||||
|
||||
run 10000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
|
||||
|
||||
@Article{Gissinger24,
|
||||
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
|
||||
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
|
||||
journal = {J. Phys. Chem. B},
|
||||
year = 2024,
|
||||
volume = 128,
|
||||
number = 13,
|
||||
pages = {3282–-3297}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 33 33 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, 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) = 4.742 | 4.742 | 4.742 Mbytes
|
||||
Step f_2 PotEng KinEng c_1 c_2 c_3 v_toteng
|
||||
0 1.1872976 0 0.46543528 0.03617212 0.46543528 0 0.5016074
|
||||
1000 1.9084412 -0.001043719 0.71003395 0.089891202 0.71003395 -0.001043719 0.79888143
|
||||
2000 2.31668 -0.020711665 0.83611544 0.13062287 0.83611544 -0.020711665 0.94602664
|
||||
3000 2.3094506 -0.062018072 0.80584123 0.15326943 0.80584123 -0.062018072 0.8970926
|
||||
4000 2.4383442 -0.053659995 0.86864073 0.14696993 0.86864073 -0.053659995 0.96195067
|
||||
5000 2.5885917 -0.15612821 0.90351683 0.17156633 0.90351683 -0.15612821 0.91895495
|
||||
6000 2.1187379 -0.072041135 0.76933527 0.11557939 0.76933527 -0.072041135 0.81287353
|
||||
7000 2.1407592 -0.057727294 0.75154343 0.13827066 0.75154343 -0.057727294 0.8320868
|
||||
8000 2.0661844 -0.097529608 0.71093839 0.14547433 0.71093839 -0.097529608 0.75888311
|
||||
9000 2.1574445 -0.052890857 0.78826145 0.11363136 0.78826145 -0.052890857 0.84900195
|
||||
10000 2.473097 -0.092376489 0.85756337 0.16861278 0.85756337 -0.092376489 0.93379965
|
||||
Loop time of 1.16704 on 1 procs for 10000 steps with 350 atoms
|
||||
|
||||
Performance: 740334.372 tau/day, 8568.685 timesteps/s, 2.999 Matom-step/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 | 0.80757 | 0.80757 | 0.80757 | 0.0 | 69.20
|
||||
Neigh | 0.0090046 | 0.0090046 | 0.0090046 | 0.0 | 0.77
|
||||
Comm | 0.011808 | 0.011808 | 0.011808 | 0.0 | 1.01
|
||||
Output | 0.000194 | 0.000194 | 0.000194 | 0.0 | 0.02
|
||||
Modify | 0.3317 | 0.3317 | 0.3317 | 0.0 | 28.42
|
||||
Other | | 0.006768 | | | 0.58
|
||||
|
||||
Nlocal: 350 ave 350 max 350 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 101 ave 101 max 101 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 853 ave 853 max 853 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 853
|
||||
Ave neighs/atom = 2.4371429
|
||||
Neighbor list builds = 274
|
||||
Dangerous builds = 0
|
||||
|
||||
#undump 1
|
||||
#undump 2
|
||||
unfix 3
|
||||
|
||||
change_box all triclinic
|
||||
Changing box ...
|
||||
triclinic box = (-18.043106 -18.043106 -0.5) to (18.043106 18.043106 0.5) with tilt (0 0 0)
|
||||
|
||||
#dump 1 all custom 500 dump2.atom id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump2.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
fix 3 all deform 1 xy erate 0.01 units box
|
||||
|
||||
run 10000
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 26 26 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton/tri
|
||||
stencil: half/bin/2d/tri
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.756 | 4.756 | 4.756 Mbytes
|
||||
Step f_2 PotEng KinEng c_1 c_2 c_3 v_toteng
|
||||
10000 2.473097 -0.092380532 0.85753671 0.16863499 0.85753671 -0.092380532 0.93379117
|
||||
11000 2.5185915 -0.1015737 0.84230876 0.197573 0.84230876 -0.1015737 0.93830806
|
||||
12000 2.5971728 -0.13087195 0.90608898 0.17248755 0.90608898 -0.13087195 0.94770458
|
||||
13000 2.5065714 -0.14666584 0.83804307 0.19683483 0.83804307 -0.14666584 0.88821206
|
||||
14000 2.1672357 -0.10720878 0.79713452 0.10973398 0.79713452 -0.10720878 0.79965972
|
||||
15000 2.3444438 -0.14780285 0.81642139 0.15695019 0.81642139 -0.14780285 0.82556873
|
||||
16000 2.2672973 -0.12590007 0.76672668 0.17081014 0.76672668 -0.12590007 0.81163675
|
||||
17000 2.3999651 -0.15464102 0.85708567 0.14289234 0.85708567 -0.15464102 0.84533699
|
||||
18000 2.2024356 -0.14077779 0.76727873 0.14718521 0.76727873 -0.14077779 0.77368615
|
||||
19000 2.5411572 -0.092014576 0.85750101 0.19297197 0.85750101 -0.092014576 0.95845841
|
||||
20000 2.2113691 -0.11944862 0.77295445 0.14564597 0.77295445 -0.11944862 0.79915181
|
||||
Loop time of 1.76388 on 1 procs for 10000 steps with 350 atoms
|
||||
|
||||
Performance: 489827.896 tau/day, 5669.304 timesteps/s, 1.984 Matom-step/s
|
||||
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.3668 | 1.3668 | 1.3668 | 0.0 | 77.49
|
||||
Neigh | 0.018849 | 0.018849 | 0.018849 | 0.0 | 1.07
|
||||
Comm | 0.013338 | 0.013338 | 0.013338 | 0.0 | 0.76
|
||||
Output | 0.00020434 | 0.00020434 | 0.00020434 | 0.0 | 0.01
|
||||
Modify | 0.35698 | 0.35698 | 0.35698 | 0.0 | 20.24
|
||||
Other | | 0.007667 | | | 0.43
|
||||
|
||||
Nlocal: 350 ave 350 max 350 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 119 ave 119 max 119 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 997 ave 997 max 997 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 997
|
||||
Ave neighs/atom = 2.8485714
|
||||
Neighbor list builds = 283
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:02
|
||||
189
examples/ASPHERE/line/log.21Sep24.line.g++.4
Normal file
189
examples/ASPHERE/line/log.21Sep24.line.g++.4
Normal file
@ -0,0 +1,189 @@
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Aspherical shear demo - 2d line box and triangle mixture, implicit solvent
|
||||
|
||||
units lj
|
||||
atom_style line
|
||||
dimension 2
|
||||
|
||||
read_data data.line
|
||||
Reading data file ...
|
||||
orthogonal box = (-22.553882 -22.553882 -0.5) to (22.553882 22.553882 0.5)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
350 atoms
|
||||
350 lines
|
||||
read_data CPU = 0.003 seconds
|
||||
|
||||
velocity all create 1.44 320984 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra all
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff * * 0.25 0.25 1.0 0.25 2.5
|
||||
|
||||
fix 2 all rigid molecule langevin 2.0 2.0 1.0 492983
|
||||
100 rigid bodies with 350 atoms
|
||||
|
||||
fix 3 all deform 5 x scale 0.8 y scale 0.8
|
||||
fix 4 all enforce2d
|
||||
|
||||
compute 10 all property/atom end1x end1y end2x end2y
|
||||
|
||||
#dump 1 all custom 500 dump1.atom id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump1.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
timestep 0.001
|
||||
|
||||
compute 1 all erotate/asphere
|
||||
compute 2 all ke
|
||||
compute 3 all pe
|
||||
variable toteng equal (c_1+c_2+c_3)/atoms
|
||||
|
||||
compute_modify thermo_temp extra/dof -350
|
||||
|
||||
thermo 1000
|
||||
thermo_style custom step f_2 pe ke c_1 c_2 c_3 v_toteng
|
||||
|
||||
run 10000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
|
||||
|
||||
@Article{Gissinger24,
|
||||
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
|
||||
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
|
||||
journal = {J. Phys. Chem. B},
|
||||
year = 2024,
|
||||
volume = 128,
|
||||
number = 13,
|
||||
pages = {3282–-3297}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 33 33 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, 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) = 4.736 | 4.736 | 4.736 Mbytes
|
||||
Step f_2 PotEng KinEng c_1 c_2 c_3 v_toteng
|
||||
0 1.1872976 0 0.46543528 0.03617212 0.46543528 0 0.5016074
|
||||
1000 1.9084412 -0.001043719 0.71003395 0.089891202 0.71003395 -0.001043719 0.79888143
|
||||
2000 2.31668 -0.020711665 0.83611544 0.13062287 0.83611544 -0.020711665 0.94602664
|
||||
3000 2.3094506 -0.062018072 0.80584123 0.15326943 0.80584123 -0.062018072 0.8970926
|
||||
4000 2.4383442 -0.053659995 0.86864073 0.14696993 0.86864073 -0.053659995 0.96195067
|
||||
5000 2.5885917 -0.15612821 0.90351683 0.17156633 0.90351683 -0.15612821 0.91895494
|
||||
6000 2.118738 -0.072041141 0.76933528 0.1155794 0.76933528 -0.072041141 0.81287354
|
||||
7000 2.1407609 -0.057727453 0.75154404 0.13827078 0.75154404 -0.057727453 0.83208737
|
||||
8000 2.066348 -0.097639137 0.71096217 0.14551295 0.71096217 -0.097639137 0.75883597
|
||||
9000 2.1969096 -0.050133795 0.8028133 0.11559948 0.8028133 -0.050133795 0.86827899
|
||||
10000 2.3932442 -0.098008752 0.83753779 0.15678193 0.83753779 -0.098008752 0.89631097
|
||||
Loop time of 0.596624 on 4 procs for 10000 steps with 350 atoms
|
||||
|
||||
Performance: 1448149.372 tau/day, 16760.988 timesteps/s, 5.866 Matom-step/s
|
||||
98.2% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.17419 | 0.21073 | 0.27006 | 7.8 | 35.32
|
||||
Neigh | 0.0015899 | 0.0018079 | 0.0020932 | 0.5 | 0.30
|
||||
Comm | 0.041688 | 0.101 | 0.13805 | 11.3 | 16.93
|
||||
Output | 0.00011945 | 0.0001262 | 0.000143 | 0.0 | 0.02
|
||||
Modify | 0.26906 | 0.27183 | 0.27467 | 0.4 | 45.56
|
||||
Other | | 0.01113 | | | 1.87
|
||||
|
||||
Nlocal: 87.5 ave 94 max 80 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
Nghost: 54.5 ave 67 max 42 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
Neighs: 212.75 ave 286 max 122 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 851
|
||||
Ave neighs/atom = 2.4314286
|
||||
Neighbor list builds = 273
|
||||
Dangerous builds = 0
|
||||
|
||||
#undump 1
|
||||
#undump 2
|
||||
unfix 3
|
||||
|
||||
change_box all triclinic
|
||||
Changing box ...
|
||||
triclinic box = (-18.043106 -18.043106 -0.5) to (18.043106 18.043106 0.5) with tilt (0 0 0)
|
||||
|
||||
#dump 1 all custom 500 dump2.atom id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump2.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
fix 3 all deform 1 xy erate 0.01 units box
|
||||
|
||||
run 10000
|
||||
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.8
|
||||
ghost atom cutoff = 2.8
|
||||
binsize = 1.4, bins = 26 26 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton/tri
|
||||
stencil: half/bin/2d/tri
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 4.752 | 4.752 | 4.752 Mbytes
|
||||
Step f_2 PotEng KinEng c_1 c_2 c_3 v_toteng
|
||||
10000 2.3932442 -0.098029446 0.83751359 0.1568021 0.83751359 -0.098029446 0.89628624
|
||||
11000 2.4541893 -0.15538223 0.82053681 0.19271549 0.82053681 -0.15538223 0.85787007
|
||||
12000 2.4124449 -0.14024177 0.84559598 0.15692416 0.84559598 -0.14024177 0.86227837
|
||||
13000 2.2095814 -0.10822636 0.73930104 0.173052 0.73930104 -0.10822636 0.80412668
|
||||
14000 2.0946831 -0.087303541 0.77743494 0.10023865 0.77743494 -0.087303541 0.79037005
|
||||
15000 2.0911016 -0.11524594 0.74044758 0.12978235 0.74044758 -0.11524594 0.75498398
|
||||
16000 1.9736428 -0.17259563 0.67852978 0.13943094 0.67852978 -0.17259563 0.64536509
|
||||
17000 2.3284367 -0.17673537 0.77018991 0.1897596 0.77018991 -0.17673537 0.78321414
|
||||
18000 2.3178564 -0.16634746 0.81488323 0.1487365 0.81488323 -0.16634746 0.79727227
|
||||
19000 2.7497251 -0.18254513 1.0041125 0.14528424 1.0041125 -0.18254513 0.96685165
|
||||
20000 2.3897059 -0.12664177 0.8390411 0.15426546 0.8390411 -0.12664177 0.86666479
|
||||
Loop time of 0.79519 on 4 procs for 10000 steps with 350 atoms
|
||||
|
||||
Performance: 1086533.223 tau/day, 12575.616 timesteps/s, 4.401 Matom-step/s
|
||||
98.2% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.26601 | 0.35051 | 0.443 | 12.3 | 44.08
|
||||
Neigh | 0.0029891 | 0.0036725 | 0.0040631 | 0.7 | 0.46
|
||||
Comm | 0.049744 | 0.14268 | 0.22734 | 19.3 | 17.94
|
||||
Output | 0.00013783 | 0.00014503 | 0.00016304 | 0.0 | 0.02
|
||||
Modify | 0.27963 | 0.28446 | 0.29049 | 0.8 | 35.77
|
||||
Other | | 0.01372 | | | 1.73
|
||||
|
||||
Nlocal: 87.5 ave 101 max 75 min
|
||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||
Nghost: 61.5 ave 67 max 50 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 2 1
|
||||
Neighs: 244.75 ave 268 max 198 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 0 2
|
||||
|
||||
Total # of neighbors = 979
|
||||
Ave neighs/atom = 2.7971429
|
||||
Neighbor list builds = 289
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:01
|
||||
363
examples/ASPHERE/line/log.21Sep24.line.srd.g++.1
Normal file
363
examples/ASPHERE/line/log.21Sep24.line.srd.g++.1
Normal file
@ -0,0 +1,363 @@
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Aspherical shear demo - 2d line boxes, solvated by SRD particles
|
||||
|
||||
units lj
|
||||
atom_style line
|
||||
atom_modify first big
|
||||
dimension 2
|
||||
|
||||
read_data data.line.srd
|
||||
Reading data file ...
|
||||
orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
400 atoms
|
||||
400 lines
|
||||
read_data CPU = 0.003 seconds
|
||||
|
||||
# add small particles as hi density lattice
|
||||
|
||||
lattice sq 0.4
|
||||
Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388
|
||||
region plane block INF INF INF INF -0.001 0.001
|
||||
lattice sq 10.0
|
||||
Lattice spacing in x,y,z = 0.31622777 0.31622777 0.31622777
|
||||
create_atoms 2 region plane
|
||||
Created 33489 atoms
|
||||
using lattice units in orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
|
||||
create_atoms CPU = 0.003 seconds
|
||||
|
||||
group big type 1
|
||||
400 atoms in group big
|
||||
group small type 2
|
||||
33489 atoms in group small
|
||||
set group small mass 0.01
|
||||
Setting atom values ...
|
||||
33489 settings made for mass
|
||||
|
||||
# delete overlaps
|
||||
# must set 1-2 cutoff to non-zero value
|
||||
|
||||
pair_style lj/cut 1.5
|
||||
pair_coeff 1 1 1.0 1.0
|
||||
pair_coeff 2 2 0.0 1.0 0.0
|
||||
pair_coeff 1 2 1.0 1.0
|
||||
|
||||
delete_atoms overlap 1.5 small big
|
||||
System init for delete_atoms ...
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.8
|
||||
ghost atom cutoff = 1.8
|
||||
binsize = 0.9, bins = 64 64 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) command delete_atoms, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/2d
|
||||
bin: standard
|
||||
(2) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/2d
|
||||
bin: standard
|
||||
WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:313)
|
||||
Deleted 13605 atoms, new total = 20284
|
||||
|
||||
# SRD run
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
velocity small create 1.44 87287 loop geom
|
||||
|
||||
neighbor 0.8 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra big include big
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
neigh_modify include big
|
||||
|
||||
# no pairwise interactions with small particles
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
|
||||
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
|
||||
pair_coeff 1 2 1.0 0.2 1.0 0.2 2.5
|
||||
|
||||
# use fix SRD to push small particles out from inside big ones
|
||||
# if comment out, big particles won't see SRD particles
|
||||
|
||||
timestep 0.0001
|
||||
|
||||
fix 1 big rigid molecule
|
||||
100 rigid bodies with 400 atoms
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
|
||||
|
||||
fix 3 all deform 1 x scale 1.25 y scale 1.25
|
||||
fix 4 all enforce2d
|
||||
|
||||
# diagnostics
|
||||
|
||||
compute tsmall small temp/deform
|
||||
compute tbig big temp
|
||||
variable pebig equal pe*atoms/count(big)
|
||||
variable ebig equal etotal*atoms/count(big)
|
||||
|
||||
compute_modify tbig extra/dof -350
|
||||
|
||||
compute 1 big erotate/asphere
|
||||
compute 2 all ke
|
||||
compute 3 all pe
|
||||
variable toteng equal (c_1+c_2+c_3)/atoms
|
||||
|
||||
thermo 1000
|
||||
thermo_style custom step c_tsmall f_2[9] c_1 etotal v_pebig v_ebig press
|
||||
thermo_modify temp tbig
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:533)
|
||||
|
||||
compute 10 big property/atom end1x end1y end2x end2y
|
||||
|
||||
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump1.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
run 10000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
|
||||
|
||||
@Article{Gissinger24,
|
||||
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
|
||||
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
|
||||
journal = {J. Phys. Chem. B},
|
||||
year = 2024,
|
||||
volume = 128,
|
||||
number = 13,
|
||||
pages = {3282–-3297}
|
||||
}
|
||||
|
||||
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
|
||||
|
||||
@Article{Intveld08,
|
||||
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
|
||||
title = {Accurate and Efficient Methods for Modeling Colloidal
|
||||
Mixtures in an Explicit Solvent using Molecular Dynamics},
|
||||
journal = {Comput.\ Phys.\ Commut.},
|
||||
year = 2008,
|
||||
volume = 179,
|
||||
pages = {320--329}
|
||||
}
|
||||
|
||||
@article{Shire2020,
|
||||
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
|
||||
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
|
||||
Detection Applied to Investigate the Quasi-Static Limit},
|
||||
journal = {Computational Particle Mechanics},
|
||||
year = {2020}
|
||||
@article{Monti2022,
|
||||
author = {Monti, Joseph M. and Clemmer, Joel T. and Srivastava,
|
||||
Ishan and Silbert, Leonardo E. and Grest, Gary S.
|
||||
and Lechman, Jeremy B.},
|
||||
title = {Large-scale frictionless jamming with power-law particle
|
||||
size distributions},
|
||||
journal = {Phys. Rev. E},
|
||||
volume = {106}
|
||||
issue = {3}
|
||||
year = {2022}
|
||||
}
|
||||
|
||||
- fix srd command: doi:10.1063/1.3419070
|
||||
|
||||
@Article{Petersen10,
|
||||
author = {M. K. Petersen and J. B. Lechman and S. J. Plimpton and
|
||||
G. S. Grest and in 't Veld, P. J. and P. R. Schunk},
|
||||
title = {Mesoscale Hydrodynamics via Stochastic Rotation
|
||||
Dynamics: Comparison with {L}ennard-{J}ones Fluid},
|
||||
journal = {J.~Chem.\ Phys.},
|
||||
year = 2010,
|
||||
volume = 132,
|
||||
pages = 174106
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Using compute temp/deform with inconsistent fix deform remap option (src/compute_temp_deform.cpp:71)
|
||||
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
|
||||
SRD info:
|
||||
SRD/big particles = 19884 400
|
||||
big particle diameter max/min = 1.9988171 0.50330564
|
||||
SRD temperature & lamda = 1 0.02
|
||||
SRD max distance & max velocity = 0.08 40
|
||||
SRD grid counts: 230 230 1
|
||||
SRD grid size: request, actual (xyz) = 0.25, 0.25040659 0.25040659 1
|
||||
SRD per actual grid cell = 0.45503978
|
||||
SRD viscosity = 0.92062623
|
||||
big/SRD mass density ratio = 12.298053
|
||||
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
|
||||
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
|
||||
# of rescaled SRD velocities = 0
|
||||
ave/max small velocity = 15.906001 29.105426
|
||||
ave/max big velocity = 0 0
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 3.3
|
||||
ghost atom cutoff = 3.3
|
||||
binsize = 1.65, bins = 35 35 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/multi/atomonly/newton
|
||||
stencil: half/multi/2d
|
||||
bin: multi
|
||||
Per MPI rank memory allocation (min/avg/max) = 43.18 | 43.18 | 43.18 Mbytes
|
||||
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
|
||||
0 1.6084386 0 0 0 0 0 0
|
||||
1000 1.4566787 1.2042825 0.00015900089 0.0011955837 0 0.060628048 0.75322967
|
||||
2000 1.3561018 1.2092936 0.00026739313 0.0020783306 0 0.10539215 0.53247025
|
||||
3000 1.3327447 1.1696777 0.0003215116 0.0024935719 0 0.12644903 0.32024668
|
||||
4000 1.3031273 1.1385596 0.00037337107 0.0031214473 0 0.15828859 0.64066244
|
||||
5000 1.28204 1.0983763 0.00047966362 0.0033295434 0 0.16884114 0.32103666
|
||||
6000 1.2654396 1.0969562 0.00049917373 0.0037382387 0 0.18956609 0.16211614
|
||||
7000 1.2401503 1.1232046 0.00045137168 0.0037522201 0 0.19027508 0.014071672
|
||||
8000 1.2349025 1.059008 0.00056648801 0.0039664742 0 0.20113991 0.24483817
|
||||
9000 1.2272907 1.0371006 0.00056271544 0.0037847074 0 0.19192251 0.032968056
|
||||
10000 1.2153817 1.0209113 0.00053291164 0.0037197691 0 0.18862949 0.3237698
|
||||
Loop time of 6.0346 on 1 procs for 10000 steps with 20284 atoms
|
||||
|
||||
Performance: 14317.424 tau/day, 1657.109 timesteps/s, 33.613 Matom-step/s
|
||||
96.2% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.10636 | 0.10636 | 0.10636 | 0.0 | 1.76
|
||||
Neigh | 0.01905 | 0.01905 | 0.01905 | 0.0 | 0.32
|
||||
Comm | 0.041223 | 0.041223 | 0.041223 | 0.0 | 0.68
|
||||
Output | 0.0017015 | 0.0017015 | 0.0017015 | 0.0 | 0.03
|
||||
Modify | 5.8165 | 5.8165 | 5.8165 | 0.0 | 96.39
|
||||
Other | | 0.04976 | | | 0.82
|
||||
|
||||
Nlocal: 20284 ave 20284 max 20284 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 84 ave 84 max 84 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
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 500
|
||||
Dangerous builds = 0
|
||||
|
||||
#undump 1
|
||||
#undump 2
|
||||
unfix 3
|
||||
|
||||
change_box all triclinic
|
||||
Changing box ...
|
||||
triclinic box = (-35.995947 -35.995947 -0.5) to (35.995947 35.995947 0.5) with tilt (0 0 0)
|
||||
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip #tstat yes
|
||||
|
||||
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump2.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
fix 3 all deform 1 xy erate 0.0002 units box remap v
|
||||
|
||||
run 30000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
|
||||
SRD info:
|
||||
SRD/big particles = 19884 400
|
||||
big particle diameter max/min = 1.9988171 0.50330564
|
||||
SRD temperature & lamda = 1 0.02
|
||||
SRD max distance & max velocity = 0.08 40
|
||||
SRD grid counts: 288 288 1
|
||||
SRD grid size: request, actual (xyz) = 0.25, 0.24997185 0.24997185 1
|
||||
SRD per actual grid cell = 0.26976265
|
||||
SRD viscosity = 1.0312189
|
||||
big/SRD mass density ratio = 20.672578
|
||||
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
|
||||
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
|
||||
# of rescaled SRD velocities = 0
|
||||
ave/max small velocity = 12.805429 40
|
||||
ave/max big velocity = 0.50400801 2.1697856
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 3.3
|
||||
ghost atom cutoff = 3.3
|
||||
binsize = 1.65, bins = 44 44 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/multi/atomonly/newton/tri
|
||||
stencil: half/multi/2d/tri
|
||||
bin: multi
|
||||
Per MPI rank memory allocation (min/avg/max) = 58.85 | 58.85 | 58.85 Mbytes
|
||||
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
|
||||
10000 1.0423767 0 0.00053289774 0.0037197858 0 0.18863034 0.014558088
|
||||
11000 1.0333923 1.0309908 0.00058283908 0.0042336078 0 0.21468625 0.13036048
|
||||
12000 1.0268543 1.0290122 0.00055294944 0.0044278861 0 0.2245381 0.53275676
|
||||
13000 1.0257856 1.0140434 0.00051520803 0.0042888387 0 0.21748701 0.2066835
|
||||
14000 1.0239497 1.0321558 0.00054742053 0.004259664 0 0.21600756 0.24430097
|
||||
15000 1.0194475 1.0119806 0.00053619565 0.0041113765 0 0.2084879 0.18420434
|
||||
16000 1.016421 1.0309991 0.00049553642 0.0041338645 0 0.20962827 0.18298406
|
||||
17000 1.0088527 0.99723694 0.00049824173 0.0044777581 0 0.22706711 0.65557023
|
||||
18000 1.0073877 1.0136962 0.00058327835 0.0045355884 0 0.22999969 0.13700737
|
||||
19000 1.0026916 1.0253129 0.00056760151 0.0045138437 0 0.22889701 0.16443344
|
||||
20000 1.0024042 0.98988084 0.00057568118 0.0048644983 0 0.24667871 0.060864322
|
||||
21000 0.99500641 0.99075324 0.00062187543 0.0050480594 0 0.25598709 0.18428384
|
||||
22000 0.99286446 0.98642266 0.00061024492 0.0050497174 0 0.25607117 0.18499738
|
||||
23000 0.99204086 0.98869005 0.00064013575 0.0052921112 0 0.26836296 0.046987646
|
||||
24000 0.98768375 1.0110613 0.00065868636 0.0049285304 0 0.24992578 0.22623751
|
||||
25000 0.98763308 0.98752678 0.00067070463 0.0049364253 0 0.25032613 0.022819382
|
||||
26000 0.9844889 1.0059918 0.00075364589 0.0053381778 0 0.270699 0.089735771
|
||||
27000 0.98574608 0.99094039 0.00080711088 0.0054137233 0 0.27452991 0.14477885
|
||||
28000 0.98139419 0.97487219 0.00071242405 0.0053315389 0 0.27036234 -0.016357088
|
||||
29000 0.98458705 0.98600894 0.00068355573 0.0050157315 0 0.25434775 0.015749835
|
||||
30000 0.98440759 1.0010793 0.00067594666 0.0048121267 0 0.24402295 0.20422918
|
||||
31000 0.98060632 0.9825933 0.00069529947 0.0050649881 -0.00010700206 0.25684555 0.0014601267
|
||||
32000 0.97616624 0.94976641 0.00067682494 0.0052111319 -0.00013230279 0.2642565 0.013738873
|
||||
33000 0.97926122 0.95756794 0.00071774059 0.0053716513 -0.00024804252 0.27239644 0.10643895
|
||||
34000 0.97227771 0.94365547 0.00080885359 0.0055744144 -0.00063217879 0.28267856 0.12472959
|
||||
35000 0.97295679 0.98103625 0.0008130852 0.0057598371 -0.00097218501 0.29208134 0.88422099
|
||||
36000 0.97131919 0.97164636 0.0008345433 0.0062212675 -0.001543055 0.31548048 0.22389401
|
||||
37000 0.96988732 0.98589058 0.00083271625 0.0062999411 -0.0026064482 0.31947001 0.11797226
|
||||
38000 0.97135512 0.96486494 0.00076943974 0.0057397763 -0.0041174109 0.29106406 0.072790492
|
||||
39000 0.97386738 0.95218062 0.00079594844 0.0056308358 -0.0069006312 0.28553968 0.12417837
|
||||
40000 0.97914045 1.0033941 0.000830798 0.0055952714 -0.0086705514 0.28373621 0.1976663
|
||||
Loop time of 15.944 on 1 procs for 30000 steps with 20284 atoms
|
||||
|
||||
Performance: 16256.931 tau/day, 1881.589 timesteps/s, 38.166 Matom-step/s
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.31871 | 0.31871 | 0.31871 | 0.0 | 2.00
|
||||
Neigh | 0.082974 | 0.082974 | 0.082974 | 0.0 | 0.52
|
||||
Comm | 0.16092 | 0.16092 | 0.16092 | 0.0 | 1.01
|
||||
Output | 0.0047257 | 0.0047257 | 0.0047257 | 0.0 | 0.03
|
||||
Modify | 15.189 | 15.189 | 15.189 | 0.0 | 95.27
|
||||
Other | | 0.1871 | | | 1.17
|
||||
|
||||
Nlocal: 20284 ave 20284 max 20284 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 76 ave 76 max 76 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 38 ave 38 max 38 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 38
|
||||
Ave neighs/atom = 0.0018733978
|
||||
Neighbor list builds = 1500
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:22
|
||||
363
examples/ASPHERE/line/log.21Sep24.line.srd.g++.4
Normal file
363
examples/ASPHERE/line/log.21Sep24.line.srd.g++.4
Normal file
@ -0,0 +1,363 @@
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Aspherical shear demo - 2d line boxes, solvated by SRD particles
|
||||
|
||||
units lj
|
||||
atom_style line
|
||||
atom_modify first big
|
||||
dimension 2
|
||||
|
||||
read_data data.line.srd
|
||||
Reading data file ...
|
||||
orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
400 atoms
|
||||
400 lines
|
||||
read_data CPU = 0.003 seconds
|
||||
|
||||
# add small particles as hi density lattice
|
||||
|
||||
lattice sq 0.4
|
||||
Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388
|
||||
region plane block INF INF INF INF -0.001 0.001
|
||||
lattice sq 10.0
|
||||
Lattice spacing in x,y,z = 0.31622777 0.31622777 0.31622777
|
||||
create_atoms 2 region plane
|
||||
Created 33489 atoms
|
||||
using lattice units in orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
group big type 1
|
||||
400 atoms in group big
|
||||
group small type 2
|
||||
33489 atoms in group small
|
||||
set group small mass 0.01
|
||||
Setting atom values ...
|
||||
33489 settings made for mass
|
||||
|
||||
# delete overlaps
|
||||
# must set 1-2 cutoff to non-zero value
|
||||
|
||||
pair_style lj/cut 1.5
|
||||
pair_coeff 1 1 1.0 1.0
|
||||
pair_coeff 2 2 0.0 1.0 0.0
|
||||
pair_coeff 1 2 1.0 1.0
|
||||
|
||||
delete_atoms overlap 1.5 small big
|
||||
System init for delete_atoms ...
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.8
|
||||
ghost atom cutoff = 1.8
|
||||
binsize = 0.9, bins = 64 64 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) command delete_atoms, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/2d
|
||||
bin: standard
|
||||
(2) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/2d
|
||||
bin: standard
|
||||
WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:313)
|
||||
Deleted 13605 atoms, new total = 20284
|
||||
|
||||
# SRD run
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
velocity small create 1.44 87287 loop geom
|
||||
|
||||
neighbor 0.8 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra big include big
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
neigh_modify include big
|
||||
|
||||
# no pairwise interactions with small particles
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
|
||||
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
|
||||
pair_coeff 1 2 1.0 0.2 1.0 0.2 2.5
|
||||
|
||||
# use fix SRD to push small particles out from inside big ones
|
||||
# if comment out, big particles won't see SRD particles
|
||||
|
||||
timestep 0.0001
|
||||
|
||||
fix 1 big rigid molecule
|
||||
100 rigid bodies with 400 atoms
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
|
||||
|
||||
fix 3 all deform 1 x scale 1.25 y scale 1.25
|
||||
fix 4 all enforce2d
|
||||
|
||||
# diagnostics
|
||||
|
||||
compute tsmall small temp/deform
|
||||
compute tbig big temp
|
||||
variable pebig equal pe*atoms/count(big)
|
||||
variable ebig equal etotal*atoms/count(big)
|
||||
|
||||
compute_modify tbig extra/dof -350
|
||||
|
||||
compute 1 big erotate/asphere
|
||||
compute 2 all ke
|
||||
compute 3 all pe
|
||||
variable toteng equal (c_1+c_2+c_3)/atoms
|
||||
|
||||
thermo 1000
|
||||
thermo_style custom step c_tsmall f_2[9] c_1 etotal v_pebig v_ebig press
|
||||
thermo_modify temp tbig
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:533)
|
||||
|
||||
compute 10 big property/atom end1x end1y end2x end2y
|
||||
|
||||
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump1.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
run 10000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
|
||||
|
||||
@Article{Gissinger24,
|
||||
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
|
||||
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
|
||||
journal = {J. Phys. Chem. B},
|
||||
year = 2024,
|
||||
volume = 128,
|
||||
number = 13,
|
||||
pages = {3282–-3297}
|
||||
}
|
||||
|
||||
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
|
||||
|
||||
@Article{Intveld08,
|
||||
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
|
||||
title = {Accurate and Efficient Methods for Modeling Colloidal
|
||||
Mixtures in an Explicit Solvent using Molecular Dynamics},
|
||||
journal = {Comput.\ Phys.\ Commut.},
|
||||
year = 2008,
|
||||
volume = 179,
|
||||
pages = {320--329}
|
||||
}
|
||||
|
||||
@article{Shire2020,
|
||||
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
|
||||
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
|
||||
Detection Applied to Investigate the Quasi-Static Limit},
|
||||
journal = {Computational Particle Mechanics},
|
||||
year = {2020}
|
||||
@article{Monti2022,
|
||||
author = {Monti, Joseph M. and Clemmer, Joel T. and Srivastava,
|
||||
Ishan and Silbert, Leonardo E. and Grest, Gary S.
|
||||
and Lechman, Jeremy B.},
|
||||
title = {Large-scale frictionless jamming with power-law particle
|
||||
size distributions},
|
||||
journal = {Phys. Rev. E},
|
||||
volume = {106}
|
||||
issue = {3}
|
||||
year = {2022}
|
||||
}
|
||||
|
||||
- fix srd command: doi:10.1063/1.3419070
|
||||
|
||||
@Article{Petersen10,
|
||||
author = {M. K. Petersen and J. B. Lechman and S. J. Plimpton and
|
||||
G. S. Grest and in 't Veld, P. J. and P. R. Schunk},
|
||||
title = {Mesoscale Hydrodynamics via Stochastic Rotation
|
||||
Dynamics: Comparison with {L}ennard-{J}ones Fluid},
|
||||
journal = {J.~Chem.\ Phys.},
|
||||
year = 2010,
|
||||
volume = 132,
|
||||
pages = 174106
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Using compute temp/deform with inconsistent fix deform remap option (src/compute_temp_deform.cpp:71)
|
||||
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
|
||||
SRD info:
|
||||
SRD/big particles = 19884 400
|
||||
big particle diameter max/min = 1.9988171 0.50330564
|
||||
SRD temperature & lamda = 1 0.02
|
||||
SRD max distance & max velocity = 0.08 40
|
||||
SRD grid counts: 230 230 1
|
||||
SRD grid size: request, actual (xyz) = 0.25, 0.25040659 0.25040659 1
|
||||
SRD per actual grid cell = 0.45503978
|
||||
SRD viscosity = 0.92062623
|
||||
big/SRD mass density ratio = 12.298053
|
||||
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
|
||||
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
|
||||
# of rescaled SRD velocities = 0
|
||||
ave/max small velocity = 15.906001 29.105426
|
||||
ave/max big velocity = 0 0
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 3.3
|
||||
ghost atom cutoff = 3.3
|
||||
binsize = 1.65, bins = 35 35 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/multi/atomonly/newton
|
||||
stencil: half/multi/2d
|
||||
bin: multi
|
||||
Per MPI rank memory allocation (min/avg/max) = 13.44 | 13.45 | 13.47 Mbytes
|
||||
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
|
||||
0 1.6084386 0 0 0 0 0 0
|
||||
1000 1.4539924 1.2578325 0.0001679809 0.0010497614 0 0.053233399 0.69841607
|
||||
2000 1.3516746 1.1693535 0.00031932331 0.0021450754 0 0.10877677 0.058141137
|
||||
3000 1.3294093 1.1539986 0.00032558495 0.0022345521 0 0.11331414 0.085892255
|
||||
4000 1.3049311 1.1174444 0.00039637116 0.0026520968 0 0.13448783 0.10574422
|
||||
5000 1.2790124 1.1209176 0.0004519172 0.0032635257 0 0.16549339 0.59225702
|
||||
6000 1.2631214 1.0868777 0.00052274216 0.003527049 0 0.17885666 0.26093936
|
||||
7000 1.2520054 1.0780954 0.00051683183 0.0038111141 0 0.1932616 -0.0014733978
|
||||
8000 1.2412037 1.0587149 0.00056620143 0.0038329297 0 0.19436786 0.31576462
|
||||
9000 1.2242125 1.0699712 0.00065335672 0.0039948578 0 0.20257924 0.19755012
|
||||
10000 1.2155758 1.0279682 0.00059730828 0.004142635 0 0.21007302 0.30022953
|
||||
Loop time of 1.92412 on 4 procs for 10000 steps with 20284 atoms
|
||||
|
||||
Performance: 44903.607 tau/day, 5197.177 timesteps/s, 105.420 Matom-step/s
|
||||
97.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.026855 | 0.027529 | 0.028377 | 0.4 | 1.43
|
||||
Neigh | 0.0073723 | 0.007433 | 0.0075693 | 0.1 | 0.39
|
||||
Comm | 0.062837 | 0.065574 | 0.066747 | 0.6 | 3.41
|
||||
Output | 0.00072894 | 0.00076558 | 0.00083361 | 0.0 | 0.04
|
||||
Modify | 1.7861 | 1.7926 | 1.8 | 0.4 | 93.16
|
||||
Other | | 0.03026 | | | 1.57
|
||||
|
||||
Nlocal: 5071 ave 5096 max 5051 min
|
||||
Histogram: 1 0 1 0 0 1 0 0 0 1
|
||||
Nghost: 44 ave 51 max 40 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 500
|
||||
Dangerous builds = 0
|
||||
|
||||
#undump 1
|
||||
#undump 2
|
||||
unfix 3
|
||||
|
||||
change_box all triclinic
|
||||
Changing box ...
|
||||
triclinic box = (-35.995947 -35.995947 -0.5) to (35.995947 35.995947 0.5) with tilt (0 0 0)
|
||||
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip #tstat yes
|
||||
|
||||
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump2.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
fix 3 all deform 1 xy erate 0.0002 units box remap v
|
||||
|
||||
run 30000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
|
||||
SRD info:
|
||||
SRD/big particles = 19884 400
|
||||
big particle diameter max/min = 1.9988171 0.50330564
|
||||
SRD temperature & lamda = 1 0.02
|
||||
SRD max distance & max velocity = 0.08 40
|
||||
SRD grid counts: 288 288 1
|
||||
SRD grid size: request, actual (xyz) = 0.25, 0.24997185 0.24997185 1
|
||||
SRD per actual grid cell = 0.26976265
|
||||
SRD viscosity = 1.0312189
|
||||
big/SRD mass density ratio = 20.672578
|
||||
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
|
||||
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
|
||||
# of rescaled SRD velocities = 0
|
||||
ave/max small velocity = 12.826666 40
|
||||
ave/max big velocity = 0.53469722 1.7415554
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 3.3
|
||||
ghost atom cutoff = 3.3
|
||||
binsize = 1.65, bins = 44 44 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/multi/atomonly/newton/tri
|
||||
stencil: half/multi/2d/tri
|
||||
bin: multi
|
||||
Per MPI rank memory allocation (min/avg/max) = 17.6 | 17.6 | 17.61 Mbytes
|
||||
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
|
||||
10000 1.0416233 0 0.0005972922 0.0041426543 0 0.210074 0.016213064
|
||||
11000 1.0366852 1.0236717 0.00066926382 0.004404743 0 0.22336452 0.097686059
|
||||
12000 1.028695 1.0023004 0.00065323121 0.0043971164 0 0.22297777 0.30007875
|
||||
13000 1.0223214 1.0296267 0.00060201395 0.0041815724 0 0.21204754 0.17307062
|
||||
14000 1.0210601 1.0092227 0.00057020066 0.0041936718 0 0.2126611 0.13379405
|
||||
15000 1.0169223 1.003359 0.00060818329 0.0046120335 0 0.23387622 0.39144341
|
||||
16000 1.012222 0.99937463 0.00060471571 0.004533278 0 0.22988253 0.16026051
|
||||
17000 1.0087993 0.98937449 0.00061843646 0.0048888197 0 0.24791205 0.095507016
|
||||
18000 1.0030288 0.94092316 0.00054252694 0.0046740839 0 0.2370228 -0.070838649
|
||||
19000 1.0010739 0.99759814 0.00054041829 0.0045481798 0 0.2306382 0.1944996
|
||||
20000 1.004189 1.0157285 0.00053330893 0.0044999261 0 0.22819125 0.14452619
|
||||
21000 0.99601133 1.003771 0.00053282188 0.0048954851 0 0.24825005 0.20196263
|
||||
22000 0.99445408 1.0163465 0.00059954941 0.0051668276 0 0.26200983 0.21332194
|
||||
23000 0.99663947 0.94920707 0.00057729723 0.0051052499 0 0.25888722 0.19282224
|
||||
24000 0.99500015 1.0021742 0.00064312956 0.0053430656 0 0.27094686 0.18044164
|
||||
25000 0.99388189 0.98446723 0.00060150964 0.0054017824 0 0.27392438 0.18844037
|
||||
26000 0.99632932 0.94670024 0.00052479857 0.004905147 0 0.24874 0.17961314
|
||||
27000 0.99112962 1.0247118 0.00053159824 0.004752248 0 0.2409865 0.12037737
|
||||
28000 0.98887153 0.97734068 0.00052255365 0.0050199491 0 0.25456162 0.29110866
|
||||
29000 0.98938025 0.99467239 0.00053095044 0.0050303107 0 0.25508706 0.59776339
|
||||
30000 0.99081592 0.98822122 0.00056693985 0.0052452228 0 0.26598525 0.0150843
|
||||
31000 0.99050903 1.0184912 0.00056742049 0.0056515686 0 0.28659104 0.07877756
|
||||
32000 0.98929926 0.99257634 0.00058111732 0.005740055 0 0.29107819 0.19146041
|
||||
33000 0.98698723 0.94872564 0.00056547335 0.0057628447 0 0.29223385 0.076755599
|
||||
34000 0.98967998 0.98777081 0.00056045905 0.0055645603 0 0.28217885 0.095025284
|
||||
35000 0.98777734 0.95746323 0.00050104756 0.0055630681 -4.7847642e-05 0.28210318 0.25667997
|
||||
36000 0.98661597 0.98801246 0.00047074618 0.0054500805 -5.8956193e-05 0.27637358 0.18221607
|
||||
37000 0.98390111 0.9837894 0.00044581144 0.0054703357 -7.4197741e-05 0.27740072 0.11959303
|
||||
38000 0.98092646 1.0142057 0.0004945556 0.0056372628 -8.6736668e-05 0.2858656 0.017325263
|
||||
39000 0.98125957 0.94219822 0.00059691168 0.0060914156 -9.9726556e-05 0.30889569 0.0081217281
|
||||
40000 0.98362942 0.9649582 0.00062286697 0.0063736358 -0.00010700337 0.32320707 0.293121
|
||||
Loop time of 5.08621 on 4 procs for 30000 steps with 20284 atoms
|
||||
|
||||
Performance: 50961.296 tau/day, 5898.298 timesteps/s, 119.641 Matom-step/s
|
||||
98.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.084321 | 0.084948 | 0.086233 | 0.3 | 1.67
|
||||
Neigh | 0.027521 | 0.029247 | 0.030632 | 0.7 | 0.58
|
||||
Comm | 0.19101 | 0.20262 | 0.2068 | 1.5 | 3.98
|
||||
Output | 0.0019581 | 0.0020369 | 0.0022544 | 0.3 | 0.04
|
||||
Modify | 4.681 | 4.6884 | 4.7051 | 0.4 | 92.18
|
||||
Other | | 0.07891 | | | 1.55
|
||||
|
||||
Nlocal: 5071 ave 5197 max 4951 min
|
||||
Histogram: 1 0 0 1 0 0 1 0 0 1
|
||||
Nghost: 44 ave 50 max 41 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
Neighs: 5.75 ave 12 max 0 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 23
|
||||
Ave neighs/atom = 0.0011338986
|
||||
Neighbor list builds = 1500
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:07
|
||||
323
examples/ASPHERE/line/log.21Sep24.line.srd.g++.8
Normal file
323
examples/ASPHERE/line/log.21Sep24.line.srd.g++.8
Normal file
@ -0,0 +1,323 @@
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Aspherical shear demo - 2d line boxes, solvated by SRD particles
|
||||
|
||||
units lj
|
||||
atom_style line
|
||||
atom_modify first big
|
||||
dimension 2
|
||||
|
||||
read_data data.line.srd
|
||||
Reading data file ...
|
||||
orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
|
||||
4 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
400 atoms
|
||||
400 lines
|
||||
read_data CPU = 0.002 seconds
|
||||
|
||||
# add small particles as hi density lattice
|
||||
|
||||
lattice sq 0.4
|
||||
Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388
|
||||
region plane block INF INF INF INF -0.001 0.001
|
||||
lattice sq 10.0
|
||||
Lattice spacing in x,y,z = 0.31622777 0.31622777 0.31622777
|
||||
create_atoms 2 region plane
|
||||
Created 33489 atoms
|
||||
using lattice units in orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
group big type 1
|
||||
400 atoms in group big
|
||||
group small type 2
|
||||
33489 atoms in group small
|
||||
set group small mass 0.01
|
||||
Setting atom values ...
|
||||
33489 settings made for mass
|
||||
|
||||
# delete overlaps
|
||||
# must set 1-2 cutoff to non-zero value
|
||||
|
||||
pair_style lj/cut 1.5
|
||||
pair_coeff 1 1 1.0 1.0
|
||||
pair_coeff 2 2 0.0 1.0 0.0
|
||||
pair_coeff 1 2 1.0 1.0
|
||||
|
||||
delete_atoms overlap 1.5 small big
|
||||
System init for delete_atoms ...
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.8
|
||||
ghost atom cutoff = 1.8
|
||||
binsize = 0.9, bins = 64 64 2
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) command delete_atoms, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/2d
|
||||
bin: standard
|
||||
(2) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/2d
|
||||
bin: standard
|
||||
WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:313)
|
||||
Deleted 13605 atoms, new total = 20284
|
||||
|
||||
# SRD run
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
velocity small create 1.44 87287 loop geom
|
||||
|
||||
neighbor 0.8 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra big include big
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
neigh_modify include big
|
||||
|
||||
# no pairwise interactions with small particles
|
||||
|
||||
pair_style line/lj 2.5
|
||||
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
|
||||
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
|
||||
pair_coeff 1 2 1.0 0.2 1.0 0.2 2.5
|
||||
|
||||
# use fix SRD to push small particles out from inside big ones
|
||||
# if comment out, big particles won't see SRD particles
|
||||
|
||||
timestep 0.0002
|
||||
|
||||
fix 1 big rigid molecule
|
||||
100 rigid bodies with 400 atoms
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
|
||||
|
||||
fix 3 all deform 1 x scale 1.25 y scale 1.25
|
||||
fix 4 all enforce2d
|
||||
|
||||
# diagnostics
|
||||
|
||||
compute tsmall small temp/deform
|
||||
compute tbig big temp
|
||||
variable pebig equal pe*atoms/count(big)
|
||||
variable ebig equal etotal*atoms/count(big)
|
||||
|
||||
compute_modify tbig extra/dof -350
|
||||
|
||||
compute 1 big erotate/asphere
|
||||
compute 2 all ke
|
||||
compute 3 all pe
|
||||
variable toteng equal (c_1+c_2+c_3)/atoms
|
||||
|
||||
thermo 1000
|
||||
thermo_style custom step c_tsmall f_2[9] c_1 etotal v_pebig v_ebig press
|
||||
thermo_modify temp tbig
|
||||
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:533)
|
||||
|
||||
compute 10 big property/atom end1x end1y end2x end2y
|
||||
|
||||
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump1.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
run 10000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
|
||||
|
||||
@Article{Gissinger24,
|
||||
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
|
||||
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
|
||||
journal = {J. Phys. Chem. B},
|
||||
year = 2024,
|
||||
volume = 128,
|
||||
number = 13,
|
||||
pages = {3282–-3297}
|
||||
}
|
||||
|
||||
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
|
||||
|
||||
@Article{Intveld08,
|
||||
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
|
||||
title = {Accurate and Efficient Methods for Modeling Colloidal
|
||||
Mixtures in an Explicit Solvent using Molecular Dynamics},
|
||||
journal = {Comput.\ Phys.\ Commut.},
|
||||
year = 2008,
|
||||
volume = 179,
|
||||
pages = {320--329}
|
||||
}
|
||||
|
||||
@article{Shire2020,
|
||||
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
|
||||
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
|
||||
Detection Applied to Investigate the Quasi-Static Limit},
|
||||
journal = {Computational Particle Mechanics},
|
||||
year = {2020}
|
||||
@article{Monti2022,
|
||||
author = {Monti, Joseph M. and Clemmer, Joel T. and Srivastava,
|
||||
Ishan and Silbert, Leonardo E. and Grest, Gary S.
|
||||
and Lechman, Jeremy B.},
|
||||
title = {Large-scale frictionless jamming with power-law particle
|
||||
size distributions},
|
||||
journal = {Phys. Rev. E},
|
||||
volume = {106}
|
||||
issue = {3}
|
||||
year = {2022}
|
||||
}
|
||||
|
||||
- fix srd command: doi:10.1063/1.3419070
|
||||
|
||||
@Article{Petersen10,
|
||||
author = {M. K. Petersen and J. B. Lechman and S. J. Plimpton and
|
||||
G. S. Grest and in 't Veld, P. J. and P. R. Schunk},
|
||||
title = {Mesoscale Hydrodynamics via Stochastic Rotation
|
||||
Dynamics: Comparison with {L}ennard-{J}ones Fluid},
|
||||
journal = {J.~Chem.\ Phys.},
|
||||
year = 2010,
|
||||
volume = 132,
|
||||
pages = 174106
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Using compute temp/deform with inconsistent fix deform remap option (src/compute_temp_deform.cpp:71)
|
||||
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
|
||||
SRD info:
|
||||
SRD/big particles = 19884 400
|
||||
big particle diameter max/min = 1.9988171 0.50330564
|
||||
SRD temperature & lamda = 1 0.04
|
||||
SRD max distance & max velocity = 0.16 40
|
||||
SRD grid counts: 230 230 1
|
||||
SRD grid size: request, actual (xyz) = 0.25, 0.25040659 0.25040659 1
|
||||
SRD per actual grid cell = 0.45503978
|
||||
SRD viscosity = 1.0732692
|
||||
big/SRD mass density ratio = 12.298053
|
||||
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
|
||||
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
|
||||
# of rescaled SRD velocities = 0
|
||||
ave/max small velocity = 15.906001 29.105426
|
||||
ave/max big velocity = 0 0
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 3.3
|
||||
ghost atom cutoff = 3.3
|
||||
binsize = 1.65, bins = 35 35 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/multi/atomonly/newton
|
||||
stencil: half/multi/2d
|
||||
bin: multi
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.752 | 9.762 | 9.781 Mbytes
|
||||
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
|
||||
0 1.4809886 0 0 0 0 0 0
|
||||
1000 1.2265081 1.1522909 0.00027866069 0.0022427232 0 0.1137285 0.58262976
|
||||
2000 1.1757141 1.1251323 0.00040597152 0.003287261 0 0.16669701 0.27109853
|
||||
3000 1.126304 1.0646585 0.00050542958 0.0040748897 0 0.20663766 0.36959653
|
||||
4000 1.1140297 1.0761435 0.00060430927 0.0052863645 0 0.26807154 0.35099205
|
||||
5000 1.0823307 1.0256814 0.00066557681 0.0051213284 0 0.25970256 0.28491631
|
||||
6000 1.0656188 1.0387091 0.00066454105 0.005213537 0 0.26437846 0.2150581
|
||||
7000 1.0600108 1.0099931 0.0007238719 0.005470459 0 0.27740698 0.21846568
|
||||
8000 1.0464374 1.0049819 0.00061068366 0.0053702582 0 0.27232579 0.1326171
|
||||
9000 1.0381097 1.0126049 0.00057318728 0.0055976321 0 0.28385592 0.16797796
|
||||
10000 1.0312982 1.0018962 0.00050597007 0.0051153126 0 0.2593975 0.15281043
|
||||
Loop time of 1.2997 on 8 procs for 10000 steps with 20284 atoms
|
||||
|
||||
Performance: 132953.355 tau/day, 7694.060 timesteps/s, 156.066 Matom-step/s
|
||||
96.7% CPU use with 8 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.01406 | 0.014495 | 0.01532 | 0.3 | 1.12
|
||||
Neigh | 0.0051916 | 0.0053424 | 0.0054386 | 0.1 | 0.41
|
||||
Comm | 0.062053 | 0.065305 | 0.069014 | 0.9 | 5.02
|
||||
Output | 0.00062289 | 0.00065254 | 0.00077243 | 0.0 | 0.05
|
||||
Modify | 1.169 | 1.178 | 1.1905 | 0.6 | 90.64
|
||||
Other | | 0.03589 | | | 2.76
|
||||
|
||||
Nlocal: 2535.5 ave 2637 max 2476 min
|
||||
Histogram: 1 3 1 1 0 0 0 0 1 1
|
||||
Nghost: 31.125 ave 42 max 25 min
|
||||
Histogram: 3 0 1 2 0 0 0 0 1 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 8 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0
|
||||
Neighbor list builds = 500
|
||||
Dangerous builds = 0
|
||||
|
||||
#undump 1
|
||||
#undump 2
|
||||
unfix 3
|
||||
|
||||
change_box all triclinic
|
||||
Changing box ...
|
||||
triclinic box = (-35.995947 -35.995947 -0.5) to (35.995947 35.995947 0.5) with tilt (0 0 0)
|
||||
|
||||
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip #tstat yes
|
||||
|
||||
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
|
||||
#dump 2 all custom 500 dump2.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
|
||||
|
||||
fix 3 all deform 1 xy erate 0.0002 units box remap v
|
||||
|
||||
run 40000
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
|
||||
SRD info:
|
||||
SRD/big particles = 19884 400
|
||||
big particle diameter max/min = 1.9988171 0.50330564
|
||||
SRD temperature & lamda = 1 0.04
|
||||
SRD max distance & max velocity = 0.16 40
|
||||
SRD grid counts: 288 288 1
|
||||
SRD grid size: request, actual (xyz) = 0.25, 0.24997185 0.24997185 1
|
||||
SRD per actual grid cell = 0.26976265
|
||||
SRD viscosity = 1.5799049
|
||||
big/SRD mass density ratio = 20.672578
|
||||
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
|
||||
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
|
||||
# of rescaled SRD velocities = 1
|
||||
ave/max small velocity = 12.481632 40
|
||||
ave/max big velocity = 0.58815233 1.5489134
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 3.3
|
||||
ghost atom cutoff = 3.3
|
||||
binsize = 1.65, bins = 44 44 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair line/lj, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/multi/atomonly/newton/tri
|
||||
stencil: half/multi/2d/tri
|
||||
bin: multi
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.95 | 11.95 | 11.95 Mbytes
|
||||
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
|
||||
10000 0.98889306 0 0.00050595647 0.0051153289 0 0.25939833 0.020019811
|
||||
11000 0.98995417 0.99721412 0.0005166709 0.0054320552 0 0.27545952 0.03376188
|
||||
12000 0.99401168 0.95502319 0.00053659416 0.0054974426 0 0.27877531 0.056856034
|
||||
13000 0.98790692 0.96488357 0.00061076364 0.0053196554 0 0.26975972 0.2677228
|
||||
14000 0.98939233 0.98809694 0.00052317779 0.0050536922 0 0.25627273 0.20381427
|
||||
15000 0.99046365 0.97048828 0.00056914402 0.0053274908 0 0.27015706 0.082163088
|
||||
16000 0.99743447 1.0111983 0.00053706165 0.0048068384 0 0.24375478 0.06429569
|
||||
17000 0.99622359 1.0124982 0.0005905197 0.0055966416 -7.4541903e-05 0.2838057 0.25418037
|
||||
18000 0.99283929 0.99581721 0.00061730878 0.0059098964 -0.00014754106 0.29969084 0.12701702
|
||||
19000 0.99175517 1.0115581 0.0005128714 0.0059214809 -0.00046203987 0.30027829 0.2640506
|
||||
20000 0.98895811 0.97731528 0.00052294314 0.0055670021 -0.0016029702 0.28230268 0.26239209
|
||||
21000 0.98904093 0.98120258 0.00054169978 0.0052762731 -0.0026834879 0.26755981 0.15432481
|
||||
22000 0.98773149 0.99217218 0.00056091602 0.0052754729 -0.0044093345 0.26751923 0.2208051
|
||||
23000 0.98802862 0.96564549 0.00062226338 0.0053263454 -0.008790914 0.27009898 0.18058977
|
||||
24000 0.98754002 1.024015 0.00057178953 0.0054083382 -0.0094859317 0.27425683 0.01598147
|
||||
25000 0.98656341 0.94647246 0.00066215791 0.0053555849 -0.014877058 0.27158171 0.28794628
|
||||
26000 0.98750471 1.0077626 0.00058955769 0.0057081639 -0.013151869 0.28946099 0.20814911
|
||||
27
|
||||
@ -81,6 +81,7 @@ liblammpsplugin_t *liblammpsplugin_load(const char *lib)
|
||||
ADDSYM(python_finalize);
|
||||
|
||||
ADDSYM(error);
|
||||
ADDSYM(expand);
|
||||
|
||||
ADDSYM(file);
|
||||
ADDSYM(command);
|
||||
|
||||
@ -126,6 +126,7 @@ struct _liblammpsplugin {
|
||||
void (*python_finalize)();
|
||||
|
||||
void (*error)(void *, int, const char *);
|
||||
char *(*expand)(void *, const char *);
|
||||
|
||||
void (*file)(void *, const char *);
|
||||
char *(*command)(void *, const char *);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified)
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-372-g51d104975a)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Test of MEAM potential for HGa
|
||||
@ -67,7 +67,7 @@ Created 1 atoms
|
||||
variable teng equal "c_eatoms"
|
||||
compute pot_energy all pe/atom
|
||||
compute stress all stress/atom NULL
|
||||
# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
|
||||
dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
|
||||
run 1
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
@ -89,22 +89,22 @@ Neighbor list info ...
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.587 | 8.587 | 8.587 Mbytes
|
||||
Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms
|
||||
0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
|
||||
1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
|
||||
Loop time of 4.4446e-05 on 1 procs for 1 steps with 3 atoms
|
||||
0 0 15.438614 491542.52 839006.02 635621.55 0 80225.587 0 0 8 8 8 512 15.438614
|
||||
1 0 15.438614 491542.52 839006.02 635621.55 0 80225.587 0 0 8 8 8 512 15.438614
|
||||
Loop time of 0.000144827 on 1 procs for 1 steps with 3 atoms
|
||||
|
||||
Performance: 1943.932 ns/day, 0.012 hours/ns, 22499.213 timesteps/s, 67.498 katom-step/s
|
||||
31.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
Performance: 596.574 ns/day, 0.040 hours/ns, 6904.790 timesteps/s, 20.714 katom-step/s
|
||||
21.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.9908e-05 | 2.9908e-05 | 2.9908e-05 | 0.0 | 67.29
|
||||
Pair | 9.2136e-05 | 9.2136e-05 | 9.2136e-05 | 0.0 | 63.62
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 1.033e-06 | 1.033e-06 | 1.033e-06 | 0.0 | 2.32
|
||||
Output | 9.347e-06 | 9.347e-06 | 9.347e-06 | 0.0 | 21.03
|
||||
Modify | 2.02e-07 | 2.02e-07 | 2.02e-07 | 0.0 | 0.45
|
||||
Other | | 3.956e-06 | | | 8.90
|
||||
Comm | 4.389e-06 | 4.389e-06 | 4.389e-06 | 0.0 | 3.03
|
||||
Output | 3.9556e-05 | 3.9556e-05 | 3.9556e-05 | 0.0 | 27.31
|
||||
Modify | 9.92e-07 | 9.92e-07 | 9.92e-07 | 0.0 | 0.68
|
||||
Other | | 7.754e-06 | | | 5.35
|
||||
|
||||
Nlocal: 3 ave 3 max 3 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified)
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-372-g51d104975a)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Test of MEAM potential for HGa
|
||||
@ -67,7 +67,7 @@ Created 1 atoms
|
||||
variable teng equal "c_eatoms"
|
||||
compute pot_energy all pe/atom
|
||||
compute stress all stress/atom NULL
|
||||
# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
|
||||
dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
|
||||
run 1
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Neighbor list info ...
|
||||
@ -89,22 +89,22 @@ Neighbor list info ...
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.965 | 8.123 | 8.594 Mbytes
|
||||
Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms
|
||||
0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
|
||||
1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
|
||||
Loop time of 8.70645e-05 on 4 procs for 1 steps with 3 atoms
|
||||
0 0 15.438614 491542.52 839006.02 635621.55 0 80225.587 0 0 8 8 8 512 15.438614
|
||||
1 0 15.438614 491542.52 839006.02 635621.55 0 80225.587 0 0 8 8 8 512 15.438614
|
||||
Loop time of 0.000328503 on 4 procs for 1 steps with 3 atoms
|
||||
|
||||
Performance: 992.368 ns/day, 0.024 hours/ns, 11485.738 timesteps/s, 34.457 katom-step/s
|
||||
29.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
Performance: 263.011 ns/day, 0.091 hours/ns, 3044.110 timesteps/s, 9.132 katom-step/s
|
||||
75.3% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 4.3957e-05 | 4.67e-05 | 5.1056e-05 | 0.0 | 53.64
|
||||
Pair | 0.0001419 | 0.0001471 | 0.00015891 | 0.0 | 44.78
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 1.105e-05 | 1.3822e-05 | 1.7033e-05 | 0.0 | 15.88
|
||||
Output | 1.5765e-05 | 1.9045e-05 | 2.5216e-05 | 0.0 | 21.87
|
||||
Modify | 2.58e-07 | 3.465e-07 | 3.81e-07 | 0.0 | 0.40
|
||||
Other | | 7.151e-06 | | | 8.21
|
||||
Comm | 2.2092e-05 | 2.8424e-05 | 3.667e-05 | 0.0 | 8.65
|
||||
Output | 8.6275e-05 | 0.00010558 | 0.0001422 | 0.0 | 32.14
|
||||
Modify | 1.093e-06 | 2.4148e-06 | 5.651e-06 | 0.0 | 0.74
|
||||
Other | | 4.498e-05 | | | 13.69
|
||||
|
||||
Nlocal: 0.75 ave 3 max 0 min
|
||||
Histogram: 3 0 0 0 0 0 0 0 0 1
|
||||
@ -1,37 +1,37 @@
|
||||
# 2d NEMD simulation
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
dimension 2
|
||||
units lj
|
||||
atom_style atomic
|
||||
dimension 2
|
||||
|
||||
lattice sq2 0.8442
|
||||
region box prism 0 10 0 8 -0.5 0.5 0 0 0
|
||||
create_box 2 box
|
||||
create_atoms 1 box
|
||||
mass * 1.0
|
||||
lattice sq2 0.8442
|
||||
region box prism 0 10 0 8 -0.5 0.5 0 0 0
|
||||
create_box 2 box
|
||||
create_atoms 1 box
|
||||
mass * 1.0
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
region slice block 4 6 INF INF INF INF
|
||||
set region slice type 2
|
||||
region slice block 4 6 INF INF INF INF
|
||||
set region slice type 2
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0 1.0
|
||||
pair_style lj/cut 4.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1
|
||||
|
||||
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
|
||||
fix 2 all deform 1 xy erate 0.01 remap v
|
||||
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
|
||||
fix 2 all deform 1 xy erate 0.01 remap v
|
||||
|
||||
#dump 1 all custom 5000 dump.nemd id type x y z
|
||||
#dump 1 all custom 500 dump.nemd id type x y z
|
||||
|
||||
#dump 2 all image 1000 image.*.jpg type type adiam 1.2
|
||||
#dump_modify 2 pad 5
|
||||
#dump 2 all image 100 image.*.jpg type type adiam 1.2
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 1000 movie.mpg type type adiam 1.2
|
||||
#dump_modify 3 pad 5
|
||||
#dump 3 all movie 100 movie.mpg type type adiam 1.2
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
thermo 1000
|
||||
thermo 50
|
||||
|
||||
run 50000
|
||||
run 1000
|
||||
|
||||
@ -1,137 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 2d NEMD simulation
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
dimension 2
|
||||
|
||||
lattice sq2 0.8442
|
||||
Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
|
||||
region box prism 0 10 0 8 -0.5 0.5 0 0 0
|
||||
create_box 2 box
|
||||
Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 160 atoms
|
||||
Time spent = 0.000332355 secs
|
||||
mass * 1.0
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
region slice block 4 6 INF INF INF INF
|
||||
set region slice type 2
|
||||
40 settings made for type
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0 1.0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1
|
||||
|
||||
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
|
||||
fix 2 all deform 1 xy erate 0.01 remap v
|
||||
|
||||
#dump 1 all custom 5000 dump.nemd id type x y z
|
||||
|
||||
#dump 2 all image 1000 image.*.jpg type type adiam 1.2
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 1000 movie.mpg type type adiam 1.2
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
thermo 1000
|
||||
|
||||
run 50000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.3
|
||||
ghost atom cutoff = 1.3
|
||||
binsize = 0.65, bins = 24 19 3
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton/tri
|
||||
stencil: half/bin/2d/newton/tri
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
0 1.44 0 0 1.431 1.2080502 189.52855
|
||||
1000 1.1326992 0.25863754 0 1.3842573 6.0588079 189.52855
|
||||
2000 0.99104643 0.37634349 0 1.3611959 7.8993387 189.52855
|
||||
3000 1.0749743 0.21908728 0 1.2873429 6.2659517 189.52855
|
||||
4000 1.0986742 0.27147022 0 1.3632777 5.8778262 189.52855
|
||||
5000 1.071838 0.23413372 0 1.2992728 5.9120887 189.52855
|
||||
6000 1.0013194 0.26923671 0 1.2642979 6.2802759 189.52855
|
||||
7000 0.94110685 0.3224557 0 1.2576806 6.1864166 189.52855
|
||||
8000 0.97391513 0.28793383 0 1.255762 6.5071893 189.52855
|
||||
9000 0.95346063 0.31050593 0 1.2580074 6.3321512 189.52855
|
||||
10000 0.96236447 0.26298203 0 1.2193317 6.4083918 189.52855
|
||||
11000 0.9511149 0.27571527 0 1.2208857 6.0949768 189.52855
|
||||
12000 1.0186935 0.18134918 0 1.1936758 5.1269128 189.52855
|
||||
13000 0.96350682 0.23171507 0 1.1892 5.7367267 189.52855
|
||||
14000 0.94740402 0.27357945 0 1.2150622 6.0156532 189.52855
|
||||
15000 0.87951545 0.27745111 0 1.1514696 6.297405 189.52855
|
||||
16000 0.93216196 0.27020559 0 1.1965415 6.6188833 189.52855
|
||||
17000 0.94109936 0.24756193 0 1.1827794 5.8993088 189.52855
|
||||
18000 0.97325239 0.27996398 0 1.2471335 6.1486561 189.52855
|
||||
19000 1.0494686 0.27132686 0 1.3142363 6.6757065 189.52855
|
||||
20000 1.0391862 0.25195457 0 1.2846459 6.143235 189.52855
|
||||
21000 0.96407137 0.27359166 0 1.2316376 5.9577116 189.52855
|
||||
22000 0.97954534 0.31920255 0 1.2926257 6.5320163 189.52855
|
||||
23000 0.97585473 0.24154424 0 1.2112999 6.0839179 189.52855
|
||||
24000 1.0522109 0.1646952 0 1.2103298 5.0388687 189.52855
|
||||
25000 0.93707172 0.25655806 0 1.1877731 5.819887 189.52855
|
||||
26000 0.89798775 0.26629627 0 1.1586716 6.0393558 189.52855
|
||||
27000 0.93259926 0.24542428 0 1.1721948 5.3560986 189.52855
|
||||
28000 0.8428223 0.20784302 0 1.0453977 4.956911 189.52855
|
||||
29000 0.81653505 0.21924932 0 1.030681 5.271501 189.52855
|
||||
30000 0.90157811 0.15070734 0 1.0466506 4.476142 189.52855
|
||||
31000 0.86580039 0.21115151 0 1.0715407 5.0056915 189.52855
|
||||
32000 0.89768096 0.28377249 0 1.1758429 5.8449711 189.52855
|
||||
33000 1.0504011 0.29009694 0 1.333933 6.1319155 189.52855
|
||||
34000 1.2009765 0.19137934 0 1.3848498 4.9643885 189.52855
|
||||
35000 1.208705 0.27071222 0 1.4718628 6.2162389 189.52855
|
||||
36000 1.2211309 0.28389521 0 1.497394 6.5090715 189.52855
|
||||
37000 1.1384381 0.42795547 0 1.5592783 8.5129272 189.52855
|
||||
38000 1.2198334 0.34335732 0 1.5555668 7.2940883 189.52855
|
||||
39000 1.1562045 0.35783089 0 1.5068091 7.340999 189.52855
|
||||
40000 1.2145924 0.28410558 0 1.4911068 6.234986 189.52855
|
||||
41000 1.1240878 0.34663237 0 1.4636946 7.1720193 189.52855
|
||||
42000 1.2491422 0.26815889 0 1.509494 6.1390803 189.52855
|
||||
43000 1.1387564 0.33755832 0 1.4691975 7.0577597 189.52855
|
||||
44000 1.0031598 0.4081807 0 1.4050708 8.2732113 189.52855
|
||||
45000 1.0166213 0.29131017 0 1.3015776 6.1907807 189.52855
|
||||
46000 0.96251302 0.31483519 0 1.2713325 6.6987235 189.52855
|
||||
47000 0.89809294 0.30909884 0 1.2015787 6.3997583 189.52855
|
||||
48000 0.86736217 0.31917648 0 1.1811176 7.1584774 189.52855
|
||||
49000 0.91979053 0.21099403 0 1.1250359 5.4968259 189.52855
|
||||
50000 0.87079959 0.24059333 0 1.1059504 5.6039305 189.52855
|
||||
Loop time of 1.54353 on 1 procs for 50000 steps with 160 atoms
|
||||
|
||||
Performance: 13993916.675 tau/day, 32393.326 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 | 0.20172 | 0.20172 | 0.20172 | 0.0 | 13.07
|
||||
Neigh | 0.16634 | 0.16634 | 0.16634 | 0.0 | 10.78
|
||||
Comm | 0.068928 | 0.068928 | 0.068928 | 0.0 | 4.47
|
||||
Output | 0.00059891 | 0.00059891 | 0.00059891 | 0.0 | 0.04
|
||||
Modify | 1.0123 | 1.0123 | 1.0123 | 0.0 | 65.59
|
||||
Other | | 0.09361 | | | 6.06
|
||||
|
||||
Nlocal: 160 ave 160 max 160 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 73 ave 73 max 73 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 353 ave 353 max 353 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 353
|
||||
Ave neighs/atom = 2.20625
|
||||
Neighbor list builds = 5273
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:01
|
||||
@ -1,137 +0,0 @@
|
||||
LAMMPS (27 Nov 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 2d NEMD simulation
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
dimension 2
|
||||
|
||||
lattice sq2 0.8442
|
||||
Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
|
||||
region box prism 0 10 0 8 -0.5 0.5 0 0 0
|
||||
create_box 2 box
|
||||
Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 160 atoms
|
||||
Time spent = 0.000308275 secs
|
||||
mass * 1.0
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
region slice block 4 6 INF INF INF INF
|
||||
set region slice type 2
|
||||
40 settings made for type
|
||||
|
||||
pair_style lj/cut 2.5
|
||||
pair_coeff * * 1.0 1.0 1.0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1
|
||||
|
||||
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
|
||||
fix 2 all deform 1 xy erate 0.01 remap v
|
||||
|
||||
#dump 1 all custom 5000 dump.nemd id type x y z
|
||||
|
||||
#dump 2 all image 1000 image.*.jpg type type adiam 1.2
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 1000 movie.mpg type type adiam 1.2
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
thermo 1000
|
||||
|
||||
run 50000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.3
|
||||
ghost atom cutoff = 1.3
|
||||
binsize = 0.65, bins = 24 19 3
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton/tri
|
||||
stencil: half/bin/2d/newton/tri
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.062 | 3.062 | 3.062 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
0 1.44 0 0 1.431 1.2080502 189.52855
|
||||
1000 1.1682693 0.24486562 0 1.4058332 5.8092954 189.52855
|
||||
2000 1.0928734 0.27609364 0 1.3621366 6.2237017 189.52855
|
||||
3000 1.09088 0.24816112 0 1.3322231 5.7001547 189.52855
|
||||
4000 1.0110684 0.29868377 0 1.303433 7.3312319 189.52855
|
||||
5000 0.91033678 0.28330698 0 1.1879542 6.1840352 189.52855
|
||||
6000 0.93416074 0.22661127 0 1.1549335 5.3619735 189.52855
|
||||
7000 0.93305734 0.19203739 0 1.1192631 5.2497547 189.52855
|
||||
8000 0.88944438 0.19421381 0 1.0780992 4.9733446 189.52855
|
||||
9000 0.86949257 0.21207681 0 1.0761351 5.4687076 189.52855
|
||||
10000 0.80088203 0.24071142 0 1.0365879 5.334545 189.52855
|
||||
11000 0.88899727 0.19972767 0 1.0831687 4.8832207 189.52855
|
||||
12000 0.93045817 0.17883252 0 1.1034753 4.9081709 189.52855
|
||||
13000 0.9724196 0.19089684 0 1.1572388 5.3460903 189.52855
|
||||
14000 0.93902186 0.25513773 0 1.1882907 6.3338337 189.52855
|
||||
15000 0.91879903 0.31605547 0 1.229112 6.2085671 189.52855
|
||||
16000 0.9860058 0.26863362 0 1.2484769 6.514688 189.52855
|
||||
17000 1.0354756 0.23445357 0 1.2634574 6.1519296 189.52855
|
||||
18000 1.0244774 0.27511827 0 1.2931927 6.2230002 189.52855
|
||||
19000 1.1581216 0.21558936 0 1.3664727 5.5458237 189.52855
|
||||
20000 1.0552168 0.29344488 0 1.3420666 6.4880315 189.52855
|
||||
21000 0.97925435 0.31583414 0 1.2889681 6.7584093 189.52855
|
||||
22000 1.0112494 0.26246834 0 1.2673974 5.4112008 189.52855
|
||||
23000 1.0463332 0.26049752 0 1.3002911 6.1359606 189.52855
|
||||
24000 1.1130319 0.19848564 0 1.3045611 5.7088487 189.52855
|
||||
25000 1.0355662 0.28048951 0 1.3095834 6.4596476 189.52855
|
||||
26000 1.0823932 0.21784218 0 1.2934704 5.106334 189.52855
|
||||
27000 0.99719525 0.32679678 0 1.3177596 6.7399277 189.52855
|
||||
28000 1.0665868 0.25002709 0 1.3099477 6.2732557 189.52855
|
||||
29000 1.0312798 0.30650087 0 1.3313351 7.0581024 189.52855
|
||||
30000 1.0388277 0.29812912 0 1.3304641 6.2533028 189.52855
|
||||
31000 1.0461658 0.21344416 0 1.2530714 5.3631154 189.52855
|
||||
32000 1.0233681 0.27545017 0 1.2924222 5.9612896 189.52855
|
||||
33000 1.1353086 0.20278244 0 1.3309953 5.7619128 189.52855
|
||||
34000 1.0374791 0.29661216 0 1.327607 6.5124409 189.52855
|
||||
35000 1.0752783 0.21684443 0 1.2854022 5.4759171 189.52855
|
||||
36000 1.0383445 0.27068641 0 1.3025412 6.8367218 189.52855
|
||||
37000 0.97341144 0.24034988 0 1.2076775 6.1335996 189.52855
|
||||
38000 0.9285918 0.2737544 0 1.1965425 5.8750327 189.52855
|
||||
39000 0.84869423 0.30079207 0 1.144182 6.8909326 189.52855
|
||||
40000 0.88237131 0.26049171 0 1.1373482 6.3932981 189.52855
|
||||
41000 0.90368591 0.21064132 0 1.1086792 5.5627232 189.52855
|
||||
42000 0.93436749 0.20367569 0 1.1322034 5.1420052 189.52855
|
||||
43000 0.91378588 0.26155533 0 1.16963 6.366756 189.52855
|
||||
44000 0.91673608 0.25967314 0 1.1706796 6.0846334 189.52855
|
||||
45000 1.0233334 0.25463562 0 1.2715732 6.0924255 189.52855
|
||||
46000 0.96184729 0.35422095 0 1.3100567 7.0249175 189.52855
|
||||
47000 1.134079 0.26196034 0 1.3889514 6.3476756 189.52855
|
||||
48000 1.0552136 0.303812 0 1.3524305 6.6968927 189.52855
|
||||
49000 1.1282184 0.2100955 0 1.3312626 5.8658659 189.52855
|
||||
50000 1.0493816 0.31540438 0 1.3582274 6.6348173 189.52855
|
||||
Loop time of 1.09903 on 4 procs for 50000 steps with 160 atoms
|
||||
|
||||
Performance: 19653623.953 tau/day, 45494.500 timesteps/s
|
||||
94.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.057854 | 0.05974 | 0.062726 | 0.7 | 5.44
|
||||
Neigh | 0.047791 | 0.049863 | 0.054819 | 1.3 | 4.54
|
||||
Comm | 0.3581 | 0.38553 | 0.39784 | 2.6 | 35.08
|
||||
Output | 0.001116 | 0.0014414 | 0.0023859 | 1.4 | 0.13
|
||||
Modify | 0.41102 | 0.42642 | 0.4493 | 2.3 | 38.80
|
||||
Other | | 0.176 | | | 16.02
|
||||
|
||||
Nlocal: 40 ave 42 max 39 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
Nghost: 36.5 ave 37 max 36 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 87.5 ave 94 max 81 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 350
|
||||
Ave neighs/atom = 2.1875
|
||||
Neighbor list builds = 5276
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:01
|
||||
111
examples/nemd/log.30Sep24.g++.1
Normal file
111
examples/nemd/log.30Sep24.g++.1
Normal file
@ -0,0 +1,111 @@
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-394-g75f86a68a7-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 2d NEMD simulation
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
dimension 2
|
||||
|
||||
lattice sq2 0.8442
|
||||
Lattice spacing in x,y,z = 1.5391903 1.5391903 1.5391903
|
||||
region box prism 0 10 0 8 -0.5 0.5 0 0 0
|
||||
create_box 2 box
|
||||
Created triclinic box = (0 0 -0.76959516) to (15.391903 12.313523 0.76959516) with tilt (0 0 0)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 160 atoms
|
||||
using lattice units in triclinic box = (0 0 -0.76959516) to (15.391903 12.313523 0.76959516) with tilt (0 0 0)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
mass * 1.0
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
region slice block 4 6 INF INF INF INF
|
||||
set region slice type 2
|
||||
Setting atom values ...
|
||||
40 settings made for type
|
||||
|
||||
pair_style lj/cut 4.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1
|
||||
|
||||
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
|
||||
fix 2 all deform 1 xy erate 0.01 remap v
|
||||
|
||||
#dump 1 all custom 500 dump.nemd id type x y z
|
||||
|
||||
#dump 2 all image 100 image.*.jpg type type adiam 1.2
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 100 movie.mpg type type adiam 1.2
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
thermo 50
|
||||
|
||||
run 1000
|
||||
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 = 4.3
|
||||
ghost atom cutoff = 4.3
|
||||
binsize = 2.15, bins = 8 6 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton/tri
|
||||
stencil: half/bin/2d/tri
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
0 1.44 -2.6548731 0 -1.2238731 1.9354912 189.52855
|
||||
50 0.97904822 -2.1934929 0 -1.2205637 5.0001562 189.52855
|
||||
100 0.96423603 -2.1711413 0 -1.2129318 5.3040025 189.52855
|
||||
150 0.96430794 -2.153062 0 -1.194781 5.3988945 189.52855
|
||||
200 1.056585 -2.2379316 0 -1.1879503 5.0007883 189.52855
|
||||
250 1.0183256 -2.1921531 0 -1.1801921 5.5370076 189.52855
|
||||
300 0.96855552 -2.140465 0 -1.177963 5.7188412 189.52855
|
||||
350 1.0115567 -2.1883272 0 -1.1830927 5.4437104 189.52855
|
||||
400 0.93743103 -2.1230826 0 -1.1915105 5.7059909 189.52855
|
||||
450 1.1120368 -2.3041274 0 -1.1990408 4.646396 189.52855
|
||||
500 0.99611106 -2.2039016 0 -1.2140162 5.1526658 189.52855
|
||||
550 1.1075519 -2.3349751 0 -1.2343453 4.0671355 189.52855
|
||||
600 1.0550783 -2.3126484 0 -1.2641644 4.5423735 189.52855
|
||||
650 0.98516169 -2.2664919 0 -1.2874875 4.8365475 189.52855
|
||||
700 0.97899201 -2.2815136 0 -1.3086403 4.5415389 189.52855
|
||||
750 1.0107776 -2.3375258 0 -1.3330656 4.3655082 189.52855
|
||||
800 0.97711804 -2.3221241 0 -1.3511131 4.2153988 189.52855
|
||||
850 0.8984454 -2.258341 0 -1.3655108 4.6759265 189.52855
|
||||
900 0.85409237 -2.2157566 0 -1.3670024 5.0180073 189.52855
|
||||
950 0.90195434 -2.2500988 0 -1.3537817 4.8189466 189.52855
|
||||
1000 1.0047283 -2.3359434 0 -1.3374947 4.0788763 189.52855
|
||||
Loop time of 0.0331477 on 1 procs for 1000 steps with 160 atoms
|
||||
|
||||
Performance: 13032596.122 tau/day, 30168.047 timesteps/s, 4.827 Matom-step/s
|
||||
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.017584 | 0.017584 | 0.017584 | 0.0 | 53.05
|
||||
Neigh | 0.0080996 | 0.0080996 | 0.0080996 | 0.0 | 24.43
|
||||
Comm | 0.0010864 | 0.0010864 | 0.0010864 | 0.0 | 3.28
|
||||
Output | 9.9819e-05 | 9.9819e-05 | 9.9819e-05 | 0.0 | 0.30
|
||||
Modify | 0.0057062 | 0.0057062 | 0.0057062 | 0.0 | 17.21
|
||||
Other | | 0.0005715 | | | 1.72
|
||||
|
||||
Nlocal: 160 ave 160 max 160 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 271 ave 271 max 271 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 3881 ave 3881 max 3881 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 3881
|
||||
Ave neighs/atom = 24.25625
|
||||
Neighbor list builds = 106
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
111
examples/nemd/log.30Sep24.g++.4
Normal file
111
examples/nemd/log.30Sep24.g++.4
Normal file
@ -0,0 +1,111 @@
|
||||
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-394-g75f86a68a7-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# 2d NEMD simulation
|
||||
|
||||
units lj
|
||||
atom_style atomic
|
||||
dimension 2
|
||||
|
||||
lattice sq2 0.8442
|
||||
Lattice spacing in x,y,z = 1.5391903 1.5391903 1.5391903
|
||||
region box prism 0 10 0 8 -0.5 0.5 0 0 0
|
||||
create_box 2 box
|
||||
Created triclinic box = (0 0 -0.76959516) to (15.391903 12.313523 0.76959516) with tilt (0 0 0)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 160 atoms
|
||||
using lattice units in triclinic box = (0 0 -0.76959516) to (15.391903 12.313523 0.76959516) with tilt (0 0 0)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
mass * 1.0
|
||||
|
||||
velocity all create 1.44 87287 loop geom
|
||||
|
||||
region slice block 4 6 INF INF INF INF
|
||||
set region slice type 2
|
||||
Setting atom values ...
|
||||
40 settings made for type
|
||||
|
||||
pair_style lj/cut 4.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1
|
||||
|
||||
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
|
||||
fix 2 all deform 1 xy erate 0.01 remap v
|
||||
|
||||
#dump 1 all custom 500 dump.nemd id type x y z
|
||||
|
||||
#dump 2 all image 100 image.*.jpg type type adiam 1.2
|
||||
#dump_modify 2 pad 5
|
||||
|
||||
#dump 3 all movie 100 movie.mpg type type adiam 1.2
|
||||
#dump_modify 3 pad 5
|
||||
|
||||
thermo 50
|
||||
|
||||
run 1000
|
||||
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 = 4.3
|
||||
ghost atom cutoff = 4.3
|
||||
binsize = 2.15, bins = 8 6 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton/tri
|
||||
stencil: half/bin/2d/tri
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.064 | 3.064 | 3.064 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press Volume
|
||||
0 1.44 -2.6548731 0 -1.2238731 1.9354912 189.52855
|
||||
50 0.97904822 -2.1934929 0 -1.2205637 5.0001562 189.52855
|
||||
100 0.96423603 -2.1711413 0 -1.2129318 5.3040025 189.52855
|
||||
150 0.96430794 -2.153062 0 -1.194781 5.3988945 189.52855
|
||||
200 1.056585 -2.2379316 0 -1.1879503 5.0007883 189.52855
|
||||
250 1.0183256 -2.1921531 0 -1.1801921 5.5370076 189.52855
|
||||
300 0.96855552 -2.140465 0 -1.177963 5.7188412 189.52855
|
||||
350 1.0115567 -2.1883272 0 -1.1830927 5.4437104 189.52855
|
||||
400 0.93743103 -2.1230826 0 -1.1915105 5.7059909 189.52855
|
||||
450 1.1120368 -2.3041274 0 -1.1990408 4.646396 189.52855
|
||||
500 0.99611106 -2.2039016 0 -1.2140162 5.1526658 189.52855
|
||||
550 1.1075519 -2.3349751 0 -1.2343453 4.0671355 189.52855
|
||||
600 1.0550783 -2.3126484 0 -1.2641644 4.5423735 189.52855
|
||||
650 0.98516169 -2.2664919 0 -1.2874875 4.8365475 189.52855
|
||||
700 0.97899201 -2.2815136 0 -1.3086403 4.5415389 189.52855
|
||||
750 1.0107776 -2.3375258 0 -1.3330656 4.3655082 189.52855
|
||||
800 0.97711804 -2.3221241 0 -1.3511131 4.2153988 189.52855
|
||||
850 0.8984454 -2.258341 0 -1.3655108 4.6759265 189.52855
|
||||
900 0.85409237 -2.2157566 0 -1.3670024 5.0180073 189.52855
|
||||
950 0.90195434 -2.2500988 0 -1.3537817 4.8189466 189.52855
|
||||
1000 1.0047283 -2.3359434 0 -1.3374947 4.0788763 189.52855
|
||||
Loop time of 0.0158907 on 4 procs for 1000 steps with 160 atoms
|
||||
|
||||
Performance: 27185684.597 tau/day, 62929.825 timesteps/s, 10.069 Matom-step/s
|
||||
98.0% 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.0044606 | 0.004562 | 0.0047619 | 0.2 | 28.71
|
||||
Neigh | 0.0023154 | 0.0023979 | 0.002494 | 0.1 | 15.09
|
||||
Comm | 0.0051743 | 0.0054807 | 0.0056638 | 0.3 | 34.49
|
||||
Output | 7.5535e-05 | 8.9889e-05 | 0.00012988 | 0.0 | 0.57
|
||||
Modify | 0.002223 | 0.0023624 | 0.0026372 | 0.3 | 14.87
|
||||
Other | | 0.0009979 | | | 6.28
|
||||
|
||||
Nlocal: 40 ave 42 max 38 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
Nghost: 163.5 ave 166 max 162 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
Neighs: 970.25 ave 1016 max 942 min
|
||||
Histogram: 1 1 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 3881
|
||||
Ave neighs/atom = 24.25625
|
||||
Neighbor list builds = 106
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
@ -100,6 +100,7 @@ MODULE LIBLAMMPS
|
||||
CONTAINS
|
||||
PROCEDURE :: close => lmp_close
|
||||
PROCEDURE :: error => lmp_error
|
||||
PROCEDURE :: expand => lmp_expand
|
||||
PROCEDURE :: file => lmp_file
|
||||
PROCEDURE :: command => lmp_command
|
||||
PROCEDURE :: commands_list => lmp_commands_list
|
||||
@ -410,6 +411,14 @@ MODULE LIBLAMMPS
|
||||
TYPE(c_ptr), VALUE :: error_text
|
||||
END SUBROUTINE lammps_error
|
||||
|
||||
FUNCTION lammps_expand(handle, line) BIND(C)
|
||||
IMPORT :: c_ptr
|
||||
IMPLICIT NONE
|
||||
TYPE(c_ptr), INTENT(IN), VALUE :: handle
|
||||
TYPE(c_ptr), INTENT(IN), VALUE :: line
|
||||
TYPE(c_ptr) :: lammps_expand
|
||||
END FUNCTION lammps_expand
|
||||
|
||||
SUBROUTINE lammps_file(handle, filename) BIND(C)
|
||||
IMPORT :: c_ptr
|
||||
IMPLICIT NONE
|
||||
@ -1107,10 +1116,24 @@ CONTAINS
|
||||
CALL lammps_free(str)
|
||||
END SUBROUTINE lmp_error
|
||||
|
||||
! equivalent function to lammps_expand()
|
||||
FUNCTION lmp_expand(self, line)
|
||||
CLASS(lammps), INTENT(IN) :: self
|
||||
CHARACTER(len=*), INTENT(IN) :: line
|
||||
TYPE(c_ptr) :: str, res
|
||||
CHARACTER(len=:), ALLOCATABLE :: lmp_expand
|
||||
|
||||
str = f2c_string(line)
|
||||
res = lammps_expand(self%handle, str)
|
||||
CALL lammps_free(str)
|
||||
lmp_expand = c2f_string(res)
|
||||
CALL lammps_free(res)
|
||||
END FUNCTION lmp_expand
|
||||
|
||||
! equivalent function to lammps_file()
|
||||
SUBROUTINE lmp_file(self, filename)
|
||||
CLASS(lammps), INTENT(IN) :: self
|
||||
CHARACTER(len=*) :: filename
|
||||
CHARACTER(len=*), INTENT(IN) :: filename
|
||||
TYPE(c_ptr) :: str
|
||||
|
||||
str = f2c_string(filename)
|
||||
@ -1121,7 +1144,7 @@ CONTAINS
|
||||
! equivalent function to lammps_command()
|
||||
SUBROUTINE lmp_command(self, cmd)
|
||||
CLASS(lammps), INTENT(IN) :: self
|
||||
CHARACTER(len=*) :: cmd
|
||||
CHARACTER(len=*), INTENT(IN) :: cmd
|
||||
TYPE(c_ptr) :: str
|
||||
|
||||
str = f2c_string(cmd)
|
||||
@ -1155,7 +1178,7 @@ CONTAINS
|
||||
! equivalent function to lammps_commands_string()
|
||||
SUBROUTINE lmp_commands_string(self, str)
|
||||
CLASS(lammps), INTENT(IN) :: self
|
||||
CHARACTER(len=*) :: str
|
||||
CHARACTER(len=*), INTENT(IN) :: str
|
||||
TYPE(c_ptr) :: tmp
|
||||
|
||||
tmp = f2c_string(str)
|
||||
@ -1173,7 +1196,7 @@ CONTAINS
|
||||
! equivalent function to lammps_get_thermo
|
||||
REAL(c_double) FUNCTION lmp_get_thermo(self,name)
|
||||
CLASS(lammps), INTENT(IN) :: self
|
||||
CHARACTER(LEN=*) :: name
|
||||
CHARACTER(LEN=*), INTENT(IN) :: name
|
||||
TYPE(c_ptr) :: Cname
|
||||
|
||||
Cname = f2c_string(name)
|
||||
@ -1185,7 +1208,7 @@ CONTAINS
|
||||
FUNCTION lmp_last_thermo(self,what,index) RESULT(thermo_data)
|
||||
CLASS(lammps), INTENT(IN), TARGET :: self
|
||||
CHARACTER(LEN=*), INTENT(IN) :: what
|
||||
INTEGER :: index
|
||||
INTEGER, INTENT(IN) :: index
|
||||
INTEGER(c_int) :: idx
|
||||
TYPE(lammps_data) :: thermo_data, type_data
|
||||
INTEGER(c_int) :: datatype
|
||||
|
||||
@ -19,8 +19,8 @@ from __future__ import print_function
|
||||
import os
|
||||
import sys
|
||||
from ctypes import CDLL, POINTER, RTLD_GLOBAL, CFUNCTYPE, py_object, byref, cast, sizeof, \
|
||||
create_string_buffer, c_int, c_int32, c_int64, c_double, c_void_p, c_char_p, pythonapi, \
|
||||
pointer
|
||||
create_string_buffer, c_int, c_int32, c_int64, c_double, c_void_p, c_char_p, c_char, \
|
||||
pythonapi, pointer
|
||||
from os.path import dirname, abspath, join
|
||||
from inspect import getsourcefile
|
||||
|
||||
@ -178,6 +178,9 @@ class lammps(object):
|
||||
|
||||
self.lib.lammps_error.argtypes = [c_void_p, c_int, c_char_p]
|
||||
|
||||
self.lib.lammps_expand.argtypes = [c_void_p, c_char_p]
|
||||
self.lib.lammps_expand.restype = POINTER(c_char)
|
||||
|
||||
self.lib.lammps_file.argtypes = [c_void_p, c_char_p]
|
||||
self.lib.lammps_file.restype = None
|
||||
|
||||
@ -613,6 +616,37 @@ class lammps(object):
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
def expand(self,line):
|
||||
"""Expand a single LAMMPS string like an input line
|
||||
|
||||
This is a wrapper around the :cpp:func:`lammps_expand`
|
||||
function of the C-library interface.
|
||||
|
||||
:param cmd: a single lammps line
|
||||
:type cmd: string
|
||||
:return: expanded string
|
||||
:rtype: string
|
||||
"""
|
||||
if line: newline = line.encode()
|
||||
else: return None
|
||||
|
||||
with ExceptionCheck(self):
|
||||
strptr = self.lib.lammps_expand(self.lmp, newline)
|
||||
rval = strptr[0]
|
||||
if rval == b'\0':
|
||||
rval = None
|
||||
else:
|
||||
i = 1
|
||||
while strptr[i] != b'\0':
|
||||
rval += strptr[i]
|
||||
i = i + 1
|
||||
self.lib.lammps_free(strptr)
|
||||
if rval:
|
||||
return rval.decode('utf-8')
|
||||
|
||||
return None
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
def file(self, path):
|
||||
"""Read LAMMPS commands from a file.
|
||||
|
||||
|
||||
@ -918,15 +918,15 @@ int PairOxdnaExcv::pack_forward_comm(int n, int *list, double *buf,
|
||||
m = 0;
|
||||
for (i = 0; i < n; i++) {
|
||||
j = list[i];
|
||||
buf[m++] = nx[j][0];
|
||||
buf[m++] = nx[j][1];
|
||||
buf[m++] = nx[j][2];
|
||||
buf[m++] = ny[j][0];
|
||||
buf[m++] = ny[j][1];
|
||||
buf[m++] = ny[j][2];
|
||||
buf[m++] = nz[j][0];
|
||||
buf[m++] = nz[j][1];
|
||||
buf[m++] = nz[j][2];
|
||||
buf[m++] = nx[j][0];
|
||||
buf[m++] = nx[j][1];
|
||||
buf[m++] = nx[j][2];
|
||||
buf[m++] = ny[j][0];
|
||||
buf[m++] = ny[j][1];
|
||||
buf[m++] = ny[j][2];
|
||||
buf[m++] = nz[j][0];
|
||||
buf[m++] = nz[j][1];
|
||||
buf[m++] = nz[j][2];
|
||||
}
|
||||
return m;
|
||||
}
|
||||
@ -936,19 +936,18 @@ int PairOxdnaExcv::pack_forward_comm(int n, int *list, double *buf,
|
||||
void PairOxdnaExcv::unpack_forward_comm(int n, int first, double *buf)
|
||||
{
|
||||
int i,m,last;
|
||||
|
||||
m = 0;
|
||||
last = first + n;
|
||||
for (i = first; i < last; i++) {
|
||||
nx[i][0] = buf[m++];
|
||||
nx[i][1] = buf[m++];
|
||||
nx[i][2] = buf[m++];
|
||||
ny[i][0] = buf[m++];
|
||||
ny[i][1] = buf[m++];
|
||||
ny[i][2] = buf[m++];
|
||||
nz[i][0] = buf[m++];
|
||||
nz[i][1] = buf[m++];
|
||||
nz[i][2] = buf[m++];
|
||||
nx[i][0] = buf[m++];
|
||||
nx[i][1] = buf[m++];
|
||||
nx[i][2] = buf[m++];
|
||||
ny[i][0] = buf[m++];
|
||||
ny[i][1] = buf[m++];
|
||||
ny[i][2] = buf[m++];
|
||||
nz[i][0] = buf[m++];
|
||||
nz[i][1] = buf[m++];
|
||||
nz[i][2] = buf[m++];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Martin Svoboda (ICPF, UJEP), Martin Lísal (ICPF, UJEP)
|
||||
Contributing authors: Martin Svoboda (ICPF, UJEP), Martin Lisal (ICPF, UJEP)
|
||||
based on pair style dpd by: Kurt Smith (U Pittsburgh)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Martin Svoboda (ICPF, UJEP), Martin Lísal (ICPF, UJEP)
|
||||
Contributing authors: Martin Svoboda (ICPF, UJEP), Martin Lisal (ICPF, UJEP)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_dpd_ext_tstat.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "boundary_correction.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_BOUNDARY_CORRECTION_H
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_ELECTRODE_KSPACE_H
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_ELECTRODE_MATH_H
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "electrode_matrix.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_ELECTRODE_MATRIX_H
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "electrode_vector.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_ELECTRODE_VECTOR_H
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "ewald_electrode.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef KSPACE_CLASS
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "fix_electrode_conp.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef FIX_CLASS
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "fix_electrode_conq.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef FIX_CLASS
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "fix_electrode_thermo.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef FIX_CLASS
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pppm_electrode.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef KSPACE_CLASS
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "slab_2d.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_SLAB_2D_H
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "slab_dipole.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_SLAB_DIPOLE_H
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "wire_dipole.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meißner (TUHH)
|
||||
Contributing authors: Ludwig Ahrens-Iwers (TUHH), Shern Tee (UQ), Robert Meissner (TUHH)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_WIRE_DIPOLE_H
|
||||
|
||||
@ -163,13 +163,13 @@ FixTTM::FixTTM(LAMMPS *lmp, int narg, char **arg) :
|
||||
|
||||
FixTTM::~FixTTM()
|
||||
{
|
||||
delete [] infile;
|
||||
delete [] outfile;
|
||||
delete[] infile;
|
||||
delete[] outfile;
|
||||
|
||||
delete random;
|
||||
|
||||
delete [] gfactor1;
|
||||
delete [] gfactor2;
|
||||
delete[] gfactor1;
|
||||
delete[] gfactor2;
|
||||
|
||||
memory->destroy(flangevin);
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@ class BondHarmonicShift : public Bond {
|
||||
void write_data(FILE *) override;
|
||||
double single(int, double, int, int, double &) override;
|
||||
void born_matrix(int, double, int, int, double &, double &) override;
|
||||
void *extract(const char *, int &);
|
||||
void *extract(const char *, int &) override;
|
||||
|
||||
protected:
|
||||
double *k, *r0, *r1;
|
||||
|
||||
@ -238,3 +238,16 @@ void BondHarmonicShiftCut::born_matrix(int type, double rsq, int /*i*/, int /*j*
|
||||
du2 = 2 * k[type];
|
||||
if (r > 0.0) du = du2 * dr;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
return ptr to internal members upon request
|
||||
------------------------------------------------------------------------ */
|
||||
|
||||
void *BondHarmonicShiftCut::extract(const char *str, int &dim)
|
||||
{
|
||||
dim = 1;
|
||||
if (strcmp(str, "k") == 0) return (void *) k;
|
||||
if (strcmp(str, "r0") == 0) return (void *) r0;
|
||||
if (strcmp(str, "r1") == 0) return (void *) r1;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -36,6 +36,7 @@ class BondHarmonicShiftCut : public Bond {
|
||||
void write_data(FILE *) override;
|
||||
double single(int, double, int, int, double &) override;
|
||||
void born_matrix(int, double, int, int, double &, double &) override;
|
||||
void *extract(const char *, int &) override;
|
||||
|
||||
protected:
|
||||
double *k, *r0, *r1;
|
||||
|
||||
@ -18,7 +18,7 @@ using namespace LAMMPS_NS;
|
||||
*
|
||||
* Copyright:
|
||||
* (C) 2012 Massachusetts Institute of Technology
|
||||
* (C) 2013 Forschungszentrum Jülich GmbH
|
||||
* (C) 2013 Forschungszentrum Juelich GmbH
|
||||
*
|
||||
* Licence:
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
@ -42,7 +42,7 @@ using namespace LAMMPS_NS;
|
||||
*
|
||||
* Authors:
|
||||
* Steven G. Johnson, Massachusetts Institute of Technology, 2012, core author
|
||||
* Joachim Wuttke, Forschungszentrum Jülich, 2013, package maintainer
|
||||
* Joachim Wuttke, Forschungszentrum Juelich, 2013, package maintainer
|
||||
*
|
||||
* Website:
|
||||
* https://jugit.fz-juelich.de/mlz/libcerf
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Ajinkya Hire (Univ. of Florida),
|
||||
Hendrik Kraß (Univ. of Constance),
|
||||
Hendrik Krass (Univ. of Constance),
|
||||
Matthias Rupp (Luxembourg Institute of Science and Technology),
|
||||
Richard Hennig (Univ of Florida)
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Ajinkya Hire (Univ. of Florida),
|
||||
Hendrik Kraß (Univ. of Constance),
|
||||
Hendrik Krass (Univ. of Constance),
|
||||
Matthias Rupp (Luxembourg Institute of Science and Technology),
|
||||
Richard Hennig (Univ of Florida)
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Dominik Wójt (Wroclaw University of Technology)
|
||||
Contributing author: Dominik Wojt (Wroclaw University of Technology)
|
||||
based on pair_airebo by Ase Henry (MIT)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ FixAtomSwap::FixAtomSwap(LAMMPS *lmp, int narg, char **arg) :
|
||||
|
||||
memory->create(type_list, atom->ntypes, "atom/swap:type_list");
|
||||
memory->create(mu, atom->ntypes + 1, "atom/swap:mu");
|
||||
for (int i = 1; i <= atom->ntypes; i++) mu[i] = 0.0;
|
||||
for (int i = 0; i <= atom->ntypes; i++) mu[i] = 0.0;
|
||||
|
||||
// read options from end of input line
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Sebastian Hütter (OvGU)
|
||||
Contributing author: Sebastian Huetter (OvGU)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "meam.h"
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Sebastian Hütter (OvGU)
|
||||
Contributing author: Sebastian Huetter (OvGU)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "meam.h"
|
||||
|
||||
@ -829,7 +829,7 @@ void MEAM::get_densref(double r, int a, int b, double* rho01, double* rho11, dou
|
||||
case L12:
|
||||
*rho01 = 8 * rhoa01 + 4 * rhoa02;
|
||||
*rho02 = 12 * rhoa01;
|
||||
if (ialloy ==1){
|
||||
if (ialloy == 1) {
|
||||
*rho21 = 8. / 3. * MathSpecial::square(rhoa21 * t2_meam[a] - rhoa22 * t2_meam[b]);
|
||||
denom = 8 * rhoa01 * MathSpecial::square(t2_meam[a]) + 4 * rhoa02 * MathSpecial::square(t2_meam[b]);
|
||||
if (denom > 0.)
|
||||
@ -837,6 +837,7 @@ void MEAM::get_densref(double r, int a, int b, double* rho01, double* rho11, dou
|
||||
} else
|
||||
*rho21 = 8. / 3. * (rhoa21 - rhoa22) * (rhoa21 - rhoa22);
|
||||
if (msmeamflag) {
|
||||
*rho21 = 8. / 3. * (rhoa21 - rhoa22) * (rhoa21 - rhoa22);
|
||||
*rho2m1 = 8. / 3. * (rhoa2m1 - rhoa2m2) * (rhoa2m1 - rhoa2m2);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -547,9 +547,9 @@ void PairMEAM::read_user_meam_file(const std::string &userfile)
|
||||
|
||||
// open user param file on proc 0
|
||||
|
||||
std::shared_ptr<PotentialFileReader> reader;
|
||||
PotentialFileReader *reader = nullptr;
|
||||
|
||||
if (comm->me == 0) reader = std::make_shared<PotentialFileReader>(lmp, userfile, "MEAM");
|
||||
if (comm->me == 0) reader = new PotentialFileReader(lmp, userfile, "MEAM");
|
||||
|
||||
// read settings
|
||||
// pass them one at a time to MEAM package
|
||||
@ -623,6 +623,7 @@ void PairMEAM::read_user_meam_file(const std::string &userfile)
|
||||
keyword, descr[errorflag]);
|
||||
}
|
||||
}
|
||||
if (comm->me == 0) delete reader;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
@ -40,7 +40,7 @@ using namespace FixConst;
|
||||
* Please cite:
|
||||
* Ceriotti, M., More, J., & Manolopoulos, D. E. (2014).
|
||||
* i-PI: A Python interface for ab initio path integral molecular dynamics simulations.
|
||||
* Computer Physics Communications, 185, 1019–1026. doi:10.1016/j.cpc.2013.10.027
|
||||
* Computer Physics Communications, 185, 1019-1026. doi:10.1016/j.cpc.2013.10.027
|
||||
* And see [https://github.com/i-pi/i-pi] to download a version of i-PI
|
||||
******************************************************************************************/
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Pedro Antonio Santos Flórez (UNLV)
|
||||
Contributing author: Pedro Antonio Santos Florez (UNLV)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "mliap_model_nn.h"
|
||||
|
||||
@ -1580,8 +1580,8 @@ double SNA::compute_dsfac(double r, double rcut, double sinner, double dinner)
|
||||
else if (r <= rmin0) sfac_outer = 1.0;
|
||||
else if (r > rcut) sfac_outer = 0.0;
|
||||
else {
|
||||
double rcutfac = MY_PI / (rcut - rmin0);
|
||||
sfac_outer = 0.5 * (cos((r - rmin0) * rcutfac) + 1.0);
|
||||
double rcutfac = MY_PI / (rcut - rmin0);
|
||||
sfac_outer = 0.5 * (cos((r - rmin0) * rcutfac) + 1.0);
|
||||
}
|
||||
|
||||
// calculate sfac_inner
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Ajinkya Hire (Univ. of Florida),
|
||||
Hendrik Kraß (Univ. of Constance),
|
||||
Hendrik Krass (Univ. of Constance),
|
||||
Matthias Rupp (Luxembourg Institute of Science and Technology),
|
||||
Richard Hennig (Univ of Florida)
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Ajinkya Hire (Univ. of Florida),
|
||||
Hendrik Kraß (Univ. of Constance),
|
||||
Hendrik Krass (Univ. of Constance),
|
||||
Matthias Rupp (Luxembourg Institute of Science and Technology),
|
||||
Richard Hennig (Univ of Florida)
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
@ -291,3 +291,15 @@ void AngleCosineSquared::born_matrix(int type, int i1, int i2, int i3, double &d
|
||||
du2 = 2 * k[type];
|
||||
du = du2 * dcostheta;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
return ptr to internal members upon request
|
||||
------------------------------------------------------------------------ */
|
||||
|
||||
void *AngleCosineSquared::extract(const char *str, int &dim)
|
||||
{
|
||||
dim = 1;
|
||||
if (strcmp(str, "k") == 0) return (void *) k;
|
||||
if (strcmp(str, "theta0") == 0) return (void *) theta0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -36,6 +36,7 @@ class AngleCosineSquared : public Angle {
|
||||
void write_data(FILE *) override;
|
||||
double single(int, int, int, int) override;
|
||||
void born_matrix(int type, int i1, int i2, int i3, double &du, double &du2) override;
|
||||
void *extract(const char *, int &) override;
|
||||
|
||||
protected:
|
||||
double *k, *theta0;
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
@ -49,36 +48,31 @@ static const char plumed_default_kernel[] = "PLUMED_KERNEL=" PLUMED_QUOTE(__PLUM
|
||||
using namespace LAMMPS_NS;
|
||||
using namespace FixConst;
|
||||
|
||||
|
||||
FixPlumed::FixPlumed(LAMMPS *lmp, int narg, char **arg) :
|
||||
Fix(lmp, narg, arg),
|
||||
p(nullptr), nlocal(0), gatindex(nullptr), masses(nullptr), charges(nullptr),
|
||||
id_pe(nullptr), id_press(nullptr)
|
||||
Fix(lmp, narg, arg), p(nullptr), nlocal(0), gatindex(nullptr), masses(nullptr),
|
||||
charges(nullptr), id_pe(nullptr), id_press(nullptr)
|
||||
{
|
||||
|
||||
if (!atom->tag_enable)
|
||||
error->all(FLERR,"Fix plumed requires atom tags");
|
||||
if (!atom->tag_enable) error->all(FLERR, "Fix plumed requires atom tags");
|
||||
|
||||
if (atom->tag_consecutive() == 0)
|
||||
error->all(FLERR,"Fix plumed requires consecutive atom IDs");
|
||||
if (atom->tag_consecutive() == 0) error->all(FLERR, "Fix plumed requires consecutive atom IDs");
|
||||
|
||||
if (igroup != 0 && comm->me == 0)
|
||||
error->warning(FLERR,"Fix group for fix plumed is not 'all'. "
|
||||
"Group will be ignored.");
|
||||
error->warning(FLERR, "Fix group for fix plumed is not 'all'. Group will be ignored.");
|
||||
|
||||
#if defined(__PLUMED_DEFAULT_KERNEL)
|
||||
if (getenv("PLUMED_KERNEL") == nullptr)
|
||||
platform::putenv(plumed_default_kernel);
|
||||
if (getenv("PLUMED_KERNEL") == nullptr) platform::putenv(plumed_default_kernel);
|
||||
#endif
|
||||
|
||||
p=new PLMD::Plumed;
|
||||
p = new PLMD::Plumed;
|
||||
|
||||
// Check API version
|
||||
|
||||
int api_version=0;
|
||||
p->cmd("getApiVersion",&api_version);
|
||||
int api_version = 0;
|
||||
p->cmd("getApiVersion", &api_version);
|
||||
if ((api_version < 5) || (api_version > 10))
|
||||
error->all(FLERR,"Incompatible API version for PLUMED in fix plumed. "
|
||||
error->all(FLERR,
|
||||
"Incompatible API version for PLUMED in fix plumed. "
|
||||
"Only Plumed 2.4.x, 2.5.x, 2.6.x, 2.7.x, 2.8.x, 2.9.x are tested and supported.");
|
||||
|
||||
#if !defined(MPI_STUBS)
|
||||
@ -86,21 +80,19 @@ FixPlumed::FixPlumed(LAMMPS *lmp, int narg, char **arg) :
|
||||
// inter-partition communication
|
||||
|
||||
if (universe->existflag == 1) {
|
||||
int me;
|
||||
MPI_Comm inter_comm;
|
||||
MPI_Comm_rank(world,&me);
|
||||
|
||||
// Change MPI_COMM_WORLD to universe->uworld which seems more appropriate
|
||||
|
||||
MPI_Comm_split(universe->uworld,me,0,&inter_comm);
|
||||
p->cmd("GREX setMPIIntracomm",&world);
|
||||
if (me == 0) {
|
||||
MPI_Comm_split(universe->uworld, comm->me, 0, &inter_comm);
|
||||
p->cmd("GREX setMPIIntracomm", &world);
|
||||
if (comm->me == 0) {
|
||||
// The inter-partition communicator is only defined for the root in
|
||||
// each partition (a.k.a. world). This is due to the way in which
|
||||
// it is defined inside plumed.
|
||||
p->cmd("GREX setMPIIntercomm",&inter_comm);
|
||||
p->cmd("GREX setMPIIntercomm", &inter_comm);
|
||||
}
|
||||
p->cmd("GREX init",nullptr);
|
||||
p->cmd("GREX init", nullptr);
|
||||
}
|
||||
|
||||
// The general communicator is independent of the existence of partitions,
|
||||
@ -110,100 +102,103 @@ FixPlumed::FixPlumed(LAMMPS *lmp, int narg, char **arg) :
|
||||
|
||||
// plumed does not know about LAMMPS using the MPI STUBS library and will
|
||||
// fail if this is called under these circumstances
|
||||
p->cmd("setMPIComm",&world);
|
||||
p->cmd("setMPIComm", &world);
|
||||
#endif
|
||||
|
||||
// Set up units
|
||||
// LAMMPS units wrt kj/mol - nm - ps
|
||||
// Set up units
|
||||
|
||||
if (strcmp(update->unit_style,"lj") == 0) {
|
||||
if (strcmp(update->unit_style, "lj") == 0) {
|
||||
// LAMMPS units lj
|
||||
p->cmd("setNaturalUnits");
|
||||
} else {
|
||||
|
||||
// Conversion factor from LAMMPS energy units to kJ/mol (units of PLUMED)
|
||||
|
||||
double energyUnits=1.0;
|
||||
double energyUnits = 1.0;
|
||||
|
||||
// LAMMPS units real :: kcal/mol;
|
||||
|
||||
if (strcmp(update->unit_style,"real") == 0) {
|
||||
energyUnits=4.184;
|
||||
if (strcmp(update->unit_style, "real") == 0) {
|
||||
energyUnits = 4.184;
|
||||
|
||||
// LAMMPS units metal :: eV;
|
||||
|
||||
} else if (strcmp(update->unit_style,"metal") == 0) {
|
||||
energyUnits=96.48530749925792;
|
||||
} else if (strcmp(update->unit_style, "metal") == 0) {
|
||||
energyUnits = 96.48530749925792;
|
||||
|
||||
// LAMMPS units si :: Joule;
|
||||
|
||||
} else if (strcmp(update->unit_style,"si") == 0) {
|
||||
energyUnits=0.001;
|
||||
} else if (strcmp(update->unit_style, "si") == 0) {
|
||||
energyUnits = 0.001;
|
||||
|
||||
// LAMMPS units cgs :: erg;
|
||||
|
||||
} else if (strcmp(update->unit_style,"cgs") == 0) {
|
||||
energyUnits=6.0221418e13;
|
||||
} else if (strcmp(update->unit_style, "cgs") == 0) {
|
||||
energyUnits = 6.0221418e13;
|
||||
|
||||
// LAMMPS units electron :: Hartree;
|
||||
|
||||
} else if (strcmp(update->unit_style,"electron") == 0) {
|
||||
energyUnits=2625.5257;
|
||||
} else if (strcmp(update->unit_style, "electron") == 0) {
|
||||
energyUnits = 2625.5257;
|
||||
|
||||
} else error->all(FLERR,"Fix plumed cannot handle your choice of units");
|
||||
} else
|
||||
error->all(FLERR, "Fix plumed cannot handle {} units", update->unit_style);
|
||||
|
||||
// Conversion factor from LAMMPS length units to nm (units of PLUMED)
|
||||
|
||||
double lengthUnits=0.1/force->angstrom;
|
||||
double lengthUnits = 0.1 / force->angstrom;
|
||||
|
||||
// Conversion factor from LAMMPS time unit to ps (units of PLUMED)
|
||||
|
||||
double timeUnits=0.001/force->femtosecond;
|
||||
double timeUnits = 0.001 / force->femtosecond;
|
||||
|
||||
p->cmd("setMDEnergyUnits",&energyUnits);
|
||||
p->cmd("setMDLengthUnits",&lengthUnits);
|
||||
p->cmd("setMDTimeUnits",&timeUnits);
|
||||
p->cmd("setMDEnergyUnits", &energyUnits);
|
||||
p->cmd("setMDLengthUnits", &lengthUnits);
|
||||
p->cmd("setMDTimeUnits", &timeUnits);
|
||||
}
|
||||
|
||||
// Read fix parameters:
|
||||
|
||||
int next=0;
|
||||
for (int i=3;i<narg;++i) {
|
||||
if (!strcmp(arg[i],"outfile")) {
|
||||
next=1;
|
||||
} else if (next==1) {
|
||||
int next = 0;
|
||||
for (int i = 3; i < narg; ++i) {
|
||||
if (!strcmp(arg[i], "outfile")) {
|
||||
next = 1;
|
||||
} else if (next == 1) {
|
||||
if (universe->existflag == 1) {
|
||||
// Each replica writes an independent log file
|
||||
// with suffix equal to the replica id
|
||||
p->cmd("setLogFile",fmt::format("{}.{}",arg[i],universe->iworld).c_str());
|
||||
next=0;
|
||||
p->cmd("setLogFile", fmt::format("{}.{}", arg[i], universe->iworld).c_str());
|
||||
next = 0;
|
||||
} else {
|
||||
// partition option not used
|
||||
p->cmd("setLogFile",arg[i]);
|
||||
next=0;
|
||||
p->cmd("setLogFile", arg[i]);
|
||||
next = 0;
|
||||
}
|
||||
} else if (!strcmp(arg[i],"plumedfile")) {
|
||||
next=2;
|
||||
} else if (next==2) {
|
||||
p->cmd("setPlumedDat",arg[i]);
|
||||
next=0;
|
||||
} else error->all(FLERR,"Syntax error - use 'fix <fix-ID> plumed "
|
||||
"plumedfile plumed.dat outfile plumed.out' ");
|
||||
} else if (!strcmp(arg[i], "plumedfile")) {
|
||||
next = 2;
|
||||
} else if (next == 2) {
|
||||
p->cmd("setPlumedDat", arg[i]);
|
||||
next = 0;
|
||||
} else
|
||||
error->all(FLERR,
|
||||
"Syntax error - use 'fix <fix-ID> plumed "
|
||||
"plumedfile plumed.dat outfile plumed.out' ");
|
||||
}
|
||||
if (next==1) error->all(FLERR,"missing argument for outfile option");
|
||||
if (next==2) error->all(FLERR,"missing argument for plumedfile option");
|
||||
if (next == 1) error->all(FLERR, "missing argument for outfile option");
|
||||
if (next == 2) error->all(FLERR, "missing argument for plumedfile option");
|
||||
|
||||
p->cmd("setMDEngine","LAMMPS");
|
||||
p->cmd("setMDEngine", "LAMMPS");
|
||||
|
||||
if (atom->natoms > MAXSMALLINT)
|
||||
error->all(FLERR,"Fix plumed can only handle up to 2.1 billion atoms");
|
||||
error->all(FLERR, "Fix plumed can only handle up to 2.1 billion atoms");
|
||||
|
||||
natoms=int(atom->natoms);
|
||||
p->cmd("setNatoms",&natoms);
|
||||
natoms = int(atom->natoms);
|
||||
p->cmd("setNatoms", &natoms);
|
||||
|
||||
double dt=update->dt;
|
||||
p->cmd("setTimestep",&dt);
|
||||
double dt = update->dt;
|
||||
p->cmd("setTimestep", &dt);
|
||||
|
||||
extscalar = 1;
|
||||
scalar_flag = 1;
|
||||
@ -224,27 +219,24 @@ FixPlumed::FixPlumed(LAMMPS *lmp, int narg, char **arg) :
|
||||
id_press = utils::strdup("plmd_press");
|
||||
c_press = modify->add_compute(std::string(id_press) + " all pressure NULL virial");
|
||||
|
||||
for (int i = 0; i < modify->nfix; i++) {
|
||||
const char * const check_style = modify->fix[i]->style;
|
||||
for (const auto &fix : modify->get_fix_list()) {
|
||||
const char *const check_style = fix->style;
|
||||
|
||||
// There must be only one
|
||||
|
||||
if (strcmp(check_style,"plumed") == 0)
|
||||
error->all(FLERR,"There must be only one instance of fix plumed");
|
||||
if (strcmp(check_style, "plumed") == 0)
|
||||
error->all(FLERR, "There must be only one instance of fix plumed");
|
||||
|
||||
// Avoid conflict with fixes that define internal pressure computes.
|
||||
// See comment in the setup method
|
||||
|
||||
if (utils::strmatch(check_style,"^nph") ||
|
||||
utils::strmatch(check_style,"^npt") ||
|
||||
utils::strmatch(check_style,"^rigid/nph") ||
|
||||
utils::strmatch(check_style,"^rigid/npt") ||
|
||||
utils::strmatch(check_style,"^msst") ||
|
||||
utils::strmatch(check_style,"^nphug") ||
|
||||
utils::strmatch(check_style,"^ipi") ||
|
||||
utils::strmatch(check_style,"^press/berendsen") ||
|
||||
utils::strmatch(check_style,"^qbmsst"))
|
||||
error->all(FLERR,"Fix plumed must be defined before any other fixes, "
|
||||
if (utils::strmatch(check_style, "^nph") || utils::strmatch(check_style, "^npt") ||
|
||||
utils::strmatch(check_style, "^rigid/nph") || utils::strmatch(check_style, "^rigid/npt") ||
|
||||
utils::strmatch(check_style, "^msst") || utils::strmatch(check_style, "^nphug") ||
|
||||
utils::strmatch(check_style, "^ipi") || utils::strmatch(check_style, "^press/berendsen") ||
|
||||
utils::strmatch(check_style, "^qbmsst"))
|
||||
error->all(FLERR,
|
||||
"Fix plumed must be defined before any other fixes, "
|
||||
"that compute pressure internally");
|
||||
}
|
||||
}
|
||||
@ -273,13 +265,13 @@ int FixPlumed::setmask()
|
||||
|
||||
void FixPlumed::init()
|
||||
{
|
||||
if (utils::strmatch(update->integrate_style,"^respa"))
|
||||
if (utils::strmatch(update->integrate_style, "^respa"))
|
||||
nlevels_respa = ((Respa *) update->integrate)->nlevels;
|
||||
|
||||
// This avoids nan pressure if compute_pressure is called
|
||||
// in a setup method
|
||||
|
||||
for (int i=0;i<6;i++) virial[i] = 0.;
|
||||
for (int i = 0; i < 6; i++) virial[i] = 0.;
|
||||
}
|
||||
|
||||
void FixPlumed::setup(int vflag)
|
||||
@ -293,10 +285,10 @@ void FixPlumed::setup(int vflag)
|
||||
// has to be executed first. This creates a race condition with the
|
||||
// setup method of fix_nh. This is why in the constructor I check if
|
||||
// nh fixes have already been called.
|
||||
if (utils::strmatch(update->integrate_style,"^respa")) {
|
||||
((Respa *) update->integrate)->copy_flevel_f(nlevels_respa-1);
|
||||
post_force_respa(vflag,nlevels_respa-1,0);
|
||||
((Respa *) update->integrate)->copy_f_flevel(nlevels_respa-1);
|
||||
if (utils::strmatch(update->integrate_style, "^respa")) {
|
||||
((Respa *) update->integrate)->copy_flevel_f(nlevels_respa - 1);
|
||||
post_force_respa(vflag, nlevels_respa - 1, 0);
|
||||
((Respa *) update->integrate)->copy_f_flevel(nlevels_respa - 1);
|
||||
} else {
|
||||
post_force(vflag);
|
||||
}
|
||||
@ -312,11 +304,10 @@ void FixPlumed::min_setup(int vflag)
|
||||
void FixPlumed::post_force(int /* vflag */)
|
||||
{
|
||||
|
||||
int update_gatindex=0;
|
||||
int update_gatindex = 0;
|
||||
|
||||
if (natoms != int(atom->natoms))
|
||||
error->all(FLERR,"Fix plumed does not support simulations with varying "
|
||||
"numbers of atoms");
|
||||
error->all(FLERR, "Fix plumed does not support simulations with varying numbers of atoms");
|
||||
|
||||
// Try to find out if the domain decomposition has been updated:
|
||||
|
||||
@ -326,95 +317,97 @@ void FixPlumed::post_force(int /* vflag */)
|
||||
delete[] masses;
|
||||
delete[] gatindex;
|
||||
|
||||
nlocal=atom->nlocal;
|
||||
gatindex=new int [nlocal];
|
||||
masses=new double [nlocal];
|
||||
charges=new double [nlocal];
|
||||
update_gatindex=1;
|
||||
nlocal = atom->nlocal;
|
||||
gatindex = new int[nlocal];
|
||||
masses = new double[nlocal];
|
||||
charges = new double[nlocal];
|
||||
update_gatindex = 1;
|
||||
|
||||
} else {
|
||||
|
||||
for (int i=0;i<nlocal;i++) {
|
||||
if (gatindex[i]!=atom->tag[i]-1) {
|
||||
update_gatindex=1;
|
||||
for (int i = 0; i < nlocal; i++) {
|
||||
if (gatindex[i] != atom->tag[i] - 1) {
|
||||
update_gatindex = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
MPI_Allreduce(MPI_IN_PLACE,&update_gatindex,1,MPI_INT,MPI_SUM,world);
|
||||
MPI_Allreduce(MPI_IN_PLACE, &update_gatindex, 1, MPI_INT, MPI_SUM, world);
|
||||
|
||||
// In case it has been updated, rebuild the local mass/charges array
|
||||
// and tell plumed about the change:
|
||||
|
||||
if (update_gatindex) {
|
||||
for (int i=0;i<nlocal;i++) gatindex[i]=atom->tag[i]-1;
|
||||
for (int i = 0; i < nlocal; i++) gatindex[i] = atom->tag[i] - 1;
|
||||
// Get masses
|
||||
if (atom->rmass_flag) {
|
||||
for (int i=0;i<nlocal;i++) masses[i]=atom->rmass[i];
|
||||
for (int i = 0; i < nlocal; i++) masses[i] = atom->rmass[i];
|
||||
} else {
|
||||
for (int i=0;i<nlocal;i++) masses[i]=atom->mass[atom->type[i]];
|
||||
for (int i = 0; i < nlocal; i++) masses[i] = atom->mass[atom->type[i]];
|
||||
}
|
||||
// Get charges
|
||||
if (atom->q_flag) {
|
||||
for (int i=0;i<nlocal;i++) charges[i]=atom->q[i];
|
||||
for (int i = 0; i < nlocal; i++) charges[i] = atom->q[i];
|
||||
} else {
|
||||
for (int i=0;i<nlocal;i++) charges[i]=0.0;
|
||||
for (int i = 0; i < nlocal; i++) charges[i] = 0.0;
|
||||
}
|
||||
p->cmd("setAtomsNlocal",&nlocal);
|
||||
p->cmd("setAtomsGatindex",gatindex);
|
||||
p->cmd("setAtomsNlocal", &nlocal);
|
||||
p->cmd("setAtomsGatindex", gatindex);
|
||||
}
|
||||
|
||||
|
||||
// set up local virial/box. plumed uses full 3x3 matrices
|
||||
double plmd_virial[3][3];
|
||||
for (int i=0;i<3;i++) for (int j=0;j<3;j++) plmd_virial[i][j]=0.0;
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int j = 0; j < 3; j++) plmd_virial[i][j] = 0.0;
|
||||
double box[3][3];
|
||||
for (int i=0;i<3;i++) for (int j=0;j<3;j++) box[i][j]=0.0;
|
||||
box[0][0]=domain->h[0];
|
||||
box[1][1]=domain->h[1];
|
||||
box[2][2]=domain->h[2];
|
||||
box[2][1]=domain->h[3];
|
||||
box[2][0]=domain->h[4];
|
||||
box[1][0]=domain->h[5];
|
||||
for (int i = 0; i < 3; i++)
|
||||
for (int j = 0; j < 3; j++) box[i][j] = 0.0;
|
||||
box[0][0] = domain->h[0];
|
||||
box[1][1] = domain->h[1];
|
||||
box[2][2] = domain->h[2];
|
||||
box[2][1] = domain->h[3];
|
||||
box[2][0] = domain->h[4];
|
||||
box[1][0] = domain->h[5];
|
||||
|
||||
// Make initial of virial of this fix zero
|
||||
// The following line is very important, otherwise
|
||||
// the compute pressure will include
|
||||
for (int i=0;i<6;++i) virial[i] = 0.;
|
||||
for (int i = 0; i < 6; ++i) virial[i] = 0.;
|
||||
|
||||
// local variable with timestep:
|
||||
if (update->ntimestep > MAXSMALLINT)
|
||||
error->all(FLERR,"Fix plumed can only handle up to 2.1 billion timesteps");
|
||||
int step=int(update->ntimestep);
|
||||
error->all(FLERR, "Fix plumed can only handle up to 2.1 billion timesteps");
|
||||
int step = int(update->ntimestep);
|
||||
|
||||
// pass all pointers to plumed:
|
||||
p->cmd("setStep",&step);
|
||||
int plumedStopCondition=0;
|
||||
p->cmd("setStopFlag",&plumedStopCondition);
|
||||
p->cmd("setPositions",&atom->x[0][0]);
|
||||
p->cmd("setBox",&box[0][0]);
|
||||
p->cmd("setForces",&atom->f[0][0]);
|
||||
p->cmd("setMasses",&masses[0]);
|
||||
p->cmd("setCharges",&charges[0]);
|
||||
p->cmd("getBias",&bias);
|
||||
p->cmd("setStep", &step);
|
||||
int plumedStopCondition = 0;
|
||||
p->cmd("setStopFlag", &plumedStopCondition);
|
||||
p->cmd("setPositions", &atom->x[0][0]);
|
||||
p->cmd("setBox", &box[0][0]);
|
||||
p->cmd("setForces", &atom->f[0][0]);
|
||||
p->cmd("setMasses", &masses[0]);
|
||||
p->cmd("setCharges", &charges[0]);
|
||||
p->cmd("getBias", &bias);
|
||||
|
||||
// Pass virial to plumed
|
||||
// If energy is needed plmd_virial is equal to LAMMPS' virial
|
||||
// If energy is not needed plmd_virial is initialized to zero
|
||||
// In the first case the virial will be rescaled and an extra term will be added
|
||||
// In the latter case only an extra term will be added
|
||||
p->cmd("setVirial",&plmd_virial[0][0]);
|
||||
p->cmd("setVirial", &plmd_virial[0][0]);
|
||||
p->cmd("prepareCalc");
|
||||
|
||||
plumedNeedsEnergy=0;
|
||||
p->cmd("isEnergyNeeded",&plumedNeedsEnergy);
|
||||
plumedNeedsEnergy = 0;
|
||||
p->cmd("isEnergyNeeded", &plumedNeedsEnergy);
|
||||
|
||||
// Pass potential energy and virial if needed
|
||||
double *virial_lmp;
|
||||
if (plumedNeedsEnergy) {
|
||||
// Error if tail corrections are included
|
||||
if (force->pair && force->pair->tail_flag && comm->me == 0)
|
||||
error->warning(FLERR,"Tail corrections to the pair potential included."
|
||||
error->warning(FLERR,
|
||||
"Tail corrections to the pair potential included."
|
||||
" The energy cannot be biased correctly in this case."
|
||||
" Remove the tail corrections by removing the"
|
||||
" command: pair_modify tail yes");
|
||||
@ -426,20 +419,18 @@ void FixPlumed::post_force(int /* vflag */)
|
||||
|
||||
// Divide energy by number of processes
|
||||
// Plumed wants it this way
|
||||
int nprocs;
|
||||
MPI_Comm_size(world,&nprocs);
|
||||
pot_energy /= nprocs;
|
||||
p->cmd("setEnergy",&pot_energy);
|
||||
pot_energy /= comm->nprocs;
|
||||
p->cmd("setEnergy", &pot_energy);
|
||||
|
||||
// Compute pressure due to the virial (no kinetic energy term!)
|
||||
c_press->compute_vector();
|
||||
virial_lmp = c_press->vector;
|
||||
|
||||
// Check if pressure is finite
|
||||
if (!std::isfinite(virial_lmp[0]) || !std::isfinite(virial_lmp[1])
|
||||
|| !std::isfinite(virial_lmp[2]) || !std::isfinite(virial_lmp[3])
|
||||
|| !std::isfinite(virial_lmp[4]) || !std::isfinite(virial_lmp[5]))
|
||||
error->all(FLERR,"Non-numeric virial - Plumed cannot work with that");
|
||||
if (!std::isfinite(virial_lmp[0]) || !std::isfinite(virial_lmp[1]) ||
|
||||
!std::isfinite(virial_lmp[2]) || !std::isfinite(virial_lmp[3]) ||
|
||||
!std::isfinite(virial_lmp[4]) || !std::isfinite(virial_lmp[5]))
|
||||
error->all(FLERR, "Non-numeric virial - Plumed cannot work with that");
|
||||
|
||||
// Convert pressure to virial per number of MPI processes
|
||||
// From now on all virials are divided by the number of MPI processes
|
||||
@ -451,14 +442,14 @@ void FixPlumed::post_force(int /* vflag */)
|
||||
} else {
|
||||
inv_volume = 1.0 / (domain->xprd * domain->yprd);
|
||||
}
|
||||
for (int i=0;i<6;i++) virial_lmp[i] /= (inv_volume * nktv2p * nprocs);
|
||||
for (int i = 0; i < 6; i++) virial_lmp[i] /= (inv_volume * nktv2p * comm->nprocs);
|
||||
// Convert virial from lammps to plumed representation
|
||||
plmd_virial[0][0]=-virial_lmp[0];
|
||||
plmd_virial[1][1]=-virial_lmp[1];
|
||||
plmd_virial[2][2]=-virial_lmp[2];
|
||||
plmd_virial[0][1]=-virial_lmp[3];
|
||||
plmd_virial[0][2]=-virial_lmp[4];
|
||||
plmd_virial[1][2]=-virial_lmp[5];
|
||||
plmd_virial[0][0] = -virial_lmp[0];
|
||||
plmd_virial[1][1] = -virial_lmp[1];
|
||||
plmd_virial[2][2] = -virial_lmp[2];
|
||||
plmd_virial[0][1] = -virial_lmp[3];
|
||||
plmd_virial[0][2] = -virial_lmp[4];
|
||||
plmd_virial[1][2] = -virial_lmp[5];
|
||||
}
|
||||
// do the real calculation:
|
||||
p->cmd("performCalc");
|
||||
@ -472,12 +463,12 @@ void FixPlumed::post_force(int /* vflag */)
|
||||
// The calculation of the pressure will be done by a compute pressure
|
||||
// and will include this contribution.
|
||||
if (plumedNeedsEnergy) {
|
||||
virial[0] = -plmd_virial[0][0]-virial_lmp[0];
|
||||
virial[1] = -plmd_virial[1][1]-virial_lmp[1];
|
||||
virial[2] = -plmd_virial[2][2]-virial_lmp[2];
|
||||
virial[3] = -plmd_virial[0][1]-virial_lmp[3];
|
||||
virial[4] = -plmd_virial[0][2]-virial_lmp[4];
|
||||
virial[5] = -plmd_virial[1][2]-virial_lmp[5];
|
||||
virial[0] = -plmd_virial[0][0] - virial_lmp[0];
|
||||
virial[1] = -plmd_virial[1][1] - virial_lmp[1];
|
||||
virial[2] = -plmd_virial[2][2] - virial_lmp[2];
|
||||
virial[3] = -plmd_virial[0][1] - virial_lmp[3];
|
||||
virial[4] = -plmd_virial[0][2] - virial_lmp[4];
|
||||
virial[5] = -plmd_virial[1][2] - virial_lmp[5];
|
||||
} else {
|
||||
virial[0] = -plmd_virial[0][0];
|
||||
virial[1] = -plmd_virial[1][1];
|
||||
@ -491,13 +482,13 @@ void FixPlumed::post_force(int /* vflag */)
|
||||
// such that the virial and energy are tallied.
|
||||
// This should be changed to something that triggers the
|
||||
// calculation only if plumed needs it.
|
||||
c_pe->addstep(update->ntimestep+1);
|
||||
c_press->addstep(update->ntimestep+1);
|
||||
c_pe->addstep(update->ntimestep + 1);
|
||||
c_press->addstep(update->ntimestep + 1);
|
||||
}
|
||||
|
||||
void FixPlumed::post_force_respa(int vflag, int ilevel, int /* iloop */)
|
||||
{
|
||||
if (ilevel == nlevels_respa-1) post_force(vflag);
|
||||
if (ilevel == nlevels_respa - 1) post_force(vflag);
|
||||
}
|
||||
|
||||
void FixPlumed::min_post_force(int vflag)
|
||||
@ -507,7 +498,7 @@ void FixPlumed::min_post_force(int vflag)
|
||||
|
||||
void FixPlumed::reset_dt()
|
||||
{
|
||||
error->all(FLERR,"Cannot change the time step when fix plumed is active");
|
||||
error->all(FLERR, "Fix plumed is not compatible with changing the timestep");
|
||||
}
|
||||
|
||||
double FixPlumed::compute_scalar()
|
||||
@ -517,35 +508,36 @@ double FixPlumed::compute_scalar()
|
||||
|
||||
int FixPlumed::modify_param(int narg, char **arg)
|
||||
{
|
||||
if (strcmp(arg[0],"pe") == 0) {
|
||||
if (narg < 2) error->all(FLERR,"Illegal fix_modify command");
|
||||
if (strcmp(arg[0], "pe") == 0) {
|
||||
if (narg < 2) error->all(FLERR, "Fix_modify pe requires an argument");
|
||||
modify->delete_compute(id_pe);
|
||||
delete[] id_pe;
|
||||
id_pe = utils::strdup(arg[1]);
|
||||
|
||||
c_pe = modify->get_compute_by_id(id_pe);
|
||||
if (!c_pe) error->all(FLERR,"Could not find fix_modify potential energy ID {}", id_pe);
|
||||
if (!c_pe) error->all(FLERR, "Could not find fix_modify potential energy ID {}", id_pe);
|
||||
|
||||
if (c_pe->peflag == 0)
|
||||
error->all(FLERR,"Fix_modify compute pe ID {} does not compute potential energy", id_pe);
|
||||
error->all(FLERR, "Fix_modify compute pe ID {} does not compute potential energy", id_pe);
|
||||
if (c_pe->igroup != 0 && comm->me == 0)
|
||||
error->warning(FLERR,"Potential energy compute {} for fix PLUMED is not for group all", id_pe);
|
||||
error->warning(FLERR, "Potential energy compute {} for fix PLUMED is not for group all",
|
||||
id_pe);
|
||||
|
||||
return 2;
|
||||
|
||||
} else if (strcmp(arg[0],"press") == 0) {
|
||||
if (narg < 2) error->all(FLERR,"Illegal fix_modify command");
|
||||
} else if (strcmp(arg[0], "press") == 0) {
|
||||
if (narg < 2) error->all(FLERR, "Fix_modify press requires an argument");
|
||||
modify->delete_compute(id_press);
|
||||
delete[] id_press;
|
||||
id_press = utils::strdup(arg[1]);
|
||||
|
||||
c_press = modify->get_compute_by_id(id_press);
|
||||
if (!c_press) error->all(FLERR,"Could not find fix_modify compute pressure ID {}", id_press);
|
||||
if (!c_press) error->all(FLERR, "Could not find fix_modify compute pressure ID {}", id_press);
|
||||
|
||||
if (c_press->pressflag == 0)
|
||||
error->all(FLERR,"Fix_modify compute pressure ID {} does not compute pressure", id_press);
|
||||
error->all(FLERR, "Fix_modify compute pressure ID {} does not compute pressure", id_press);
|
||||
if (c_press->igroup != 0 && comm->me == 0)
|
||||
error->warning(FLERR,"Virial for fix PLUMED is not for group all");
|
||||
error->warning(FLERR, "Virial for fix PLUMED is not for group all");
|
||||
|
||||
return 2;
|
||||
}
|
||||
@ -554,5 +546,5 @@ int FixPlumed::modify_param(int narg, char **arg)
|
||||
|
||||
double FixPlumed::memory_usage()
|
||||
{
|
||||
return double((8+8+4)*atom->nlocal);
|
||||
return double((8 + 8 + 4) * atom->nlocal);
|
||||
}
|
||||
|
||||
@ -844,7 +844,7 @@ void FixBondReact::init_list(int /*id*/, NeighList *ptr)
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Identify all pairs of potentially reactive atoms for this time step.
|
||||
This function is modified from LAMMPS’ fix bond/create.
|
||||
This function is modified from LAMMPS' fix bond/create.
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
void FixBondReact::post_integrate()
|
||||
|
||||
@ -127,9 +127,9 @@ void ComputeRHEOSurface::compute_peratom()
|
||||
size_t nbytes = nmax_store * sizeof(double);
|
||||
memset(&divr[0], 0, nbytes);
|
||||
memset(&rsurface[0], 0, nbytes);
|
||||
memset(&nsurface[0][0], 0, dim * nbytes);
|
||||
memset(&gradC[0][0], 0, dim * dim * nbytes);
|
||||
memset(&B[0][0], 0, dim * dim * nbytes);
|
||||
memset(&nsurface[0][0], 0, nbytes * dim);
|
||||
memset(&gradC[0][0], 0, nbytes * dim * dim);
|
||||
memset(&B[0][0], 0, nbytes * dim * dim);
|
||||
|
||||
// loop over neighbors to calculate the average orientation of neighbors
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
|
||||
@ -55,7 +55,7 @@ static const char cite_rheo_oxide[] =
|
||||
FixRHEOOxidation::FixRHEOOxidation(LAMMPS *lmp, int narg, char **arg) :
|
||||
Fix(lmp, narg, arg), compute_surface(nullptr), fix_rheo(nullptr)
|
||||
{
|
||||
if (narg != 6) error->all(FLERR, "Illegal fix command");
|
||||
if (narg != 6) error->all(FLERR, "Illegal fix rheo/oxidation command");
|
||||
|
||||
force_reneighbor = 1;
|
||||
next_reneighbor = -1;
|
||||
@ -69,7 +69,7 @@ FixRHEOOxidation::FixRHEOOxidation(LAMMPS *lmp, int narg, char **arg) :
|
||||
error->all(FLERR, "Illegal value {} for bond type in fix rheo/oxidation", btype);
|
||||
|
||||
rsurf = utils::numeric(FLERR, arg[5], false, lmp);
|
||||
if (rsurf <= 0.0) error->all(FLERR, "Illegal surface distance {} in fix rheo/oxidation", cut);
|
||||
if (rsurf <= 0.0) error->all(FLERR, "Illegal surface distance {} in fix rheo/oxidation", rsurf);
|
||||
|
||||
cutsq = cut * cut;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
The SMTBQ code has been developed with the financial support of CNRS and
|
||||
of the Regional Council of Burgundy (Convention n¡ 2010-9201AAO037S03129)
|
||||
of the Regional Council of Burgundy (Convention No 2010-9201AAO037S03129)
|
||||
|
||||
Copyright (2015)
|
||||
Universite de Bourgogne : Nicolas SALLES, Olivier POLITANO
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
Contact: Nicolas Salles <nsalles33@gmail.com>
|
||||
Olivier Politano <olivier.politano@u-bourgogne.fr>
|
||||
Robert Tétot <robert.tetot@universite-paris-saclay.fr>
|
||||
Robert Tetot <robert.tetot@universite-paris-saclay.fr>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License as
|
||||
@ -895,7 +895,7 @@ void PairSMTBQ::compute(int eflag, int vflag)
|
||||
3 -> Short int. Ox-Ox
|
||||
4 -> Short int. SMTB (repulsion)
|
||||
5 -> Covalent energy SMTB
|
||||
6 -> Somme des Q(i)²
|
||||
6 -> Sum over Q(i)**2
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* -------------- N-body forces Calcul --------------- */
|
||||
@ -2980,9 +2980,6 @@ void PairSMTBQ::groupQEqAllParallel_QEq()
|
||||
|
||||
ngp = igp = 0; nelt[ngp] = 0;
|
||||
|
||||
// On prend un oxygène
|
||||
// printf ("[me %d] On prend un oxygene\n",me);
|
||||
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
i = ilist[ii] ; itype = map[type[i]];
|
||||
if (itype != 0 || flag_QEq[i] == 0) continue;
|
||||
|
||||
@ -292,7 +292,7 @@ double PairSPHLJ::init_one(int i, int j)
|
||||
/* --------------------------------------------------------------------------------------------- */
|
||||
/* Lennard-Jones EOS,
|
||||
Francis H. Ree
|
||||
"Analytic representation of thermodynamic data for the Lennard‐Jones fluid",
|
||||
Analytic representation of thermodynamic data for the Lennard-Jones fluid,
|
||||
Journal of Chemical Physics 73 pp. 5401-5403 (1980)
|
||||
*/
|
||||
|
||||
@ -331,7 +331,7 @@ void PairSPHLJ::LJEOS2(double rho, double e, double cv, double *p, double *c)
|
||||
|
||||
/* ------------------------------------------------------------------------------ */
|
||||
|
||||
/* Jirí Kolafa, Ivo Nezbeda
|
||||
/* Jiri Kolafa, Ivo Nezbeda
|
||||
* "The Lennard-Jones fluid: an accurate analytic and theoretically-based equation of state",
|
||||
* Fluid Phase Equilibria 100 pp. 1-34 (1994) */
|
||||
/*double PairSPHLJ::LJEOS2(double rho, double e, double cv) {
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
Contributing authors: Julien Tranchida (SNL)
|
||||
|
||||
Please cite the related publication:
|
||||
Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015).
|
||||
Bessarab, P. F., Uzdin, V. M., & Jonsson, H. (2015).
|
||||
Method for finding mechanism and activation energy of magnetic transitions,
|
||||
applied to skyrmion and antivortex annihilation.
|
||||
Computer Physics Communications, 196, 335-347.
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
Julien Tranchida (SNL)
|
||||
|
||||
Please cite the related publication:
|
||||
Ivanov, A. V., Uzdin, V. M., & Jónsson, H. (2019). Fast and Robust
|
||||
Ivanov, A. V., Uzdin, V. M., & Jonsson, H. (2019). Fast and Robust
|
||||
Algorithm for the Minimisation of the Energy of Spin Systems. arXiv
|
||||
preprint arXiv:1904.02669.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
Julien Tranchida (SNL)
|
||||
|
||||
Please cite the related publication:
|
||||
Ivanov, A. V., Uzdin, V. M., & Jónsson, H. (2019). Fast and Robust
|
||||
Ivanov, A. V., Uzdin, V. M., & Jonsson, H. (2019). Fast and Robust
|
||||
Algorithm for the Minimisation of the Energy of Spin Systems. arXiv
|
||||
preprint arXiv:1904.02669.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
Contributing authors: Julien Tranchida (SNL)
|
||||
|
||||
Please cite the related publication:
|
||||
Bessarab, P. F., Uzdin, V. M., & Jónsson, H. (2015).
|
||||
Bessarab, P. F., Uzdin, V. M., & Jonsson, H. (2015).
|
||||
Method for finding mechanism and activation energy of magnetic transitions,
|
||||
applied to skyrmion and antivortex annihilation.
|
||||
Computer Physics Communications, 196, 335-347.
|
||||
|
||||
@ -220,7 +220,7 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) :
|
||||
|
||||
// allocate angle style arrays:
|
||||
|
||||
n = atom->nbondtypes;
|
||||
n = atom->nangletypes;
|
||||
for (int m = 0; m < nadapt; ++m)
|
||||
if (adapt[m].which == ANGLE) memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig");
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ static const char cite_type_label_framework[] =
|
||||
" year = 2024,\n"
|
||||
" volume = 128,\n"
|
||||
" number = 13,\n"
|
||||
" pages = {3282–-3297}\n"
|
||||
" pages = {3282--3297}\n"
|
||||
"}\n\n";
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
@ -501,6 +501,50 @@ void lammps_error(void *handle, int error_type, const char *error_text)
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
/** expand a single LAMMPS input line from a string.
|
||||
*
|
||||
\verbatim embed:rst
|
||||
|
||||
This function tells LAMMPS to expand the string in *cmd* like it would process
|
||||
an input line fed to :cpp:func:`lammps_command` **without** executing it.
|
||||
The *entire* string is considered as input and need not have a (final) newline
|
||||
character. Newline characters in the body of the string, however, will be
|
||||
treated as part of the command and will **not** start a second command.
|
||||
|
||||
The function returns the expanded string in a new string buffer that
|
||||
must be freed with :cpp:func:`lammps_free` after use to avoid a memory leak.
|
||||
|
||||
\endverbatim
|
||||
*
|
||||
* \param handle pointer to a previously created LAMMPS instance
|
||||
* \param cmd string with a single LAMMPS input line
|
||||
* \return string with expanded line */
|
||||
|
||||
char *lammps_expand(void *handle, const char *line)
|
||||
{
|
||||
auto lmp = (LAMMPS *) handle;
|
||||
char *copy, *work;
|
||||
int n, maxcopy, maxwork;
|
||||
|
||||
if (!line) return nullptr;
|
||||
|
||||
BEGIN_CAPTURE
|
||||
{
|
||||
n = strlen(line) + 1;
|
||||
copy = (char *) malloc(n * sizeof(char));
|
||||
work = (char *) malloc(n * sizeof(char));
|
||||
maxwork = maxcopy = n;
|
||||
memcpy(copy, line, maxcopy);
|
||||
lmp->input->substitute(copy, work, maxcopy, maxwork, 0);
|
||||
free(work);
|
||||
}
|
||||
END_CAPTURE
|
||||
|
||||
return copy;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Library functions to process commands
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@ -133,6 +133,8 @@ void lammps_python_finalize();
|
||||
|
||||
void lammps_error(void *handle, int error_type, const char *error_text);
|
||||
|
||||
char *lammps_expand(void *handle, const char *line);
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
* Library functions to process commands
|
||||
* ---------------------------------------------------------------------- */
|
||||
|
||||
@ -209,7 +209,7 @@ double MathSpecial::factorial(const int n)
|
||||
*
|
||||
* Copyright:
|
||||
* (C) 2012 Massachusetts Institute of Technology
|
||||
* (C) 2013 Forschungszentrum Jülich GmbH
|
||||
* (C) 2013 Forschungszentrum Juelich GmbH
|
||||
*
|
||||
* Licence:
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
@ -233,7 +233,7 @@ double MathSpecial::factorial(const int n)
|
||||
*
|
||||
* Authors:
|
||||
* Steven G. Johnson, Massachusetts Institute of Technology, 2012, core author
|
||||
* Joachim Wuttke, Forschungszentrum Jülich, 2013, package maintainer
|
||||
* Joachim Wuttke, Forschungszentrum Juelich, 2013, package maintainer
|
||||
*
|
||||
* Website:
|
||||
* https://jugit.fz-juelich.de/mlz/libcerf
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing authors: Julien Guénolé, CNRS and
|
||||
Contributing authors: Julien Guenole, CNRS and
|
||||
Erik Bitzek, FAU Erlangen-Nuernberg
|
||||
|
||||
Support for ABC-FIRE:
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
@ -18,12 +17,15 @@
|
||||
|
||||
#include "reader_xyz.h"
|
||||
|
||||
#include "memory.h"
|
||||
#include "atom.h"
|
||||
#include "error.h"
|
||||
#include "label_map.h"
|
||||
#include "memory.h"
|
||||
#include "tokenizer.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
static constexpr int MAXLINE = 1024; // max line length in dump file
|
||||
static constexpr int MAXLINE = 1024; // max line length in dump file
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
@ -50,22 +52,21 @@ ReaderXYZ::~ReaderXYZ()
|
||||
|
||||
int ReaderXYZ::read_time(bigint &ntimestep)
|
||||
{
|
||||
char *eof = fgets(line,MAXLINE,fp);
|
||||
char *eof = fgets(line, MAXLINE, fp);
|
||||
if (eof == nullptr) return 1;
|
||||
|
||||
// first line has to have the number of atoms
|
||||
// truncate the string to the first whitespace,
|
||||
// so force->bnumeric() does not hiccup
|
||||
|
||||
for (int i=0; (i < MAXLINE) && (eof[i] != '\0'); ++i) {
|
||||
for (int i = 0; (i < MAXLINE) && (eof[i] != '\0'); ++i) {
|
||||
if (eof[i] == '\n' || eof[i] == '\r' || eof[i] == ' ' || eof[i] == '\t') {
|
||||
eof[i] = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
natoms = utils::bnumeric(FLERR,line,false,lmp);
|
||||
if (natoms < 1)
|
||||
error->one(FLERR,"Dump file is incorrectly formatted");
|
||||
natoms = utils::bnumeric(FLERR, line, false, lmp);
|
||||
if (natoms < 1) error->one(FLERR, "Dump file is incorrectly formatted");
|
||||
|
||||
// skip over comment/title line
|
||||
|
||||
@ -93,8 +94,8 @@ void ReaderXYZ::skip()
|
||||
bigint nchunk;
|
||||
bigint nremain = natoms;
|
||||
while (nremain) {
|
||||
nchunk = MIN(nremain,MAXSMALLINT);
|
||||
read_lines((int)nchunk);
|
||||
nchunk = MIN(nremain, MAXSMALLINT);
|
||||
read_lines((int) nchunk);
|
||||
nremain -= nchunk;
|
||||
}
|
||||
}
|
||||
@ -113,11 +114,10 @@ void ReaderXYZ::skip()
|
||||
only called by proc 0
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
bigint ReaderXYZ::read_header(double /*box*/[3][3], int &boxinfo, int &/*triclinic*/,
|
||||
int fieldinfo, int nfield,
|
||||
int *fieldtype, char **/*fieldlabel*/,
|
||||
int scaleflag, int wrapflag, int &fieldflag,
|
||||
int &xflag, int &yflag, int &zflag)
|
||||
bigint ReaderXYZ::read_header(double /*box*/[3][3], int &boxinfo, int & /*triclinic*/,
|
||||
int fieldinfo, int nfield, int *fieldtype, char ** /*fieldlabel*/,
|
||||
int scaleflag, int wrapflag, int &fieldflag, int &xflag, int &yflag,
|
||||
int &zflag)
|
||||
{
|
||||
|
||||
nid = 0;
|
||||
@ -130,24 +130,21 @@ bigint ReaderXYZ::read_header(double /*box*/[3][3], int &boxinfo, int &/*triclin
|
||||
|
||||
if (!fieldinfo) return natoms;
|
||||
|
||||
memory->create(fieldindex,nfield,"read_dump:fieldindex");
|
||||
memory->create(fieldindex, nfield, "read_dump:fieldindex");
|
||||
|
||||
// for xyz we know nothing about the style of coordinates,
|
||||
// so caller has to set the proper flags
|
||||
|
||||
xflag = 2*scaleflag + wrapflag + 1;
|
||||
yflag = 2*scaleflag + wrapflag + 1;
|
||||
zflag = 2*scaleflag + wrapflag + 1;
|
||||
xflag = 2 * scaleflag + wrapflag + 1;
|
||||
yflag = 2 * scaleflag + wrapflag + 1;
|
||||
zflag = 2 * scaleflag + wrapflag + 1;
|
||||
|
||||
// copy fieldtype list for supported fields
|
||||
|
||||
fieldflag = 0;
|
||||
for (int i = 0; i < nfield; i++) {
|
||||
if ( (fieldtype[i] == X) ||
|
||||
(fieldtype[i] == Y) ||
|
||||
(fieldtype[i] == Z) ||
|
||||
(fieldtype[i] == ID) ||
|
||||
(fieldtype[i] == TYPE)) {
|
||||
if ((fieldtype[i] == X) || (fieldtype[i] == Y) || (fieldtype[i] == Z) || (fieldtype[i] == ID) ||
|
||||
(fieldtype[i] == TYPE)) {
|
||||
fieldindex[i] = fieldtype[i];
|
||||
} else {
|
||||
fieldflag = 1;
|
||||
@ -166,43 +163,55 @@ bigint ReaderXYZ::read_header(double /*box*/[3][3], int &boxinfo, int &/*triclin
|
||||
|
||||
void ReaderXYZ::read_atoms(int n, int nfield, double **fields)
|
||||
{
|
||||
int i,m,rv;
|
||||
int i, m;
|
||||
char *eof;
|
||||
int mytype;
|
||||
double myx, myy, myz;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
eof = fgets(line,MAXLINE,fp);
|
||||
if (eof == nullptr) error->one(FLERR,"Unexpected end of dump file");
|
||||
try {
|
||||
for (i = 0; i < n; i++) {
|
||||
eof = fgets(line, MAXLINE, fp);
|
||||
if (eof == nullptr) error->one(FLERR, "Unexpected end of dump file");
|
||||
|
||||
++nid;
|
||||
rv = sscanf(line,"%*s%lg%lg%lg", &myx, &myy, &myz);
|
||||
if (rv != 3) error->one(FLERR,"Dump file is incorrectly formatted");
|
||||
++nid;
|
||||
|
||||
// XXX: we could insert an element2type translation here
|
||||
// XXX: for now we flag unrecognized types as type 0,
|
||||
// XXX: which should trigger an error, if LAMMPS uses it.
|
||||
mytype = std::stoi(line);
|
||||
auto values = ValueTokenizer(line);
|
||||
auto label = values.next_string();
|
||||
|
||||
for (m = 0; m < nfield; m++) {
|
||||
switch (fieldindex[m]) {
|
||||
case X:
|
||||
fields[i][m] = myx;
|
||||
break;
|
||||
case Y:
|
||||
fields[i][m] = myy;
|
||||
break;
|
||||
case Z:
|
||||
fields[i][m] = myz;
|
||||
break;
|
||||
case ID:
|
||||
fields[i][m] = nid;
|
||||
break;
|
||||
case TYPE:
|
||||
fields[i][m] = mytype;
|
||||
break;
|
||||
// must have a complete atom type label map to parse xyz files with string labels
|
||||
if (!utils::is_integer(label)) {
|
||||
if (!atom->labelmapflag || !atom->lmap->is_complete(Atom::ATOM))
|
||||
error->one(FLERR, "Must define atom labelmap to parse XYZ files with strings for types");
|
||||
}
|
||||
mytype = utils::expand_type_int(FLERR, label, Atom::ATOM, lmp);
|
||||
myx = values.next_double();
|
||||
myy = values.next_double();
|
||||
myz = values.next_double();
|
||||
|
||||
for (m = 0; m < nfield; m++) {
|
||||
switch (fieldindex[m]) {
|
||||
case X:
|
||||
fields[i][m] = myx;
|
||||
break;
|
||||
case Y:
|
||||
fields[i][m] = myy;
|
||||
break;
|
||||
case Z:
|
||||
fields[i][m] = myz;
|
||||
break;
|
||||
case ID:
|
||||
fields[i][m] = nid;
|
||||
break;
|
||||
case TYPE:
|
||||
fields[i][m] = mytype;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (TokenizerException &e) {
|
||||
error->one(FLERR, "Error reading xyz file: {}", e.what());
|
||||
} catch (LAMMPSAbortException &e) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
@ -216,6 +225,6 @@ void ReaderXYZ::read_lines(int n)
|
||||
{
|
||||
char *eof = nullptr;
|
||||
if (n <= 0) return;
|
||||
for (int i = 0; i < n; i++) eof = fgets(line,MAXLINE,fp);
|
||||
if (eof == nullptr) error->one(FLERR,"Unexpected end of dump file");
|
||||
for (int i = 0; i < n; i++) eof = fgets(line, MAXLINE, fp);
|
||||
if (eof == nullptr) error->one(FLERR, "Unexpected end of dump file");
|
||||
}
|
||||
|
||||
@ -1519,12 +1519,18 @@ if __name__ == "__main__":
|
||||
msg += f" - Skipped : {skipped_tests}\n"
|
||||
msg += f" - Failed : {error_tests}\n"
|
||||
msg += f" - Completed: {completed_tests}\n"
|
||||
|
||||
# print notice to GitHub
|
||||
if 'GITHUB_STEP_SUMMARY' in os.environ:
|
||||
with open(os.environ.get('GITHUB_STEP_SUMMARY'), 'w') as f:
|
||||
print(f"Skipped: {skipped_tests} Failed: {error_tests} Completed: {completed_tests}", file=f)
|
||||
|
||||
if memleak_tests < completed_tests and 'valgrind' in config['mpiexec']:
|
||||
msg += f" - memory leak detected : {memleak_tests}\n"
|
||||
if passed_tests <= completed_tests:
|
||||
msg += f" - numerical tests passed: {passed_tests}\n"
|
||||
msg += "\nOutput:\n"
|
||||
msg += f" - Failed inputs and reasons : {failure_file}\n"
|
||||
msg += f" - List of failed inputs : {failure_file}\n"
|
||||
msg += f" - Status of the tested inputs : {progress_file}\n"
|
||||
msg += f" - Running log with screen output: {log_file}\n"
|
||||
msg += f" - Testing result in JUnit XML : {output_file}\n"
|
||||
|
||||
@ -106,6 +106,7 @@ extern void lammps_mpi_finalize();
|
||||
extern void lammps_kokkos_finalize();
|
||||
extern void lammps_python_finalize();
|
||||
extern void lammps_error(void *handle, int error_type, const char *error_text);
|
||||
extern char *lammps_expand(void *handle, const char *line);
|
||||
|
||||
extern void lammps_file(void *handle, const char *file);
|
||||
extern char *lammps_command(void *handle, const char *cmd);
|
||||
@ -296,6 +297,7 @@ extern void lammps_mpi_finalize();
|
||||
extern void lammps_kokkos_finalize();
|
||||
extern void lammps_python_finalize();
|
||||
extern void lammps_error(void *handle, int error_type, const char *error_text);
|
||||
extern char *lammps_expand(void *handle, const char *line);
|
||||
|
||||
extern void lammps_file(void *handle, const char *file);
|
||||
extern char *lammps_command(void *handle, const char *cmd);
|
||||
|
||||
@ -213,3 +213,23 @@ TEST_F(LibraryObjects, variables)
|
||||
|
||||
LAMMPS_NS::platform::unlink("test_variable.file");
|
||||
}
|
||||
|
||||
TEST_F(LibraryObjects, expand)
|
||||
{
|
||||
::testing::internal::CaptureStdout();
|
||||
lammps_command(lmp, "variable one index 1 2 3 4");
|
||||
lammps_command(lmp, "variable two equal 2");
|
||||
lammps_command(lmp, "variable three string three");
|
||||
std::string output = ::testing::internal::GetCapturedStdout();
|
||||
if (verbose) std::cout << output;
|
||||
|
||||
char *ptr = lammps_expand(lmp, "xx_$(4+5)_$(PI) ${one}-${two}-${three}");
|
||||
EXPECT_NE(ptr, nullptr);
|
||||
EXPECT_THAT((char *)ptr, StrEq("xx_9_3.141592653589793116 1-2-three"));
|
||||
lammps_free(ptr);
|
||||
|
||||
ptr = lammps_expand(lmp, "'xx_$(4+5)_$(PI) ${one}-${two}-${three}'");
|
||||
EXPECT_NE(ptr, nullptr);
|
||||
EXPECT_THAT((char *)ptr, StrEq("'xx_$(4+5)_$(PI) ${one}-${two}-${three}'"));
|
||||
lammps_free(ptr);
|
||||
}
|
||||
|
||||
@ -16,7 +16,9 @@ angle_coeff: ! |
|
||||
3 50.0 120.0
|
||||
4 100.0 108.5
|
||||
equilibrium: 4 1.9216075064457567 1.9373154697137058 2.0943951023931953 1.8936822384138476
|
||||
extract: ! ""
|
||||
extract: |
|
||||
k 1
|
||||
theta0 1
|
||||
natoms: 29
|
||||
init_energy: 36.01162448576962
|
||||
init_stress: ! |2-
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
---
|
||||
lammps_version: 7 Feb 2024
|
||||
lammps_version: 29 Aug 2024
|
||||
tags: slow
|
||||
date_generated: Wed Feb 28 17:07:42 2024
|
||||
date_generated: Fri Sep 27 14:17:24 2024
|
||||
epsilon: 2.5e-11
|
||||
skip_tests:
|
||||
prerequisites: ! |
|
||||
@ -17,78 +17,78 @@ pair_coeff: ! |
|
||||
extract: ! |
|
||||
scale 2
|
||||
natoms: 32
|
||||
init_vdwl: 785.6030480758675
|
||||
init_vdwl: 785.8717242418628
|
||||
init_coul: 0
|
||||
init_stress: ! |2-
|
||||
3.3484562777721521e+03 3.6420237714822438e+03 3.6353392995221716e+03 -3.1708756217128752e+02 -7.7972133915567312e+01 -1.9763732315997078e+02
|
||||
3.3495532442374852e+03 3.6432232807542064e+03 3.6365677037507535e+03 -3.1719725584382360e+02 -7.8010203158766885e+01 -1.9773004470467086e+02
|
||||
init_forces: ! |2
|
||||
1 1.2671882952049245e+01 -1.3853231851077510e+00 4.5439363666101173e+01
|
||||
2 -3.8831765890428208e+01 -1.5598031052421931e+02 -1.8130309648194238e+00
|
||||
3 -6.1494363653409785e+01 2.6941705868913857e+02 -9.6911726427029521e+01
|
||||
4 3.1464910628044116e+01 4.0207585968399570e+01 1.2103864047414767e+01
|
||||
5 1.4903052489944621e+01 -3.4527783082194034e+01 6.6654211762662953e+01
|
||||
6 5.5548661222686047e+00 -3.9623462470037410e+01 -2.8613497963820279e+01
|
||||
7 8.0397023763303324e+00 -1.0757727989654303e+01 -4.3166301457121655e+01
|
||||
8 -4.7852982145265067e+01 -4.5739689932561944e-02 1.1843318640063390e+02
|
||||
9 9.3964008212392528e+01 -7.2172885595082938e+00 2.5433781685526100e+01
|
||||
10 1.5271997609830436e+01 -5.8803169091726673e+01 -6.7108575386479288e+01
|
||||
11 -2.5045971665663821e+01 1.1625946130045016e+02 -2.3085965300813825e+01
|
||||
12 6.2629055188396414e+01 2.0611095490210126e+01 -2.8436306261149859e+01
|
||||
13 -5.9236259945824884e+01 3.0240277910808498e+01 -1.9273929877935466e+01
|
||||
14 6.8663923609350405e+01 -7.7397309055975725e+01 3.3069829655105920e+01
|
||||
15 -4.9647288254699909e+01 -4.9489231564386692e+01 8.4478943742851953e+01
|
||||
16 -1.2170657087644635e+01 -3.2040178726180827e+01 1.4894301261010035e+01
|
||||
17 8.8923416811864868e+00 6.2137744083574610e+01 -4.0135012964265592e+01
|
||||
18 -4.1397401572483183e+01 2.5783976616022077e+01 -4.0437450156810772e+00
|
||||
19 -7.9531558557888033e+01 9.6620429213911947e+01 6.0896893032878161e+01
|
||||
20 8.1086619135335383e+01 7.0912440236148569e+01 -7.1683775489576050e+01
|
||||
21 1.0782008087175012e+02 -1.5990396045249986e+02 -2.5346325379258598e+01
|
||||
22 -2.2473039860970294e+00 5.2408111378634587e+01 4.9048274485706003e+00
|
||||
23 -2.7403676909994125e+01 8.1791101929225192e+01 4.6914817444621839e+01
|
||||
24 -3.0326733771468501e+01 6.5019994519315844e+01 -2.8273999335586893e+01
|
||||
25 -5.1399449796211421e+01 -3.1235356363355280e+01 -5.1117557575884405e+00
|
||||
26 3.9830854256806596e+01 -5.5977510234235112e+01 -1.0703040355620866e+01
|
||||
27 8.2947330460814442e+01 6.2103713508335836e+01 5.0160761445057645e+01
|
||||
28 -7.8724584730369727e+01 -3.9670230601217270e+01 -2.7333809658021124e+00
|
||||
29 6.8825650256056235e+01 -6.1113096673842620e+01 -1.5031235234703393e+01
|
||||
30 -2.4157792055811530e+01 -1.9333002107500442e+02 -2.6525581060126832e+01
|
||||
31 7.7150429127214139e+01 -6.9426709034866391e+01 -5.5252913067136127e+01
|
||||
32 -1.5024891495451018e+02 8.4411417529769210e+01 2.9865316672080176e+01
|
||||
run_vdwl: 682.3135170292994
|
||||
1 1.2678031763768246e+01 -1.3854742508554718e+00 4.5454792887005731e+01
|
||||
2 -3.8844981281875995e+01 -1.5603552819975877e+02 -1.8118923154738256e+00
|
||||
3 -6.1521100806352393e+01 2.6952064016220777e+02 -9.6945673391405251e+01
|
||||
4 3.1474918811637131e+01 4.0221864481237098e+01 1.2106991684033252e+01
|
||||
5 1.4909314739281982e+01 -3.4536196834067184e+01 6.6680113316670372e+01
|
||||
6 5.5607589249640776e+00 -3.9634976929591176e+01 -2.8624069008648654e+01
|
||||
7 8.0414671017475250e+00 -1.0757410086264327e+01 -4.3180176341738033e+01
|
||||
8 -4.7873817108912888e+01 -4.7420260529060343e-02 1.1847882375259158e+02
|
||||
9 9.3996311097334058e+01 -7.2230333911033835e+00 2.5439738584791549e+01
|
||||
10 1.5276599260379086e+01 -5.8829432213236764e+01 -6.7137053986625617e+01
|
||||
11 -2.5054152079132052e+01 1.1629384609515466e+02 -2.3089487061908105e+01
|
||||
12 6.2647097499564396e+01 2.0615344433669222e+01 -2.8446593251382438e+01
|
||||
13 -5.9256263857726850e+01 3.0249354974368117e+01 -1.9285948232134174e+01
|
||||
14 6.8692971659580280e+01 -7.7423992900729019e+01 3.3088032924225352e+01
|
||||
15 -4.9664996131324450e+01 -4.9505326080123282e+01 8.4506814079408798e+01
|
||||
16 -1.2171749225905778e+01 -3.2053078930294205e+01 1.4901314161249992e+01
|
||||
17 8.9019136643456704e+00 6.2170468054303171e+01 -4.0153594811039476e+01
|
||||
18 -4.1412343566976787e+01 2.5794429840154532e+01 -4.0452395104665770e+00
|
||||
19 -7.9564629952098812e+01 9.6651354759152042e+01 6.0917538476309034e+01
|
||||
20 8.1113225492719948e+01 7.0936914728750452e+01 -7.1709964771002802e+01
|
||||
21 1.0786611258149451e+02 -1.5995593790998802e+02 -2.5357133081597116e+01
|
||||
22 -2.2483895934790117e+00 5.2422862488362668e+01 4.9054605585862063e+00
|
||||
23 -2.7411037080061696e+01 8.1824682560423952e+01 4.6924090717621404e+01
|
||||
24 -3.0337790467628789e+01 6.5042256803587094e+01 -2.8281618777457169e+01
|
||||
25 -5.1415393535843094e+01 -3.1244066397305112e+01 -5.1143010322252600e+00
|
||||
26 3.9844215835017884e+01 -5.6005352146508933e+01 -1.0697304736074248e+01
|
||||
27 8.2979029329921474e+01 6.2118434060881889e+01 5.0173878089540807e+01
|
||||
28 -7.8756083263727049e+01 -3.9682964173922336e+01 -2.7297307297757669e+00
|
||||
29 6.8847386805449901e+01 -6.1132449248608829e+01 -1.5035416587044770e+01
|
||||
30 -2.4167347842918304e+01 -1.9339953044247520e+02 -2.6538712090889941e+01
|
||||
31 7.7180780195802967e+01 -6.9452945194801330e+01 -5.5269947455868873e+01
|
||||
32 -1.5031005896904509e+02 8.4442662147909857e+01 2.9876267940724031e+01
|
||||
run_vdwl: 682.5163056385919
|
||||
run_coul: 0
|
||||
run_stress: ! |2-
|
||||
3.2220423802202231e+03 3.3749844973876429e+03 3.3217643573058244e+03 -2.8493376779188281e+02 -5.1850956493150733e+00 -3.1548413267512802e+02
|
||||
3.2230508407097536e+03 3.3760038825364995e+03 3.3227514025504679e+03 -2.8503754654683991e+02 -5.2173119201137954e+00 -3.1564189857665059e+02
|
||||
run_forces: ! |2
|
||||
1 -1.2080548564836072e+01 -2.5477429439416710e+01 1.3806658731417755e+01
|
||||
2 -3.7225520761818601e+01 -1.5818788485602025e+02 3.6451090218322113e+00
|
||||
3 -3.2025464407673795e+01 2.5325620480420051e+02 -6.1031861941385266e+01
|
||||
4 2.8988993769053742e+01 4.8033753615324457e+01 4.5694168356438283e+00
|
||||
5 -1.2111374313827447e+01 -2.6961881177725004e+01 4.9632634513889542e+01
|
||||
6 1.1311954816991424e+01 -5.0058087854226159e+01 -2.3204914001781273e+01
|
||||
7 2.1516323786702536e+01 -5.0655040143290933e+00 -3.8825663342733620e+01
|
||||
8 -5.6894831060887554e+01 1.3949056084318798e+01 1.1660108213204735e+02
|
||||
9 7.2998009821741320e+01 4.8416842517465923e+00 2.3999831954683799e+01
|
||||
10 1.7317912093622368e+01 -3.0947927635823405e+01 -1.2110169744224052e+01
|
||||
11 -1.1067246227356863e+01 9.1960655066099605e+01 -2.2189177432965508e+01
|
||||
12 4.1022329509360503e+01 1.2454231845197597e+01 -2.6395875385015671e+01
|
||||
13 -5.2111607038923381e+01 3.3882585667855231e+01 -1.8629522935187623e+01
|
||||
14 8.4036225281616041e+01 -9.3803437140562750e+01 1.6331247969198998e+01
|
||||
15 -4.2720657484421395e+01 -4.3226247350447558e+01 7.1228336312410107e+01
|
||||
16 -1.5337511847731712e+01 -3.3391288191194008e+01 2.4548585347623519e+01
|
||||
17 -1.1747625966656585e+00 4.5776133215622977e+01 -3.9163692487889747e+01
|
||||
18 -1.9491081233389249e+01 8.1566249764824512e+00 -7.8409414667475472e+00
|
||||
19 -6.3157066638040050e+01 1.1562375461943864e+02 2.4100335394819872e+01
|
||||
20 8.5633177613771736e+01 8.3249649056120163e+01 -6.5949837133210536e+01
|
||||
21 7.2627995354135379e+01 -1.0905523323056843e+02 -9.7050849900191878e+00
|
||||
22 -6.9254927960387569e+00 5.3565487765173124e+01 3.5264724633499451e+00
|
||||
23 -2.6913648610060896e+01 5.7376365847813567e+01 2.7795031305112104e+01
|
||||
24 -4.2988718884544781e+01 5.0965555337988739e+01 -4.0879720794423847e+01
|
||||
25 -4.1545681275179334e+01 -2.6070548274497312e+01 4.6030493990981363e+00
|
||||
26 4.7343706717511481e+01 -5.2491830895913587e+01 -7.5334343348923181e+00
|
||||
27 7.1967929368447670e+01 6.4565679128450881e+01 4.3787238332434981e+01
|
||||
28 -8.4353146891369605e+01 -3.5766877650630498e+01 -1.8194167121606220e+01
|
||||
29 6.8890904369057438e+01 -6.3904080920499425e+01 -1.5203579536664831e+01
|
||||
30 -1.0556200802502623e+01 -1.7613156919674918e+02 7.5443620074181723e+00
|
||||
31 5.4944350533734486e+01 -4.1411243100978645e+01 -4.7232700660537759e+01
|
||||
32 -1.0991925160047839e+02 3.4293649647748623e+01 1.8370951588304823e+01
|
||||
1 -1.2090173295580399e+01 -2.5487883945517630e+01 1.3808838454744908e+01
|
||||
2 -3.7237910628063261e+01 -1.5824464170923355e+02 3.6503404792558127e+00
|
||||
3 -3.2043035190157688e+01 2.5334019834530716e+02 -6.1034051445150155e+01
|
||||
4 2.8998234751624985e+01 4.8055299345669440e+01 4.5656027808244133e+00
|
||||
5 -1.2112869933423042e+01 -2.6974221683197079e+01 4.9628143533381760e+01
|
||||
6 1.1320499764680376e+01 -5.0075627603859388e+01 -2.3210788856798693e+01
|
||||
7 2.1525286596972293e+01 -5.0612198361667318e+00 -3.8835531029268516e+01
|
||||
8 -5.6920318481334483e+01 1.3956984193319112e+01 1.1664367763180698e+02
|
||||
9 7.3014299955127811e+01 4.8453448145331830e+00 2.4005633336000450e+01
|
||||
10 1.7334247568589937e+01 -3.0951264895930947e+01 -1.2098494158427552e+01
|
||||
11 -1.1068236390689501e+01 9.1978964379138006e+01 -2.2192310200658977e+01
|
||||
12 4.1024777584281992e+01 1.2450909775738268e+01 -2.6406356553381471e+01
|
||||
13 -5.2125188945456109e+01 3.3894870845912308e+01 -1.8641032580242040e+01
|
||||
14 8.4073387111870915e+01 -9.3839905507037258e+01 1.6333318901064604e+01
|
||||
15 -4.2733775860448283e+01 -4.3238316015855247e+01 7.1246856036892538e+01
|
||||
16 -1.5340501821929074e+01 -3.3400662017224057e+01 2.4562380519255392e+01
|
||||
17 -1.1715139816660738e+00 4.5788292882495313e+01 -3.9174666280409781e+01
|
||||
18 -1.9491459474534334e+01 8.1545423197633173e+00 -7.8445502241667988e+00
|
||||
19 -6.3181153697293830e+01 1.1567329898860092e+02 2.4099836723818225e+01
|
||||
20 8.5663613243830795e+01 8.3281929350100455e+01 -6.5972056492100549e+01
|
||||
21 7.2638295944390450e+01 -1.0906810299911923e+02 -9.7045146810280265e+00
|
||||
22 -6.9298621647527145e+00 5.3582152832265017e+01 3.5256360655260721e+00
|
||||
23 -2.6920557734805946e+01 5.7391375795608639e+01 2.7792756121832976e+01
|
||||
24 -4.3008239583617986e+01 5.0977860095270927e+01 -4.0896731412242126e+01
|
||||
25 -4.1555323363040571e+01 -2.6076701895225362e+01 4.6068938613354327e+00
|
||||
26 4.7357611379697481e+01 -5.2514920519809515e+01 -7.5300304334859138e+00
|
||||
27 7.1991802256166125e+01 6.4584586687828136e+01 4.3795127790491549e+01
|
||||
28 -8.4388730240114583e+01 -3.5773741223229699e+01 -1.8202647600037025e+01
|
||||
29 6.8913997789826411e+01 -6.3928093090711798e+01 -1.5208106689199704e+01
|
||||
30 -1.0554586739550208e+01 -1.7619073621537578e+02 7.5539030147881272e+00
|
||||
31 5.4956113366880004e+01 -4.1415704831825025e+01 -4.7244672552358615e+01
|
||||
32 -1.0993872978748152e+02 3.4285133337768080e+01 1.8377595937936768e+01
|
||||
...
|
||||
|
||||
@ -16,7 +16,10 @@ bond_coeff: ! |
|
||||
4 650.0 1.2 0.2
|
||||
5 450.0 1.0 0.0
|
||||
equilibrium: 5 1.5 1.1 1.3 1.2 1
|
||||
extract: ! ""
|
||||
extract: ! |
|
||||
k 1
|
||||
r0 1
|
||||
r1 1
|
||||
natoms: 29
|
||||
init_energy: 0
|
||||
init_stress: ! |2-
|
||||
|
||||
@ -528,6 +528,16 @@ create_atoms 1 single &
|
||||
self.assertEqual(a[0], x[0]*x[0]+x[1]*x[1]+x[2]*x[2])
|
||||
self.assertEqual(a[1], x[3]*x[3]+x[4]*x[4]+x[5]*x[5])
|
||||
|
||||
def test_expand(self):
|
||||
self.lmp.command("variable one index 1 2 3 4");
|
||||
self.lmp.command("variable two equal 2");
|
||||
self.lmp.command("variable three string three");
|
||||
|
||||
expanded = self.lmp.expand("xx_$(4+5)_$(PI) ${one}-${two}-${three}")
|
||||
self.assertEqual(expanded, "xx_9_3.141592653589793116 1-2-three")
|
||||
expanded = self.lmp.expand("'xx_$(4+5)_$(PI) ${one}-${two}-${three}'")
|
||||
self.assertEqual(expanded, "'xx_$(4+5)_$(PI) ${one}-${two}-${three}'")
|
||||
|
||||
def test_get_thermo(self):
|
||||
self.lmp.command("units lj")
|
||||
self.lmp.command("atom_style atomic")
|
||||
|
||||
@ -7,8 +7,8 @@ has_mpi4py=False
|
||||
|
||||
try:
|
||||
from mpi4py import __version__ as mpi4py_version
|
||||
# tested to work with mpi4py versions 2 and 3
|
||||
has_mpi4py = mpi4py_version.split('.')[0] in ['2','3']
|
||||
# tested to work with mpi4py versions 2, 3, and 4
|
||||
has_mpi4py = mpi4py_version.split('.')[0] in ['2','3','4']
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user