merge in current develop

This commit is contained in:
Steve Plimpton
2024-04-05 09:36:29 -06:00
56 changed files with 1755 additions and 2060 deletions

2
.github/CODEOWNERS vendored
View File

@ -83,7 +83,7 @@ src/bond.* @sjplimp
src/comm*.* @sjplimp src/comm*.* @sjplimp
src/compute.* @sjplimp src/compute.* @sjplimp
src/dihedral.* @sjplimp src/dihedral.* @sjplimp
src/domain.* @sjplimp src/domain.* @sjplimp @stanmoore1
src/dump*.* @sjplimp src/dump*.* @sjplimp
src/error.* @sjplimp src/error.* @sjplimp
src/finish.* @sjplimp src/finish.* @sjplimp

View File

@ -635,10 +635,10 @@ Tohoku University (under MIT license)
---------- ----------
.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) .. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort)
:project: progguide :project: progguide
.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) .. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort)
:project: progguide :project: progguide
--------------------------- ---------------------------

View File

@ -13,15 +13,44 @@ discussions of such cases.
Unknown identifier in data file Unknown identifier in data file
------------------------------- -------------------------------
This error happens when LAMMPS encounters a line of text in an unexpected format This error happens when LAMMPS encounters a line of text with an
while reading a data file. This is most commonly cause by inconsistent header and unexpected keyword while :doc:`reading a data file <read_data>`. This
section data. The header section informs LAMMPS how many entries or lines are expected in the would be either header keywords or section header keywords. This is
various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of the data file. most commonly due to a mistyped keyword or due to a keyword that is
If there is a mismatch, LAMMPS will either keep reading beyond the end of a section inconsistent with the :doc:`atom style <atom_style>` used.
or stop reading before the section has ended.
Such a mismatch can happen unexpectedly when the first line of the data The header section informs LAMMPS how many entries or lines are expected
is *not* a comment as required by the format. That would result in in the various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of
LAMMPS expecting, for instance, 0 atoms because the "atoms" header line the data file. If there is a mismatch, LAMMPS will either keep reading
is treated as a comment. beyond the end of a section or stop reading before the section has
ended. In that case the next line will not contain a recognized keyword.
Such a mismatch can also happen when the first line of the data
is *not* a comment as required by the format, but a line with a valid
header keyword. That would result in LAMMPS expecting, for instance,
0 atoms because the "atoms" header line is the first line and thus
treated as a comment.
Another possibility to trigger this error is to have a keyword in the
data file that corresponds to a fix (e.g. :doc:`fix cmap <fix_cmap>`)
but the :doc:`read_data <read_data>` command is missing the (optional)
arguments that identify the fix and the header keyword and section
keyword or those arguments are inconsistent with the keywords in the
data file.
.. _err0002:
Incorrect format in ... section of data file
--------------------------------------------
This error happens when LAMMPS reads the contents of a section of a
:doc:`data file <read_data>` and the number of parameters in the line
differs from what is expected. This most commonly happens, when the
atom style is different from what is expected for a specific data file
since changing the atom style usually changes the format of the line.
This error can also happen when the number of entries indicated in the
header of a data file (e.g. the number of atoms) is larger than the
number of lines provided (e.g. in the corresponding Atoms section)
and then LAMMPS will continue reading into the next section and that
would have a completely different format.

View File

@ -65,7 +65,6 @@ Examples
fix 1 all ave/correlate 1 50 10000 & fix 1 all ave/correlate 1 50 10000 &
c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &
type upper ave running title1 "My correlation data" type upper ave running title1 "My correlation data"
fix 1 all ave/correlate 1 50 10000 c_thermo_press[*] fix 1 all ave/correlate 1 50 10000 c_thermo_press[*]
Description Description

View File

@ -20,11 +20,11 @@ Syntax
.. parsed-literal:: .. parsed-literal::
c_ID = global scalar calculated by a compute with ID c_ID = global scalar calculated by a compute with ID
c_ID[I] = Ith component of global vector calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below)
f_ID = global scalar calculated by a fix with ID f_ID = global scalar calculated by a fix with ID
f_ID[I] = Ith component of global vector calculated by a fix with ID f_ID[I] = Ith component of global vector calculated by a fix with ID, I can include wildcard (see below)
v_name = global value calculated by an equal-style variable with name v_name = global value calculated by an equal-style variable with name
v_name[I] = Ith component of global vector calculated by a vector-style variable with name v_name[I] = Ith component of a vector-style variable with name, I can include wildcard (see below)
* zero or more keyword/arg pairs may be appended * zero or more keyword/arg pairs may be appended
* keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *nlen* or *ncount* * keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *nlen* or *ncount*
@ -63,6 +63,7 @@ Examples
fix 1 all ave/correlate/long 1 10000 & fix 1 all ave/correlate/long 1 10000 &
c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] &
type upper title1 "My correlation data" nlen 15 ncount 3 type upper title1 "My correlation data" nlen 15 ncount 3
fix 1 all ave/correlate/long 1 10000 c_thermo_press[*]
Description Description
""""""""""" """""""""""
@ -80,8 +81,10 @@ specified values may represent calculations performed by computes and
fixes which store their own "group" definitions. fixes which store their own "group" definitions.
Each listed value can be the result of a compute or fix or the Each listed value can be the result of a compute or fix or the
evaluation of an equal-style variable. See the evaluation of an equal-style or vector-style variable. For
:doc:`fix ave/correlate <fix_ave_correlate>` page for details. vector-style variables, the specified indices can include a wildcard
character. See the :doc:`fix ave/correlate <fix_ave_correlate>` page
for details.
The *Nevery* and *Nfreq* arguments specify on what time steps the input The *Nevery* and *Nfreq* arguments specify on what time steps the input
values will be used to calculate correlation data and the frequency values will be used to calculate correlation data and the frequency

View File

@ -136,23 +136,23 @@ transfer between the subsystems:
\bigtriangledown (\kappa_e \bigtriangledown T_e) - \bigtriangledown (\kappa_e \bigtriangledown T_e) -
g_p (T_e - T_a) + g_s T_a' g_p (T_e - T_a) + g_s T_a'
where C_e is the specific heat, rho_e is the density, kappa_e is the where :math:`C_e` is the specific heat, :math:`\rho_e` is the density,
thermal conductivity, T is temperature, the "e" and "a" subscripts :math:`\kappa_e` is the thermal conductivity, *T* is temperature, the
represent electronic and atomic subsystems respectively, g_p is the "e" and "a" subscripts represent electronic and atomic subsystems
coupling constant for the electron-ion interaction, and g_s is the respectively, :math:`g_p` is the coupling constant for the electron-ion
electron stopping coupling parameter. C_e, rho_e, and kappa_e are interaction, and :math:`g_s` is the electron stopping coupling
specified as parameters to the fix. The other quantities are derived. parameter. :math:`C_e`, :math:`\rho_e`, and :math:`\kappa_e` are
The form of the heat diffusion equation used here is almost the same specified as parameters to the fix *ttm* or *ttm/grid*. The other
as that in equation 6 of :ref:`(Duffy) <Duffy>`, with the exception that the quantities are derived. The form of the heat diffusion equation used
electronic density is explicitly represented, rather than being part here is almost the same as that in equation 6 of :ref:`(Duffy) <Duffy>`,
of the specific heat parameter. with the exception that the electronic density is explicitly
represented, rather than being part of the specific heat parameter.
Currently, the TTM fixes assume that none of the user-supplied Currently, the TTM fixes assume that none of the user-supplied
parameters will vary with temperature. Note that :ref:`(Duffy) parameters will vary with temperature. Note that :ref:`(Duffy) <Duffy>`
<Duffy>` used a tanh() functional form for the temperature dependence used a tanh() functional form for the temperature dependence of the
of the electronic specific heat, but ignored temperature dependencies electronic specific heat, but ignored temperature dependencies of any of
of any of the other parameters. See more discussion below for fix the other parameters. See more discussion below for fix *ttm/mod*.
ttm/mod.
.. note:: .. note::
@ -265,27 +265,27 @@ heat sources (e.g. laser heating in ablation simulations):
\bigtriangledown (\kappa_e \bigtriangledown T_e) - \bigtriangledown (\kappa_e \bigtriangledown T_e) -
g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin}) g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin})
where theta is the Heaviside step function, I_0 is the (absorbed) where :math:`\theta` is the Heaviside step function, :math:`I_0` is the
laser pulse intensity for ablation simulations, l_skin is the depth (absorbed) laser pulse intensity for ablation simulations,
of skin-layer, and all other designations have the same meaning as in :math:`l_{skin}` is the depth of the skin-layer, and all other
the former equation. The duration of the pulse is set by the parameter designations have the same meaning as in the former equation. The
*tau* in the *init_file*. duration of the pulse is set by the parameter *tau* in the *init_file*.
Fix ttm/mod also allows users to specify the dependencies of C_e and Fix *ttm/mod* also allows users to specify the dependencies of
kappa_e on the electronic temperature. The specific heat is expressed :math:`C_e` and :math:`\kappa_e` on the electronic temperature. The
as specific heat is expressed as
.. math:: .. math::
C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2) C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2)
where *X* = T_e/1000, and the thermal conductivity is defined as where :math:`X = \frac{T_e}{1000}`, and the thermal conductivity is
kappa_e = D_e\*rho_e\*C_e, where D_e is the thermal diffusion defined as :math:`\kappa_e = D_e \cdot rho_e \cdot C_e`, where
coefficient. :math:`D_e` is the thermal diffusion coefficient.
Electronic pressure effects are included in the TTM model to account Electronic pressure effects are included in the TTM model to account for
for the blast force acting on ions because of electronic pressure the blast force acting on ions because of electronic pressure gradient
gradient (see :ref:`(Chen) <Chen>`, :ref:`(Norman) <Norman>`). The total force (see :ref:`(Chen) <Chen>`, :ref:`(Norman) <Norman>`). The total force
acting on an ion is: acting on an ion is:
.. math:: .. math::
@ -293,13 +293,14 @@ acting on an ion is:
{\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec {\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec
F}_{langevin} - \nabla P_e/n_{ion} F}_{langevin} - \nabla P_e/n_{ion}
where F_langevin is a force from Langevin thermostat simulating where :math:`F_{langevin}` is a force from Langevin thermostat
electron-phonon coupling, and nabla P_e/n_ion is the electron blast simulating electron-phonon coupling, and :math:`\nabla P_e/n_{ion}` is
force. the electron blast force.
The electronic pressure is taken to be P_e = B\*rho_e\*C_e\*T_e The electronic pressure is taken to be :math:`P_e = B \cdot rho_e \cdot
C_e \cdot T_e`
The current fix ttm/mod implementation allows TTM simulations with a The current fix *ttm/mod* implementation allows TTM simulations with a
vacuum. The vacuum region is defined as the grid cells with zero vacuum. The vacuum region is defined as the grid cells with zero
electronic temperature. The numerical scheme does not allow energy electronic temperature. The numerical scheme does not allow energy
exchange with such cells. Since the material can expand to previously exchange with such cells. Since the material can expand to previously
@ -319,10 +320,10 @@ electronic pressure gradient is calculated as
\frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta \frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta
x}-(C_e{}T_e)_{x}}{\Delta x} \right] x}-(C_e{}T_e)_{x}}{\Delta x} \right]
where lambda is the electron mean free path (see :ref:`(Norman) <Norman>`, where :math:`\lambda` is the electron mean free path (see :ref:`(Norman)
:ref:`(Pisarev) <Pisarev>`) <Norman>`, :ref:`(Pisarev) <Pisarev>`)
The fix ttm/mod parameter file *init_file* has the following syntax. The fix *ttm/mod* parameter file *init_file* has the following syntax.
Every line with an odd number is considered as a comment and Every line with an odd number is considered as a comment and
ignored. The lines with the even numbers are treated as follows: ignored. The lines with the even numbers are treated as follows:

View File

@ -1174,12 +1174,17 @@ custom atom properties are the same; just replace the leading "i" with
+--------+---------------+------------------------------------------+ +--------+---------------+------------------------------------------+
| equal | i_name[I] | element of per-atom vector (I = atom ID) | | equal | i_name[I] | element of per-atom vector (I = atom ID) |
+--------+---------------+------------------------------------------+
| equal | i2_name[I][J] | element of per-atom array (I = atom ID) | | equal | i2_name[I][J] | element of per-atom array (I = atom ID) |
+--------+---------------+------------------------------------------+ +--------+---------------+------------------------------------------+
+--------+---------------+------------------------------------------+
| vector | i_name[I] | element of per-atom vector (I = atom ID) | | vector | i_name[I] | element of per-atom vector (I = atom ID) |
+--------+---------------+------------------------------------------+
| vector | i2_name[I][J] | element of per-atom array (I = atom ID) | | vector | i2_name[I][J] | element of per-atom array (I = atom ID) |
+--------+---------------+------------------------------------------+ +--------+---------------+------------------------------------------+
+--------+---------------+------------------------------------------+
| atom | i_name | per-atom vector | | atom | i_name | per-atom vector |
+--------+---------------+------------------------------------------+
| atom | i2_name[I] | column of per-atom array | | atom | i2_name[I] | column of per-atom array |
+--------+---------------+------------------------------------------+ +--------+---------------+------------------------------------------+
@ -1222,15 +1227,23 @@ table:
+--------+------------+------------------------------------------+ +--------+------------+------------------------------------------+
| equal | c_ID | global scalar | | equal | c_ID | global scalar |
+--------+------------+------------------------------------------+
| equal | c_ID[I] | element of global vector | | equal | c_ID[I] | element of global vector |
+--------+------------+------------------------------------------+
| equal | c_ID[I][J] | element of global array | | equal | c_ID[I][J] | element of global array |
+--------+------------+------------------------------------------+
| equal | C_ID[I] | element of per-atom vector (I = atom ID) | | equal | C_ID[I] | element of per-atom vector (I = atom ID) |
+--------+------------+------------------------------------------+
| equal | C_ID[I][J] | element of per-atom array (I = atom ID) | | equal | C_ID[I][J] | element of per-atom array (I = atom ID) |
+--------+------------+------------------------------------------+ +--------+------------+------------------------------------------+
+--------+------------+------------------------------------------+
| vector | c_ID | global vector | | vector | c_ID | global vector |
+--------+------------+------------------------------------------+
| vector | c_ID[I] | column of global array | | vector | c_ID[I] | column of global array |
+--------+------------+------------------------------------------+ +--------+------------+------------------------------------------+
+--------+------------+------------------------------------------+
| atom | c_ID | per-atom vector | | atom | c_ID | per-atom vector |
+--------+------------+------------------------------------------+
| atom | c_ID[I] | column of per-atom array | | atom | c_ID[I] | column of per-atom array |
+--------+------------+------------------------------------------+ +--------+------------+------------------------------------------+
@ -1286,15 +1299,23 @@ and atom-style variables are listed in the following table:
+--------+------------+------------------------------------------+ +--------+------------+------------------------------------------+
| equal | f_ID | global scalar | | equal | f_ID | global scalar |
+--------+------------+------------------------------------------+
| equal | f_ID[I] | element of global vector | | equal | f_ID[I] | element of global vector |
+--------+------------+------------------------------------------+
| equal | f_ID[I][J] | element of global array | | equal | f_ID[I][J] | element of global array |
+--------+------------+------------------------------------------+
| equal | F_ID[I] | element of per-atom vector (I = atom ID) | | equal | F_ID[I] | element of per-atom vector (I = atom ID) |
+--------+------------+------------------------------------------+
| equal | F_ID[I][J] | element of per-atom array (I = atom ID) | | equal | F_ID[I][J] | element of per-atom array (I = atom ID) |
+--------+------------+------------------------------------------+ +--------+------------+------------------------------------------+
+--------+------------+------------------------------------------+
| vector | f_ID | global vector | | vector | f_ID | global vector |
+--------+------------+------------------------------------------+
| vector | f_ID[I] | column of global array | | vector | f_ID[I] | column of global array |
+--------+------------+------------------------------------------+ +--------+------------+------------------------------------------+
+--------+------------+------------------------------------------+
| atom | f_ID | per-atom vector | | atom | f_ID | per-atom vector |
+--------+------------+------------------------------------------+
| atom | f_ID[I] | column of per-atom array | | atom | f_ID[I] | column of per-atom array |
+--------+------------+------------------------------------------+ +--------+------------+------------------------------------------+
@ -1365,17 +1386,27 @@ per-atom vector.
+--------+-----------+-----------------------------------------------------------------------------------+ +--------+-----------+-----------------------------------------------------------------------------------+
| equal | v_name | global scalar from an equal-style variable | | equal | v_name | global scalar from an equal-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
| equal | v_name[I] | element of global vector from a vector-style variable | | equal | v_name[I] | element of global vector from a vector-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
| equal | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | | equal | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+ +--------+-----------+-----------------------------------------------------------------------------------+
+--------+-----------+-----------------------------------------------------------------------------------+
| vector | v_name | global scalar from an equal-style variable | | vector | v_name | global scalar from an equal-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
| vector | v_name | global vector from a vector-style variable | | vector | v_name | global vector from a vector-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
| vector | v_name[I] | element of global vector from a vector-style variable | | vector | v_name[I] | element of global vector from a vector-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
| vector | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | | vector | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+ +--------+-----------+-----------------------------------------------------------------------------------+
+--------+-----------+-----------------------------------------------------------------------------------+
| atom | v_name | global scalar from an equal-style variable | | atom | v_name | global scalar from an equal-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
| atom | v_name | per-atom vector from an atom-style or atomfile-style variable | | atom | v_name | per-atom vector from an atom-style or atomfile-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
| atom | v_name[I] | element of global vector from a vector-style variable | | atom | v_name[I] | element of global vector from a vector-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
| atom | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | | atom | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+ +--------+-----------+-----------------------------------------------------------------------------------+

View File

@ -1,260 +0,0 @@
LAMMPS (29 Mar 2019)
using 1 OpenMP thread(s) per MPI task
# 2d micelle simulation
dimension 2
neighbor 0.3 bin
neigh_modify delay 5
atom_style bond
# Soft potential push-off
read_data data.micelle
orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1)
1 by 1 by 1 MPI processor grid
reading atoms ...
1200 atoms
scanning bonds ...
1 = max bonds/atom
reading bonds ...
300 bonds
2 = max # of 1-2 neighbors
1 = max # of 1-3 neighbors
1 = max # of 1-4 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000473022 secs
read_data CPU = 0.0024147 secs
special_bonds fene
2 = max # of 1-2 neighbors
2 = max # of special neighbors
special bonds CPU = 0.00022316 secs
pair_style soft 1.12246
pair_coeff * * 0.0 1.12246
bond_style harmonic
bond_coeff 1 50.0 0.75
velocity all create 0.45 2349852
variable prefactor equal ramp(1.0,20.0)
fix 1 all nve
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
fix 3 all adapt 1 pair soft a * * v_prefactor
fix 4 all enforce2d
thermo 50
run 500
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.42246
ghost atom cutoff = 1.42246
binsize = 0.71123, bins = 51 51 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair soft, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786
100 0.45 0.99659327 0.079228519 1.5254468 3.2135679
150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925
200 0.45 1.01454 0.10663502 1.5708 4.7598476
250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899
300 0.45 0.86475538 0.11819875 1.4325791 5.8554758
350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247
400 0.45 0.75067331 0.14165013 1.3419484 6.3840708
450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009
500 0.45 0.66669513 0.13695201 1.2532721 6.807146
Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms
Performance: 2093802.885 tau/day, 4846.766 timesteps/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.068308 | 0.068308 | 0.068308 | 0.0 | 66.21
Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11
Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64
Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86
Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17
Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37
Other | | 0.002726 | | | 2.64
Nlocal: 1200 ave 1200 max 1200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 197 ave 197 max 197 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 3094 ave 3094 max 3094 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 3094
Ave neighs/atom = 2.57833
Ave special neighs/atom = 0.5
Neighbor list builds = 52
Dangerous builds = 0
unfix 3
# Main run
pair_style lj/cut 2.5
# solvent/head - full-size and long-range
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 2.5
# tail/tail - size-averaged and long-range
pair_coeff 3 3 1.0 0.75 2.5
pair_coeff 4 4 1.0 0.50 2.5
pair_coeff 3 4 1.0 0.67 2.5
# solvent/tail - full-size and repulsive
pair_coeff 1 3 1.0 1.0 1.12246
pair_coeff 1 4 1.0 1.0 1.12246
# head/tail - size-averaged and repulsive
pair_coeff 2 3 1.0 0.88 1.12246
pair_coeff 2 4 1.0 0.75 1.12246
thermo 50
#dump 1 all atom 2000 dump.micelle
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
reset_timestep 0
group solvent molecule 0
750 atoms in group solvent
group solute subtract all solvent
450 atoms in group solute
unfix 1
unfix 2
unfix 4
fix 1 solvent nve
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
150 rigid bodies with 450 atoms
fix 4 all enforce2d
run 500
Neighbor list info ...
update every 1 steps, delay 5 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 lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423
50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539
100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696
150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743
200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793
250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722
300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794
350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926
400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858
450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617
500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061
Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms
Performance: 1208012.705 tau/day, 2796.326 timesteps/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.086131 | 0.086131 | 0.086131 | 0.0 | 48.17
Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38
Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92
Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45
Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10
Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34
Other | | 0.00293 | | | 1.64
Nlocal: 1200 ave 1200 max 1200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 416 ave 416 max 416 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 8769 ave 8769 max 8769 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 8769
Ave neighs/atom = 7.3075
Ave special neighs/atom = 0.5
Neighbor list builds = 47
Dangerous builds = 2
unfix 2
unfix 4
unfix 5
fix 5 solute rigid/small molecule
create bodies CPU = 0.00015378 secs
150 rigid bodies with 450 atoms
1.30435 = max distance from body owner to body atom
fix 4 all enforce2d
run 500
Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes
Step Temp E_pair E_mol TotEng Press
500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793
550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065
600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965
650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319
700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351
750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907
800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431
850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157
900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056
950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332
1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141
Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms
Performance: 1297278.008 tau/day, 3002.958 timesteps/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.085767 | 0.085767 | 0.085767 | 0.0 | 51.51
Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56
Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83
Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44
Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11
Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66
Other | | 0.003141 | | | 1.89
Nlocal: 1200 ave 1200 max 1200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 415 ave 415 max 415 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 8743 ave 8743 max 8743 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 8743
Ave neighs/atom = 7.28583
Ave special neighs/atom = 0.5
Neighbor list builds = 40
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -1,260 +0,0 @@
LAMMPS (29 Mar 2019)
using 1 OpenMP thread(s) per MPI task
# 2d micelle simulation
dimension 2
neighbor 0.3 bin
neigh_modify delay 5
atom_style bond
# Soft potential push-off
read_data data.micelle
orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1)
2 by 2 by 1 MPI processor grid
reading atoms ...
1200 atoms
scanning bonds ...
1 = max bonds/atom
reading bonds ...
300 bonds
2 = max # of 1-2 neighbors
1 = max # of 1-3 neighbors
1 = max # of 1-4 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000422001 secs
read_data CPU = 0.00473404 secs
special_bonds fene
2 = max # of 1-2 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000183344 secs
pair_style soft 1.12246
pair_coeff * * 0.0 1.12246
bond_style harmonic
bond_coeff 1 50.0 0.75
velocity all create 0.45 2349852
variable prefactor equal ramp(1.0,20.0)
fix 1 all nve
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
fix 3 all adapt 1 pair soft a * * v_prefactor
fix 4 all enforce2d
thermo 50
run 500
Neighbor list info ...
update every 1 steps, delay 5 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.42246
ghost atom cutoff = 1.42246
binsize = 0.71123, bins = 51 51 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair soft, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786
100 0.45 0.99659327 0.079228519 1.5254468 3.2135679
150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925
200 0.45 1.01454 0.10663502 1.5708 4.7598476
250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899
300 0.45 0.86475538 0.11819875 1.4325791 5.8554758
350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247
400 0.45 0.75067331 0.14165013 1.3419484 6.3840708
450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009
500 0.45 0.66669513 0.13695201 1.2532721 6.807146
Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms
Performance: 5066547.720 tau/day, 11728.120 timesteps/s
98.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16
Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95
Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95
Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78
Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62
Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28
Other | | 0.002669 | | | 6.26
Nlocal: 300 ave 304 max 292 min
Histogram: 1 0 0 0 0 0 0 0 2 1
Nghost: 103.5 ave 108 max 98 min
Histogram: 1 0 0 1 0 0 0 0 0 2
Neighs: 773.5 ave 792 max 735 min
Histogram: 1 0 0 0 0 0 0 0 2 1
Total # of neighbors = 3094
Ave neighs/atom = 2.57833
Ave special neighs/atom = 0.5
Neighbor list builds = 52
Dangerous builds = 0
unfix 3
# Main run
pair_style lj/cut 2.5
# solvent/head - full-size and long-range
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 2.5
# tail/tail - size-averaged and long-range
pair_coeff 3 3 1.0 0.75 2.5
pair_coeff 4 4 1.0 0.50 2.5
pair_coeff 3 4 1.0 0.67 2.5
# solvent/tail - full-size and repulsive
pair_coeff 1 3 1.0 1.0 1.12246
pair_coeff 1 4 1.0 1.0 1.12246
# head/tail - size-averaged and repulsive
pair_coeff 2 3 1.0 0.88 1.12246
pair_coeff 2 4 1.0 0.75 1.12246
thermo 50
#dump 1 all atom 2000 dump.micelle
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
reset_timestep 0
group solvent molecule 0
750 atoms in group solvent
group solute subtract all solvent
450 atoms in group solute
unfix 1
unfix 2
unfix 4
fix 1 solvent nve
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
150 rigid bodies with 450 atoms
fix 4 all enforce2d
run 500
Neighbor list info ...
update every 1 steps, delay 5 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 lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423
50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539
100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696
150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743
200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793
250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722
300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794
350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926
400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858
450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617
500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061
Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms
Performance: 2434100.210 tau/day, 5634.491 timesteps/s
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74
Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30
Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32
Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30
Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29
Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73
Other | | 0.002938 | | | 3.31
Nlocal: 300 ave 309 max 291 min
Histogram: 1 0 0 1 0 0 1 0 0 1
Nghost: 218.75 ave 223 max 216 min
Histogram: 1 0 2 0 0 0 0 0 0 1
Neighs: 2192.25 ave 2251 max 2113 min
Histogram: 1 0 0 1 0 0 0 0 0 2
Total # of neighbors = 8769
Ave neighs/atom = 7.3075
Ave special neighs/atom = 0.5
Neighbor list builds = 47
Dangerous builds = 2
unfix 2
unfix 4
unfix 5
fix 5 solute rigid/small molecule
create bodies CPU = 7.70092e-05 secs
150 rigid bodies with 450 atoms
1.30435 = max distance from body owner to body atom
fix 4 all enforce2d
run 500
Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes
Step Temp E_pair E_mol TotEng Press
500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793
550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065
600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965
650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319
700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351
750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907
800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431
850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157
900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056
950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332
1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141
Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms
Performance: 3671840.233 tau/day, 8499.630 timesteps/s
98.3% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47
Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93
Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98
Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29
Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42
Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11
Other | | 0.00224 | | | 3.81
Nlocal: 300 ave 303 max 295 min
Histogram: 1 0 0 0 0 0 1 0 1 1
Nghost: 219 ave 224 max 215 min
Histogram: 1 0 0 1 1 0 0 0 0 1
Neighs: 2185.75 ave 2244 max 2143 min
Histogram: 1 1 0 0 0 1 0 0 0 1
Total # of neighbors = 8743
Ave neighs/atom = 7.28583
Ave special neighs/atom = 0.5
Neighbor list builds = 40
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,271 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-345-g506bf886ee-modified)
# 2d micelle simulation
dimension 2
neighbor 0.3 bin
neigh_modify delay 5
atom_style bond
# Soft potential push-off
read_data data.micelle
Reading data file ...
orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1)
1 by 1 by 1 MPI processor grid
reading atoms ...
1200 atoms
scanning bonds ...
1 = max bonds/atom
reading bonds ...
300 bonds
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
2 = max # of 1-2 neighbors
1 = max # of 1-3 neighbors
1 = max # of 1-4 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.005 seconds
special_bonds fene
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 1 1
special bond factors coul: 0 1 1
2 = max # of 1-2 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000 seconds
pair_style soft 1.12246
pair_coeff * * 0.0 1.12246
bond_style harmonic
bond_coeff 1 50.0 0.75
velocity all create 0.45 2349852
variable prefactor equal ramp(1.0,20.0)
fix 1 all nve
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
fix 3 all adapt 1 pair soft a * * v_prefactor
fix 4 all enforce2d
thermo 50
run 500
Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule
WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730)
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.42246
ghost atom cutoff = 1.42246
binsize = 0.71123, bins = 51 51 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair soft, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d
bin: standard
WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730)
Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786
100 0.45 0.99659327 0.079228519 1.5254468 3.2135679
150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925
200 0.45 1.01454 0.10663502 1.5708 4.7598476
250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899
300 0.45 0.86475538 0.11819875 1.4325791 5.8554758
350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247
400 0.45 0.75067331 0.14165013 1.3419484 6.3840708
450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009
500 0.45 0.66669513 0.13695201 1.2532721 6.807146
Loop time of 0.0365221 on 1 procs for 500 steps with 1200 atoms
Performance: 5914221.123 tau/day, 13690.327 timesteps/s, 16.428 Matom-step/s
89.2% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.022939 | 0.022939 | 0.022939 | 0.0 | 62.81
Bond | 0.00073851 | 0.00073851 | 0.00073851 | 0.0 | 2.02
Neigh | 0.0078339 | 0.0078339 | 0.0078339 | 0.0 | 21.45
Comm | 0.00072134 | 0.00072134 | 0.00072134 | 0.0 | 1.98
Output | 7.1419e-05 | 7.1419e-05 | 7.1419e-05 | 0.0 | 0.20
Modify | 0.0034868 | 0.0034868 | 0.0034868 | 0.0 | 9.55
Other | | 0.0007314 | | | 2.00
Nlocal: 1200 ave 1200 max 1200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 197 ave 197 max 197 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 3094 ave 3094 max 3094 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 3094
Ave neighs/atom = 2.5783333
Ave special neighs/atom = 0.5
Neighbor list builds = 52
Dangerous builds = 0
unfix 3
# Main run
pair_style lj/cut 2.5
# solvent/head - full-size and long-range
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 2.5
# tail/tail - size-averaged and long-range
pair_coeff 3 3 1.0 0.75 2.5
pair_coeff 4 4 1.0 0.50 2.5
pair_coeff 3 4 1.0 0.67 2.5
# solvent/tail - full-size and repulsive
pair_coeff 1 3 1.0 1.0 1.12246
pair_coeff 1 4 1.0 1.0 1.12246
# head/tail - size-averaged and repulsive
pair_coeff 2 3 1.0 0.88 1.12246
pair_coeff 2 4 1.0 0.75 1.12246
thermo 50
#dump 1 all atom 2000 dump.micelle
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
reset_timestep 0
group solvent molecule 0
750 atoms in group solvent
group solute subtract all solvent
450 atoms in group solute
unfix 1
unfix 2
unfix 4
fix 1 solvent nve
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
150 rigid bodies with 450 atoms
fix 4 all enforce2d
run 500
Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 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 lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.391 | 5.391 | 5.391 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423
50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109
100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772
150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796
200 0.49410558 -1.7945459 0.13695201 -1.2565449 4.0469262
250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445
300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851
350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818
400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566
450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611
500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738
Loop time of 0.0650638 on 1 procs for 500 steps with 1200 atoms
Performance: 3319817.322 tau/day, 7684.762 timesteps/s, 9.222 Matom-step/s
100.0% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.027565 | 0.027565 | 0.027565 | 0.0 | 42.37
Bond | 0.0007043 | 0.0007043 | 0.0007043 | 0.0 | 1.08
Neigh | 0.012724 | 0.012724 | 0.012724 | 0.0 | 19.56
Comm | 0.00091442 | 0.00091442 | 0.00091442 | 0.0 | 1.41
Output | 6.004e-05 | 6.004e-05 | 6.004e-05 | 0.0 | 0.09
Modify | 0.022329 | 0.022329 | 0.022329 | 0.0 | 34.32
Other | | 0.0007666 | | | 1.18
Nlocal: 1200 ave 1200 max 1200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 411 ave 411 max 411 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 8759 ave 8759 max 8759 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 8759
Ave neighs/atom = 7.2991667
Ave special neighs/atom = 0.5
Neighbor list builds = 46
Dangerous builds = 2
unfix 2
unfix 4
unfix 5
fix 5 solute rigid/small molecule
create bodies CPU = 0.000 seconds
150 rigid bodies with 450 atoms
1.3043524 = max distance from body owner to body atom
fix 4 all enforce2d
run 500
Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 9.306 | 9.306 | 9.306 Mbytes
Step Temp E_pair E_mol TotEng Press
500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752
550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662
600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379
650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789
700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082
750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147
800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481
850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703
900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388
950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786
1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630988
Loop time of 0.0592806 on 1 procs for 500 steps with 1200 atoms
Performance: 3643690.276 tau/day, 8434.468 timesteps/s, 10.121 Matom-step/s
100.0% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.026866 | 0.026866 | 0.026866 | 0.0 | 45.32
Bond | 0.00071863 | 0.00071863 | 0.00071863 | 0.0 | 1.21
Neigh | 0.010927 | 0.010927 | 0.010927 | 0.0 | 18.43
Comm | 0.00084187 | 0.00084187 | 0.00084187 | 0.0 | 1.42
Output | 6.8106e-05 | 6.8106e-05 | 6.8106e-05 | 0.0 | 0.11
Modify | 0.019075 | 0.019075 | 0.019075 | 0.0 | 32.18
Other | | 0.000783 | | | 1.32
Nlocal: 1200 ave 1200 max 1200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 417 ave 417 max 417 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 8654 ave 8654 max 8654 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 8654
Ave neighs/atom = 7.2116667
Ave special neighs/atom = 0.5
Neighbor list builds = 39
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,272 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-345-g506bf886ee-modified)
WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551)
# 2d micelle simulation
dimension 2
neighbor 0.3 bin
neigh_modify delay 5
atom_style bond
# Soft potential push-off
read_data data.micelle
Reading data file ...
orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1)
2 by 2 by 1 MPI processor grid
reading atoms ...
1200 atoms
scanning bonds ...
1 = max bonds/atom
reading bonds ...
300 bonds
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 0 0
special bond factors coul: 0 0 0
2 = max # of 1-2 neighbors
1 = max # of 1-3 neighbors
1 = max # of 1-4 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000 seconds
read_data CPU = 0.004 seconds
special_bonds fene
Finding 1-2 1-3 1-4 neighbors ...
special bond factors lj: 0 1 1
special bond factors coul: 0 1 1
2 = max # of 1-2 neighbors
2 = max # of special neighbors
special bonds CPU = 0.000 seconds
pair_style soft 1.12246
pair_coeff * * 0.0 1.12246
bond_style harmonic
bond_coeff 1 50.0 0.75
velocity all create 0.45 2349852
variable prefactor equal ramp(1.0,20.0)
fix 1 all nve
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
fix 3 all adapt 1 pair soft a * * v_prefactor
fix 4 all enforce2d
thermo 50
run 500
Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule
WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730)
Neighbor list info ...
update: every = 1 steps, delay = 5 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.42246
ghost atom cutoff = 1.42246
binsize = 0.71123, bins = 51 51 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair soft, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d
bin: standard
WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730)
Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786
100 0.45 0.99659327 0.079228519 1.5254468 3.2135679
150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925
200 0.45 1.01454 0.10663502 1.5708 4.7598476
250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899
300 0.45 0.86475538 0.11819875 1.4325791 5.8554758
350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247
400 0.45 0.75067331 0.14165013 1.3419484 6.3840708
450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009
500 0.45 0.66669513 0.13695201 1.2532721 6.807146
Loop time of 0.0138659 on 4 procs for 500 steps with 1200 atoms
Performance: 15577811.312 tau/day, 36059.748 timesteps/s, 43.272 Matom-step/s
99.9% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.0053896 | 0.0057144 | 0.0060899 | 0.4 | 41.21
Bond | 0.00020074 | 0.00021422 | 0.00022291 | 0.0 | 1.54
Neigh | 0.0025301 | 0.0025401 | 0.0025501 | 0.0 | 18.32
Comm | 0.0031194 | 0.0035074 | 0.0038196 | 0.4 | 25.30
Output | 6.4137e-05 | 6.7743e-05 | 7.7909e-05 | 0.0 | 0.49
Modify | 0.0013391 | 0.0013582 | 0.0013972 | 0.1 | 9.80
Other | | 0.0004638 | | | 3.34
Nlocal: 300 ave 304 max 292 min
Histogram: 1 0 0 0 0 0 0 0 2 1
Nghost: 103.5 ave 108 max 98 min
Histogram: 1 0 0 1 0 0 0 0 0 2
Neighs: 773.5 ave 792 max 735 min
Histogram: 1 0 0 0 0 0 0 0 2 1
Total # of neighbors = 3094
Ave neighs/atom = 2.5783333
Ave special neighs/atom = 0.5
Neighbor list builds = 52
Dangerous builds = 0
unfix 3
# Main run
pair_style lj/cut 2.5
# solvent/head - full-size and long-range
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 2.5
# tail/tail - size-averaged and long-range
pair_coeff 3 3 1.0 0.75 2.5
pair_coeff 4 4 1.0 0.50 2.5
pair_coeff 3 4 1.0 0.67 2.5
# solvent/tail - full-size and repulsive
pair_coeff 1 3 1.0 1.0 1.12246
pair_coeff 1 4 1.0 1.0 1.12246
# head/tail - size-averaged and repulsive
pair_coeff 2 3 1.0 0.88 1.12246
pair_coeff 2 4 1.0 0.75 1.12246
thermo 50
#dump 1 all atom 2000 dump.micelle
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
reset_timestep 0
group solvent molecule 0
750 atoms in group solvent
group solute subtract all solvent
450 atoms in group solute
unfix 1
unfix 2
unfix 4
fix 1 solvent nve
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
150 rigid bodies with 450 atoms
fix 4 all enforce2d
run 500
Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 5 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 lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.375 | 5.375 | 5.375 Mbytes
Step Temp E_pair E_mol TotEng Press
0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423
50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109
100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772
150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796
200 0.49410558 -1.7945459 0.13695201 -1.2565449 4.0469262
250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445
300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851
350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818
400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566
450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611
500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738
Loop time of 0.0381773 on 4 procs for 500 steps with 1200 atoms
Performance: 5657810.772 tau/day, 13096.784 timesteps/s, 15.716 Matom-step/s
99.6% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.0059651 | 0.0062314 | 0.0066404 | 0.3 | 16.32
Bond | 0.00021057 | 0.00022477 | 0.0002333 | 0.0 | 0.59
Neigh | 0.0041424 | 0.0041487 | 0.0041512 | 0.0 | 10.87
Comm | 0.004264 | 0.0047244 | 0.0050297 | 0.4 | 12.37
Output | 8.2396e-05 | 8.6559e-05 | 9.6749e-05 | 0.0 | 0.23
Modify | 0.021833 | 0.021946 | 0.022094 | 0.1 | 57.48
Other | | 0.0008157 | | | 2.14
Nlocal: 300 ave 303 max 296 min
Histogram: 1 0 0 0 1 0 0 0 1 1
Nghost: 216.25 ave 219 max 214 min
Histogram: 1 0 1 0 0 0 1 0 0 1
Neighs: 2189.75 ave 2205 max 2173 min
Histogram: 1 0 0 0 1 0 1 0 0 1
Total # of neighbors = 8759
Ave neighs/atom = 7.2991667
Ave special neighs/atom = 0.5
Neighbor list builds = 46
Dangerous builds = 2
unfix 2
unfix 4
unfix 5
fix 5 solute rigid/small molecule
create bodies CPU = 0.000 seconds
150 rigid bodies with 450 atoms
1.3043524 = max distance from body owner to body atom
fix 4 all enforce2d
run 500
Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule
Per MPI rank memory allocation (min/avg/max) = 9.233 | 9.233 | 9.234 Mbytes
Step Temp E_pair E_mol TotEng Press
500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752
550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662
600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379
650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789
700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082
750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147
800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481
850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703
900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388
950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786
1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987
Loop time of 0.0236819 on 4 procs for 500 steps with 1200 atoms
Performance: 9120883.727 tau/day, 21113.157 timesteps/s, 25.336 Matom-step/s
99.9% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.0058656 | 0.0059718 | 0.0061355 | 0.1 | 25.22
Bond | 0.0002083 | 0.00022447 | 0.00023485 | 0.0 | 0.95
Neigh | 0.0035477 | 0.0035644 | 0.0035824 | 0.0 | 15.05
Comm | 0.0041037 | 0.0042227 | 0.0043024 | 0.1 | 17.83
Output | 7.4355e-05 | 7.8273e-05 | 8.7777e-05 | 0.0 | 0.33
Modify | 0.008976 | 0.0090549 | 0.0091663 | 0.1 | 38.24
Other | | 0.0005654 | | | 2.39
Nlocal: 300 ave 306 max 295 min
Histogram: 1 0 1 0 0 1 0 0 0 1
Nghost: 221 ave 226 max 217 min
Histogram: 1 0 0 1 1 0 0 0 0 1
Neighs: 2163.5 ave 2271 max 2100 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Total # of neighbors = 8654
Ave neighs/atom = 7.2116667
Ave special neighs/atom = 0.5
Neighbor list builds = 39
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -33,6 +33,7 @@
//#define ASYNC_DEVICE_COPY //#define ASYNC_DEVICE_COPY
#if 0
#if !defined(USE_OPENCL) && !defined(USE_HIP) #if !defined(USE_OPENCL) && !defined(USE_HIP)
// temporary workaround for int2 also defined in cufft // temporary workaround for int2 also defined in cufft
#ifdef int2 #ifdef int2
@ -40,6 +41,7 @@
#endif #endif
#include "cufft.h" #include "cufft.h"
#endif #endif
#endif
namespace LAMMPS_AL { namespace LAMMPS_AL {
@ -313,10 +315,11 @@ class BaseAmoeba {
virtual int fphi_mpole(); virtual int fphi_mpole();
virtual int polar_real(const int eflag, const int vflag) = 0; virtual int polar_real(const int eflag, const int vflag) = 0;
#if 0
#if !defined(USE_OPENCL) && !defined(USE_HIP) #if !defined(USE_OPENCL) && !defined(USE_HIP)
cufftHandle plan; cufftHandle plan;
#endif #endif
#endif
bool fft_plan_created; bool fft_plan_created;
}; };

View File

@ -300,6 +300,7 @@ double PairYLZ::init_one(int i, int j)
zeta[j][i] = zeta[i][j]; zeta[j][i] = zeta[i][j];
mu[j][i] = mu[i][j]; mu[j][i] = mu[i][j];
beta[j][i] = beta[i][j]; beta[j][i] = beta[i][j];
cut[j][i] = cut[i][j];
return cut[i][j]; return cut[i][j];
} }
@ -409,7 +410,7 @@ void PairYLZ::write_data_all(FILE *fp)
{ {
for (int i = 1; i <= atom->ntypes; i++) for (int i = 1; i <= atom->ntypes; i++)
for (int j = i; j <= atom->ntypes; j++) for (int j = i; j <= atom->ntypes; j++)
fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][i], sigma[i][i], cut[i][j], fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][j], sigma[i][j], cut[i][j],
zeta[i][j], mu[i][j], beta[i][j]); zeta[i][j], mu[i][j], beta[i][j]);
} }

View File

@ -99,10 +99,9 @@ int BodyRoundedPolyhedron::nedges(AtomVecBody::Bonus *bonus)
{ {
int nvertices = bonus->ivalue[0]; int nvertices = bonus->ivalue[0];
int nedges = bonus->ivalue[1]; int nedges = bonus->ivalue[1];
//int nfaces = bonus->ivalue[2];
if (nvertices == 1) return 0; if (nvertices == 1) return 0;
else if (nvertices == 2) return 1; else if (nvertices == 2) return 1;
return nedges; //(nvertices+nfaces-2); // Euler formula: V-E+F=2 return nedges;
} }
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
@ -116,6 +115,9 @@ double *BodyRoundedPolyhedron::edges(AtomVecBody::Bonus *bonus)
int BodyRoundedPolyhedron::nfaces(AtomVecBody::Bonus *bonus) int BodyRoundedPolyhedron::nfaces(AtomVecBody::Bonus *bonus)
{ {
int nvertices = bonus->ivalue[0];
if (nvertices < 3) return 0;
return bonus->ivalue[2]; return bonus->ivalue[2];
} }

View File

@ -415,17 +415,14 @@ void PairBodyRoundedPolygon::init_style()
if (!avec) if (!avec)
error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); error->all(FLERR,"Pair body/rounded/polygon requires atom style body");
if (strcmp(avec->bptr->style,"rounded/polygon") != 0) if (strcmp(avec->bptr->style,"rounded/polygon") != 0)
error->all(FLERR,"Pair body/rounded/polygon requires " error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon");
"body style rounded/polygon");
bptr = dynamic_cast<BodyRoundedPolygon *>(avec->bptr); bptr = dynamic_cast<BodyRoundedPolygon *>(avec->bptr);
if (force->newton_pair == 0) if (force->newton_pair == 0)
error->all(FLERR,"Pair style body/rounded/polygon requires " error->all(FLERR,"Pair style body/rounded/polygon requires newton pair on");
"newton pair on");
if (comm->ghost_velocity == 0) if (comm->ghost_velocity == 0)
error->all(FLERR,"Pair body/rounded/polygon requires " error->all(FLERR,"Pair body/rounded/polygon requires ghost atoms store velocity");
"ghost atoms store velocity");
neighbor->add_request(this); neighbor->add_request(this);
@ -463,27 +460,24 @@ void PairBodyRoundedPolygon::init_style()
for (i = 1; i <= ntypes; i++) for (i = 1; i <= ntypes; i++)
maxerad[i] = merad[i] = 0; maxerad[i] = merad[i] = 0;
int ipour; Fix *fixpour = nullptr;
for (ipour = 0; ipour < modify->nfix; ipour++) auto pours = modify->get_fix_by_style("^pour");
if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; if (pours.size() > 0) fixpour = pours[0];
if (ipour == modify->nfix) ipour = -1;
Fix *fixdep = nullptr;
auto deps = modify->get_fix_by_style("^deposit");
if (deps.size() > 0) fixdep = deps[0];
int idep;
for (idep = 0; idep < modify->nfix; idep++)
if (strcmp(modify->fix[idep]->style,"deposit") == 0) break;
if (idep == modify->nfix) idep = -1;
for (i = 1; i <= ntypes; i++) { for (i = 1; i <= ntypes; i++) {
merad[i] = 0.0; merad[i] = 0.0;
if (ipour >= 0) { if (fixpour) {
itype = i; itype = i;
merad[i] = merad[i] = *((double *) fixpour->extract("radius",itype));
*((double *) modify->fix[ipour]->extract("radius",itype));
} }
if (idep >= 0) { if (fixdep) {
itype = i; itype = i;
merad[i] = merad[i] = *((double *) fixdep->extract("radius",itype));
*((double *) modify->fix[idep]->extract("radius",itype));
} }
} }
@ -570,8 +564,7 @@ void PairBodyRoundedPolygon::body2space(int i)
} }
if ((body_num_edges > 0) && (edge_ends == nullptr)) if ((body_num_edges > 0) && (edge_ends == nullptr))
error->one(FLERR,"Inconsistent edge data for body of atom {}", error->one(FLERR,"Inconsistent edge data for body of atom {}", atom->tag[i]);
atom->tag[i]);
for (int m = 0; m < body_num_edges; m++) { for (int m = 0; m < body_num_edges; m++) {
edge[nedge][0] = static_cast<int>(edge_ends[2*m+0]); edge[nedge][0] = static_cast<int>(edge_ends[2*m+0]);

View File

@ -222,8 +222,7 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag)
// sphere-sphere interaction // sphere-sphere interaction
if (npi == 1 && npj == 1) { if (npi == 1 && npj == 1) {
sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, rsq, v, f, evflag);
rsq, v, f, evflag);
continue; continue;
} }
@ -391,20 +390,16 @@ void PairBodyRoundedPolyhedron::coeff(int narg, char **arg)
void PairBodyRoundedPolyhedron::init_style() void PairBodyRoundedPolyhedron::init_style()
{ {
avec = dynamic_cast<AtomVecBody *>(atom->style_match("body")); avec = dynamic_cast<AtomVecBody *>(atom->style_match("body"));
if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires " if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body");
"atom style body");
if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0)
error->all(FLERR,"Pair body/rounded/polyhedron requires " error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron");
"body style rounded/polyhedron");
bptr = dynamic_cast<BodyRoundedPolyhedron *>(avec->bptr); bptr = dynamic_cast<BodyRoundedPolyhedron *>(avec->bptr);
if (force->newton_pair == 0) if (force->newton_pair == 0)
error->all(FLERR,"Pair style body/rounded/polyhedron requires " error->all(FLERR,"Pair style body/rounded/polyhedron requires newton pair on");
"newton pair on");
if (comm->ghost_velocity == 0) if (comm->ghost_velocity == 0)
error->all(FLERR,"Pair body/rounded/polyhedron requires " error->all(FLERR,"Pair body/rounded/polyhedron requires ghost atoms store velocity");
"ghost atoms store velocity");
neighbor->add_request(this); neighbor->add_request(this);
@ -446,27 +441,23 @@ void PairBodyRoundedPolyhedron::init_style()
for (i = 1; i <= ntypes; i++) for (i = 1; i <= ntypes; i++)
maxerad[i] = merad[i] = 0; maxerad[i] = merad[i] = 0;
int ipour; Fix *fixpour = nullptr;
for (ipour = 0; ipour < modify->nfix; ipour++) auto pours = modify->get_fix_by_style("^pour");
if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; if (pours.size() > 0) fixpour = pours[0];
if (ipour == modify->nfix) ipour = -1;
int idep; Fix *fixdep = nullptr;
for (idep = 0; idep < modify->nfix; idep++) auto deps = modify->get_fix_by_style("^deposit");
if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; if (deps.size() > 0) fixdep = deps[0];
if (idep == modify->nfix) idep = -1;
for (i = 1; i <= ntypes; i++) { for (i = 1; i <= ntypes; i++) {
merad[i] = 0.0; merad[i] = 0.0;
if (ipour >= 0) { if (fixpour) {
itype = i; itype = i;
merad[i] = merad[i] = *((double *) fixpour->extract("radius",itype));
*((double *) modify->fix[ipour]->extract("radius",itype));
} }
if (idep >= 0) { if (fixdep) {
itype = i; itype = i;
merad[i] = merad[i] = *((double *) fixdep->extract("radius",itype));
*((double *) modify->fix[idep]->extract("radius",itype));
} }
} }
@ -558,8 +549,7 @@ void PairBodyRoundedPolyhedron::body2space(int i)
} }
if ((body_num_edges > 0) && (edge_ends == nullptr)) if ((body_num_edges > 0) && (edge_ends == nullptr))
error->one(FLERR,"Inconsistent edge data for body of atom {}", error->one(FLERR,"Inconsistent edge data for body of atom {}", atom->tag[i]);
atom->tag[i]);
for (int m = 0; m < body_num_edges; m++) { for (int m = 0; m < body_num_edges; m++) {
edge[nedge][0] = static_cast<int>(edge_ends[2*m+0]); edge[nedge][0] = static_cast<int>(edge_ends[2*m+0]);
@ -585,8 +575,7 @@ void PairBodyRoundedPolyhedron::body2space(int i)
} }
if ((body_num_faces > 0) && (face_pts == nullptr)) if ((body_num_faces > 0) && (face_pts == nullptr))
error->one(FLERR,"Inconsistent face data for body of atom {}", error->one(FLERR,"Inconsistent face data for body of atom {}", atom->tag[i]);
atom->tag[i]);
for (int m = 0; m < body_num_faces; m++) { for (int m = 0; m < body_num_faces; m++) {
for (int k = 0; k < MAX_FACE_SIZE; k++) for (int k = 0; k < MAX_FACE_SIZE; k++)

View File

@ -14,7 +14,7 @@
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------
Contributing authors: Naveen Michaud-Agrawal (Johns Hopkins U) Contributing authors: Naveen Michaud-Agrawal (Johns Hopkins U)
open-source XDR routines from Open Source XDR based I/O routines from
Frans van Hoesel (https://www.rug.nl/staff/f.h.j.van.hoesel/) Frans van Hoesel (https://www.rug.nl/staff/f.h.j.van.hoesel/)
are included in this file are included in this file
Axel Kohlmeyer (Temple U) Axel Kohlmeyer (Temple U)
@ -35,27 +35,29 @@
#include "output.h" #include "output.h"
#include "update.h" #include "update.h"
#include "xdr_compat.h"
#include <climits> #include <climits>
#include <cmath> #include <cmath>
#include <cstring> #include <cstring>
using namespace LAMMPS_NS; using namespace LAMMPS_NS;
#define EPS 1e-5 static constexpr double EPS = 1.0e-5;
#define XTC_MAGIC 1995 static constexpr int XTC_MAGIC = 1995;
#define MYMIN(a,b) ((a) < (b) ? (a) : (b)) #define MYMIN(a,b) ((a) < (b) ? (a) : (b))
#define MYMAX(a,b) ((a) > (b) ? (a) : (b)) #define MYMAX(a,b) ((a) > (b) ? (a) : (b))
int xdropen(XDR *, const char *, const char *); static int xdropen(XDR *, const char *, const char *);
int xdrclose(XDR *); static int xdrclose(XDR *);
void xdrfreebuf(); static void xdrfreebuf();
int xdr3dfcoord(XDR *, float *, int *, float *); static int xdr3dfcoord(XDR *, float *, int *, float *);
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg)
coords(nullptr) : Dump(lmp, narg, arg), coords(nullptr), xd(nullptr)
{ {
if (narg != 5) error->all(FLERR,"Illegal dump xtc command"); if (narg != 5) error->all(FLERR,"Illegal dump xtc command");
if (binary || compressed || multifile || multiproc) if (binary || compressed || multifile || multiproc)
@ -68,6 +70,7 @@ DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg),
flush_flag = 0; flush_flag = 0;
unwrap_flag = 0; unwrap_flag = 0;
precision = 1000.0; precision = 1000.0;
xd = new XDR;
// allocate global array for atom coords // allocate global array for atom coords
@ -105,9 +108,10 @@ DumpXTC::~DumpXTC()
memory->destroy(coords); memory->destroy(coords);
if (me == 0) { if (me == 0) {
xdrclose(&xd); xdrclose(xd);
xdrfreebuf(); xdrfreebuf();
} }
delete xd;
} }
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
@ -150,7 +154,8 @@ void DumpXTC::openfile()
fp = nullptr; fp = nullptr;
if (me == 0) if (me == 0)
if (xdropen(&xd,filename,"w") == 0) error->one(FLERR,"Cannot open dump file"); if (xdropen(xd,filename,"w") == 0)
error->one(FLERR,"Cannot open XTC format dump file {}: {}", filename, utils::getsyserror());
} }
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
@ -176,11 +181,11 @@ void DumpXTC::write_header(bigint nbig)
if (me != 0) return; if (me != 0) return;
int tmp = XTC_MAGIC; int tmp = XTC_MAGIC;
xdr_int(&xd,&tmp); xdr_int(xd,&tmp);
xdr_int(&xd,&n); xdr_int(xd,&n);
xdr_int(&xd,&ntimestep); xdr_int(xd,&ntimestep);
float time_value = ntimestep * tfactor * update->dt; float time_value = ntimestep * tfactor * update->dt;
xdr_float(&xd,&time_value); xdr_float(xd,&time_value);
// cell basis vectors // cell basis vectors
if (domain->triclinic) { if (domain->triclinic) {
@ -192,18 +197,18 @@ void DumpXTC::write_header(bigint nbig)
float xz = sfactor * domain->xz; float xz = sfactor * domain->xz;
float yz = sfactor * domain->yz; float yz = sfactor * domain->yz;
xdr_float(&xd,&xdim); xdr_float(&xd,&zero); xdr_float(&xd,&zero); xdr_float(xd,&xdim); xdr_float(xd,&zero); xdr_float(xd,&zero);
xdr_float(&xd,&xy ); xdr_float(&xd,&ydim); xdr_float(&xd,&zero); xdr_float(xd,&xy ); xdr_float(xd,&ydim); xdr_float(xd,&zero);
xdr_float(&xd,&xz ); xdr_float(&xd,&yz ); xdr_float(&xd,&zdim); xdr_float(xd,&xz ); xdr_float(xd,&yz ); xdr_float(xd,&zdim);
} else { } else {
float zero = 0.0; float zero = 0.0;
float xdim = sfactor * (domain->boxhi[0] - domain->boxlo[0]); float xdim = sfactor * (domain->boxhi[0] - domain->boxlo[0]);
float ydim = sfactor * (domain->boxhi[1] - domain->boxlo[1]); float ydim = sfactor * (domain->boxhi[1] - domain->boxlo[1]);
float zdim = sfactor * (domain->boxhi[2] - domain->boxlo[2]); float zdim = sfactor * (domain->boxhi[2] - domain->boxlo[2]);
xdr_float(&xd,&xdim); xdr_float(&xd,&zero); xdr_float(&xd,&zero); xdr_float(xd,&xdim); xdr_float(xd,&zero); xdr_float(xd,&zero);
xdr_float(&xd,&zero); xdr_float(&xd,&ydim); xdr_float(&xd,&zero); xdr_float(xd,&zero); xdr_float(xd,&ydim); xdr_float(xd,&zero);
xdr_float(&xd,&zero); xdr_float(&xd,&zero); xdr_float(&xd,&zdim); xdr_float(xd,&zero); xdr_float(xd,&zero); xdr_float(xd,&zdim);
} }
} }
@ -328,7 +333,7 @@ double DumpXTC::memory_usage()
void DumpXTC::write_frame() void DumpXTC::write_frame()
{ {
xdr3dfcoord(&xd,coords,&natoms,&precision); xdr3dfcoord(xd,coords,&natoms,&precision);
} }
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
@ -406,7 +411,7 @@ static int magicints[] = {
| |
| xdropen - open xdr file | xdropen - open xdr file
| |
| This versions differs from xdrstdio_create, because I need to know | This version differs from xdrstdio_create, because I need to know
| the state of the file (read or write) so I can use xdr3dfcoord | the state of the file (read or write) so I can use xdr3dfcoord
| in eigther read or write mode, and the file descriptor | in eigther read or write mode, and the file descriptor
| so I can close the file (something xdr_destroy doesn't do). | so I can close the file (something xdr_destroy doesn't do).
@ -1048,7 +1053,7 @@ int xdr3dfcoord(XDR *xdrs, float *fp, int *size, float *precision)
} }
if (buf[1] != 0) buf[0]++; if (buf[1] != 0) buf[0]++;
xdr_int(xdrs, &(buf[0])); /* buf[0] holds the length in bytes */ xdr_int(xdrs, &(buf[0])); /* buf[0] holds the length in bytes */
return errval * (xdr_opaque(xdrs, (caddr_t)&(buf[3]), (u_int)buf[0])); return errval * (xdr_opaque(xdrs, (char *)&(buf[3]), (unsigned int)buf[0]));
} else { } else {
/* xdrs is open for reading */ /* xdrs is open for reading */
@ -1129,7 +1134,7 @@ int xdr3dfcoord(XDR *xdrs, float *fp, int *size, float *precision)
if (xdr_int(xdrs, &(buf[0])) == 0) if (xdr_int(xdrs, &(buf[0])) == 0)
return 0; return 0;
if (xdr_opaque(xdrs, (caddr_t)&(buf[3]), (u_int)buf[0]) == 0) if (xdr_opaque(xdrs, (char *)&(buf[3]), (unsigned int)buf[0]) == 0)
return 0; return 0;
buf[0] = buf[1] = buf[2] = 0; buf[0] = buf[1] = buf[2] = 0;

View File

@ -21,8 +21,8 @@ DumpStyle(xtc,DumpXTC);
#define LMP_DUMP_XTC_H #define LMP_DUMP_XTC_H
#include "dump.h" #include "dump.h"
#include "xdr_compat.h"
struct XDR;
namespace LAMMPS_NS { namespace LAMMPS_NS {
class DumpXTC : public Dump { class DumpXTC : public Dump {
@ -37,7 +37,7 @@ class DumpXTC : public Dump {
float precision; // user-adjustable precision setting float precision; // user-adjustable precision setting
float *coords; float *coords;
double sfactor, tfactor; // scaling factors for positions and time unit double sfactor, tfactor; // scaling factors for positions and time unit
XDR xd; XDR *xd;
void init_style() override; void init_style() override;
int modify_param(int, char **) override; int modify_param(int, char **) override;

View File

@ -1,54 +1,63 @@
// clang-format off
#include "xdr_compat.h" #include "xdr_compat.h"
#include <cstdlib> #include <cstdlib>
#include <cstring> #include <cstring>
/* This file is needed for systems, that do not provide XDR support /*
* in their system libraries. It was written for windows, but will * This file contains an implementation of the Sun External Data Representation (XDR)
* most probably work on other platforms too. better make sure you * routines. They have been adapted specifically for the use with the LAMMPS xtc dump
* test that the xtc files produced are ok before using it. * style to produce compressed trajectory files in the Gromacs XTC format.
* *
* It is also needed on BG/L and Cray XT3/XT4 as we don't have * The XDR sources are avaiable under the BSD 3-clause license for example in
* XDR support in the lightweight kernel runtimes either. * the MIT Kerberos 5 distribution with the following copyright notice and license.
* *
* This file contains the definitions for Sun External Data * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC
* Representation (XDR) headers and routines.
* *
* Although the rest of LAMPPS is GPL, you can copy and use the XDR * Copyright (c) 2010, Oracle America, Inc.
* routines in any way you want as long as you obey Sun's license:
* *
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for * All rights reserved.
* unrestricted use provided that this legend is included on all tape
* media and as a part of the software program in whole or part. Users
* may copy or modify Sun RPC without charge, but are not authorized
* to license or distribute it to anyone else except as part of a product or
* program developed by the user.
* *
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * Redistribution and use in source and binary forms, with or without
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR * modification, are permitted provided that the following conditions are met:
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
* *
* Sun RPC is provided with no support and without any obligation on the * * Redistributions of source code must retain the above copyright
* part of Sun Microsystems, Inc. to assist in its use, correction, * notice, this list of conditions and the following disclaimer.
* modification or enhancement.
* *
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * * Redistributions in binary form must reproduce the above copyright
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * notice, this list of conditions and the following disclaimer in
* OR ANY PART THEREOF. * the documentation and/or other materials provided with the
* distribution.
* *
* In no event will Sun Microsystems, Inc. be liable for any lost revenue * * Neither the name of the "Oracle America, Inc." nor the names of
* or profits or other special, indirect and consequential damages, even if * its contributors may be used to endorse or promote products
* Sun has been advised of the possibility of such damages. * derived from this software without specific prior written permission.
* *
* Sun Microsystems, Inc. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* 2550 Garcia Avenue * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* Mountain View, California 94043 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#ifndef FALSE
#define FALSE (0)
#endif
#ifndef TRUE
#define TRUE (1)
#endif
#define BYTES_PER_XDR_UNIT (4)
/* /*
* for unit alignment * for unit alignment
*/ */
@ -61,8 +70,7 @@ static xdr_uint32_t xdr_swapbytes(xdr_uint32_t x)
char *px = (char *) &x; char *px = (char *) &x;
char *py = (char *) &y; char *py = (char *) &y;
for (i=0;i<4;i++) for (i = 0; i < 4; i++) py[i] = px[3 - i];
py[i]=px[3-i];
return y; return y;
} }
@ -91,221 +99,39 @@ static xdr_uint32_t xdr_ntohl(xdr_uint32_t x)
} }
} }
/*
* Free a data structure using XDR
* Not a filter, but a convenient utility nonetheless
*/
void
xdr_free (xdrproc_t proc, char *objp)
{
XDR x;
x.x_op = XDR_FREE;
(*proc) (&x, objp);
}
/*
* XDR nothing
*/
bool_t
xdr_void (void)
{
return TRUE;
}
/* /*
* XDR integers * XDR integers
*/ */
bool_t bool_t xdr_int(XDR *xdrs, int *ip)
xdr_int (XDR *xdrs, int *ip)
{ {
xdr_int32_t l; xdr_int32_t l;
switch (xdrs->x_op) switch (xdrs->x_op) {
{
case XDR_ENCODE: case XDR_ENCODE:
l = (xdr_int32_t) (*ip); l = (xdr_int32_t) (*ip);
return xdr_putint32(xdrs, &l); return xdr_putint32(xdrs, &l);
break;
case XDR_DECODE: case XDR_DECODE:
if (!xdr_getint32 (xdrs, &l)) if (!xdr_getint32(xdrs, &l)) return FALSE;
{
return FALSE;
}
*ip = (int) l; *ip = (int) l;
return TRUE;
break;
case XDR_FREE: case XDR_FREE:
return TRUE; return TRUE;
break;
} }
return FALSE; return FALSE;
} }
/*
* XDR unsigned integers
*/
bool_t
xdr_u_int (XDR *xdrs, unsigned int *up)
{
xdr_uint32_t l;
switch (xdrs->x_op)
{
case XDR_ENCODE:
l = (xdr_uint32_t) (*up);
return xdr_putuint32 (xdrs, &l);
case XDR_DECODE:
if (!xdr_getuint32 (xdrs, &l))
{
return FALSE;
}
*up = (unsigned int) l;
case XDR_FREE:
return TRUE;
}
return FALSE;
}
/*
* XDR short integers
*/
bool_t
xdr_short (XDR *xdrs, short *sp)
{
xdr_int32_t l;
switch (xdrs->x_op)
{
case XDR_ENCODE:
l = (xdr_int32_t) *sp;
return xdr_putint32 (xdrs, &l);
case XDR_DECODE:
if (!xdr_getint32 (xdrs, &l))
{
return FALSE;
}
*sp = (short) l;
return TRUE;
case XDR_FREE:
return TRUE;
}
return FALSE;
}
/*
* XDR unsigned short integers
*/
bool_t
xdr_u_short (XDR *xdrs, unsigned short *usp)
{
xdr_uint32_t l;
switch (xdrs->x_op)
{
case XDR_ENCODE:
l = (xdr_uint32_t) *usp;
return xdr_putuint32 (xdrs, &l);
case XDR_DECODE:
if (!xdr_getuint32 (xdrs, &l))
{
return FALSE;
}
*usp = (unsigned short) l;
return TRUE;
case XDR_FREE:
return TRUE;
}
return FALSE;
}
/*
* XDR a char
*/
bool_t
xdr_char (XDR *xdrs, char *cp)
{
int i;
i = (*cp);
if (!xdr_int (xdrs, &i))
{
return FALSE;
}
*cp = i;
return TRUE;
}
/*
* XDR an unsigned char
*/
bool_t
xdr_u_char (XDR *xdrs, unsigned char *cp)
{
unsigned int u;
u = (*cp);
if (!xdr_u_int (xdrs, &u))
{
return FALSE;
}
*cp = u;
return TRUE;
}
/*
* XDR booleans
*/
bool_t
xdr_bool (XDR *xdrs, int *bp)
{
#define XDR_FALSE ((xdr_int32_t) 0)
#define XDR_TRUE ((xdr_int32_t) 1)
xdr_int32_t lb;
switch (xdrs->x_op)
{
case XDR_ENCODE:
lb = *bp ? XDR_TRUE : XDR_FALSE;
return xdr_putint32 (xdrs, &lb);
case XDR_DECODE:
if (!xdr_getint32 (xdrs, &lb))
{
return FALSE;
}
*bp = (lb == XDR_FALSE) ? FALSE : TRUE;
return TRUE;
case XDR_FREE:
return TRUE;
}
return FALSE;
#undef XDR_FALSE
#undef XDR_TRUE
}
/* /*
* XDR opaque data * XDR opaque data
* Allows the specification of a fixed size sequence of opaque bytes. * Allows the specification of a fixed size sequence of opaque bytes.
* cp points to the opaque object and cnt gives the byte length. * cp points to the opaque object and cnt gives the byte length.
*/ */
bool_t bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt)
xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt)
{ {
unsigned int rndup; unsigned int rndup;
static char crud[BYTES_PER_XDR_UNIT]; static char crud[BYTES_PER_XDR_UNIT];
@ -313,125 +139,38 @@ xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt)
/* /*
* if no data we are done * if no data we are done
*/ */
if (cnt == 0) if (cnt == 0) return TRUE;
return TRUE;
/* /*
* round byte count to full xdr units * round byte count to full xdr units
*/ */
rndup = cnt % BYTES_PER_XDR_UNIT; rndup = cnt % BYTES_PER_XDR_UNIT;
if (rndup > 0) if (rndup > 0) rndup = BYTES_PER_XDR_UNIT - rndup;
rndup = BYTES_PER_XDR_UNIT - rndup;
switch (xdrs->x_op) {
switch (xdrs->x_op)
{
case XDR_DECODE: case XDR_DECODE:
if (!xdr_getbytes (xdrs, cp, cnt)) if (!xdr_getbytes(xdrs, cp, cnt)) { return FALSE; }
{ if (rndup == 0) return TRUE;
return FALSE;
}
if (rndup == 0)
return TRUE;
return xdr_getbytes(xdrs, (char *) crud, rndup); return xdr_getbytes(xdrs, (char *) crud, rndup);
break;
case XDR_ENCODE: case XDR_ENCODE:
if (!xdr_putbytes (xdrs, cp, cnt)) if (!xdr_putbytes(xdrs, cp, cnt)) { return FALSE; }
{ if (rndup == 0) return TRUE;
return FALSE;
}
if (rndup == 0)
return TRUE;
return xdr_putbytes(xdrs, xdr_zero, rndup); return xdr_putbytes(xdrs, xdr_zero, rndup);
break;
case XDR_FREE: case XDR_FREE:
return TRUE; return TRUE;
}
return FALSE;
}
/*
* XDR null terminated ASCII strings
* xdr_string deals with "C strings" - arrays of bytes that are
* terminated by a nullptr character. The parameter cpp references a
* pointer to storage; If the pointer is null, then the necessary
* storage is allocated. The last parameter is the max allowed length
* of the string as specified by a protocol.
*/
bool_t
xdr_string (XDR *xdrs, char **cpp, unsigned int maxsize)
{
char *sp = *cpp; /* sp is the actual string pointer */
unsigned int size = 0;
unsigned int nodesize = 0;
/*
* first deal with the length since xdr strings are counted-strings
*/
switch (xdrs->x_op)
{
case XDR_FREE:
if (sp == nullptr)
{
return TRUE; /* already free */
}
/* fall through... */
case XDR_ENCODE:
if (sp == nullptr)
return FALSE;
size = strlen (sp);
break;
case XDR_DECODE:
break; break;
} }
if (!xdr_u_int (xdrs, &size))
{
return FALSE; return FALSE;
} }
if (size > maxsize)
{
return FALSE;
}
nodesize = size + 1;
/*
* now deal with the actual bytes
*/
switch (xdrs->x_op)
{
case XDR_DECODE:
if (nodesize == 0)
{
return TRUE;
}
if (sp == nullptr)
*cpp = sp = (char *) malloc (nodesize);
if (sp == nullptr)
{
(void) fputs ("xdr_string: out of memory\n", stderr);
return FALSE;
}
sp[size] = 0;
/* fall into ... */
case XDR_ENCODE:
return xdr_opaque (xdrs, sp, size);
case XDR_FREE:
free (sp);
*cpp = nullptr;
return TRUE;
}
return FALSE;
}
/* Floating-point stuff */ /* Floating-point stuff */
bool_t bool_t xdr_float(XDR *xdrs, float *fp)
xdr_float(XDR *xdrs, float *fp)
{ {
xdr_int32_t tmp; xdr_int32_t tmp;
@ -440,92 +179,21 @@ xdr_float(XDR *xdrs, float *fp)
case XDR_ENCODE: case XDR_ENCODE:
tmp = *(xdr_int32_t *) fp; tmp = *(xdr_int32_t *) fp;
return (xdr_putint32(xdrs, &tmp)); return (xdr_putint32(xdrs, &tmp));
break; break;
case XDR_DECODE: case XDR_DECODE:
if (xdr_getint32(xdrs, &tmp)) { if (xdr_getint32(xdrs, &tmp)) {
*(xdr_int32_t *) fp = tmp; *(xdr_int32_t *) fp = tmp;
return (TRUE); return TRUE;
} }
break; break;
case XDR_FREE: case XDR_FREE:
return (TRUE); return TRUE;
}
return (FALSE);
}
bool_t
xdr_double(XDR *xdrs, double *dp)
{
/* Windows and some other systems dont define double-precision
* word order in the header files, so unfortunately we have
* to calculate it!
*/
static int LSW=-1; /* Least significant fp word */
int *ip;
xdr_int32_t tmp[2];
if (LSW<0) {
double x=0.987654321; /* Just a number */
/* Possible representations in IEEE double precision:
* (S=small endian, B=big endian)
*
* Byte order, Word order, Hex
* S S b8 56 0e 3c dd 9a ef 3f
* B S 3c 0e 56 b8 3f ef 9a dd
* S B dd 9a ef 3f b8 56 0e 3c
* B B 3f ef 9a dd 3c 0e 56 b8
*/
unsigned char ix = *((char *)&x);
if (ix==0xdd || ix==0x3f)
LSW=1; /* Big endian word order */
else if (ix==0xb8 || ix==0x3c)
LSW=0; /* Small endian word order */
else { /* Catch strange errors */
printf("Error when detecting floating-point word order.\n"
"Do you have a non-IEEE system?\n"
"If possible, use the XDR libraries provided with your system,\n"
"instead of the Gromacs fallback XDR source.\n");
exit(0);
}
}
switch (xdrs->x_op) {
case XDR_ENCODE:
ip = (int *)dp;
tmp[0] = ip[!LSW];
tmp[1] = ip[LSW];
return (xdr_putint32(xdrs, tmp) &&
xdr_putint32(xdrs, tmp+1));
break; break;
case XDR_DECODE:
ip = (int *)dp;
if (xdr_getint32(xdrs, tmp+!LSW) &&
xdr_getint32(xdrs, tmp+LSW)) {
ip[0] = tmp[0];
ip[1] = tmp[1];
return (TRUE);
} }
return FALSE;
break;
case XDR_FREE:
return (TRUE);
} }
return (FALSE);
}
/* Array routines */ /* Array routines */
@ -539,55 +207,37 @@ xdr_double(XDR *xdrs, double *dp)
* > elemsize: size of each element * > elemsize: size of each element
* > xdr_elem: routine to XDR each element * > xdr_elem: routine to XDR each element
*/ */
bool_t bool_t xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, unsigned int elemsize,
xdr_vector (XDR *xdrs, char *basep, unsigned int nelem, xdrproc_t xdr_elem)
unsigned int elemsize, xdrproc_t xdr_elem)
{ {
#define LASTUNSIGNED ((unsigned int) 0 - 1) #define LASTUNSIGNED ((unsigned int) 0 - 1)
unsigned int i; unsigned int i;
char *elptr; char *elptr;
elptr = basep; elptr = basep;
for (i = 0; i < nelem; i++) for (i = 0; i < nelem; i++) {
{ if (!(*xdr_elem)(xdrs, elptr, LASTUNSIGNED)) { return FALSE; }
if (!(*xdr_elem) (xdrs, elptr, LASTUNSIGNED))
{
return FALSE;
}
elptr += elemsize; elptr += elemsize;
} }
return TRUE; return TRUE;
#undef LASTUNSIGNED #undef LASTUNSIGNED
} }
static bool_t xdrstdio_getbytes(XDR *, char *, unsigned int); static bool_t xdrstdio_getbytes(XDR *, char *, unsigned int);
static bool_t xdrstdio_putbytes(XDR *, char *, unsigned int); static bool_t xdrstdio_putbytes(XDR *, char *, unsigned int);
static unsigned int xdrstdio_getpos (XDR *);
static bool_t xdrstdio_setpos (XDR *, unsigned int);
static xdr_int32_t *xdrstdio_inline (XDR *, int);
static void xdrstdio_destroy(XDR *); static void xdrstdio_destroy(XDR *);
static bool_t xdrstdio_getint32(XDR *, xdr_int32_t *); static bool_t xdrstdio_getint32(XDR *, xdr_int32_t *);
static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *); static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *);
static bool_t xdrstdio_getuint32 (XDR *, xdr_uint32_t *);
static bool_t xdrstdio_putuint32 (XDR *, xdr_uint32_t *);
/* /*
* Ops vector for stdio type XDR * Ops vector for stdio type XDR
*/ */
static const struct xdr_ops xdrstdio_ops = static const struct xdr_ops xdrstdio_ops = {
{
xdrstdio_getbytes, /* deserialize counted bytes */ xdrstdio_getbytes, /* deserialize counted bytes */
xdrstdio_putbytes, /* serialize counted bytes */ xdrstdio_putbytes, /* serialize counted bytes */
xdrstdio_getpos, /* get offset in the stream */
xdrstdio_setpos, /* set offset in the stream */
xdrstdio_inline, /* prime stream for inline macros */
xdrstdio_destroy, /* destroy stream */ xdrstdio_destroy, /* destroy stream */
xdrstdio_getint32, /* deserialize a int */ xdrstdio_getint32, /* deserialize a int */
xdrstdio_putint32, /* serialize a int */ xdrstdio_putint32, /* serialize a int */
xdrstdio_getuint32, /* deserialize a int */
xdrstdio_putuint32 /* serialize a int */
}; };
/* /*
@ -595,8 +245,7 @@ static const struct xdr_ops xdrstdio_ops =
* Sets the xdr stream handle xdrs for use on the stream file. * Sets the xdr stream handle xdrs for use on the stream file.
* Operation flag is set to op. * Operation flag is set to op.
*/ */
void void xdrstdio_create(XDR *xdrs, FILE *file, enum xdr_op op)
xdrstdio_create (XDR *xdrs, FILE *file, enum xdr_op op)
{ {
xdrs->x_op = op; xdrs->x_op = op;
/* We have to add the const since the `struct xdr_ops' in `struct XDR' /* We have to add the const since the `struct xdr_ops' in `struct XDR'
@ -611,104 +260,42 @@ xdrstdio_create (XDR *xdrs, FILE *file, enum xdr_op op)
* Destroy a stdio xdr stream. * Destroy a stdio xdr stream.
* Cleans up the xdr stream handle xdrs previously set up by xdrstdio_create. * Cleans up the xdr stream handle xdrs previously set up by xdrstdio_create.
*/ */
static void static void xdrstdio_destroy(XDR *xdrs)
xdrstdio_destroy (XDR *xdrs)
{ {
(void) fflush((FILE *) xdrs->x_private); (void) fflush((FILE *) xdrs->x_private);
/* xx should we close the file ?? */ /* xx should we close the file ?? */
} }
static bool_t xdrstdio_getbytes(XDR *xdrs, char *addr, unsigned int len)
static bool_t
xdrstdio_getbytes (XDR *xdrs, char *addr, unsigned int len)
{ {
if ((len != 0) && (fread (addr, (int) len, 1, if ((len != 0) && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE;
(FILE *) xdrs->x_private) != 1))
return FALSE;
return TRUE; return TRUE;
} }
static bool_t static bool_t xdrstdio_putbytes(XDR *xdrs, char *addr, unsigned int len)
xdrstdio_putbytes (XDR *xdrs, char *addr, unsigned int len)
{ {
if ((len != 0) && (fwrite (addr, (int) len, 1, if ((len != 0) && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE;
(FILE *) xdrs->x_private) != 1))
return FALSE;
return TRUE; return TRUE;
} }
static unsigned int static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip)
xdrstdio_getpos (XDR *xdrs)
{
return (unsigned int) ftell ((FILE *) xdrs->x_private);
}
static bool_t
xdrstdio_setpos (XDR *xdrs, unsigned int pos)
{
return fseek ((FILE *) xdrs->x_private, (xdr_int32_t) pos, 0) < 0 ? FALSE : TRUE;
}
static xdr_int32_t *
xdrstdio_inline (XDR * /*xdrs*/, int /*len*/)
{
/*
* Must do some work to implement this: must ensure
* enough data in the underlying stdio buffer,
* that the buffer is aligned so that we can indirect through a
* long *, and stuff this pointer in xdrs->x_buf. Doing
* a fread or fwrite to a scratch buffer would defeat
* most of the gains to be had here and require storage
* management on this buffer, so we don't do this.
*/
return nullptr;
}
static bool_t
xdrstdio_getint32 (XDR *xdrs, xdr_int32_t *ip)
{ {
xdr_int32_t mycopy; xdr_int32_t mycopy;
if (fread ((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE;
return FALSE;
*ip = xdr_ntohl(mycopy); *ip = xdr_ntohl(mycopy);
return TRUE; return TRUE;
} }
static bool_t static bool_t xdrstdio_putint32(XDR *xdrs, xdr_int32_t *ip)
xdrstdio_putint32 (XDR *xdrs, xdr_int32_t *ip)
{ {
xdr_int32_t mycopy = xdr_htonl(*ip); xdr_int32_t mycopy = xdr_htonl(*ip);
ip = &mycopy; ip = &mycopy;
if (fwrite ((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE;
return FALSE;
return TRUE;
}
static bool_t
xdrstdio_getuint32 (XDR *xdrs, xdr_uint32_t *ip)
{
xdr_uint32_t mycopy;
if (fread ((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1)
return FALSE;
*ip = xdr_ntohl (mycopy);
return TRUE;
}
static bool_t
xdrstdio_putuint32 (XDR *xdrs, xdr_uint32_t *ip)
{
xdr_uint32_t mycopy = xdr_htonl (*ip);
ip = &mycopy;
if (fwrite ((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1)
return FALSE;
return TRUE; return TRUE;
} }
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -1,7 +1,7 @@
#ifndef LMP_XDR_COMPAT_H #ifndef LMP_XDR_COMPAT_H
#define LMP_XDR_COMPAT_H #define LMP_XDR_COMPAT_H
#include <climits> #include <cstdint>
#include <cstdio> #include <cstdio>
#ifdef __cplusplus #ifdef __cplusplus
@ -9,47 +9,53 @@ extern "C" {
#endif #endif
/* /*
* This file is needed for systems, that do not provide XDR support * This file contains the definitions for Sun External Data Representation (XDR).
* in their system libraries. It was written for windows, but will * They have been adapted specifically for the use with the LAMMPS xtc dump style
* most probably work on other platforms too. better make sure you * to produce compressed trajectory files in the Gromacs XTC format.
* test that the xtc files produced are ok before using it.
* *
* It is also needed on BG/L, BG/P and Cray XT3/XT4/XT5 as we don't * The XDR sources are avaiable under the BSD 3-clause license for example in
* have XDR support in the lightweight kernel runtimes either. * the MIT Kerberos 5 distribution with the following copyright notice and license.
* *
* This file contains the definitions for Sun External Data * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC
* Representation (XDR) headers and routines.
* *
* Although the rest of LAMPPS is GPL, you can copy and use the XDR * Copyright (c) 2010, Oracle America, Inc.
* routines in any way you want as long as you obey Sun's license:
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
* unrestricted use provided that this legend is included on all tape
* media and as a part of the software program in whole or part. Users
* may copy or modify Sun RPC without charge, but are not authorized
* to license or distribute it to anyone else except as part of a product or
* program developed by the user.
* *
* SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE * All rights reserved.
* WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
* *
* Sun RPC is provided with no support and without any obligation on the * Redistribution and use in source and binary forms, with or without
* part of Sun Microsystems, Inc. to assist in its use, correction, * modification, are permitted provided that the following conditions are met:
* modification or enhancement.
* *
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE * * Redistributions of source code must retain the above copyright
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC * notice, this list of conditions and the following disclaimer.
* OR ANY PART THEREOF.
* *
* In no event will Sun Microsystems, Inc. be liable for any lost revenue * * Redistributions in binary form must reproduce the above copyright
* or profits or other special, indirect and consequential damages, even if * notice, this list of conditions and the following disclaimer in
* Sun has been advised of the possibility of such damages. * the documentation and/or other materials provided with the
* distribution.
* *
* Sun Microsystems, Inc. * * Neither the name of the "Oracle America, Inc." nor the names of
* 2550 Garcia Avenue * its contributors may be used to endorse or promote products
* Mountain View, California 94043 * derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
/* compatibility typedefs */
typedef int bool_t;
typedef int32_t xdr_int32_t;
typedef uint32_t xdr_uint32_t;
/* /*
* Xdr operations. XDR_ENCODE causes the type to be encoded into the * Xdr operations. XDR_ENCODE causes the type to be encoded into the
* stream. XDR_DECODE causes the type to be extracted from the stream. * stream. XDR_DECODE causes the type to be extracted from the stream.
@ -57,44 +63,8 @@ extern "C" {
* XDR_DECODE request. * XDR_DECODE request.
*/ */
typedef int bool_t;
#if defined(_WIN32) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \
defined(__OpenBSD__) || defined(__NetBSD__) || (defined(__linux__) && !defined(__GLIBC_MINOR__))
typedef char *caddr_t;
typedef unsigned int u_int;
#endif
/*
* Aninteger type that is 32 bits wide. Check if int,
* long or short is 32 bits and die if none of them is :-)
*/
#if (INT_MAX == 2147483647)
typedef int xdr_int32_t;
typedef unsigned int xdr_uint32_t;
#elif (LONG_MAX == 2147483647L)
typedef long xdr_int32_t;
typedef unsigned long xdr_uint32_t;
#elif (SHRT_MAX == 2147483647)
typedef short xdr_int32_t;
typedef unsigned short xdr_uint32_t;
#else
#error ERROR: No 32 bit wide integer type found!
#endif
enum xdr_op { XDR_ENCODE = 0, XDR_DECODE = 1, XDR_FREE = 2 }; enum xdr_op { XDR_ENCODE = 0, XDR_DECODE = 1, XDR_FREE = 2 };
#ifndef FALSE
#define FALSE (0)
#endif
#ifndef TRUE
#define TRUE (1)
#endif
#define BYTES_PER_XDR_UNIT (4)
/* Macro to round up to units of 4. */
#define XDR_RNDUP(x) (((x) + BYTES_PER_XDR_UNIT - 1) & ~(BYTES_PER_XDR_UNIT - 1))
/* /*
* The XDR handle. * The XDR handle.
* Contains operation which is being applied to the stream, * Contains operation which is being applied to the stream,
@ -113,26 +83,16 @@ struct XDR {
}; };
struct xdr_ops { struct xdr_ops {
/* get some bytes from XDR stream */
bool_t (*x_getbytes)(XDR *__xdrs, char *__addr, unsigned int __len); bool_t (*x_getbytes)(XDR *__xdrs, char *__addr, unsigned int __len);
/* get some bytes from " */ /* put some bytes to XDR stream */
bool_t (*x_putbytes)(XDR *__xdrs, char *__addr, unsigned int __len); bool_t (*x_putbytes)(XDR *__xdrs, char *__addr, unsigned int __len);
/* put some bytes to " */
unsigned int (*x_getpostn)(XDR *__xdrs);
/* returns bytes off from beginning */
bool_t (*x_setpostn)(XDR *__xdrs, unsigned int __pos);
/* lets you reposition the stream */
xdr_int32_t *(*x_inline)(XDR *__xdrs, int __len);
/* buf quick ptr to buffered data */
void (*x_destroy)(XDR *__xdrs);
/* free privates of this xdr_stream */ /* free privates of this xdr_stream */
void (*x_destroy)(XDR *__xdrs);
/* get a int from XDR stream */
bool_t (*x_getint32)(XDR *__xdrs, xdr_int32_t *__ip); bool_t (*x_getint32)(XDR *__xdrs, xdr_int32_t *__ip);
/* get a int from underlying stream */ /* put a int to XDR stream */
bool_t (*x_putint32)(XDR *__xdrs, xdr_int32_t *__ip); bool_t (*x_putint32)(XDR *__xdrs, xdr_int32_t *__ip);
/* put a int to " */
bool_t (*x_getuint32)(XDR *__xdrs, xdr_uint32_t *__ip);
/* get a unsigned int from underlying stream */
bool_t (*x_putuint32)(XDR *__xdrs, xdr_uint32_t *__ip);
/* put a int to " */
}; };
/* /*
@ -151,53 +111,25 @@ typedef bool_t (*xdrproc_t)(XDR *, void *, ...);
* *
* XDR *xdrs; * XDR *xdrs;
* xdr_int32_t *int32p; * xdr_int32_t *int32p;
* long *longp;
* char *addr;
* unsigned int len; * unsigned int len;
* unsigned int pos;
*/ */
#define xdr_getint32(xdrs, int32p) (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) #define xdr_getint32(xdrs, int32p) (*(xdrs)->x_ops->x_getint32)(xdrs, int32p)
#define xdr_putint32(xdrs, int32p) (*(xdrs)->x_ops->x_putint32)(xdrs, int32p) #define xdr_putint32(xdrs, int32p) (*(xdrs)->x_ops->x_putint32)(xdrs, int32p)
#define xdr_getuint32(xdrs, uint32p) (*(xdrs)->x_ops->x_getuint32)(xdrs, uint32p)
#define xdr_putuint32(xdrs, uint32p) (*(xdrs)->x_ops->x_putuint32)(xdrs, uint32p)
#define xdr_getbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) #define xdr_getbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len)
#define xdr_putbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) #define xdr_putbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len)
#define xdr_getpos(xdrs) (*(xdrs)->x_ops->x_getpostn)(xdrs)
#define xdr_setpos(xdrs, pos) (*(xdrs)->x_ops->x_setpostn)(xdrs, pos)
#define xdr_inline(xdrs, len) (*(xdrs)->x_ops->x_inline)(xdrs, len)
#define xdr_destroy(xdrs) \ #define xdr_destroy(xdrs) \
do { \ do { \
if ((xdrs)->x_ops->x_destroy) (*(xdrs)->x_ops->x_destroy)(xdrs); \ if ((xdrs)->x_ops->x_destroy) (*(xdrs)->x_ops->x_destroy)(xdrs); \
} while (0) } while (0)
extern bool_t xdr_int(XDR *__xdrs, int *__ip); extern bool_t xdr_int(XDR *__xdrs, int *__ip);
extern bool_t xdr_u_int(XDR *__xdrs, unsigned int *__ip);
extern bool_t xdr_short(XDR *__xdrs, short *__ip);
extern bool_t xdr_u_short(XDR *__xdrs, unsigned short *__ip);
extern bool_t xdr_bool(XDR *__xdrs, int *__bp);
extern bool_t xdr_opaque(XDR *__xdrs, char *__cp, unsigned int __cnt); extern bool_t xdr_opaque(XDR *__xdrs, char *__cp, unsigned int __cnt);
extern bool_t xdr_string(XDR *__xdrs, char **__cpp, unsigned int __maxsize);
extern bool_t xdr_char(XDR *__xdrs, char *__cp);
extern bool_t xdr_u_char(XDR *__xdrs, unsigned char *__cp);
extern bool_t xdr_vector(XDR *__xdrs, char *__basep, unsigned int __nelem, unsigned int __elemsize, extern bool_t xdr_vector(XDR *__xdrs, char *__basep, unsigned int __nelem, unsigned int __elemsize,
xdrproc_t __xdr_elem); xdrproc_t __xdr_elem);
extern bool_t xdr_float(XDR *__xdrs, float *__fp); extern bool_t xdr_float(XDR *__xdrs, float *__fp);
extern bool_t xdr_double(XDR *__xdrs, double *__dp);
extern void xdrstdio_create(XDR *__xdrs, FILE *__file, enum xdr_op __xop); extern void xdrstdio_create(XDR *__xdrs, FILE *__file, enum xdr_op __xop);
/* free memory buffers for xdr */
extern void xdr_free(xdrproc_t __proc, char *__objp);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -454,6 +454,8 @@ void FixAveCorrelateLong::end_of_step()
scalar = val.val.f->compute_vector(val.argindex-1); scalar = val.val.f->compute_vector(val.argindex-1);
// evaluate equal-style or vector-style variable // evaluate equal-style or vector-style variable
// if index exceeds vector length, use a zero value
// this can be useful if vector length is not known a priori
} else if (val.which == ArgInfo::VARIABLE) { } else if (val.which == ArgInfo::VARIABLE) {
if (val.argindex == 0) if (val.argindex == 0)
@ -462,7 +464,7 @@ void FixAveCorrelateLong::end_of_step()
double *varvec; double *varvec;
int nvec = input->variable->compute_vector(val.val.v,&varvec); int nvec = input->variable->compute_vector(val.val.v,&varvec);
int index = val.argindex; int index = val.argindex;
if (nvec < index) scalar = 0.0; if (index > nvec) scalar = 0.0;
else scalar = varvec[index-1]; else scalar = varvec[index-1];
} }
} }

View File

@ -80,6 +80,11 @@ public:
void DomainKokkos::reset_box() void DomainKokkos::reset_box()
{ {
// perform shrink-wrapping // perform shrink-wrapping
// nothing to do for empty systems
if (atom->natoms == 0) return;
// compute extent of atoms on this proc // compute extent of atoms on this proc
// for triclinic, this is done in lamda space // for triclinic, this is done in lamda space

View File

@ -39,8 +39,11 @@ FFT3dKokkos<DeviceType>::FFT3dKokkos(LAMMPS *lmp, MPI_Comm comm, int nfast, int
Pointers(lmp) Pointers(lmp)
{ {
int nthreads = lmp->kokkos->nthreads; int nthreads = lmp->kokkos->nthreads;
#if defined(LMP_KOKKOS_GPU)
int ngpus = lmp->kokkos->ngpus; int ngpus = lmp->kokkos->ngpus;
ExecutionSpace execution_space = ExecutionSpaceFromDevice<DeviceType>::space; ExecutionSpace execution_space = ExecutionSpaceFromDevice<DeviceType>::space;
#endif
#if defined(FFT_KOKKOS_MKL) #if defined(FFT_KOKKOS_MKL)
if (ngpus > 0 && execution_space == Device) if (ngpus > 0 && execution_space == Device)

View File

@ -950,10 +950,10 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P
static int vectorsize = 0; static int vectorsize = 0;
static int atoms_per_team = 0; static int atoms_per_team = 0;
static int teamsize_max_for = 0;
static int teamsize_max_reduce = 0;
#if defined(LMP_KOKKOS_GPU) #if defined(LMP_KOKKOS_GPU)
static int teamsize_max_for = 0;
static int teamsize_max_reduce = 0;
static int lastcall = -1; static int lastcall = -1;
if (!vectorsize || lastcall < fpair->lmp->neighbor->lastcall) { if (!vectorsize || lastcall < fpair->lmp->neighbor->lastcall) {
lastcall = fpair->lmp->update->ntimestep; lastcall = fpair->lmp->update->ntimestep;

View File

@ -970,7 +970,8 @@ void FixCMAP::read_data_section(char * /*keyword*/, int /*n*/, char *buf,
atom5 = values.next_tagint(); atom5 = values.next_tagint();
if (values.has_next()) throw TokenizerException("too many items",line); if (values.has_next()) throw TokenizerException("too many items",line);
} catch (std::exception &e) { } catch (std::exception &e) {
error->all(FLERR,"Incorrect format of CMAP section: {}", e.what()); error->all(FLERR,"Incorrect format of CMAP section in data file: {}{}",
e.what(), utils::errorurl(2));
} }
atom1 += id_offset; atom1 += id_offset;

View File

@ -16,14 +16,16 @@
Contributing author: Axel Kohlmeyer (Temple U) Contributing author: Axel Kohlmeyer (Temple U)
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
#include "omp_compat.h"
#include "angle_cosine_squared_omp.h" #include "angle_cosine_squared_omp.h"
#include <cmath>
#include "atom.h" #include "atom.h"
#include "comm.h" #include "comm.h"
#include "force.h" #include "force.h"
#include "neighbor.h" #include "neighbor.h"
#include <cmath>
#include "omp_compat.h"
#include "suffix.h" #include "suffix.h"
using namespace LAMMPS_NS; using namespace LAMMPS_NS;

View File

@ -1234,11 +1234,6 @@ void FixRigid::enforce2d()
angmom[ibody][1] = 0.0; angmom[ibody][1] = 0.0;
omega[ibody][0] = 0.0; omega[ibody][0] = 0.0;
omega[ibody][1] = 0.0; omega[ibody][1] = 0.0;
if (langflag && langextra) {
langextra[ibody][2] = 0.0;
langextra[ibody][3] = 0.0;
langextra[ibody][4] = 0.0;
}
} }
} }
@ -1958,6 +1953,8 @@ void FixRigid::setup_bodies_static()
// diagonalize inertia tensor for each body via Jacobi rotations // diagonalize inertia tensor for each body via Jacobi rotations
// inertia = 3 eigenvalues = principal moments of inertia // inertia = 3 eigenvalues = principal moments of inertia
// request that jacobi3() return them in ascending order,
/// so that in 2d last evector is z-axis
// evectors and exzy_space = 3 evectors = principal axes of rigid body // evectors and exzy_space = 3 evectors = principal axes of rigid body
int ierror; int ierror;
@ -1972,7 +1969,7 @@ void FixRigid::setup_bodies_static()
tensor[0][2] = tensor[2][0] = all[ibody][4]; tensor[0][2] = tensor[2][0] = all[ibody][4];
tensor[0][1] = tensor[1][0] = all[ibody][5]; tensor[0][1] = tensor[1][0] = all[ibody][5];
ierror = MathEigen::jacobi3(tensor,inertia[ibody],evectors); ierror = MathEigen::jacobi3(tensor,inertia[ibody],evectors,1);
if (ierror) error->all(FLERR, if (ierror) error->all(FLERR,
"Insufficient Jacobi rotations for rigid body"); "Insufficient Jacobi rotations for rigid body");
@ -1986,6 +1983,22 @@ void FixRigid::setup_bodies_static()
ez_space[ibody][1] = evectors[1][2]; ez_space[ibody][1] = evectors[1][2];
ez_space[ibody][2] = evectors[2][2]; ez_space[ibody][2] = evectors[2][2];
// for 2d, ensure that evector along z axis is last
// necessary so that quaternion is a simple rotation around +z axis
// or a 180 degree rotation for a -z axis
// otherwise richardson() method for a body with a tiny evalue (near-linear)
// may not preserve the correct z-aligned quat and associated evectors
// over time due to round-off accumulation
if (domain->dimension == 2) {
if (fabs(ez_space[ibody][0]) > EPSILON || fabs(ez_space[ibody][1]) > EPSILON) {
std::swap(inertia[ibody][1],inertia[ibody][2]);
std::swap(ey_space[ibody][0],ez_space[ibody][0]);
std::swap(ey_space[ibody][1],ez_space[ibody][1]);
std::swap(ey_space[ibody][2],ez_space[ibody][2]);
}
}
// if any principal moment < scaled EPSILON, set to 0.0 // if any principal moment < scaled EPSILON, set to 0.0
double max; double max;

View File

@ -1110,11 +1110,6 @@ void FixRigidSmall::enforce2d()
b->angmom[1] = 0.0; b->angmom[1] = 0.0;
b->omega[0] = 0.0; b->omega[0] = 0.0;
b->omega[1] = 0.0; b->omega[1] = 0.0;
if (langflag && langextra) {
langextra[ibody][2] = 0.0;
langextra[ibody][3] = 0.0;
langextra[ibody][4] = 0.0;
}
} }
} }
@ -2102,6 +2097,8 @@ void FixRigidSmall::setup_bodies_static()
// diagonalize inertia tensor for each body via Jacobi rotations // diagonalize inertia tensor for each body via Jacobi rotations
// inertia = 3 eigenvalues = principal moments of inertia // inertia = 3 eigenvalues = principal moments of inertia
// request that jacobi3() returns them in ascending order,
// so that in 2d last evector is z-axis
// evectors and exzy_space = 3 evectors = principal axes of rigid body // evectors and exzy_space = 3 evectors = principal axes of rigid body
int ierror; int ierror;
@ -2118,7 +2115,7 @@ void FixRigidSmall::setup_bodies_static()
tensor[0][1] = tensor[1][0] = itensor[ibody][5]; tensor[0][1] = tensor[1][0] = itensor[ibody][5];
inertia = body[ibody].inertia; inertia = body[ibody].inertia;
ierror = MathEigen::jacobi3(tensor,inertia,evectors); ierror = MathEigen::jacobi3(tensor,inertia,evectors,1);
if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for rigid body"); if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for rigid body");
ex = body[ibody].ex_space; ex = body[ibody].ex_space;
@ -2134,6 +2131,22 @@ void FixRigidSmall::setup_bodies_static()
ez[1] = evectors[1][2]; ez[1] = evectors[1][2];
ez[2] = evectors[2][2]; ez[2] = evectors[2][2];
// for 2d, ensure that evector along z axis is last
// necessary so that quaternion is a simple rotation around +z axis
// or a 180 degree rotation for a -z axis
// otherwise richardson() method for a body with a tiny evalue (near-linear)
// may not preserve the correct z-aligned quat and associated evectors
// over time due to round-off accumulation
if (domain->dimension == 2) {
if (fabs(ez[0]) > EPSILON || fabs(ez[1]) > EPSILON) {
std::swap(inertia[1],inertia[2]);
std::swap(ey[0],ez[0]);
std::swap(ey[1],ez[1]);
std::swap(ey[2],ez[2]);
}
}
// if any principal moment < scaled EPSILON, set to 0.0 // if any principal moment < scaled EPSILON, set to 0.0
double max; double max;
@ -2156,6 +2169,7 @@ void FixRigidSmall::setup_bodies_static()
// convert geometric center position to principal axis coordinates // convert geometric center position to principal axis coordinates
// xcm is wrapped, but xgc is not initially // xcm is wrapped, but xgc is not initially
xcm = body[ibody].xcm; xcm = body[ibody].xcm;
xgc = body[ibody].xgc; xgc = body[ibody].xgc;
double delta[3]; double delta[3];

View File

@ -1071,7 +1071,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset,
} }
if ((nwords != avec->size_data_atom) && (nwords != avec->size_data_atom + 3)) if ((nwords != avec->size_data_atom) && (nwords != avec->size_data_atom + 3))
error->all(FLERR,"Incorrect format in {}: {}", location, utils::trim(buf)); error->all(FLERR,"Incorrect format in {}: {}{}", location,
utils::trim(buf), utils::errorurl(2));
*next = '\n'; *next = '\n';
@ -1159,7 +1160,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset,
} else if ((nvalues < nwords) || } else if ((nvalues < nwords) ||
((nvalues > nwords) && (!utils::strmatch(values[nwords],"^#")))) { ((nvalues > nwords) && (!utils::strmatch(values[nwords],"^#")))) {
error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); error->all(FLERR, "Incorrect format in {}: {}{}", location,
utils::trim(buf), utils::errorurl(2));
// extract the atom coords and image flags (if they exist) // extract the atom coords and image flags (if they exist)
@ -1281,7 +1283,8 @@ void Atom::data_vels(int n, char *buf, tagint id_offset)
if (values.size() == 0) { if (values.size() == 0) {
// skip over empty or comment lines // skip over empty or comment lines
} else if ((int)values.size() != avec->size_data_vel) { } else if ((int)values.size() != avec->size_data_vel) {
error->all(FLERR, "Incorrect velocity format in data file: {}", utils::trim(buf)); error->all(FLERR, "Incorrect format in Velocities section of data file: {}{}",
utils::trim(buf), utils::errorurl(2));
} else { } else {
tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset; tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset;
if (tagdata <= 0 || tagdata > map_tag_max) if (tagdata <= 0 || tagdata > map_tag_max)
@ -1325,7 +1328,9 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset,
// skip over empty or comment lines // skip over empty or comment lines
// Bonds line is: number(ignored), bond type, atomID 1, atomID 2 // Bonds line is: number(ignored), bond type, atomID 1, atomID 2
if (nwords > 0) { if (nwords > 0) {
if (nwords != 4) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); if (nwords != 4)
error->all(FLERR, "Incorrect format in {}: {}{}", location,
utils::trim(buf), utils::errorurl(2));
typestr = utils::utf8_subst(values[1]); typestr = utils::utf8_subst(values[1]);
atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom1 = utils::tnumeric(FLERR, values[2], false, lmp);
atom2 = utils::tnumeric(FLERR, values[3], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp);
@ -1416,7 +1421,9 @@ void Atom::data_angles(int n, char *buf, int *count, tagint id_offset,
// skip over empty or comment lines // skip over empty or comment lines
// Angles line is: number(ignored), angle type, atomID 1, atomID 2, atomID 3 // Angles line is: number(ignored), angle type, atomID 1, atomID 2, atomID 3
if (nwords > 0) { if (nwords > 0) {
if (nwords != 5) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); if (nwords != 5)
error->all(FLERR, "Incorrect format in {}: {}{}", location,
utils::trim(buf), utils::errorurl(2));
typestr = utils::utf8_subst(values[1]); typestr = utils::utf8_subst(values[1]);
atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom1 = utils::tnumeric(FLERR, values[2], false, lmp);
atom2 = utils::tnumeric(FLERR, values[3], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp);
@ -1523,7 +1530,9 @@ void Atom::data_dihedrals(int n, char *buf, int *count, tagint id_offset,
// skip over empty or comment lines // skip over empty or comment lines
// Dihedrals line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4 // Dihedrals line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4
if (nwords > 0) { if (nwords > 0) {
if (nwords != 6) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); if (nwords != 6)
error->all(FLERR, "Incorrect format in {}: {}{}", location,
utils::trim(buf), utils::errorurl(2));
typestr = utils::utf8_subst(values[1]); typestr = utils::utf8_subst(values[1]);
atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom1 = utils::tnumeric(FLERR, values[2], false, lmp);
atom2 = utils::tnumeric(FLERR, values[3], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp);
@ -1649,7 +1658,9 @@ void Atom::data_impropers(int n, char *buf, int *count, tagint id_offset,
// skip over empty or comment lines // skip over empty or comment lines
// Impropers line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4 // Impropers line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4
if (nwords > 0) { if (nwords > 0) {
if (nwords != 6) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); if (nwords != 6)
error->all(FLERR, "Incorrect format in {}: {}{}", location,
utils::trim(buf), utils::errorurl(2));
typestr = utils::utf8_subst(values[1]); typestr = utils::utf8_subst(values[1]);
atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom1 = utils::tnumeric(FLERR, values[2], false, lmp);
atom2 = utils::tnumeric(FLERR, values[3], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp);
@ -1765,7 +1776,8 @@ void Atom::data_bonus(int n, char *buf, AtomVec *avec_bonus, tagint id_offset)
if (values.size() == 0) { if (values.size() == 0) {
// skip over empty or comment lines // skip over empty or comment lines
} else if ((int)values.size() != avec_bonus->size_data_bonus) { } else if ((int)values.size() != avec_bonus->size_data_bonus) {
error->all(FLERR, "Incorrect bonus data format in data file: {}", utils::trim(buf)); error->all(FLERR, "Incorrect format in Bonus section of data file: {}{}",
utils::trim(buf), utils::errorurl(2));
} else { } else {
tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset; tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset;
if (tagdata <= 0 || tagdata > map_tag_max) if (tagdata <= 0 || tagdata > map_tag_max)

View File

@ -97,7 +97,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) :
while (iarg < nargnew) { while (iarg < nargnew) {
if (strcmp(arg[iarg],"type") == 0) { if (strcmp(arg[iarg],"type") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate type", error); if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate type", error);
if (strcmp(arg[iarg+1],"auto") == 0) type = AUTO; if (strcmp(arg[iarg+1],"auto") == 0) type = AUTO;
else if (strcmp(arg[iarg+1],"upper") == 0) type = UPPER; else if (strcmp(arg[iarg+1],"upper") == 0) type = UPPER;
else if (strcmp(arg[iarg+1],"lower") == 0) type = LOWER; else if (strcmp(arg[iarg+1],"lower") == 0) type = LOWER;
@ -107,21 +107,21 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) :
else error->all(FLERR,"Unknown fix ave/correlate type: {}"); else error->all(FLERR,"Unknown fix ave/correlate type: {}");
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"ave") == 0) { } else if (strcmp(arg[iarg],"ave") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate ave", error); if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate ave", error);
if (strcmp(arg[iarg+1],"one") == 0) ave = ONE; if (strcmp(arg[iarg+1],"one") == 0) ave = ONE;
else if (strcmp(arg[iarg+1],"running") == 0) ave = RUNNING; else if (strcmp(arg[iarg+1],"running") == 0) ave = RUNNING;
else error->all(FLERR,"Unknown fix ave/correlate ave mode: {}", arg[iarg+1]); else error->all(FLERR,"Unknown fix ave/correlate ave mode: {}", arg[iarg+1]);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"start") == 0) { } else if (strcmp(arg[iarg],"start") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate start", error); if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate start", error);
startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"prefactor") == 0) { } else if (strcmp(arg[iarg],"prefactor") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate prefactor", error); if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate prefactor", error);
prefactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); prefactor = utils::numeric(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"file") == 0) { } else if (strcmp(arg[iarg],"file") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error);
if (comm->me == 0) { if (comm->me == 0) {
fp = fopen(arg[iarg+1],"w"); fp = fopen(arg[iarg+1],"w");
if (fp == nullptr) if (fp == nullptr)
@ -133,17 +133,17 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) :
overwrite = 1; overwrite = 1;
iarg += 1; iarg += 1;
} else if (strcmp(arg[iarg],"title1") == 0) { } else if (strcmp(arg[iarg],"title1") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title1", error); if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title1", error);
delete[] title1; delete[] title1;
title1 = utils::strdup(arg[iarg+1]); title1 = utils::strdup(arg[iarg+1]);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"title2") == 0) { } else if (strcmp(arg[iarg],"title2") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title2", error); if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title2", error);
delete[] title2; delete[] title2;
title2 = utils::strdup(arg[iarg+1]); title2 = utils::strdup(arg[iarg+1]);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"title3") == 0) { } else if (strcmp(arg[iarg],"title3") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title3", error); if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title3", error);
delete[] title3; delete[] title3;
title3 = utils::strdup(arg[iarg+1]); title3 = utils::strdup(arg[iarg+1]);
iarg += 2; iarg += 2;
@ -414,6 +414,8 @@ void FixAveCorrelate::end_of_step()
scalar = val.val.f->compute_vector(val.argindex-1); scalar = val.val.f->compute_vector(val.argindex-1);
// evaluate equal-style or vector-style variable // evaluate equal-style or vector-style variable
// if index exceeds vector length, use a zero value
// this can be useful if vector length is not known a priori
} else if (val.which == ArgInfo::VARIABLE) { } else if (val.which == ArgInfo::VARIABLE) {
if (val.argindex == 0) if (val.argindex == 0)
@ -422,7 +424,7 @@ void FixAveCorrelate::end_of_step()
double *varvec; double *varvec;
int nvec = input->variable->compute_vector(val.val.v,&varvec); int nvec = input->variable->compute_vector(val.val.v,&varvec);
int index = val.argindex; int index = val.argindex;
if (nvec < index) scalar = 0.0; if (index > nvec) scalar = 0.0;
else scalar = varvec[index-1]; else scalar = varvec[index-1];
} }
} }

View File

@ -600,6 +600,8 @@ void FixAveHisto::end_of_step()
} }
// evaluate equal-style or vector-style or atom-style variable // evaluate equal-style or vector-style or atom-style variable
// if index exceeds vector length, use a zero value
// this can be useful if vector length is not known a priori
} else if (val.which == ArgInfo::VARIABLE) { } else if (val.which == ArgInfo::VARIABLE) {
if (kind == GLOBAL && mode == SCALAR) { if (kind == GLOBAL && mode == SCALAR) {
@ -607,7 +609,7 @@ void FixAveHisto::end_of_step()
else { else {
double *varvec; double *varvec;
int nvec = input->variable->compute_vector(val.val.v,&varvec); int nvec = input->variable->compute_vector(val.val.v,&varvec);
if (nvec < j) bin_one(0.0); if (j > nvec) bin_one(0.0);
else bin_one(varvec[j-1]); else bin_one(varvec[j-1]);
} }

View File

@ -113,256 +113,256 @@ void FixAveHistoWeight::end_of_step()
double weight = 0.0; double weight = 0.0;
double *weights = nullptr; double *weights = nullptr;
int stride = 0; int stride = 0;
auto &val = values[1]; auto &val1 = values[1];
int j = val.argindex; int j = val1.argindex;
// atom attributes // atom attributes
if (val.which == ArgInfo::X) { if (val1.which == ArgInfo::X) {
weights = &atom->x[0][j]; weights = &atom->x[0][j];
stride = 3; stride = 3;
} else if (val.which == ArgInfo::V) { } else if (val1.which == ArgInfo::V) {
weights = &atom->v[0][j]; weights = &atom->v[0][j];
stride = 3; stride = 3;
bin_atoms(&atom->v[0][j],3); bin_atoms(&atom->v[0][j],3);
} else if (val.which == ArgInfo::F) { } else if (val1.which == ArgInfo::F) {
weights = &atom->f[0][j]; weights = &atom->f[0][j];
stride = 3; stride = 3;
} }
// invoke compute if not previously invoked // invoke compute if not previously invoked
if (val.which == ArgInfo::COMPUTE) { if (val1.which == ArgInfo::COMPUTE) {
if (kind == GLOBAL && mode == SCALAR) { if (kind == GLOBAL && mode == SCALAR) {
if (j == 0) { if (j == 0) {
if (!(val.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { if (!(val1.val.c->invoked_flag & Compute::INVOKED_SCALAR)) {
val.val.c->compute_scalar(); val1.val.c->compute_scalar();
val.val.c->invoked_flag |= Compute::INVOKED_SCALAR; val1.val.c->invoked_flag |= Compute::INVOKED_SCALAR;
} }
weight = val.val.c->scalar; weight = val1.val.c->scalar;
} else { } else {
if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { if (!(val1.val.c->invoked_flag & Compute::INVOKED_VECTOR)) {
val.val.c->compute_vector(); val1.val.c->compute_vector();
val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; val1.val.c->invoked_flag |= Compute::INVOKED_VECTOR;
} }
weight = val.val.c->vector[j-1]; weight = val1.val.c->vector[j-1];
} }
} else if (kind == GLOBAL && mode == VECTOR) { } else if (kind == GLOBAL && mode == VECTOR) {
if (j == 0) { if (j == 0) {
if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { if (!(val1.val.c->invoked_flag & Compute::INVOKED_VECTOR)) {
val.val.c->compute_vector(); val1.val.c->compute_vector();
val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; val1.val.c->invoked_flag |= Compute::INVOKED_VECTOR;
} }
weights = val.val.c->vector; weights = val1.val.c->vector;
stride = 1; stride = 1;
} else { } else {
if (!(val.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { if (!(val1.val.c->invoked_flag & Compute::INVOKED_ARRAY)) {
val.val.c->compute_array(); val1.val.c->compute_array();
val.val.c->invoked_flag |= Compute::INVOKED_ARRAY; val1.val.c->invoked_flag |= Compute::INVOKED_ARRAY;
} }
if (val.val.c->array) weights = &val.val.c->array[0][j-1]; if (val1.val.c->array) weights = &val1.val.c->array[0][j-1];
stride = val.val.c->size_array_cols; stride = val1.val.c->size_array_cols;
} }
} else if (kind == PERATOM) { } else if (kind == PERATOM) {
if (!(val.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { if (!(val1.val.c->invoked_flag & Compute::INVOKED_PERATOM)) {
val.val.c->compute_peratom(); val1.val.c->compute_peratom();
val.val.c->invoked_flag |= Compute::INVOKED_PERATOM; val1.val.c->invoked_flag |= Compute::INVOKED_PERATOM;
} }
if (j == 0) { if (j == 0) {
weights = val.val.c->vector_atom; weights = val1.val.c->vector_atom;
stride = 1; stride = 1;
} else if (val.val.c->array_atom) { } else if (val1.val.c->array_atom) {
weights = &val.val.c->array_atom[0][j-1]; weights = &val1.val.c->array_atom[0][j-1];
stride = val.val.c->size_peratom_cols; stride = val1.val.c->size_peratom_cols;
} }
} else if (kind == LOCAL) { } else if (kind == LOCAL) {
if (!(val.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { if (!(val1.val.c->invoked_flag & Compute::INVOKED_LOCAL)) {
val.val.c->compute_local(); val1.val.c->compute_local();
val.val.c->invoked_flag |= Compute::INVOKED_LOCAL; val1.val.c->invoked_flag |= Compute::INVOKED_LOCAL;
} }
if (j == 0) { if (j == 0) {
weights = val.val.c->vector_local; weights = val1.val.c->vector_local;
stride = 1; stride = 1;
} else if (val.val.c->array_local) { } else if (val1.val.c->array_local) {
weights = &val.val.c->array_local[0][j-1]; weights = &val1.val.c->array_local[0][j-1];
stride = val.val.c->size_local_cols; stride = val1.val.c->size_local_cols;
} }
} }
// access fix fields, guaranteed to be ready // access fix fields, guaranteed to be ready
} else if (val.which == ArgInfo::FIX) { } else if (val1.which == ArgInfo::FIX) {
if (kind == GLOBAL && mode == SCALAR) { if (kind == GLOBAL && mode == SCALAR) {
if (j == 0) weight = val.val.f->compute_scalar(); if (j == 0) weight = val1.val.f->compute_scalar();
else weight = val.val.f->compute_vector(j-1); else weight = val1.val.f->compute_vector(j-1);
} else if (kind == GLOBAL && mode == VECTOR) { } else if (kind == GLOBAL && mode == VECTOR) {
error->all(FLERR,"Fix ave/histo/weight option not yet supported"); error->all(FLERR,"Fix ave/histo/weight option not yet supported");
// NOTE: need to allocate local storage // NOTE: need to allocate local storage
if (j == 0) { if (j == 0) {
int n = val.val.f->size_vector; int n = val1.val.f->size_vector;
for (int i = 0; i < n; i++) weights[n] = val.val.f->compute_vector(i); for (int i = 0; i < n; i++) weights[n] = val1.val.f->compute_vector(i);
} else { } else {
int n = val.val.f->size_vector; int n = val1.val.f->size_vector;
for (int i = 0; i < n; i++) weights[n] = val.val.f->compute_array(i,j-1); for (int i = 0; i < n; i++) weights[n] = val1.val.f->compute_array(i,j-1);
} }
} else if (kind == PERATOM) { } else if (kind == PERATOM) {
if (j == 0) { if (j == 0) {
weights = val.val.f->vector_atom; weights = val1.val.f->vector_atom;
stride = 1; stride = 1;
} else if (val.val.f->array_atom) { } else if (val1.val.f->array_atom) {
weights = &val.val.f->array_atom[0][j-1]; weights = &val1.val.f->array_atom[0][j-1];
stride = val.val.f->size_peratom_cols; stride = val1.val.f->size_peratom_cols;
} }
} else if (kind == LOCAL) { } else if (kind == LOCAL) {
if (j == 0) { if (j == 0) {
weights = val.val.f->vector_local; weights = val1.val.f->vector_local;
stride = 1; stride = 1;
} else if (val.val.f->array_local) { } else if (val1.val.f->array_local) {
weights = &val.val.f->array_local[0][j-1]; weights = &val1.val.f->array_local[0][j-1];
stride = val.val.f->size_local_cols; stride = val1.val.f->size_local_cols;
} }
} }
// evaluate equal-style variable // evaluate equal-style variable
} else if (val.which == ArgInfo::VARIABLE && kind == GLOBAL) { } else if (val1.which == ArgInfo::VARIABLE && kind == GLOBAL) {
weight = input->variable->compute_equal(val.val.v); weight = input->variable->compute_equal(val1.val.v);
} else if (val.which == ArgInfo::VARIABLE && kind == PERATOM) { } else if (val1.which == ArgInfo::VARIABLE && kind == PERATOM) {
if (atom->nmax > maxatom) { if (atom->nmax > maxatom) {
memory->destroy(vector); memory->destroy(vector);
maxatom = atom->nmax; maxatom = atom->nmax;
memory->create(vector,maxatom,"ave/histo/weight:vector"); memory->create(vector,maxatom,"ave/histo/weight:vector");
} }
input->variable->compute_atom(val.val.v,igroup,vector,1,0); input->variable->compute_atom(val1.val.v,igroup,vector,1,0);
weights = vector; weights = vector;
stride = 1; stride = 1;
} }
// bin values using weights, values are 1st value (i = 0) // bin values using weights, values are 1st value (i = 0)
val = values[0]; auto &val0 = values[0];
j = val.argindex; j = val0.argindex;
// atom attributes // atom attributes
if (val.which == ArgInfo::X && weights != nullptr) if (val0.which == ArgInfo::X && weights != nullptr)
bin_atoms_weights(&atom->x[0][j],3,weights,stride); bin_atoms_weights(&atom->x[0][j],3,weights,stride);
else if (val.which == ArgInfo::V && weights != nullptr) else if (val0.which == ArgInfo::V && weights != nullptr)
bin_atoms_weights(&atom->v[0][j],3,weights,stride); bin_atoms_weights(&atom->v[0][j],3,weights,stride);
else if (val.which == ArgInfo::F && weights != nullptr) else if (val0.which == ArgInfo::F && weights != nullptr)
bin_atoms_weights(&atom->f[0][j],3,weights,stride); bin_atoms_weights(&atom->f[0][j],3,weights,stride);
// invoke compute if not previously invoked // invoke compute if not previously invoked
if (val.which == ArgInfo::COMPUTE) { if (val0.which == ArgInfo::COMPUTE) {
if (kind == GLOBAL && mode == SCALAR) { if (kind == GLOBAL && mode == SCALAR) {
if (j == 0) { if (j == 0) {
if (!(val.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { if (!(val0.val.c->invoked_flag & Compute::INVOKED_SCALAR)) {
val.val.c->compute_scalar(); val0.val.c->compute_scalar();
val.val.c->invoked_flag |= Compute::INVOKED_SCALAR; val0.val.c->invoked_flag |= Compute::INVOKED_SCALAR;
} }
bin_one_weights(val.val.c->scalar,weight); bin_one_weights(val0.val.c->scalar,weight);
} else { } else {
if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { if (!(val0.val.c->invoked_flag & Compute::INVOKED_VECTOR)) {
val.val.c->compute_vector(); val0.val.c->compute_vector();
val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; val0.val.c->invoked_flag |= Compute::INVOKED_VECTOR;
} }
bin_one_weights(val.val.c->vector[j-1],weight); bin_one_weights(val0.val.c->vector[j-1],weight);
} }
} else if (kind == GLOBAL && mode == VECTOR) { } else if (kind == GLOBAL && mode == VECTOR) {
if (j == 0) { if (j == 0) {
if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { if (!(val0.val.c->invoked_flag & Compute::INVOKED_VECTOR)) {
val.val.c->compute_vector(); val0.val.c->compute_vector();
val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; val0.val.c->invoked_flag |= Compute::INVOKED_VECTOR;
} }
bin_vector_weights(val.val.c->size_vector,val.val.c->vector,1, bin_vector_weights(val0.val.c->size_vector,val0.val.c->vector,1,
weights,stride); weights,stride);
} else { } else {
if (!(val.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { if (!(val0.val.c->invoked_flag & Compute::INVOKED_ARRAY)) {
val.val.c->compute_array(); val0.val.c->compute_array();
val.val.c->invoked_flag |= Compute::INVOKED_ARRAY; val0.val.c->invoked_flag |= Compute::INVOKED_ARRAY;
} }
if (val.val.c->array) if (val0.val.c->array)
bin_vector_weights(val.val.c->size_array_rows,&val.val.c->array[0][j-1], bin_vector_weights(val0.val.c->size_array_rows,&val0.val.c->array[0][j-1],
val.val.c->size_array_cols,weights,stride); val0.val.c->size_array_cols,weights,stride);
} }
} else if (kind == PERATOM) { } else if (kind == PERATOM) {
if (!(val.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { if (!(val0.val.c->invoked_flag & Compute::INVOKED_PERATOM)) {
val.val.c->compute_peratom(); val0.val.c->compute_peratom();
val.val.c->invoked_flag |= Compute::INVOKED_PERATOM; val0.val.c->invoked_flag |= Compute::INVOKED_PERATOM;
} }
if (j == 0) if (j == 0)
bin_atoms_weights(val.val.c->vector_atom,1,weights, stride); bin_atoms_weights(val0.val.c->vector_atom,1,weights, stride);
else if (val.val.c->array_atom) else if (val0.val.c->array_atom)
bin_atoms_weights(&val.val.c->array_atom[0][j-1], bin_atoms_weights(&val0.val.c->array_atom[0][j-1],
val.val.c->size_peratom_cols,weights,stride); val0.val.c->size_peratom_cols,weights,stride);
} else if (kind == LOCAL) { } else if (kind == LOCAL) {
if (!(val.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { if (!(val0.val.c->invoked_flag & Compute::INVOKED_LOCAL)) {
val.val.c->compute_local(); val0.val.c->compute_local();
val.val.c->invoked_flag |= Compute::INVOKED_LOCAL; val0.val.c->invoked_flag |= Compute::INVOKED_LOCAL;
} }
if (j == 0) if (j == 0)
bin_vector_weights(val.val.c->size_local_rows, bin_vector_weights(val0.val.c->size_local_rows,
val.val.c->vector_local,1,weights,stride); val0.val.c->vector_local,1,weights,stride);
else if (val.val.c->array_local) else if (val0.val.c->array_local)
bin_vector_weights(val.val.c->size_local_rows, bin_vector_weights(val0.val.c->size_local_rows,
&val.val.c->array_local[0][j-1], &val0.val.c->array_local[0][j-1],
val.val.c->size_local_cols,weights,stride); val0.val.c->size_local_cols,weights,stride);
} }
// access fix fields, guaranteed to be ready // access fix fields, guaranteed to be ready
} else if (val.which == ArgInfo::FIX) { } else if (val0.which == ArgInfo::FIX) {
if (kind == GLOBAL && mode == SCALAR) { if (kind == GLOBAL && mode == SCALAR) {
if (j == 0) bin_one_weights(val.val.f->compute_scalar(),weight); if (j == 0) bin_one_weights(val0.val.f->compute_scalar(),weight);
else bin_one_weights(val.val.f->compute_vector(j-1),weight); else bin_one_weights(val0.val.f->compute_vector(j-1),weight);
} else if (kind == GLOBAL && mode == VECTOR) { } else if (kind == GLOBAL && mode == VECTOR) {
if (j == 0) { if (j == 0) {
int n = val.val.f->size_vector; int n = val0.val.f->size_vector;
for (int i = 0; i < n; i++) for (int i = 0; i < n; i++)
bin_one_weights(val.val.f->compute_vector(i),weights[i*stride]); bin_one_weights(val0.val.f->compute_vector(i),weights[i*stride]);
} else { } else {
int n = val.val.f->size_vector; int n = val0.val.f->size_vector;
for (int i = 0; i < n; i++) for (int i = 0; i < n; i++)
bin_one_weights(val.val.f->compute_array(i,j-1),weights[i*stride]); bin_one_weights(val0.val.f->compute_array(i,j-1),weights[i*stride]);
} }
} else if (kind == PERATOM) { } else if (kind == PERATOM) {
if (j == 0) if (j == 0)
bin_atoms_weights(val.val.f->vector_atom,1,weights,stride); bin_atoms_weights(val0.val.f->vector_atom,1,weights,stride);
else if (val.val.f->array_atom) else if (val0.val.f->array_atom)
bin_atoms_weights(&val.val.f->array_atom[0][j-1],val.val.f->size_peratom_cols, bin_atoms_weights(&val0.val.f->array_atom[0][j-1],val0.val.f->size_peratom_cols,
weights,stride); weights,stride);
} else if (kind == LOCAL) { } else if (kind == LOCAL) {
if (j == 0) bin_vector_weights(val.val.f->size_local_rows,val.val.f->vector_local,1, if (j == 0) bin_vector_weights(val0.val.f->size_local_rows,val0.val.f->vector_local,1,
weights,stride); weights,stride);
else if (val.val.f->array_local) else if (val0.val.f->array_local)
bin_vector_weights(val.val.f->size_local_rows,&val.val.f->array_local[0][j-1], bin_vector_weights(val0.val.f->size_local_rows,&val0.val.f->array_local[0][j-1],
val.val.f->size_local_cols,weights,stride); val0.val.f->size_local_cols,weights,stride);
} }
// evaluate equal-style variable // evaluate equal-style variable
} else if (val.which == ArgInfo::VARIABLE && kind == GLOBAL) { } else if (val0.which == ArgInfo::VARIABLE && kind == GLOBAL) {
bin_one_weights(input->variable->compute_equal(val.val.v),weight); bin_one_weights(input->variable->compute_equal(val0.val.v),weight);
} else if (val.which == ArgInfo::VARIABLE && kind == PERATOM) { } else if (val0.which == ArgInfo::VARIABLE && kind == PERATOM) {
if (atom->nmax > maxatom) { if (atom->nmax > maxatom) {
memory->destroy(vector); memory->destroy(vector);
maxatom = atom->nmax; maxatom = atom->nmax;
memory->create(vector,maxatom,"ave/histo/weight:vector"); memory->create(vector,maxatom,"ave/histo/weight:vector");
} }
input->variable->compute_atom(val.val.v,igroup,vector,1,0); input->variable->compute_atom(val0.val.v,igroup,vector,1,0);
bin_atoms_weights(vector,1,weights,stride); bin_atoms_weights(vector,1,weights,stride);
} }

View File

@ -178,7 +178,7 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) :
if (val.argindex && (val.val.f->array_flag == 0)) if (val.argindex && (val.val.f->array_flag == 0))
error->all(FLERR,"Fix ave/time fix {} does not calculate an array", val.id); error->all(FLERR,"Fix ave/time fix {} does not calculate an array", val.id);
if (val.argindex && (val.val.f->size_array_rows_variable)) if (val.argindex && (val.val.f->size_array_rows_variable))
error->all(FLERR,"Fix ave/time fix {} array cannot be variable length", val.id); error->all(FLERR,"Fix ave/time fix {} array cannot have variable row length", val.id);
if (val.argindex && (val.argindex > val.val.f->size_array_cols)) if (val.argindex && (val.argindex > val.val.f->size_array_cols))
error->all(FLERR,"Fix ave/time fix {} array is accessed out-of-range", val.id); error->all(FLERR,"Fix ave/time fix {} array is accessed out-of-range", val.id);
if (nevery % val.val.f->global_freq) if (nevery % val.val.f->global_freq)
@ -562,7 +562,8 @@ void FixAveTime::invoke_scalar(bigint ntimestep)
scalar = val.val.f->compute_vector(val.argindex-1); scalar = val.val.f->compute_vector(val.argindex-1);
// evaluate equal-style or vector-style variable // evaluate equal-style or vector-style variable
// ensure no out-of-range access to vector-style variable // if index exceeds vector length, use a zero value
// this can be useful if vector length is not known a priori
} else if (val.which == ArgInfo::VARIABLE) { } else if (val.which == ArgInfo::VARIABLE) {
if (val.argindex == 0) if (val.argindex == 0)
@ -570,7 +571,7 @@ void FixAveTime::invoke_scalar(bigint ntimestep)
else { else {
double *varvec; double *varvec;
int nvec = input->variable->compute_vector(val.val.v,&varvec); int nvec = input->variable->compute_vector(val.val.v,&varvec);
if (nvec < val.argindex) scalar = 0.0; if (val.argindex > nvec) scalar = 0.0;
else scalar = varvec[val.argindex-1]; else scalar = varvec[val.argindex-1];
} }
} }

View File

@ -328,8 +328,9 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint
try { try {
ValueTokenizer values(buf); ValueTokenizer values(buf);
if ((int) values.count() != values_peratom + 1) if ((int) values.count() != values_peratom + 1)
error->all(FLERR, "Incorrect format in {} section of data file: {} expected {} and got {}", error->all(FLERR, "Incorrect format in {} section of data file: {}\n"
keyword, buf, values_peratom + 1, values.count()); "expected {} parameters and got {}{}", keyword, utils::trim(buf),
values_peratom + 1, values.count(), utils::errorurl(2));
itag = values.next_tagint() + id_offset; itag = values.next_tagint() + id_offset;
if (itag <= 0 || itag > map_tag_max) if (itag <= 0 || itag > map_tag_max)

View File

@ -31,7 +31,7 @@ using namespace MathEigen;
typedef Jacobi<double, double *, double (*)[3], double const (*)[3]> Jacobi_v1; typedef Jacobi<double, double *, double (*)[3], double const (*)[3]> Jacobi_v1;
typedef Jacobi<double, double *, double **, double const *const *> Jacobi_v2; typedef Jacobi<double, double *, double **, double const *const *> Jacobi_v2;
int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort)
{ {
// make copy of const matrix // make copy of const matrix
@ -44,7 +44,15 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3])
// create instance of generic Jacobi class and get eigenvalues and -vectors // create instance of generic Jacobi class and get eigenvalues and -vectors
Jacobi_v1 ecalc3(3, M, midx); Jacobi_v1 ecalc3(3, M, midx);
int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); int ierror = 1;
if (sort == -1)
ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS);
else if (sort == 0)
ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::DO_NOT_SORT);
else if (sort == 1)
ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS);
if (ierror) return ierror;
// transpose the evec matrix // transpose the evec matrix
@ -54,7 +62,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3])
return ierror; return ierror;
} }
int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort)
{ {
// make copy of const matrix // make copy of const matrix
@ -67,7 +75,15 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec)
// create instance of generic Jacobi class and get eigenvalues and -vectors // create instance of generic Jacobi class and get eigenvalues and -vectors
Jacobi_v2 ecalc3(3, M, midx); Jacobi_v2 ecalc3(3, M, midx);
int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); int ierror = 1;
if (sort == -1)
ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS);
else if (sort == 0)
ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::DO_NOT_SORT);
else if (sort == 1)
ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS);
if (ierror) return ierror;
// transpose the evec matrix // transpose the evec matrix

View File

@ -22,13 +22,14 @@ namespace MathEigen {
* \param mat the 3x3 matrix you wish to diagonalize * \param mat the 3x3 matrix you wish to diagonalize
* \param eval store the eigenvalues here * \param eval store the eigenvalues here
* \param evec store the eigenvectors here... * \param evec store the eigenvectors here...
* \param sort order eigenvalues and -vectors (-1 decreasing (default), 1 increasing, 0 unsorted)
* \return 0 if eigenvalue calculation converged, 1 if it failed */ * \return 0 if eigenvalue calculation converged, 1 if it failed */
int jacobi3(double const *const *mat, double *eval, double **evec); int jacobi3(double const *const *mat, double *eval, double **evec, int sort = -1);
/** \overload */ /** \overload */
int jacobi3(double const mat[3][3], double *eval, double evec[3][3]); int jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort = -1);
} // namespace MathEigen } // namespace MathEigen

View File

@ -249,12 +249,7 @@ std::string platform::os_info()
} else if (build == "22631") { } else if (build == "22631") {
buf = "Windows 11 23H2"; buf = "Windows 11 23H2";
} else { } else {
const char *entry = "ProductName"; buf = "Windows Build " + build;
RegGetValue(HKEY_LOCAL_MACHINE, subkey, entry, RRF_RT_REG_SZ, nullptr, &value,
(LPDWORD) &value_length);
// enforce zero termination
value[1023] = '\0';
buf = value;
} }
DWORD fullversion, majorv, minorv, buildv = 0; DWORD fullversion, majorv, minorv, buildv = 0;
fullversion = GetVersion(); fullversion = GetVersion();

View File

@ -1479,7 +1479,8 @@ void ReadData::header(int firstpass)
// check that exiting string is a valid section keyword // check that exiting string is a valid section keyword
parse_keyword(1); parse_keyword(1);
if (!is_data_section(keyword)) error->all(FLERR, "Unknown identifier in data file: {}", keyword); if (!is_data_section(keyword))
error->all(FLERR, "Unknown identifier in data file: {}{}", keyword, utils::errorurl(1));
// error checks on header values // error checks on header values
// must be consistent with atom style and other header values // must be consistent with atom style and other header values

View File

@ -1530,8 +1530,7 @@ void Thermo::compute_compute()
if (normflag && compute->extscalar) dvalue /= natoms; if (normflag && compute->extscalar) dvalue /= natoms;
} else if (compute_which[m] == VECTOR) { } else if (compute_which[m] == VECTOR) {
if (compute->size_vector_variable && argindex1[ifield] > compute->size_vector) if (compute->size_vector_variable && argindex1[ifield] > compute->size_vector)
dvalue = 0.0; error->all(FLERR, "Thermo compute vector is accessed out-of-range");
else
dvalue = compute->vector[argindex1[ifield] - 1]; dvalue = compute->vector[argindex1[ifield] - 1];
if (normflag) { if (normflag) {
if (compute->extvector == 0) if (compute->extvector == 0)
@ -1543,8 +1542,7 @@ void Thermo::compute_compute()
} }
} else { } else {
if (compute->size_array_rows_variable && argindex1[ifield] > compute->size_array_rows) if (compute->size_array_rows_variable && argindex1[ifield] > compute->size_array_rows)
dvalue = 0.0; error->all(FLERR, "Thermo compute array is accessed out-of-range");
else
dvalue = compute->array[argindex1[ifield] - 1][argindex2[ifield] - 1]; dvalue = compute->array[argindex1[ifield] - 1][argindex2[ifield] - 1];
if (normflag && compute->extarray) dvalue /= natoms; if (normflag && compute->extarray) dvalue /= natoms;
} }
@ -1557,10 +1555,14 @@ void Thermo::compute_fix()
int m = field2index[ifield]; int m = field2index[ifield];
Fix *fix = fixes[m]; Fix *fix = fixes[m];
// check for out-of-range access if vector/array is variable length
if (argindex1[ifield] == 0) { if (argindex1[ifield] == 0) {
dvalue = fix->compute_scalar(); dvalue = fix->compute_scalar();
if (normflag && fix->extscalar) dvalue /= natoms; if (normflag && fix->extscalar) dvalue /= natoms;
} else if (argindex2[ifield] == 0) { } else if (argindex2[ifield] == 0) {
if (fix->size_vector_variable && argindex1[ifield] > fix->size_vector)
error->all(FLERR, "Thermo fix vector is accessed out-of-range");
dvalue = fix->compute_vector(argindex1[ifield] - 1); dvalue = fix->compute_vector(argindex1[ifield] - 1);
if (normflag) { if (normflag) {
if (fix->extvector == 0) if (fix->extvector == 0)
@ -1571,6 +1573,8 @@ void Thermo::compute_fix()
dvalue /= natoms; dvalue /= natoms;
} }
} else { } else {
if (fix->size_array_rows_variable && argindex1[ifield] > fix->size_array_rows)
error->all(FLERR, "Thermo fix array is accessed out-of-range");
dvalue = fix->compute_array(argindex1[ifield] - 1, argindex2[ifield] - 1); dvalue = fix->compute_array(argindex1[ifield] - 1, argindex2[ifield] - 1);
if (normflag && fix->extarray) dvalue /= natoms; if (normflag && fix->extarray) dvalue /= natoms;
} }
@ -1582,15 +1586,17 @@ void Thermo::compute_variable()
{ {
int iarg = argindex1[ifield]; int iarg = argindex1[ifield];
// evaluate equal-style or vector-style variable
// if index exceeds vector length, use a zero value
// this can be useful if vector length is not known a priori
if (iarg == 0) if (iarg == 0)
dvalue = input->variable->compute_equal(variables[field2index[ifield]]); dvalue = input->variable->compute_equal(variables[field2index[ifield]]);
else { else {
double *varvec; double *varvec;
int nvec = input->variable->compute_vector(variables[field2index[ifield]], &varvec); int nvec = input->variable->compute_vector(variables[field2index[ifield]], &varvec);
if (nvec < iarg) if (iarg > nvec) dvalue = 0.0;
dvalue = 0.0; else dvalue = varvec[iarg - 1];
else
dvalue = varvec[iarg - 1];
} }
} }

View File

@ -1225,7 +1225,6 @@ int Variable::compute_vector(int ivar, double **result)
int nlen = size_tree_vector(tree); int nlen = size_tree_vector(tree);
if (nlen == 0) if (nlen == 0)
print_var_error(FLERR,"Vector-style variable has zero length",ivar); print_var_error(FLERR,"Vector-style variable has zero length",ivar);
if (nlen < 0) if (nlen < 0)
print_var_error(FLERR,"Inconsistent lengths in vector-style variable",ivar); print_var_error(FLERR,"Inconsistent lengths in vector-style variable",ivar);
@ -1535,9 +1534,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
if (!compute->vector_flag) if (!compute->vector_flag)
print_var_error(FLERR,"Mismatched compute in variable formula",ivar); print_var_error(FLERR,"Mismatched compute in variable formula",ivar);
if (index1 > compute->size_vector &&
compute->size_vector_variable == 0)
print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0);
if (!compute->is_initialized()) if (!compute->is_initialized())
print_var_error(FLERR,"Variable formula compute cannot be invoked before " print_var_error(FLERR,"Variable formula compute cannot be invoked before "
"initialization by a run",ivar); "initialization by a run",ivar);
@ -1546,9 +1542,13 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
compute->invoked_flag |= Compute::INVOKED_VECTOR; compute->invoked_flag |= Compute::INVOKED_VECTOR;
} }
if (compute->size_vector_variable && // wait to check index1 until after compute invocation
index1 > compute->size_vector) value1 = 0.0; // to allow for computes with size_vector_variable == 1
else value1 = compute->vector[index1-1];
if (index1 > compute->size_vector)
print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0);
value1 = compute->vector[index1-1];
argstack[nargstack++] = value1; argstack[nargstack++] = value1;
// c_ID[i][j] = scalar from global array // c_ID[i][j] = scalar from global array
@ -1557,9 +1557,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
if (!compute->array_flag) if (!compute->array_flag)
print_var_error(FLERR,"Mismatched compute in variable formula",ivar); print_var_error(FLERR,"Mismatched compute in variable formula",ivar);
if (index1 > compute->size_array_rows &&
compute->size_array_rows_variable == 0)
print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0);
if (index2 > compute->size_array_cols) if (index2 > compute->size_array_cols)
print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0);
if (!compute->is_initialized()) if (!compute->is_initialized())
@ -1570,9 +1567,13 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
compute->invoked_flag |= Compute::INVOKED_ARRAY; compute->invoked_flag |= Compute::INVOKED_ARRAY;
} }
if (compute->size_array_rows_variable && // wait to check index1 until after compute invocation
index1 > compute->size_array_rows) value1 = 0.0; // to allow for computes with size_array_rows_variable == 1
else value1 = compute->array[index1-1][index2-1];
if (index1 > compute->size_array_rows)
print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0);
value1 = compute->array[index1-1][index2-1];
argstack[nargstack++] = value1; argstack[nargstack++] = value1;
// C_ID[i] = scalar element of per-atom vector, note uppercase "C" // C_ID[i] = scalar element of per-atom vector, note uppercase "C"
@ -1634,8 +1635,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
if (!compute->vector_flag) if (!compute->vector_flag)
print_var_error(FLERR,"Mismatched compute in variable formula",ivar); print_var_error(FLERR,"Mismatched compute in variable formula",ivar);
if (compute->size_vector == 0)
print_var_error(FLERR,"Variable formula compute vector is zero length",ivar);
if (!compute->is_initialized()) if (!compute->is_initialized())
print_var_error(FLERR,"Variable formula compute cannot be invoked before " print_var_error(FLERR,"Variable formula compute cannot be invoked before "
"initialization by a run",ivar); "initialization by a run",ivar);
@ -1644,6 +1643,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
compute->invoked_flag |= Compute::INVOKED_VECTOR; compute->invoked_flag |= Compute::INVOKED_VECTOR;
} }
// wait to check vector size until after compute invocation
// to allow for computes with size_vector_variable == 1
if (compute->size_vector == 0)
print_var_error(FLERR,"Variable formula compute vector is zero length",ivar);
auto newtree = new Tree(); auto newtree = new Tree();
newtree->type = VECTORARRAY; newtree->type = VECTORARRAY;
newtree->array = compute->vector; newtree->array = compute->vector;
@ -1666,10 +1671,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
compute->compute_array(); compute->compute_array();
compute->invoked_flag |= Compute::INVOKED_ARRAY; compute->invoked_flag |= Compute::INVOKED_ARRAY;
} }
// wait until after compute invocation to check size_array_rows
// b/c may be zero until after initial invocation // wait to check row count until after compute invocation
// to allow for computes with size_array_rows_variable == 1
if (compute->size_array_rows == 0) if (compute->size_array_rows == 0)
print_var_error(FLERR,"Variable formula compute array is zero length",ivar); print_var_error(FLERR,"Variable formula compute array has zero rows",ivar);
auto newtree = new Tree(); auto newtree = new Tree();
newtree->type = VECTORARRAY; newtree->type = VECTORARRAY;
@ -1800,8 +1807,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
if (!fix->vector_flag) if (!fix->vector_flag)
print_var_error(FLERR,"Mismatched fix in variable formula",ivar); print_var_error(FLERR,"Mismatched fix in variable formula",ivar);
if (index1 > fix->size_vector && if (index1 > fix->size_vector)
fix->size_vector_variable == 0)
print_var_error(FLERR,"Variable formula fix vector is accessed out-of-range",ivar,0); print_var_error(FLERR,"Variable formula fix vector is accessed out-of-range",ivar,0);
if (update->whichflag > 0 && update->ntimestep % fix->global_freq) if (update->whichflag > 0 && update->ntimestep % fix->global_freq)
print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar);
@ -1815,8 +1821,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
if (!fix->array_flag) if (!fix->array_flag)
print_var_error(FLERR,"Mismatched fix in variable formula",ivar); print_var_error(FLERR,"Mismatched fix in variable formula",ivar);
if (index1 > fix->size_array_rows && if (index1 > fix->size_array_rows)
fix->size_array_rows_variable == 0)
print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0);
if (index2 > fix->size_array_cols) if (index2 > fix->size_array_cols)
print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0);

View File

@ -54,7 +54,7 @@ improper = {}
kspace = {} kspace = {}
pair = {} pair = {}
style_pattern = re.compile("(.+)Style\((.+),(.+)\)") style_pattern = re.compile("(.+)Style\\((.+),(.+)\\)")
upper = re.compile("[A-Z]+") upper = re.compile("[A-Z]+")
gpu = re.compile("(.+)/gpu$") gpu = re.compile("(.+)/gpu$")
intel = re.compile("(.+)/intel$") intel = re.compile("(.+)/intel$")
@ -176,19 +176,19 @@ def check_tests(name,styles,yaml,search,skip=()):
counter = 0 counter = 0
counter += check_tests('pair',pair,'*-pair-*.yaml', counter += check_tests('pair',pair,'*-pair-*.yaml',
'.*pair_style:\s*((\S+).*)?',skip=('meam','lj/sf')) '.*pair_style:\\s*((\\S+).*)?',skip=('meam','lj/sf'))
counter += check_tests('bond',bond,'bond-*.yaml', counter += check_tests('bond',bond,'bond-*.yaml',
'.*bond_style:\s*((\S+).*)?') '.*bond_style:\\s*((\\S+).*)?')
counter += check_tests('angle',angle,'angle-*.yaml', counter += check_tests('angle',angle,'angle-*.yaml',
'.*angle_style:\s*((\S+).*)?') '.*angle_style:\\s*((\\S+).*)?')
counter += check_tests('dihedral',dihedral,'dihedral-*.yaml', counter += check_tests('dihedral',dihedral,'dihedral-*.yaml',
'.*dihedral_style:\s*((\S+).*)?') '.*dihedral_style:\\s*((\\S+).*)?')
counter += check_tests('improper',improper,'improper-*.yaml', counter += check_tests('improper',improper,'improper-*.yaml',
'.*improper_style:\s*((\S+).*)?') '.*improper_style:\\s*((\\S+).*)?')
counter += check_tests('kspace',kspace,'kspace-*.yaml', counter += check_tests('kspace',kspace,'kspace-*.yaml',
'.*kspace_style\s*((\S+).*)?') '.*kspace_style\\s*((\\S+).*)?')
counter += check_tests('fix',fix,'fix-*.yaml', counter += check_tests('fix',fix,'fix-*.yaml',
' fix\s+((\S+)\s*)?') ' fix\\s+((\\S+)\\s*)?')
total = len(pair)+len(bond)+len(angle)+len(dihedral)+len(improper)+len(kspace)+len(fix) total = len(pair)+len(bond)+len(angle)+len(dihedral)+len(improper)+len(kspace)+len(fix)
print(f"\nTotal tests missing: {counter} of {total}") print(f"\nTotal tests missing: {counter} of {total}")

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:10 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,65 +15,65 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-1.4245356937318884e+03 -1.4496493315649691e+03 -3.6144360984224995e+03 8.4840626828644076e+02 2.0318336761611761e+02 -6.0622397707970140e+02 -1.4245356937318909e+03 -1.4496493315649632e+03 -3.6144360984225123e+03 8.4840626828644361e+02 2.0318336761612773e+02 -6.0622397707969583e+02
global_scalar: 15.711521423178082 global_scalar: 15.711521423178084
run_pos: ! |2 run_pos: ! |2
1 -2.7899546863891400e-01 2.4731857340328229e+00 -1.7290667740242271e-01 1 -2.7899546863891755e-01 2.4731857340328198e+00 -1.7290667740241461e-01
2 3.0296221610264262e-01 2.9517129916957545e+00 -8.5798904387773245e-01 2 3.0296221610263996e-01 2.9517129916957550e+00 -8.5798904387772190e-01
3 -6.9368802364134741e-01 1.2445115421754194e+00 -6.2281111198650418e-01 3 -6.9368802364134963e-01 1.2445115421754176e+00 -6.2281111198650141e-01
4 -1.5764879647103154e+00 1.4919714415841279e+00 -1.2492069414674623e+00 4 -1.5764879647103172e+00 1.4919714415841279e+00 -1.2492069414674598e+00
5 -8.9434512967429969e-01 9.3651699743511030e-01 4.0191726558261276e-01 5 -8.9434512967430235e-01 9.3651699743510453e-01 4.0191726558261442e-01
6 2.9454439634451712e-01 2.2724545792544038e-01 -1.2845195053960268e+00 6 2.9454439634451712e-01 2.2724545792544146e-01 -1.2845195053960266e+00
7 3.4049112903270051e-01 -9.4655678322458359e-03 -2.4634480020857055e+00 7 3.4049112903270240e-01 -9.4655678322404235e-03 -2.4634480020857055e+00
8 1.1644354555804874e+00 -4.8367776650961336e-01 -6.7663643940735863e-01 8 1.1644354555804877e+00 -4.8367776650961403e-01 -6.7663643940735962e-01
9 1.3781717822696469e+00 -2.5332509530010694e-01 2.6864954436590061e-01 9 1.3781717822696455e+00 -2.5332509530011083e-01 2.6864954436590072e-01
10 2.0186368606041896e+00 -1.4285861423625796e+00 -9.6712491252780131e-01 10 2.0186368606041905e+00 -1.4285861423625785e+00 -9.6712491252780486e-01
11 1.7929137227577452e+00 -1.9875455388407426e+00 -1.8836565352266534e+00 11 1.7929137227577487e+00 -1.9875455388407386e+00 -1.8836565352266592e+00
12 3.0032775230399604e+00 -4.8983022415174027e-01 -1.6190248017343642e+00 12 3.0032775230399622e+00 -4.8983022415173583e-01 -1.6190248017343625e+00
13 4.0448964162125947e+00 -9.0213155122391020e-01 -1.6385398399479558e+00 13 4.0448964162125964e+00 -9.0213155122390454e-01 -1.6385398399479547e+00
14 2.6035151245015822e+00 -4.0874995493219213e-01 -2.6555999074786607e+00 14 2.6035151245015857e+00 -4.0874995493218413e-01 -2.6555999074786598e+00
15 2.9761196776172318e+00 5.6287237454108674e-01 -1.2442626196083388e+00 15 2.9761196776172323e+00 5.6287237454109007e-01 -1.2442626196083335e+00
16 2.6517373021566168e+00 -2.3957035508393707e+00 3.3389262100692263e-02 16 2.6517373021566182e+00 -2.3957035508393734e+00 3.3389262100686046e-02
17 2.2311114924744970e+00 -2.1018393228798513e+00 1.1496088522377543e+00 17 2.2311114924744961e+00 -2.1018393228798584e+00 1.1496088522377494e+00
18 2.1390642573201784e+00 3.0164773560693781e+00 -3.5143984803853878e+00 18 2.1390642573201792e+00 3.0164773560693803e+00 -3.5143984803853883e+00
19 1.5353246655146278e+00 2.6305911186316133e+00 -4.2455871034737074e+00 19 1.5353246655146293e+00 2.6305911186316160e+00 -4.2455871034737100e+00
20 2.7649421538938390e+00 3.6818603528430849e+00 -3.9364115785985550e+00 20 2.7649421538938399e+00 3.6818603528430875e+00 -3.9364115785985545e+00
21 4.9043112657298877e+00 -4.0774268210397882e+00 -3.6200836396129836e+00 21 4.9043112657298966e+00 -4.0774268210397882e+00 -3.6200836396129850e+00
22 4.3665322424283310e+00 -4.2075138112953594e+00 -4.4636587264885881e+00 22 4.3665322424283417e+00 -4.2075138112953612e+00 -4.4636587264885925e+00
23 5.7355405581985188e+00 -3.5789558641908918e+00 -3.8805763324089981e+00 23 5.7355405581985277e+00 -3.5789558641908901e+00 -3.8805763324089995e+00
24 2.0692780332810115e+00 3.1504920436416004e+00 3.1571131300668789e+00 24 2.0692780332810012e+00 3.1504920436415969e+00 3.1571131300668829e+00
25 1.3007297593169076e+00 3.2745259354179481e+00 2.5110163874103675e+00 25 1.3007297593168976e+00 3.2745259354179459e+00 2.5110163874103693e+00
26 2.5819416446099739e+00 4.0104903120756576e+00 3.2150249624526035e+00 26 2.5819416446099637e+00 4.0104903120756576e+00 3.2150249624526102e+00
27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
run_vel: ! |2 run_vel: ! |2
1 4.7093289825842508e-04 2.6351122778447809e-04 -4.4905093064114883e-04 1 4.7093289825842437e-04 2.6351122778447999e-04 -4.4905093064114823e-04
2 4.9594625316470506e-04 9.4561370489630299e-05 -5.4581359894047775e-04 2 4.9594625316470473e-04 9.4561370489632928e-05 -5.4581359894047732e-04
3 3.3306085115756103e-04 2.3224943880673259e-04 -2.3659455671746018e-04 3 3.3306085115756054e-04 2.3224943880673362e-04 -2.3659455671746045e-04
4 3.3692327392261152e-04 2.1926810694051179e-04 -2.4716631558862516e-04 4 3.3692327392261130e-04 2.1926810694051292e-04 -2.4716631558862576e-04
5 3.3642542694186002e-04 4.1797578013265738e-04 -1.8011341766657675e-04 5 3.3642542694185899e-04 4.1797578013265770e-04 -1.8011341766657654e-04
6 2.0926869754934769e-04 2.6449308951578185e-05 -1.0508938983871811e-04 6 2.0926869754934769e-04 2.6449308951579106e-05 -1.0508938983871929e-04
7 1.4629043007907940e-04 -1.6873376665350122e-04 -6.8354048774350921e-05 7 1.4629043007908003e-04 -1.6873376665349995e-04 -6.8354048774352968e-05
8 1.5844101624224881e-04 3.7728761273999780e-05 -1.9162715667090996e-05 8 1.5844101624224859e-04 3.7728761274000288e-05 -1.9162715667092141e-05
9 2.1299362072601952e-04 1.6917140529157474e-04 -6.3528165037845483e-05 9 2.1299362072601887e-04 1.6917140529157517e-04 -6.3528165037845917e-05
10 5.4261629412254495e-05 -9.4655528376811482e-05 1.0511362869146690e-04 10 5.4261629412254576e-05 -9.4655528376811157e-05 1.0511362869146505e-04
11 -3.2194160796502724e-05 -2.2025095264758716e-04 2.0300202946212429e-04 11 -3.2194160796502236e-05 -2.2025095264758700e-04 2.0300202946212152e-04
12 1.2640586304750378e-04 -2.9851080445665107e-04 -7.9476371818245798e-05 12 1.2640586304750429e-04 -2.9851080445664956e-04 -7.9476371818247574e-05
13 8.4523575162142608e-05 -4.0583135407330561e-04 -4.7551111331700511e-05 13 8.4523575162143312e-05 -4.0583135407330399e-04 -4.7551111331702557e-05
14 9.9954050381270972e-05 -4.2610816481298294e-04 -7.9255633594379530e-05 14 9.9954050381271961e-05 -4.2610816481298121e-04 -7.9255633594381943e-05
15 2.4417481119789862e-04 -2.3521002264677992e-04 -2.4875318161048917e-04 15 2.4417481119789894e-04 -2.3521002264677784e-04 -2.4875318161049020e-04
16 -9.0958138549664992e-06 3.7774817121222391e-06 2.4035199548835096e-04 16 -9.0958138549668516e-06 3.7774817121217089e-06 2.4035199548834928e-04
17 5.7507224523612230e-05 2.2629217444843764e-04 2.0686920072684822e-04 17 5.7507224523611227e-05 2.2629217444843685e-04 2.0686920072684740e-04
18 2.9220264989359833e-04 -6.2478376436796265e-04 8.4222594596602366e-04 18 2.9220264989359860e-04 -6.2478376436796244e-04 8.4222594596602409e-04
19 2.0572616567799188e-04 -5.0334424271726639e-04 8.4953929443210648e-04 19 2.0572616567799204e-04 -5.0334424271726607e-04 8.4953929443210702e-04
20 4.1224811789513022e-04 -7.4115205416011554e-04 8.3678612337507920e-04 20 4.1224811789513060e-04 -7.4115205416011543e-04 8.3678612337507964e-04
21 -1.0671858777656393e-03 -1.1531171045499515e-03 7.3720674900162159e-04 21 -1.0671858777656406e-03 -1.1531171045499533e-03 7.3720674900162007e-04
22 -1.1066511338291710e-03 -1.0433933757600460e-03 7.4544544325708573e-04 22 -1.1066511338291734e-03 -1.0433933757600477e-03 7.4544544325708432e-04
23 -9.7629260480941525e-04 -1.3100872491594103e-03 7.2687284219704804e-04 23 -9.7629260480941644e-04 -1.3100872491594124e-03 7.2687284219704641e-04
24 4.3308126651259312e-04 -6.6527658087322801e-04 8.4451298670663606e-04 24 4.3308126651259382e-04 -6.6527658087322671e-04 8.4451298670663671e-04
25 4.4565811905442889e-04 -5.1298436273584285e-04 8.5878867884521559e-04 25 4.4565811905442982e-04 -5.1298436273584133e-04 8.5878867884521635e-04
26 5.9865972692022765e-04 -7.6385263287080381e-04 8.4259943226842166e-04 26 5.9865972692022961e-04 -7.6385263287080262e-04 8.4259943226842242e-04
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:10 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,8 +15,8 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00
global_scalar: 18.3405601674144 global_scalar: 18.340560167414402
run_pos: ! |2 run_pos: ! |2
1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01
2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01
@ -34,15 +35,15 @@ run_pos: ! |2
15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00
16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02
17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00
18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00
19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00
20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00
21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00
22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00
23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00
24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00
25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00
26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00
27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
@ -64,15 +65,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04
19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03
20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04
21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03
22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03
23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04
24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04
25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04
26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:11 2024
epsilon: 5e-12 epsilon: 5e-12
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -15,8 +16,8 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-4.9200116134788658e+01 -2.6907707565985344e+01 -6.0080860422268874e+00 -2.5620423972099733e+01 -1.3450224059983656e+01 -1.4947288487000705e+00 -4.9200116134789653e+01 -2.6907707565986087e+01 -6.0080860422267843e+00 -2.5620423972100063e+01 -1.3450224059983270e+01 -1.4947288486998982e+00
global_scalar: 18.340560167414306 global_scalar: 18.340560167414335
run_pos: ! |2 run_pos: ! |2
1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01 1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01
2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01 2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01
@ -36,14 +37,14 @@ run_pos: ! |2
16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02 16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02
17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00
18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00 18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00
19 1.5366124997074566e+00 2.6286809834111740e+00 -4.2452547844370239e+00 19 1.5366124997074584e+00 2.6286809834111722e+00 -4.2452547844370230e+00
20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00
21 4.9036621347791245e+00 -4.0757648442838557e+00 -3.6192617654515900e+00 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515900e+00
22 4.3655322291888465e+00 -4.2084949965552569e+00 -4.4622011117402334e+00 22 4.3655322291888465e+00 -4.2084949965552578e+00 -4.4622011117402343e+00
23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00 23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00
24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00 24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00
25 1.3030170721374770e+00 3.2711173927682236e+00 2.5081940917429755e+00 25 1.3030170721374779e+00 3.2711173927682236e+00 2.5081940917429755e+00
26 2.5776230782480054e+00 4.0127347068243875e+00 3.2182355138709262e+00 26 2.5776230782480036e+00 4.0127347068243875e+00 3.2182355138709280e+00
27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00 27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00
29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00 29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00
@ -65,15 +66,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 3.6149625095704681e-04 -3.1032459262907857e-04 8.1043030117346074e-04 18 3.6149625095704659e-04 -3.1032459262907825e-04 8.1043030117346085e-04
19 8.5103884665345820e-04 -1.4572280596788108e-03 1.0163621287634073e-03 19 8.5103884665346059e-04 -1.4572280596788099e-03 1.0163621287634082e-03
20 -6.5204659278590271e-04 4.3989037444289630e-04 4.9909839028508215e-04 20 -6.5204659278590227e-04 4.3989037444289446e-04 4.9909839028508150e-04
21 -1.3888125881903852e-03 -3.1978049143082049e-04 1.1455681499836594e-03 21 -1.3888125881903869e-03 -3.1978049143081757e-04 1.1455681499836596e-03
22 -1.6084223477729513e-03 -1.5355394240820970e-03 1.4772010826232351e-03 22 -1.6084223477729556e-03 -1.5355394240821013e-03 1.4772010826232407e-03
23 2.6392672378803975e-04 -3.9375414431174569e-03 -3.6991583139727910e-04 23 2.6392672378803953e-04 -3.9375414431174656e-03 -3.6991583139727423e-04
24 8.6062827067889835e-04 -9.4179873474469346e-04 5.5396395550012518e-04 24 8.6062827067889998e-04 -9.4179873474469411e-04 5.5396395550012377e-04
25 1.5933645477487516e-03 -2.2139156625681669e-03 -5.5078029695647542e-04 25 1.5933645477487516e-03 -2.2139156625681634e-03 -5.5078029695647109e-04
26 -1.5679561743998831e-03 3.5146224354726187e-04 2.4446924193334495e-03 26 -1.5679561743998922e-03 3.5146224354726068e-04 2.4446924193334543e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:11 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,38 +15,38 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |2- run_stress: ! |2-
4.3578059172167876e+01 1.7275105166465000e+01 6.7372361276631054e+01 5.1985075049901745e+01 -2.0990677389800993e+01 -7.5321398101844359e+00 4.3578059175768836e+01 1.7275105168781163e+01 6.7372361277896715e+01 5.1985075050485008e+01 -2.0990677388216337e+01 -7.5321398110797180e+00
global_scalar: 29.023636440847998 global_scalar: 29.023636439584656
run_pos: ! |2 run_pos: ! |2
1 -6.3472039825517168e-01 3.0113983126282058e+00 -8.8148450172235826e-02 1 -6.3472039825540794e-01 3.0113983126285611e+00 -8.8148450172186088e-02
2 6.4798884173500326e-02 3.5870486860057795e+00 -9.1146271255434463e-01 2 6.4798884173342230e-02 3.5870486860061987e+00 -9.1146271255438371e-01
3 -1.1328967478840362e+00 1.5344674077762583e+00 -6.2949567786977667e-01 3 -1.1328967478843275e+00 1.5344674077764573e+00 -6.2949567786978555e-01
4 -2.1941320441841130e+00 1.8319737599530370e+00 -1.3824693495474225e+00 4 -2.1941320441845233e+00 1.8319737599532644e+00 -1.3824693495475202e+00
5 -1.3741175247360697e+00 1.1637763350569887e+00 6.0220861483086097e-01 5 -1.3741175247363868e+00 1.1637763350571468e+00 6.0220861483099597e-01
6 5.5368589242158706e-02 3.1209253712244411e-01 -1.4252606627467266e+00 6 5.5368589242003274e-02 3.1209253712249918e-01 -1.4252606627468261e+00
7 1.1075313780270069e-01 2.8008314824797154e-02 -2.8425552056438050e+00 7 1.1075313780254881e-01 2.8008314824818470e-02 -2.8425552056440617e+00
8 1.1011987966104080e+00 -5.4254536577068713e-01 -6.9472264392660854e-01 8 1.1011987966103707e+00 -5.4254536577072621e-01 -6.9472264392662098e-01
9 1.3580030945401020e+00 -2.6595138115345840e-01 4.4172536708297194e-01 9 1.3580030945400878e+00 -2.6595138115347083e-01 4.4172536708308918e-01
10 2.1282964643831388e+00 -1.6781145595676907e+00 -1.0442216631471304e+00 10 2.1282964643832170e+00 -1.6781145595678604e+00 -1.0442216631471855e+00
11 1.8571593172391605e+00 -2.3497452731071471e+00 -2.1462323657665392e+00 11 1.8571593172392049e+00 -2.3497452731073896e+00 -2.1462323657667168e+00
12 3.3117732698469986e+00 -5.4913311816190635e-01 -1.8274356036322548e+00 12 3.3117732698472082e+00 -5.4913311816195076e-01 -1.8274356036323969e+00
13 4.5640183918453143e+00 -1.0445083545907554e+00 -1.8509716390298214e+00 13 4.5640183918456607e+00 -1.0445083545908531e+00 -1.8509716390299671e+00
14 2.8312769330518019e+00 -4.5135848464344086e-01 -3.0735173792331993e+00 14 2.8312769330519618e+00 -4.5135848464346928e-01 -3.0735173792334827e+00
15 3.2788434490964296e+00 7.1618295543695254e-01 -1.3765217601452289e+00 15 3.2788434490966321e+00 7.1618295543705379e-01 -1.3765217601453177e+00
16 2.8895075000232158e+00 -2.8409365554010479e+00 1.5818504152554702e-01 16 2.8895075000233756e+00 -2.8409365554013446e+00 1.5818504152563229e-01
17 2.3837073405559277e+00 -2.4882133308169232e+00 1.5000885103549333e+00 17 2.3837073405560343e+00 -2.4882133308171808e+00 1.5000885103551624e+00
18 2.2738793194357232e+00 3.6743407122553755e+00 -4.1408965121163197e+00 18 2.2738793194332434e+00 3.6743407122541889e+00 -4.1408965121171795e+00
19 1.6572750518209336e+00 3.2770314238152451e+00 -4.8886441786593569e+00 19 1.6572750518219337e+00 3.2770314238270633e+00 -4.8886441786700008e+00
20 2.9120476452800226e+00 4.3568412675031851e+00 -4.5732834167769187e+00 20 2.9120476452894675e+00 4.3568412674987194e+00 -4.5732834167653644e+00
21 5.6058485050774536e+00 -4.8495065176300871e+00 -4.2655497599953458e+00 21 5.6058485051319096e+00 -4.8495065176594299e+00 -4.2655497599906971e+00
22 5.0552709232982114e+00 -4.9851876752032496e+00 -5.1280564953560424e+00 22 5.0552709232924169e+00 -4.9851876754509741e+00 -5.1280564952785888e+00
23 6.4593933585948218e+00 -4.3461765105422652e+00 -4.5350231456236889e+00 23 6.4593933583860359e+00 -4.3461765101804879e+00 -4.5350231457223327e+00
24 2.1823354619125279e+00 3.8552931130470363e+00 3.8953804330431208e+00 24 2.1823354618683570e+00 3.8552931130563355e+00 3.8953804330779889e+00
25 1.3973696115403698e+00 3.9794119228484153e+00 3.2321313266194949e+00 25 1.3973696115700545e+00 3.9794119229082359e+00 3.2321313265764022e+00
26 2.7018361227965517e+00 4.7379517631305443e+00 3.9583193478092706e+00 26 2.7018361229436465e+00 4.7379517630364116e+00 3.9583193477161114e+00
27 -2.6559803075358257e+00 -5.1969823689078796e+00 2.6552621488555683e+00 27 -2.6559803075362858e+00 -5.1969823689084436e+00 2.6552621488559236e+00
28 -3.5927802460207046e+00 -4.7943885088602283e+00 2.0214142204095413e+00 28 -3.5927802460212725e+00 -4.7943885088607452e+00 2.0214142204098309e+00
29 -1.8739632618339108e+00 -4.2877858778713946e+00 2.8450749793919066e+00 29 -1.8739632618342856e+00 -4.2877858778718556e+00 2.8450749793922920e+00
run_vel: ! |2 run_vel: ! |2
1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04
2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03
@ -64,15 +65,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 3.0094600491564739e-04 -2.4312792027781263e-04 6.5542049134062323e-04 18 3.0094600492089644e-04 -2.4312792028464785e-04 6.5542049134054972e-04
19 7.4731683462770076e-04 -1.2894119671278408e-03 8.4327024053533397e-04 19 7.4731683460624917e-04 -1.2894119671240515e-03 8.4327024053305281e-04
20 -6.2333686369976551e-04 4.4115361641690044e-04 3.7135656431834220e-04 20 -6.2333686369944134e-04 4.4115361644063580e-04 3.7135656432041769e-04
21 -1.1457423793218525e-03 -1.7337748161437940e-04 9.4510018429417686e-04 21 -1.1457423794330429e-03 -1.7337748206069275e-04 9.4510018428907005e-04
22 -1.3457150581639313e-03 -1.2816797357047471e-03 1.2470992250388096e-03 22 -1.3457150585185161e-03 -1.2816797348700177e-03 1.2470992253076274e-03
23 3.6277645415306518e-04 -3.4719859048227848e-03 -4.3796817853449118e-04 23 3.6277645495226573e-04 -3.4719859038751704e-03 -4.3796817878355291e-04
24 7.2410992462873655e-04 -7.6012809744767037e-04 4.3327155128124943e-04 24 7.2410992459670032e-04 -7.6012809759399148e-04 4.3327155120505761e-04
25 1.3921349892629666e-03 -1.9207002802664867e-03 -5.7453335109528090e-04 25 1.3921349891892136e-03 -1.9207002802470530e-03 -5.7453335098663809e-04
26 -1.4901465947638008e-03 4.2012923457099966e-04 2.1578545404178418e-03 26 -1.4901465945625111e-03 4.2012923513626559e-04 2.1578545406129137e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:11 2024
epsilon: 6.5e-13 epsilon: 6.5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,38 +15,38 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |2- run_stress: ! |2-
2.7340318973870396e+01 4.7963870091858283e+00 6.8884396847592512e+01 2.9853310007358935e+01 -1.0857139901347722e+01 -5.1889756561454785e+00 2.7340318979717416e+01 4.7963870104375275e+00 6.8884396847589585e+01 2.9853310005453281e+01 -1.0857139898599751e+01 -5.1889756547311965e+00
global_scalar: 9.77678786310451 global_scalar: 9.776787862991728
run_pos: ! |2 run_pos: ! |2
1 -5.1121862036604515e-01 2.8134872171079977e+00 -4.8993015395518924e-02 1 -5.1121862036689958e-01 2.8134872171089729e+00 -4.8993015395755179e-02
2 1.4735952488047133e-01 3.3535825972277546e+00 -9.3694001270735150e-01 2 1.4735952487989756e-01 3.3535825972289093e+00 -9.3694001270719340e-01
3 -9.8023793775378820e-01 1.4277788160410712e+00 -6.3283768722999234e-01 3 -9.8023793775484513e-01 1.4277788160415970e+00 -6.3283768722997102e-01
4 -1.9793617512974304e+00 1.7069097152779946e+00 -1.4449221382955635e+00 4 -1.9793617512989155e+00 1.7069097152786199e+00 -1.4449221382951762e+00
5 -1.2073406578712120e+00 1.0799834439081337e+00 6.9555923026692668e-01 5 -1.2073406578723613e+00 1.0799834439085494e+00 6.9555923026634758e-01
6 1.3848116183742931e-01 2.8090381873852976e-01 -1.4910727029127884e+00 6 1.3848116183685821e-01 2.8090381873868608e-01 -1.4910727029123834e+00
7 1.9062418946016990e-01 1.4366032742456625e-02 -3.0196292835199614e+00 7 1.9062418945961834e-01 1.4366032742524126e-02 -3.0196292835188681e+00
8 1.1231015082845541e+00 -5.2094745136401599e-01 -7.0318517336042774e-01 8 1.1231015082843996e+00 -5.2094745136412257e-01 -7.0318517336038155e-01
9 1.3648756844511976e+00 -2.6143726919534771e-01 5.2247754752734465e-01 9 1.3648756844511478e+00 -2.6143726919537080e-01 5.2247754752684727e-01
10 2.0900856844466578e+00 -1.5863783165912952e+00 -1.0801209545800976e+00 10 2.0900856844469189e+00 -1.5863783165917535e+00 -1.0801209545798738e+00
11 1.8348175253566659e+00 -2.2165258198419622e+00 -2.2686429310672072e+00 11 1.8348175253568222e+00 -2.2165258198426265e+00 -2.2686429310664504e+00
12 3.2042965133156098e+00 -5.2712831182449804e-01 -1.9248196297790088e+00 12 3.2042965133163452e+00 -5.2712831182460818e-01 -1.9248196297784048e+00
13 4.3832508188729271e+00 -9.9190674157019298e-01 -1.9502033172902991e+00 13 4.3832508188741741e+00 -9.9190674157045855e-01 -1.9502033172896844e+00
14 2.7519224412447691e+00 -4.3539271970391624e-01 -3.2687227073821310e+00 14 2.7519224412453145e+00 -4.3539271970399618e-01 -3.2687227073809266e+00
15 3.1732939937025400e+00 6.6003562890618639e-01 -1.4385076445934288e+00 15 3.1732939937032665e+00 6.6003562890646350e-01 -1.4385076445930487e+00
16 2.8067449168447887e+00 -2.6773787170015133e+00 2.1667842294144180e-01 16 2.8067449168453553e+00 -2.6773787170023233e+00 2.1667842294107942e-01
17 2.3305479923928516e+00 -2.3464414104884277e+00 1.6639254952584981e+00 17 2.3305479923932175e+00 -2.3464414104891320e+00 1.6639254952574838e+00
18 2.2269920241232128e+00 3.4328783208254681e+00 -4.4342132514635013e+00 18 2.2269920241209178e+00 3.4328783208250382e+00 -4.4342132514621486e+00
19 1.6145347679280793e+00 3.0386658278179439e+00 -5.1868156516245785e+00 19 1.6145347679293440e+00 3.0386658278306271e+00 -5.1868156516331227e+00
20 2.8608613711028656e+00 4.1100452338287408e+00 -4.8694049549907970e+00 20 2.8608613711127191e+00 4.1100452338250122e+00 -4.8694049549767646e+00
21 5.3613621396958795e+00 -4.5653056926475841e+00 -4.5681019697305372e+00 21 5.3613621397513214e+00 -4.5653056926761684e+00 -4.5681019697231218e+00
22 4.8144754754921184e+00 -4.6999404674483083e+00 -5.4362066556130868e+00 22 4.8144754754873968e+00 -4.6999404677006380e+00 -5.4362066555318300e+00
23 6.2091840278795729e+00 -4.0659479262420684e+00 -4.8393130641864568e+00 23 6.2091840276731247e+00 -4.0659479258840996e+00 -4.8393130642860642e+00
24 2.1433208912603074e+00 3.5960988832146015e+00 4.2399236066404100e+00 24 2.1433208912158790e+00 3.5960988832250020e+00 4.2399236066734023e+00
25 1.3636453973491918e+00 3.7192408266342980e+00 3.5723762826473990e+00 25 1.3636453973794058e+00 3.7192408266942927e+00 3.5723762826011995e+00
26 2.6593036729945752e+00 4.4718649490241678e+00 4.3032623333405660e+00 26 2.6593036731433042e+00 4.4718649489304223e+00 4.3032623332423157e+00
27 -2.4141791756398536e+00 -4.8879035738852403e+00 2.9097838637418292e+00 27 -2.4141791756415234e+00 -4.8879035738867795e+00 2.9097838637402536e+00
28 -3.2961505257539048e+00 -4.5101758871984199e+00 2.2261768979308005e+00 28 -3.2961505257559520e+00 -4.5101758871998348e+00 2.2261768979295358e+00
29 -1.6779316575994301e+00 -4.0348635219024889e+00 3.1144975929056571e+00 29 -1.6779316576007828e+00 -4.0348635219037465e+00 3.1144975929039944e+00
run_vel: ! |2 run_vel: ! |2
1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04
2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03
@ -64,15 +65,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 3.1638284997073272e-04 -2.6313163919070405e-04 6.1054395248656961e-04 18 3.1638284997600319e-04 -2.6313163919763335e-04 6.1054395248685519e-04
19 7.6494647252307673e-04 -1.3190724749214326e-03 7.9947132612985723e-04 19 7.6494647250110288e-04 -1.3190724749175438e-03 7.9947132612783736e-04
20 -6.1620104632513929e-04 4.2577138774295274e-04 3.2526261653548693e-04 20 -6.1620104632483571e-04 4.2577138776739548e-04 3.2526261653790590e-04
21 -1.2063428871524097e-03 -2.2879409878999576e-04 8.9132836538734445e-04 21 -1.2063428872614197e-03 -2.2879409923923591e-04 8.9132836537741717e-04
22 -1.4151473871894464e-03 -1.3502255393198256e-03 1.1972773109437849e-03 22 -1.4151473875545966e-03 -1.3502255384792933e-03 1.1972773112250280e-03
23 3.1280366109607172e-04 -3.5563936893394407e-03 -4.9548546532774958e-04 23 3.1280366189902534e-04 -3.5563936883846667e-03 -4.9548546556753227e-04
24 7.5594375541558026e-04 -8.1321043994394464e-04 3.9340911295780739e-04 24 7.5594375538112746e-04 -8.1321044009394260e-04 3.9340911288157350e-04
25 1.4373446731689036e-03 -1.9778020567486213e-03 -6.1842201918304478e-04 25 1.4373446730968913e-03 -1.9778020567293151e-03 -6.1842201907436371e-04
26 -1.4806168650325999e-03 3.7766934274110835e-04 2.1280924225288342e-03 26 -1.4806168648243687e-03 3.7766934332225264e-04 2.1280924227258073e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:12 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -13,65 +14,65 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-1.6326314448663306e+03 -1.4727331978532295e+03 -3.8557370515932275e+03 5.5052891601644615e+02 4.7346742977310657e+02 -6.2035591882122355e+02 -1.6326314448662429e+03 -1.4727331978532245e+03 -3.8557370515929042e+03 5.5052891601619581e+02 4.7346742977256520e+02 -6.2035591882208064e+02
global_scalar: 106.86683072474125 global_scalar: 106.86683072474244
run_pos: ! |2 run_pos: ! |2
1 -2.6314711410922875e-01 2.4664715027241684e+00 -1.7093568570875561e-01 1 -2.6314711410917102e-01 2.4664715027243860e+00 -1.7093568570953632e-01
2 3.1632911015968190e-01 2.9434731493852482e+00 -8.5432214735778889e-01 2 3.1632911015962950e-01 2.9434731493852171e+00 -8.5432214735883338e-01
3 -6.7623447816593885e-01 1.2410822625695044e+00 -6.1935152269903870e-01 3 -6.7623447816593352e-01 1.2410822625695497e+00 -6.1935152269929450e-01
4 -1.5552134736906362e+00 1.4878541800991378e+00 -1.2440909745466859e+00 4 -1.5552134736907304e+00 1.4878541800989344e+00 -1.2440909745469027e+00
5 -8.7601967096402067e-01 9.3417436540572218e-01 4.0272031680440712e-01 5 -8.7601967096385724e-01 9.3417436540614585e-01 4.0272031680429610e-01
6 3.0755837780638462e-01 2.2629147986241449e-01 -1.2791162680673960e+00 6 3.0755837780630380e-01 2.2629147986222176e-01 -1.2791162680674191e+00
7 3.5322094628053069e-01 -1.0043890952307954e-02 -2.4548503163676365e+00 7 3.5322094628027934e-01 -1.0043890952942114e-02 -2.4548503163675806e+00
8 1.1736205127907979e+00 -4.8269091330540537e-01 -6.7273784266507608e-01 8 1.1736205127908210e+00 -4.8269091330536096e-01 -6.7273784266496328e-01
9 1.3865071239751696e+00 -2.5278331076620741e-01 2.6996653369766221e-01 9 1.3865071239753313e+00 -2.5278331076580596e-01 2.6996653369765600e-01
10 2.0239883243193546e+00 -1.4252201368162511e+00 -9.6228264545891751e-01 10 2.0239883243193466e+00 -1.4252201368163044e+00 -9.6228264545858089e-01
11 1.7991233925769246e+00 -1.9828365722517098e+00 -1.8762366544355809e+00 11 1.7991233925767878e+00 -1.9828365722521095e+00 -1.8762366544350000e+00
12 3.0044710092992837e+00 -4.8928363303895761e-01 -1.6126944183951402e+00 12 3.0044710092991682e+00 -4.8928363303924272e-01 -1.6126944183953009e+00
13 4.0415308387392486e+00 -9.0061411581930262e-01 -1.6321139880363660e+00 13 4.0415308387391402e+00 -9.0061411581958151e-01 -1.6321139880365303e+00
14 2.6064005411338655e+00 -4.0859653026870735e-01 -2.6465043951812621e+00 14 2.6064005411335902e+00 -4.0859653026938592e-01 -2.6465043951813936e+00
15 2.9775904824773907e+00 5.6065407887877150e-01 -1.2391617757503752e+00 15 2.9775904824773161e+00 5.6065407887862850e-01 -1.2391617757509259e+00
16 2.6542663248057963e+00 -2.3895844048756363e+00 3.5746598094128501e-02 16 2.6542663248059526e+00 -2.3895844048753085e+00 3.5746598094734239e-02
17 2.2355490747046538e+00 -2.0962135127180099e+00 1.1489434027780590e+00 17 2.2355490747049700e+00 -2.0962135127172692e+00 1.1489434027786212e+00
18 2.0921160979727347e+00 2.9872159674143273e+00 -3.4902339097026891e+00 18 2.0921160979710356e+00 2.9872159674136229e+00 -3.4902339097027140e+00
19 1.4908686219092431e+00 2.6025398330908249e+00 -4.2194623779121834e+00 19 1.4908686219074729e+00 2.6025398330897387e+00 -4.2194623779119471e+00
20 2.7154518806645740e+00 3.6506388357595867e+00 -3.9111287168645399e+00 20 2.7154518806624317e+00 3.6506388357591026e+00 -3.9111287168648765e+00
21 4.8435638296030810e+00 -4.0881941921728835e+00 -3.5957796498833634e+00 21 4.8435638296045518e+00 -4.0881941921723524e+00 -3.5957796498832693e+00
22 4.3080557005367073e+00 -4.2177797604324549e+00 -4.4370935526124242e+00 22 4.3080557005379525e+00 -4.2177797604322951e+00 -4.4370935526121276e+00
23 5.6713237924930837e+00 -3.5912865024293716e+00 -3.8555915013182531e+00 23 5.6713237924942437e+00 -3.5912865024285043e+00 -3.8555915013185178e+00
24 2.0228224543345528e+00 3.1208125399081723e+00 3.1634860992076259e+00 24 2.0228224543350635e+00 3.1208125399084361e+00 3.1634860992076055e+00
25 1.2576132296055036e+00 3.2447174749294536e+00 2.5191319958251963e+00 25 1.2576132296057372e+00 3.2447174749292715e+00 2.5191319958254175e+00
26 2.5334951322488237e+00 3.9783477827941720e+00 3.2212409164234312e+00 26 2.5334951322489658e+00 3.9783477827946756e+00 3.2212409164231035e+00
27 -1.8488304998563332e+00 -4.2601261704683342e+00 2.0568476369354265e+00 27 -1.8488304998563332e+00 -4.2601261704683413e+00 2.0568476369354238e+00
28 -2.6026086128772454e+00 -3.9329047688996304e+00 1.5399898445636406e+00 28 -2.6026086128772454e+00 -3.9329047688996370e+00 1.5399898445636415e+00
29 -1.2195954744860957e+00 -3.5211468177700818e+00 2.2116264666073615e+00 29 -1.2195954744860957e+00 -3.5211468177700862e+00 2.2116264666073588e+00
run_vel: ! |2 run_vel: ! |2
1 1.2393084479630034e-03 7.0215195817155049e-04 -1.1910956210640397e-03 1 1.2393084479632162e-03 7.0215195817134601e-04 -1.1910956210642444e-03
2 1.3060936199988536e-03 2.5041119719347224e-04 -1.4496302699051125e-03 2 1.3060936199989690e-03 2.5041119719309234e-04 -1.4496302699052684e-03
3 8.7069732478159932e-04 6.1866591813748923e-04 -6.2317312592554579e-04 3 8.7069732478170037e-04 6.1866591813752230e-04 -6.2317312592555772e-04
4 8.8100215742025064e-04 5.8380213791516000e-04 -6.5145037264846529e-04 4 8.8100215742026918e-04 5.8380213791525335e-04 -6.5145037264832683e-04
5 8.7979303397991678e-04 1.1152950208762130e-03 -4.7231382224758212e-04 5 8.7979303398017070e-04 1.1152950208763543e-03 -4.7231382224773813e-04
6 5.3965146863311727e-04 6.8643008418757634e-05 -2.7149223435848658e-04 6 5.3965146863306555e-04 6.8643008418797912e-05 -2.7149223435837187e-04
7 3.7117679682181569e-04 -4.5322194777211656e-04 -1.7317402888851005e-04 7 3.7117679682156736e-04 -4.5322194777208414e-04 -1.7317402888817444e-04
8 4.0378854177636284e-04 9.9015358993666757e-05 -4.1783685861269460e-05 8 4.0378854177637320e-04 9.9015358993721983e-05 -4.1783685861266425e-05
9 5.4970639315540500e-04 4.5048022318729304e-04 -1.6045108899919851e-04 9 5.4970639315557207e-04 4.5048022318731326e-04 -1.6045108899939207e-04
10 1.2521448037945991e-04 -2.5472783650533836e-04 2.9052485920877619e-04 10 1.2521448037938158e-04 -2.5472783650525840e-04 2.9052485920884211e-04
11 -1.0599027352488127e-04 -5.9051612835384309e-04 5.5226010155799178e-04 11 -1.0599027352512348e-04 -5.9051612835367331e-04 5.5226010155827335e-04
12 3.1798607399623040e-04 -7.9980833669012115e-04 -2.0274707260294341e-04 12 3.1798607399607243e-04 -7.9980833669034384e-04 -2.0274707260289267e-04
13 2.0597404142686670e-04 -1.0865778699535151e-03 -1.1731137935658918e-04 13 2.0597404142668038e-04 -1.0865778699538143e-03 -1.1731137935657286e-04
14 2.4719215573349161e-04 -1.1410575874168858e-03 -2.0209037936298231e-04 14 2.4719215573317579e-04 -1.1410575874171004e-03 -2.0209037936272953e-04
15 6.3286464043726845e-04 -6.3068988069288313e-04 -6.5527927471360488e-04 15 6.3286464043720871e-04 -6.3068988069325653e-04 -6.5527927471369335e-04
16 -4.4100406048953834e-05 8.6869240444187047e-06 6.5198761255923199e-04 16 -4.4100406048914694e-05 8.6869240445997393e-06 6.5198761255915100e-04
17 1.3407421346950653e-04 6.0357565278263911e-04 5.6233596575975121e-04 17 1.3407421346973834e-04 6.0357565278286712e-04 5.6233596575947994e-04
18 7.9277804690569076e-04 -1.5618239874425175e-03 2.1367192719678593e-03 18 7.9277804690533363e-04 -1.5618239874416928e-03 2.1367192719678658e-03
19 5.6167660797942776e-04 -1.2371794194922848e-03 2.1562222137424714e-03 19 5.6167660797890148e-04 -1.2371794194914493e-03 2.1562222137424727e-03
20 1.1137406410123489e-03 -1.8729421751430327e-03 2.1222207985340819e-03 20 1.1137406410120911e-03 -1.8729421751419769e-03 2.1222207985341088e-03
21 -2.8426953558137740e-03 -2.9730185469781381e-03 1.8564402246257748e-03 21 -2.8426953558134235e-03 -2.9730185469789214e-03 1.8564402246258563e-03
22 -2.9480844379790165e-03 -2.6797216173769360e-03 1.8784164631754769e-03 22 -2.9480844379788334e-03 -2.6797216173776307e-03 1.8784164631755556e-03
23 -2.5997293519674958e-03 -3.3926375081633348e-03 1.8288830284141459e-03 23 -2.5997293519669897e-03 -3.3926375081639489e-03 1.8288830284142509e-03
24 1.1689404599043950e-03 -1.6701257754515662e-03 2.1428138286394673e-03 24 1.1689404599044329e-03 -1.6701257754517325e-03 2.1428138286393884e-03
25 1.2027302640333160e-03 -1.2630861421196525e-03 2.1808987508670514e-03 25 1.2027302640331447e-03 -1.2630861421197028e-03 2.1808987508669616e-03
26 1.6116362268906780e-03 -1.9337182438138849e-03 2.1377249582867843e-03 26 1.6116362268908176e-03 -1.9337182438138503e-03 2.1377249582867175e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:12 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -13,38 +14,38 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-8.7531774769722489e+01 5.5811525017966304e+00 -5.5468297744356747e+01 -1.5316306343483370e+02 1.4641268097314367e+02 1.7263710089631324e+01 -8.7531774640811420e+01 5.5811525750281774e+00 -5.5468297761715007e+01 -1.5316306336726905e+02 1.4641268095299071e+02 1.7263710083146290e+01
global_scalar: 77.78983430293286 global_scalar: 77.78983430422252
run_pos: ! |2 run_pos: ! |2
1 -4.6333219629007161e-01 2.7511450055070625e+00 -1.2865946102806269e-01 1 -4.6333219629057343e-01 2.7511450055078264e+00 -1.2865946102794723e-01
2 1.7937148390204793e-01 3.2800405238539234e+00 -8.8510337855738808e-01 2 1.7937148390171043e-01 3.2800405238548382e+00 -8.8510337855745913e-01
3 -9.2104620265671233e-01 1.3941717929286011e+00 -6.2603796687145774e-01 3 -9.2104620265733672e-01 1.3941717929290096e+00 -6.2603796687147195e-01
4 -1.8960869879711328e+00 1.6675144043869761e+00 -1.3178544214440926e+00 4 -1.8960869879720148e+00 1.6675144043874610e+00 -1.3178544214442827e+00
5 -1.1426748052069362e+00 1.0535885915279550e+00 5.0562616550054784e-01 5 -1.1426748052076219e+00 1.0535885915282748e+00 5.0562616550083384e-01
6 1.7070712623541162e-01 2.7107933832755826e-01 -1.3571701846607374e+00 6 1.7070712623507234e-01 2.7107933832768616e-01 -1.3571701846609390e+00
7 2.2159329060539701e-01 1.0068698962042433e-02 -2.6593507556860114e+00 7 2.2159329060507194e-01 1.0068698962099276e-02 -2.6593507556865532e+00
8 1.1315940381701060e+00 -5.1414408469809381e-01 -6.8596713849763802e-01 8 1.1315940381700180e+00 -5.1414408469817374e-01 -6.8596713849766644e-01
9 1.3675404538221994e+00 -2.6001531899016506e-01 3.5817751536664133e-01 9 1.3675404538221745e+00 -2.6001531899018637e-01 3.5817751536688647e-01
10 2.0752698846777218e+00 -1.5574812996955254e+00 -1.0070795245589492e+00 10 2.0752698846778816e+00 -1.5574812996958780e+00 -1.0070795245590576e+00
11 1.8261547470632067e+00 -2.1745615463231482e+00 -2.0195839000288469e+00 11 1.8261547470632973e+00 -2.1745615463236652e+00 -2.0195839000292208e+00
12 3.1626236108721066e+00 -5.2019677375525752e-01 -1.7266801053747978e+00 12 3.1626236108725436e+00 -5.2019677375534190e-01 -1.7266801053750953e+00
13 4.3131602274134853e+00 -9.7533717592326674e-01 -1.7483045222380902e+00 13 4.3131602274142278e+00 -9.7533717592347013e-01 -1.7483045222383922e+00
14 2.7211536303664605e+00 -4.3036348628163701e-01 -2.8715539682060491e+00 14 2.7211536303667962e+00 -4.3036348628169740e-01 -2.8715539682066451e+00
15 3.1323683805788374e+00 6.4234915962457073e-01 -1.3123899007466848e+00 15 3.1323683805792637e+00 6.4234915962478567e-01 -1.3123899007468758e+00
16 2.7746546569032322e+00 -2.6258578189755974e+00 9.7666596945726880e-02 16 2.7746546569035768e+00 -2.6258578189762343e+00 9.7666596945902739e-02
17 2.3099360535750506e+00 -2.3017831004883886e+00 1.3305794265747686e+00 17 2.3099360535752709e+00 -2.3017831004889393e+00 1.3305794265752642e+00
18 2.2091748314094701e+00 3.3564440703097080e+00 -3.8370878208998480e+00 18 2.2091748313982826e+00 3.3564440703034535e+00 -3.8370878209026742e+00
19 1.5986312961639815e+00 2.9614993054417287e+00 -4.5778944294436021e+00 19 1.5986312961681257e+00 2.9614993054929961e+00 -4.5778944294898185e+00
20 2.8405364052167421e+00 4.0335971973474170e+00 -4.2659151034329339e+00 20 2.8405364052584243e+00 4.0335971973267473e+00 -4.2659151033808254e+00
21 5.2651527410670678e+00 -4.4761614286515128e+00 -3.9518304737634447e+00 21 5.2651527413064194e+00 -4.4761614287784965e+00 -3.9518304737405883e+00
22 4.7192922284117014e+00 -4.6119045765637390e+00 -4.8062296930647124e+00 22 4.7192922283808425e+00 -4.6119045776644754e+00 -4.8062296927145907e+00
23 6.1127575782518644e+00 -3.9811721108739997e+00 -4.2204729624242692e+00 23 6.1127575773332410e+00 -3.9811721092729444e+00 -4.2204729628712050e+00
24 2.1290800761933255e+00 3.5132841007593623e+00 3.5392070209389175e+00 24 2.1290800759971340e+00 3.5132841007987228e+00 3.5392070210919400e+00
25 1.3519459804490630e+00 3.6349473854278020e+00 2.8807586653452137e+00 25 1.3519459805793055e+00 3.6349473856926782e+00 2.8807586651545414e+00
26 2.6413474233716503e+00 4.3893648735951771e+00 3.6035699967293215e+00 26 2.6413474240255201e+00 4.3893648731792023e+00 3.6035699963154144e+00
27 -2.3204235087828389e+00 -4.7905434153250859e+00 2.3919287951691697e+00 27 -2.3204235087838274e+00 -4.7905434153262867e+00 2.3919287951699459e+00
28 -3.1811356909797261e+00 -4.4206486004501846e+00 1.8095625809312565e+00 28 -3.1811356909809412e+00 -4.4206486004512886e+00 1.8095625809318783e+00
29 -1.6019226098503827e+00 -3.9551927030786480e+00 2.5663248522869146e+00 29 -1.6019226098511883e+00 -3.9551927030796277e+00 2.5663248522877335e+00
run_vel: ! |2 run_vel: ! |2
1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04
2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03
@ -63,15 +64,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 7.2384391131466940e-04 -6.0015829212802722e-04 1.5957533238990559e-03 18 7.2384391137821785e-04 -6.0015829219183913e-04 1.5957533239005792e-03
19 1.7583138222551384e-03 -3.0158245948490804e-03 2.0310435058142470e-03 19 1.7583138220942001e-03 -3.0158245949231362e-03 2.0310435058145879e-03
20 -1.4153552732353322e-03 9.7835305930749246e-04 9.3881222516217474e-04 20 -1.4153552733289841e-03 9.7835305963750062e-04 9.3881222515317965e-04
21 -2.7591188772323472e-03 -5.1180650802276303e-04 2.2758295071994400e-03 21 -2.7591188784018856e-03 -5.1180651254767841e-04 2.2758295071625967e-03
22 -3.2319732401280494e-03 -3.0809796427949646e-03 2.9861065768383484e-03 22 -3.2319732438308327e-03 -3.0809796341686479e-03 2.9861065796802132e-03
23 6.9767443123301817e-04 -8.1543313142268207e-03 -8.9929522742256325e-04 23 6.9767443960831559e-04 -8.1543313047864312e-03 -8.9929523012053270e-04
24 1.7345816999787505e-03 -1.8508160062822962e-03 1.0723416147087287e-03 24 1.7345816996818938e-03 -1.8508160077951139e-03 1.0723416139084840e-03
25 3.2855417755407162e-03 -4.5284294762327620e-03 -1.2529299007822618e-03 25 3.2855417748809557e-03 -4.5284294761711655e-03 -1.2529298997977286e-03
26 -3.4004728795728936e-03 8.5952140737749613e-04 5.0505027847540665e-03 26 -3.4004728777299181e-03 8.5952141335802687e-04 5.0505027869618231e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:13 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,65 +15,65 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-1.4245356938011610e+03 -1.4496493316650424e+03 -3.6144360982532016e+03 8.4840626794792252e+02 2.0318336802442886e+02 -6.0622397695978805e+02 -1.4245356938011316e+03 -1.4496493316650758e+03 -3.6144360982530934e+03 8.4840626794790273e+02 2.0318336802433893e+02 -6.0622397695991208e+02
global_scalar: 15.711521423178128 global_scalar: 15.711521423178162
run_pos: ! |2 run_pos: ! |2
1 -2.7899546863905123e-01 2.4731857340327181e+00 -1.7290667740231969e-01 1 -2.7899546863904412e-01 2.4731857340327541e+00 -1.7290667740243348e-01
2 3.0296221610252227e-01 2.9517129916957194e+00 -8.5798904387756503e-01 2 3.0296221610251317e-01 2.9517129916957181e+00 -8.5798904387771990e-01
3 -6.9368802364141247e-01 1.2445115421753310e+00 -6.2281111198650718e-01 3 -6.9368802364141358e-01 1.2445115421753392e+00 -6.2281111198654315e-01
4 -1.5764879647103560e+00 1.4919714415840475e+00 -1.2492069414674947e+00 4 -1.5764879647103740e+00 1.4919714415840188e+00 -1.2492069414675249e+00
5 -8.9434512967440649e-01 9.3651699743494377e-01 4.0191726558257690e-01 5 -8.9434512967438362e-01 9.3651699743500849e-01 4.0191726558256402e-01
6 2.9454439634452678e-01 2.2724545792543693e-01 -1.2845195053960459e+00 6 2.9454439634451368e-01 2.2724545792540876e-01 -1.2845195053960490e+00
7 3.4049112903278234e-01 -9.4655678321664549e-03 -2.4634480020857370e+00 7 3.4049112903274215e-01 -9.4655678322607961e-03 -2.4634480020857299e+00
8 1.1644354555804921e+00 -4.8367776650962330e-01 -6.7663643940738027e-01 8 1.1644354555804954e+00 -4.8367776650961680e-01 -6.7663643940736340e-01
9 1.3781717822695918e+00 -2.5332509530017322e-01 2.6864954436590494e-01 9 1.3781717822696169e+00 -2.5332509530011327e-01 2.6864954436590560e-01
10 2.0186368606042460e+00 -1.4285861423625348e+00 -9.6712491252784183e-01 10 2.0186368606042455e+00 -1.4285861423625437e+00 -9.6712491252779242e-01
11 1.7929137227578726e+00 -1.9875455388406436e+00 -1.8836565352267429e+00 11 1.7929137227578522e+00 -1.9875455388407057e+00 -1.8836565352266585e+00
12 3.0032775230400142e+00 -4.8983022415161337e-01 -1.6190248017342870e+00 12 3.0032775230399977e+00 -4.8983022415165589e-01 -1.6190248017343138e+00
13 4.0448964162126639e+00 -9.0213155122374034e-01 -1.6385398399478515e+00 13 4.0448964162126479e+00 -9.0213155122378219e-01 -1.6385398399478794e+00
14 2.6035151245016883e+00 -4.0874995493201027e-01 -2.6555999074785985e+00 14 2.6035151245016470e+00 -4.0874995493211108e-01 -2.6555999074786221e+00
15 2.9761196776172243e+00 5.6287237454118566e-01 -1.2442626196081918e+00 15 2.9761196776172136e+00 5.6287237454116579e-01 -1.2442626196082760e+00
16 2.6517373021566577e+00 -2.3957035508393689e+00 3.3389262100618433e-02 16 2.6517373021566839e+00 -2.3957035508393223e+00 3.3389262100708361e-02
17 2.2311114924744668e+00 -2.1018393228799419e+00 1.1496088522376777e+00 17 2.2311114924745179e+00 -2.1018393228798340e+00 1.1496088522377621e+00
18 2.1390642573199212e+00 3.0164773560692755e+00 -3.5143984803853900e+00 18 2.1390642573196605e+00 3.0164773560691671e+00 -3.5143984803853927e+00
19 1.5353246655143720e+00 2.6305911186314508e+00 -4.2455871034736816e+00 19 1.5353246655140995e+00 2.6305911186312847e+00 -4.2455871034736425e+00
20 2.7649421538935122e+00 3.6818603528430254e+00 -3.9364115785985936e+00 20 2.7649421538931831e+00 3.6818603528429503e+00 -3.9364115785986438e+00
21 4.9043112657301942e+00 -4.0774268210396798e+00 -3.6200836396129796e+00 21 4.9043112657304171e+00 -4.0774268210395990e+00 -3.6200836396129659e+00
22 4.3665322424286144e+00 -4.2075138112953070e+00 -4.4636587264885614e+00 22 4.3665322424288018e+00 -4.2075138112952830e+00 -4.4636587264885161e+00
23 5.7355405581987764e+00 -3.5789558641907195e+00 -3.8805763324090350e+00 23 5.7355405581989505e+00 -3.5789558641905872e+00 -3.8805763324090754e+00
24 2.0692780332810026e+00 3.1504920436416008e+00 3.1571131300668833e+00 24 2.0692780332810834e+00 3.1504920436416377e+00 3.1571131300668784e+00
25 1.3007297593168636e+00 3.2745259354178766e+00 2.5110163874103986e+00 25 1.3007297593169014e+00 3.2745259354178451e+00 2.5110163874104305e+00
26 2.5819416446099002e+00 4.0104903120757012e+00 3.2150249624525742e+00 26 2.5819416446099250e+00 4.0104903120757749e+00 3.2150249624525231e+00
27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
run_vel: ! |2 run_vel: ! |2
1 4.7093289825841293e-04 2.6351122778450888e-04 -4.4905093064113717e-04 1 4.7093289825842481e-04 2.6351122778449815e-04 -4.4905093064115029e-04
2 4.9594625316469964e-04 9.4561370489668111e-05 -5.4581359894048111e-04 2 4.9594625316470614e-04 9.4561370489646928e-05 -5.4581359894049163e-04
3 3.3306085115754910e-04 2.3224943880673595e-04 -2.3659455671744723e-04 3 3.3306085115755453e-04 2.3224943880673822e-04 -2.3659455671744877e-04
4 3.3692327392259764e-04 2.1926810694050300e-04 -2.4716631558861373e-04 4 3.3692327392259862e-04 2.1926810694050856e-04 -2.4716631558860722e-04
5 3.3642542694184180e-04 4.1797578013266372e-04 -1.8011341766654800e-04 5 3.3642542694185568e-04 4.1797578013267277e-04 -1.8011341766655748e-04
6 2.0926869754934492e-04 2.6449308951570887e-05 -1.0508938983871866e-04 6 2.0926869754934175e-04 2.6449308951572771e-05 -1.0508938983871239e-04
7 1.4629043007908284e-04 -1.6873376665352296e-04 -6.8354048774366290e-05 7 1.4629043007906883e-04 -1.6873376665352220e-04 -6.8354048774347479e-05
8 1.5844101624224813e-04 3.7728761273997381e-05 -1.9162715667088780e-05 8 1.5844101624224818e-04 3.7728761274000153e-05 -1.9162715667088122e-05
9 2.1299362072601532e-04 1.6917140529158732e-04 -6.3528165037833598e-05 9 2.1299362072602399e-04 1.6917140529158875e-04 -6.3528165037844006e-05
10 5.4261629412260376e-05 -9.4655528376821362e-05 1.0511362869146115e-04 10 5.4261629412255362e-05 -9.4655528376817648e-05 1.0511362869146607e-04
11 -3.2194160796493454e-05 -2.2025095264761673e-04 2.0300202946211041e-04 11 -3.2194160796507657e-05 -2.2025095264760857e-04 2.0300202946212778e-04
12 1.2640586304751833e-04 -2.9851080445664229e-04 -7.9476371818270762e-05 12 1.2640586304750909e-04 -2.9851080445665606e-04 -7.9476371818267184e-05
13 8.4523575162163329e-05 -4.0583135407329152e-04 -4.7551111331733064e-05 13 8.4523575162152420e-05 -4.0583135407330979e-04 -4.7551111331730963e-05
14 9.9954050381288400e-05 -4.2610816481298728e-04 -7.9255633594414740e-05 14 9.9954050381270538e-05 -4.2610816481300132e-04 -7.9255633594400035e-05
15 2.4417481119791087e-04 -2.3521002264675206e-04 -2.4875318161051227e-04 15 2.4417481119790729e-04 -2.3521002264677391e-04 -2.4875318161051720e-04
16 -9.0958138549618100e-06 3.7774817121146141e-06 2.4035199548835590e-04 16 -9.0958138549606716e-06 3.7774817121242263e-06 2.4035199548835337e-04
17 5.7507224523608950e-05 2.2629217444844056e-04 2.0686920072686990e-04 17 5.7507224523620660e-05 2.2629217444845357e-04 2.0686920072685659e-04
18 2.9220264989358538e-04 -6.2478376436791018e-04 8.4222594596602778e-04 18 2.9220264989356375e-04 -6.2478376436786377e-04 8.4222594596602756e-04
19 2.0572616567796829e-04 -5.0334424271721273e-04 8.4953929443210897e-04 19 2.0572616567793704e-04 -5.0334424271716611e-04 8.4953929443210886e-04
20 4.1224811789512659e-04 -7.4115205416005016e-04 8.3678612337508636e-04 20 4.1224811789511017e-04 -7.4115205415999053e-04 8.3678612337508690e-04
21 -1.0671858777656236e-03 -1.1531171045500116e-03 7.3720674900161585e-04 21 -1.0671858777656028e-03 -1.1531171045500558e-03 7.3720674900162051e-04
22 -1.1066511338291651e-03 -1.0433933757601002e-03 7.4544544325707912e-04 22 -1.1066511338291541e-03 -1.0433933757601397e-03 7.4544544325708389e-04
23 -9.7629260480938717e-04 -1.3100872491594619e-03 7.2687284219704522e-04 23 -9.7629260480935768e-04 -1.3100872491594961e-03 7.2687284219705075e-04
24 4.3308126651259090e-04 -6.6527658087322823e-04 8.4451298670663681e-04 24 4.3308126651259366e-04 -6.6527658087323755e-04 8.4451298670663172e-04
25 4.4565811905441464e-04 -5.1298436273583472e-04 8.5878867884521526e-04 25 4.4565811905440515e-04 -5.1298436273583775e-04 8.5878867884520984e-04
26 5.9865972692023459e-04 -7.6385263287079232e-04 8.4259943226842524e-04 26 5.9865972692024294e-04 -7.6385263287079004e-04 8.4259943226842036e-04
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:13 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,8 +15,8 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00
global_scalar: 18.340560167364448 global_scalar: 18.340560165889197
run_pos: ! |2 run_pos: ! |2
1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01
2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01
@ -34,15 +35,15 @@ run_pos: ! |2
15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00
16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02
17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00
18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00
19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00
20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00
21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00
22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00
23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00
24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00
25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00
26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00
27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
@ -64,15 +65,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04
19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03
20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04
21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03
22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03
23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04
24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04
25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04
26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:13 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,26 +15,26 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-1.3754817467882767e+03 -1.4228425246441275e+03 -3.6087196200592489e+03 8.7407043142559303e+02 2.1665316510426268e+02 -6.0480791467747542e+02 -1.3754817467882813e+03 -1.4228425246442055e+03 -3.6087196200592184e+03 8.7407043142559792e+02 2.1665316510417179e+02 -6.0480791467761571e+02
global_scalar: 4.531423038570333 global_scalar: 4.531423038570381
run_pos: ! |2 run_pos: ! |2
1 -2.7899546859706881e-01 2.4731857340427750e+00 -1.7290667720866193e-01 1 -2.7899546859705771e-01 2.4731857340428069e+00 -1.7290667720877784e-01
2 3.0296221616781649e-01 2.9517129917211218e+00 -8.5798904365338713e-01 2 3.0296221616781072e-01 2.9517129917211151e+00 -8.5798904365354312e-01
3 -6.9368802362172777e-01 1.2445115422148878e+00 -6.2281111185285920e-01 3 -6.9368802362172532e-01 1.2445115422148945e+00 -6.2281111185289584e-01
4 -1.5764879646739900e+00 1.4919714416721197e+00 -1.2492069413381908e+00 4 -1.5764879646740031e+00 1.4919714416720897e+00 -1.2492069413382207e+00
5 -8.9434512967965252e-01 9.3651699743522254e-01 4.0191726569953845e-01 5 -8.9434512967962521e-01 9.3651699743528616e-01 4.0191726569952280e-01
6 2.9454439635066831e-01 2.2724545796942719e-01 -1.2845195052894431e+00 6 2.9454439635065666e-01 2.2724545796939852e-01 -1.2845195052894454e+00
7 3.4049112905319934e-01 -9.4655677384814507e-03 -2.4634480019885556e+00 7 3.4049112905316026e-01 -9.4655677385761805e-03 -2.4634480019885459e+00
8 1.1644354555589707e+00 -4.8367776651303718e-01 -6.7663643931662931e-01 8 1.1644354555589742e+00 -4.8367776651303018e-01 -6.7663643931661244e-01
9 1.3781717822376129e+00 -2.5332509534954067e-01 2.6864954447021949e-01 9 1.3781717822376380e+00 -2.5332509534948033e-01 2.6864954447021760e-01
10 2.0186368605646337e+00 -1.4285861423742481e+00 -9.6712491246329535e-01 10 2.0186368605646310e+00 -1.4285861423742554e+00 -9.6712491246324517e-01
11 1.7929137227202196e+00 -1.9875455388073511e+00 -1.8836565351901273e+00 11 1.7929137227201968e+00 -1.9875455388074099e+00 -1.8836565351900401e+00
12 3.0032775230343667e+00 -4.8983022415922672e-01 -1.6190248016125368e+00 12 3.0032775230343471e+00 -4.8983022415926980e-01 -1.6190248016125621e+00
13 4.0448964161972993e+00 -9.0213155125590028e-01 -1.6385398398261621e+00 13 4.0448964161972807e+00 -9.0213155125594269e-01 -1.6385398398261892e+00
14 2.6035151245156412e+00 -4.0874995488520105e-01 -2.6555999073601511e+00 14 2.6035151245155976e+00 -4.0874995488530264e-01 -2.6555999073601715e+00
15 2.9761196776308623e+00 5.6287237451808192e-01 -1.2442626194415292e+00 15 2.9761196776308503e+00 5.6287237451805949e-01 -1.2442626194416131e+00
16 2.6517373020764632e+00 -2.3957035509096389e+00 3.3389262134244646e-02 16 2.6517373020764849e+00 -2.3957035509095892e+00 3.3389262134333686e-02
17 2.2311114923824555e+00 -2.1018393229880719e+00 1.1496088522768189e+00 17 2.2311114923825035e+00 -2.1018393229879604e+00 1.1496088522769004e+00
18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00
19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00
20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00
@ -47,23 +48,23 @@ run_pos: ! |2
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
run_vel: ! |2 run_vel: ! |2
1 4.7093296226164550e-04 2.6351124312060223e-04 -4.4905063547613568e-04 1 4.7093296226165618e-04 2.6351124312058857e-04 -4.4905063547614403e-04
2 4.9594635271876775e-04 9.4561409237174846e-05 -5.4581325723053790e-04 2 4.9594635271877252e-04 9.4561409237151983e-05 -5.4581325723054321e-04
3 3.3306088119081919e-04 2.3224949911015709e-04 -2.3659435306899653e-04 3 3.3306088119082413e-04 2.3224949911015692e-04 -2.3659435306899455e-04
4 3.3692332940285361e-04 2.1926824120528752e-04 -2.4716611858555457e-04 4 3.3692332940285378e-04 2.1926824120529077e-04 -2.4716611858554389e-04
5 3.3642541894622217e-04 4.1797578053944250e-04 -1.8011323945926332e-04 5 3.3642541894623611e-04 4.1797578053944765e-04 -1.8011323945926958e-04
6 2.0926870695908031e-04 2.6449376032433555e-05 -1.0508922741401509e-04 6 2.0926870695907706e-04 2.6449376032434591e-05 -1.0508922741400673e-04
7 1.4629046128363305e-04 -1.6873362379725323e-04 -6.8353900724087087e-05 7 1.4629046128361865e-04 -1.6873362379725188e-04 -6.8353900724066446e-05
8 1.5844098346817862e-04 3.7728756087615553e-05 -1.9162577392847385e-05 8 1.5844098346817927e-04 3.7728756087617390e-05 -1.9162577392845779e-05
9 2.1299357198252531e-04 1.6917133003967874e-04 -6.3528006071188683e-05 9 2.1299357198253474e-04 1.6917133003967807e-04 -6.3528006071197993e-05
10 5.4261569071251603e-05 -9.4655546204709643e-05 1.0511372702289179e-04 10 5.4261569071247645e-05 -9.4655546204705848e-05 1.0511372702289633e-04
11 -3.2194218121513917e-05 -2.2025090185605342e-04 2.0300208519291412e-04 11 -3.2194218121526927e-05 -2.2025090185604412e-04 2.0300208519293052e-04
12 1.2640585449265036e-04 -2.9851081600945991e-04 -7.9476186245599681e-05 12 1.2640585449264128e-04 -2.9851081600947238e-04 -7.9476186245595616e-05
13 8.4523551795123310e-05 -4.0583140303606936e-04 -4.7550925831962545e-05 13 8.4523551795112752e-05 -4.0583140303608579e-04 -4.7550925831960783e-05
14 9.9954071734181717e-05 -4.2610809338914382e-04 -7.9255453072696249e-05 14 9.9954071734163598e-05 -4.2610809338915548e-04 -7.9255453072680826e-05
15 2.4417483202631243e-04 -2.3521005781666407e-04 -2.4875292755154228e-04 15 2.4417483202630842e-04 -2.3521005781668527e-04 -2.4875292755154548e-04
16 -9.0959360838797421e-06 3.7773746063106756e-06 2.4035204669042973e-04 16 -9.0959360838764895e-06 3.7773746063197473e-06 2.4035204669042547e-04
17 5.7507084250803101e-05 2.2629200960629499e-04 2.0686926033796699e-04 17 5.7507084250817169e-05 2.2629200960630572e-04 2.0686926033795233e-04
18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04
19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03
20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:14 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,8 +15,8 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00
global_scalar: 0.5007318719663203 global_scalar: 0.5007318719399354
run_pos: ! |2 run_pos: ! |2
1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01
2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01
@ -34,15 +35,15 @@ run_pos: ! |2
15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00
16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02
17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00
18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00
19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00
20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00
21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00
22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00
23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00
24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00
25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00
26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00
27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
@ -64,15 +65,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04
19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03
20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04
21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03
22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03
23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04
24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04
25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04
26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,7 +1,8 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
epsilon: 5e-13 date_generated: Thu Apr 4 21:27:14 2024
epsilon: 1e-12
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -13,26 +14,26 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-1.3123962047757550e+03 -1.3675423591710460e+03 -3.5468492999583855e+03 7.8271738572396373e+02 2.6480486115495069e+02 -7.6950536863736306e+02 -1.3123962047758187e+03 -1.3675423591720764e+03 -3.5468492999580299e+03 7.8271738572394452e+02 2.6480486115379637e+02 -7.6950536863892899e+02
global_scalar: 68.08659647423171 global_scalar: 68.08659647424867
run_pos: ! |2 run_pos: ! |2
1 -2.7802951913990959e-01 2.4737132264311215e+00 -1.7381271738602289e-01 1 -2.7802951913978302e-01 2.4737132264315886e+00 -1.7381271738770820e-01
2 3.0397800832473609e-01 2.9519031941431444e+00 -8.5908822750267100e-01 2 3.0397800832462774e-01 2.9519031941430738e+00 -8.5908822750493219e-01
3 -6.9299720296404743e-01 1.2449766685866726e+00 -6.2329294828335358e-01 3 -6.9299720296403144e-01 1.2449766685867643e+00 -6.2329294828390935e-01
4 -1.5757894675975461e+00 1.4924105480974301e+00 -1.2497098747240374e+00 4 -1.5757894675977402e+00 1.4924105480969891e+00 -1.2497098747245081e+00
5 -8.9364750934418624e-01 9.3735293261000852e-01 4.0154813851989335e-01 5 -8.9364750934382919e-01 9.3735293261092456e-01 4.0154813851965188e-01
6 2.9498813449175199e-01 2.2729986882976547e-01 -1.2847387164260673e+00 6 2.9498813449158368e-01 2.2729986882934847e-01 -1.2847387164261186e+00
7 3.4080910885027837e-01 -9.8008218359699473e-03 -2.4635938021179546e+00 7 3.4080910884973536e-01 -9.8008218373410172e-03 -2.4635938021178290e+00
8 1.1647778042705452e+00 -4.8360070140706557e-01 -6.7668409924218165e-01 8 1.1647778042705941e+00 -4.8360070140696521e-01 -6.7668409924193851e-01
9 1.3786230528159027e+00 -2.5298559880150862e-01 2.6851325883861188e-01 9 1.3786230528162504e+00 -2.5298559880063631e-01 2.6851325883859889e-01
10 2.0187712935465942e+00 -1.4287732348422091e+00 -9.6692440387148870e-01 10 2.0187712935465760e+00 -1.4287732348423197e+00 -9.6692440387075651e-01
11 1.7928755785831587e+00 -1.9879833661313322e+00 -1.8832605388690278e+00 11 1.7928755785828601e+00 -1.9879833661321924e+00 -1.8832605388677695e+00
12 3.0035558347419657e+00 -4.9042429038271507e-01 -1.6191927838346238e+00 12 3.0035558347417104e+00 -4.9042429038332558e-01 -1.6191927838349707e+00
13 4.0450911337530959e+00 -9.0293975523160919e-01 -1.6386440514135796e+00 13 4.0450911337528455e+00 -9.0293975523220671e-01 -1.6386440514139291e+00
14 2.6037405819194577e+00 -4.0959881564101863e-01 -2.6557674031621108e+00 14 2.6037405819188639e+00 -4.0959881564248080e-01 -2.6557674031623937e+00
15 2.9766330093335447e+00 5.6240461100771322e-01 -1.2447686007433758e+00 15 2.9766330093333795e+00 5.6240461100740513e-01 -1.2447686007445669e+00
16 2.6517453810147344e+00 -2.3956939898026426e+00 3.3859750042781744e-02 16 2.6517453810150675e+00 -2.3956939898019254e+00 3.3859750044092363e-02
17 2.2312525656149020e+00 -2.1013855689264771e+00 1.1500124166835219e+00 17 2.2312525656155877e+00 -2.1013855689248668e+00 1.1500124166847305e+00
18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00
19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00
20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00
@ -46,23 +47,23 @@ run_pos: ! |2
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
run_vel: ! |2 run_vel: ! |2
1 1.8443993556501188e-03 1.0121779580014884e-03 -1.7361326034900006e-03 1 1.8443993556507550e-03 1.0121779580008364e-03 -1.7361326034906117e-03
2 1.9401022924558343e-03 3.6428754787592733e-04 -2.1069540627804634e-03 2 1.9401022924561704e-03 3.6428754787474148e-04 -2.1069540627809144e-03
3 1.3158623602983108e-03 8.9265747656461540e-04 -9.2144725682164657e-04 3 1.3158623602986111e-03 8.9265747656469769e-04 -9.2144725682167822e-04
4 1.3306255280096089e-03 8.4281508655990054e-04 -9.6194026572564146e-04 4 1.3306255280096579e-03 8.4281508656016844e-04 -9.6194026572521364e-04
5 1.3289682243410692e-03 1.6048237018834067e-03 -7.0511232123071470e-04 5 1.3289682243418409e-03 1.6048237018838117e-03 -7.0511232123120064e-04
6 8.4113718611833661e-04 1.0389683283144290e-04 -4.1697370456873913e-04 6 8.4113718611817723e-04 1.0389683283156166e-04 -4.1697370456838980e-04
7 5.9950574545626287e-04 -6.4437674895215604e-04 -2.7586696717582678e-04 7 5.9950574545550414e-04 -6.4437674895204296e-04 -2.7586696717479603e-04
8 6.4634547270651834e-04 1.4734228826522431e-04 -8.7540766366730972e-05 8 6.4634547270655271e-04 1.4734228826538870e-04 -8.7540766366732192e-05
9 8.5561404484505246e-04 6.5123532540338036e-04 -2.5782947158524498e-04 9 8.5561404484556399e-04 6.5123532540342654e-04 -2.5782947158584915e-04
10 2.4688038968480818e-04 -3.5995975344065565e-04 3.8912416843275122e-04 10 2.4688038968457540e-04 -3.5995975344040265e-04 3.8912416843293944e-04
11 -8.4672359473208624e-05 -8.4134349031640394e-04 7.6463157764214873e-04 11 -8.4672359473939376e-05 -8.4134349031586390e-04 7.6463157764299549e-04
12 5.2321633256319569e-04 -1.1418047427480882e-03 -3.1842516233562688e-04 12 5.2321633256271539e-04 -1.1418047427487572e-03 -3.1842516233546950e-04
13 3.6258187754908603e-04 -1.5531581259494627e-03 -1.9590476904013767e-04 13 3.6258187754852045e-04 -1.5531581259503574e-03 -1.9590476904008422e-04
14 4.2166181631324117e-04 -1.6310415916630540e-03 -3.1740232809360453e-04 14 4.2166181631227780e-04 -1.6310415916636891e-03 -3.1740232809282303e-04
15 9.7471807923383321e-04 -8.9939841790992827e-04 -9.6757308853409824e-04 15 9.7471807923364706e-04 -8.9939841791107037e-04 -9.6757308853435780e-04
16 4.1534888649229478e-06 1.7705740202856454e-05 9.0753010117813394e-04 16 4.1534888650543531e-06 1.7705740203412426e-05 9.0753010117785768e-04
17 2.5969943716026096e-04 8.7075266710270492e-04 7.7887058799645239e-04 17 2.5969943716097897e-04 8.7075266710338634e-04 7.7887058799558893e-04
18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04
19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03
20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:15 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -13,8 +14,8 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-1.4827261116680472e+02 -1.8411194349753309e+01 -1.0752762859308649e+02 -2.1814511477016276e+02 1.7027764307147623e+02 2.1058942244057214e+01 -1.4827261099624999e+02 -1.8411194282828326e+01 -1.0752762861573947e+02 -2.1814511471949461e+02 1.7027764305079162e+02 2.1058942246396320e+01
global_scalar: 0.9532609554739606 global_scalar: 0.9532609552151339
run_pos: ! |2 run_pos: ! |2
1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01
2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01
@ -33,15 +34,15 @@ run_pos: ! |2
15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00
16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02
17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00
18 2.1395635672981443e+00 3.0168023048492310e+00 -3.5136606977867388e+00 18 2.1395635672857165e+00 3.0168023048413781e+00 -3.5136606977888540e+00
19 1.5374727853253387e+00 2.6272080572819609e+00 -4.2442423140467360e+00 19 1.5374727853296883e+00 2.6272080573369379e+00 -4.2442423140961818e+00
20 2.7621434607990372e+00 3.6846842324743214e+00 -3.9366036441030396e+00 20 2.7621434608442974e+00 3.6846842324506923e+00 -3.9366036440451500e+00
21 4.9022821625125470e+00 -4.0760572704380627e+00 -3.6181235130909242e+00 21 4.9022821627727593e+00 -4.0760572705753884e+00 -3.6181235130648650e+00
22 4.3639257458824501e+00 -4.2100277325126187e+00 -4.4607219430080747e+00 22 4.3639257458473608e+00 -4.2100277337137149e+00 -4.4607219426242057e+00
23 5.7383384133351401e+00 -3.5881799317362106e+00 -3.8831848688588710e+00 23 5.7383384123314833e+00 -3.5881799299869201e+00 -3.8831848693467652e+00
24 2.0709922902331592e+00 3.1490053461169678e+00 3.1570777020268803e+00 24 2.0709922900187268e+00 3.1490053461587983e+00 3.1570777021928031e+00
25 1.3046262534530633e+00 3.2688902575528282e+00 2.5076144141701078e+00 25 1.3046262535950772e+00 3.2688902578410239e+00 2.5076144139609013e+00
26 2.5760050685080813e+00 4.0131166912605272e+00 3.2207051913215210e+00 26 2.5760050692220648e+00 4.0131166908053464e+00 3.2207051908683750e+00
27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
@ -63,15 +64,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 7.8522439440007537e-04 -6.6826115062653757e-04 1.7528441282153480e-03 18 7.8522439447394326e-04 -6.6826115070004464e-04 1.7528441282176825e-03
19 1.8628941719211862e-03 -3.1840047051916367e-03 2.2062694140207390e-03 19 1.8628941717384645e-03 -3.1840047052822556e-03 2.2062694140226819e-03
20 -1.4430972531298200e-03 9.7564145841628493e-04 1.0686492192569898e-03 20 -1.4430972532419690e-03 9.7564145880034414e-04 1.0686492192457362e-03
21 -3.0047717246574385e-03 -6.6139343888744974e-04 2.4784169377340712e-03 21 -3.0047717260078453e-03 -6.6139344410253201e-04 2.4784169376928207e-03
22 -3.4980341571643784e-03 -3.3380963325931002e-03 3.2191613979274040e-03 22 -3.4980341614361554e-03 -3.3380963226435131e-03 3.2191614012082861e-03
23 5.9333930569297746e-04 -8.6231086219834968e-03 -8.2692040355627789e-04 23 5.9333931535562748e-04 -8.6231086111150188e-03 -8.2692040667271425e-04
24 1.8727912311097641e-03 -2.0349136820274911e-03 1.1951471753018509e-03 24 1.8727912307694413e-03 -2.0349136837727452e-03 1.1951471743788897e-03
25 3.4887365958745920e-03 -4.8232966889391266e-03 -1.2263764490291313e-03 25 3.4887365951187166e-03 -4.8232966888750181e-03 -1.2263764478999317e-03
26 -3.4770258010749858e-03 7.8662050223200905e-04 5.3381090661352298e-03 26 -3.4770257989604671e-03 7.8662050913487318e-04 5.3381090686904524e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:15 2024
epsilon: 7.5e-13 epsilon: 7.5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,26 +15,26 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-1.3754817466835989e+03 -1.4228425246166137e+03 -3.6087196201914348e+03 8.7407043149698916e+02 2.1665316519769885e+02 -6.0480791462033073e+02 -1.3754817466835991e+03 -1.4228425246166084e+03 -3.6087196201914162e+03 8.7407043149699155e+02 2.1665316519769920e+02 -6.0480791462032153e+02
global_scalar: 4.531423038570297 global_scalar: 4.531423038570312
run_pos: ! |2 run_pos: ! |2
1 -2.7899546859693136e-01 2.4731857340428784e+00 -1.7290667720876285e-01 1 -2.7899546859693225e-01 2.4731857340428771e+00 -1.7290667720876018e-01
2 3.0296221616793728e-01 2.9517129917211546e+00 -8.5798904365355155e-01 2 3.0296221616793617e-01 2.9517129917211538e+00 -8.5798904365354822e-01
3 -6.9368802362166204e-01 1.2445115422149751e+00 -6.2281111185285498e-01 3 -6.9368802362166271e-01 1.2445115422149740e+00 -6.2281111185285387e-01
4 -1.5764879646739487e+00 1.4919714416722010e+00 -1.2492069413381564e+00 4 -1.5764879646739496e+00 1.4919714416722003e+00 -1.2492069413381550e+00
5 -8.9434512967954416e-01 9.3651699743538730e-01 4.0191726569957442e-01 5 -8.9434512967954460e-01 9.3651699743538508e-01 4.0191726569957453e-01
6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894232e+00 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894227e+00
7 3.4049112905311751e-01 -9.4655677385591108e-03 -2.4634480019885228e+00 7 3.4049112905311785e-01 -9.4655677385578896e-03 -2.4634480019885232e+00
8 1.1644354555589662e+00 -4.8367776651302724e-01 -6.7663643931660777e-01 8 1.1644354555589664e+00 -4.8367776651302741e-01 -6.7663643931660822e-01
9 1.3781717822376680e+00 -2.5332509534947545e-01 2.6864954447021416e-01 9 1.3781717822376678e+00 -2.5332509534947639e-01 2.6864954447021405e-01
10 2.0186368605645764e+00 -1.4285861423742918e+00 -9.6712491246325605e-01 10 2.0186368605645768e+00 -1.4285861423742912e+00 -9.6712491246325705e-01
11 1.7929137227200918e+00 -1.9875455388074483e+00 -1.8836565351900385e+00 11 1.7929137227200933e+00 -1.9875455388074468e+00 -1.8836565351900401e+00
12 3.0032775230343125e+00 -4.8983022415935312e-01 -1.6190248016126132e+00 12 3.0032775230343129e+00 -4.8983022415935129e-01 -1.6190248016126136e+00
13 4.0448964161972283e+00 -9.0213155125606947e-01 -1.6385398398262669e+00 13 4.0448964161972292e+00 -9.0213155125606781e-01 -1.6385398398262672e+00
14 2.6035151245155355e+00 -4.0874995488538129e-01 -2.6555999073602123e+00 14 2.6035151245155359e+00 -4.0874995488537874e-01 -2.6555999073602123e+00
15 2.9761196776308694e+00 5.6287237451798222e-01 -1.2442626194416753e+00 15 2.9761196776308694e+00 5.6287237451798344e-01 -1.2442626194416739e+00
16 2.6517373020764219e+00 -2.3957035509096407e+00 3.3389262134315700e-02 16 2.6517373020764223e+00 -2.3957035509096416e+00 3.3389262134313369e-02
17 2.2311114923824857e+00 -2.1018393229879817e+00 1.1496088522768926e+00 17 2.2311114923824853e+00 -2.1018393229879830e+00 1.1496088522768906e+00
18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00
19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00
20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00
@ -47,23 +48,23 @@ run_pos: ! |2
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
run_vel: ! |2 run_vel: ! |2
1 4.7093296226165759e-04 2.6351124312057290e-04 -4.4905063547614669e-04 1 4.7093296226165726e-04 2.6351124312057366e-04 -4.4905063547614750e-04
2 4.9594635271877263e-04 9.4561409237138512e-05 -5.4581325723053421e-04 2 4.9594635271877263e-04 9.4561409237139244e-05 -5.4581325723053519e-04
3 3.3306088119083101e-04 2.3224949911015481e-04 -2.3659435306900835e-04 3 3.3306088119083079e-04 2.3224949911015511e-04 -2.3659435306900900e-04
4 3.3692332940286717e-04 2.1926824120529722e-04 -2.4716611858556465e-04 4 3.3692332940286722e-04 2.1926824120529738e-04 -2.4716611858556574e-04
5 3.3642541894624077e-04 4.1797578053943724e-04 -1.8011323945929064e-04 5 3.3642541894624012e-04 4.1797578053943767e-04 -1.8011323945929113e-04
6 2.0926870695908283e-04 2.6449376032441855e-05 -1.0508922741401397e-04 6 2.0926870695908297e-04 2.6449376032441903e-05 -1.0508922741401427e-04
7 1.4629046128362884e-04 -1.6873362379723068e-04 -6.8353900724071325e-05 7 1.4629046128362941e-04 -1.6873362379723111e-04 -6.8353900724071745e-05
8 1.5844098346817943e-04 3.7728756087619084e-05 -1.9162577392849316e-05 8 1.5844098346817935e-04 3.7728756087619165e-05 -1.9162577392849147e-05
9 2.1299357198253002e-04 1.6917133003966749e-04 -6.3528006071200284e-05 9 2.1299357198252962e-04 1.6917133003966793e-04 -6.3528006071199972e-05
10 5.4261569071245856e-05 -9.4655546204698666e-05 1.0511372702289738e-04 10 5.4261569071245965e-05 -9.4655546204698774e-05 1.0511372702289789e-04
11 -3.2194218121523431e-05 -2.2025090185602293e-04 2.0300208519292805e-04 11 -3.2194218121522970e-05 -2.2025090185602350e-04 2.0300208519292848e-04
12 1.2640585449263546e-04 -2.9851081600946745e-04 -7.9476186245575585e-05 12 1.2640585449263589e-04 -2.9851081600946756e-04 -7.9476186245575178e-05
13 8.4523551795102263e-05 -4.0583140303608199e-04 -4.7550925831931374e-05 13 8.4523551795102697e-05 -4.0583140303608210e-04 -4.7550925831930561e-05
14 9.9954071734163435e-05 -4.2610809338913835e-04 -7.9255453072661880e-05 14 9.9954071734164248e-05 -4.2610809338913878e-04 -7.9255453072661758e-05
15 2.4417483202629980e-04 -2.3521005781669047e-04 -2.4875292755152005e-04 15 2.4417483202630007e-04 -2.3521005781669015e-04 -2.4875292755151984e-04
16 -9.0959360838836724e-06 3.7773746063194780e-06 2.4035204669042463e-04 16 -9.0959360838839976e-06 3.7773746063194848e-06 2.4035204669042588e-04
17 5.7507084250807628e-05 2.2629200960629336e-04 2.0686926033794547e-04 17 5.7507084250806896e-05 2.2629200960629374e-04 2.0686926033794661e-04
18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04
19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03
20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03

View File

@ -1,6 +1,7 @@
--- ---
lammps_version: 17 Feb 2022 lammps_version: 7 Feb 2024
date_generated: Fri Mar 18 22:18:00 2022 tags:
date_generated: Thu Apr 4 21:27:15 2024
epsilon: 5e-13 epsilon: 5e-13
skip_tests: skip_tests:
prerequisites: ! | prerequisites: ! |
@ -14,8 +15,8 @@ post_commands: ! |
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |- run_stress: ! |-
-4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00
global_scalar: 18.3405601674144 global_scalar: 18.340560167414402
run_pos: ! |2 run_pos: ! |2
1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01
2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01
@ -34,15 +35,15 @@ run_pos: ! |2
15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00
16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02
17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00
18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00
19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00
20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00
21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00
22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00
23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00
24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00
25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00
26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00
27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00
28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00
29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00
@ -64,15 +65,15 @@ run_vel: ! |2
15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03
16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03
17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04
18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04
19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03
20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04
21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03
22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03
23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04
24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04
25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04
26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03
27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04
28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03
29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03