Merge pull request #2590 from markc242/relres-update
New pair style lj/relres
This commit is contained in:
@ -163,6 +163,7 @@ OPT.
|
||||
* :doc:`lj/long/dipole/long <pair_dipole>`
|
||||
* :doc:`lj/long/tip4p/long (o) <pair_lj_long>`
|
||||
* :doc:`lj/mdf <pair_mdf>`
|
||||
* :doc:`lj/relres (o) <pair_lj_relres>`
|
||||
* :doc:`lj/sdk (gko) <pair_sdk>`
|
||||
* :doc:`lj/sdk/coul/long (go) <pair_sdk>`
|
||||
* :doc:`lj/sdk/coul/msm (o) <pair_sdk>`
|
||||
|
||||
291
doc/src/pair_lj_relres.rst
Normal file
291
doc/src/pair_lj_relres.rst
Normal file
@ -0,0 +1,291 @@
|
||||
.. index:: pair_style lj/relres
|
||||
.. index:: pair_style lj/relres/omp
|
||||
|
||||
pair_style lj/relres command
|
||||
============================
|
||||
|
||||
Accelerator Variants: *lj/relres/omp*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style lj/relres Rsi Rso Rci Rco
|
||||
|
||||
* Rsi = inner switching cutoff between the fine-grained and coarse-grained potentials (distance units)
|
||||
* Rso = outer switching cutoff between the fine-grained and coarse-grained potentials (distance units)
|
||||
* Rci = inner cutoff beyond which the force smoothing for all interactions is applied (distance units)
|
||||
* Rco = outer cutoff for all interactions (distance units)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style lj/relres 4.0 5.0 8.0 10.0
|
||||
pair_coeff 1 1 0.5 1.0 1.5 1.1
|
||||
pair_coeff 2 2 0.5 1.0 0.0 0.0 3.0 3.5 6.0 7.0
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Pair style *lj/relres* computes a LJ interaction using the Relative
|
||||
Resolution (RelRes) framework which applies a fine-grained (FG)
|
||||
potential between near neighbors and a coarse-grained (CG) potential
|
||||
between far neighbors :ref:`(Chaimovich1) <Chaimovich1>`. This approach
|
||||
can improve the computational efficiency by almost an order of
|
||||
magnitude, while maintaining the correct static and dynamic behavior of
|
||||
a reference system :ref:`(Chaimovich2) <Chaimovich2>`.
|
||||
|
||||
.. math::
|
||||
|
||||
E = \left\{\begin{array}{lr}
|
||||
4 \epsilon^{\scriptscriptstyle FG} \left[ \left(\frac{\sigma^{FG}}{r}\right)^{12} - \left(\frac{\sigma^{FG}}{r}\right)^6 \right]-\Gamma_{si}, & \quad\mathrm{if}\quad r< r_{si}, \\
|
||||
\sum_{m=0}^{4} \gamma_{sm}\left(r-r_{si}\right)^m-\Gamma_{so} , & \quad\mathrm{if}\quad r_{si}\leq r< r_{so}, \\
|
||||
4 \epsilon^{\scriptscriptstyle CG} \left[ \left(\frac{\sigma^{CG}}{r}\right)^{12} - \left(\frac{\sigma^{CG}}{r}\right)^6 \right]-\Gamma_c, & \quad\mathrm{if}\quad r_{so}\leq r<r_{ci}, \\
|
||||
\sum_{m=0}^{4} \gamma_{cm}\left(r-r_{ci}\right)^m -\Gamma_c, & \quad\mathrm{if}\quad r_{ci}\leq r< r_{co}, \\
|
||||
0, & \quad\mathrm{if}\quad r\geq r_{co}.\end{array}\right.
|
||||
|
||||
The FG parameters of the LJ potential (:math:`\epsilon^{FG}` and
|
||||
:math:`\sigma^{FG}`) are applied up to the inner switching cutoff,
|
||||
:math:`r_{si}`, while the CG parameters of the LJ potential
|
||||
(:math:`\epsilon^{CG}` and :math:`\sigma^{CG}`) are applied beyond the
|
||||
outer switching cutoff, :math:`r_{so}`. Between :math:`r_{si}` and
|
||||
:math:`r_{so}` a polynomial smoothing function is applied so that the
|
||||
force and its derivative are continuous between the FG and CG
|
||||
potentials. An analogous smoothing function is applied between the
|
||||
inner and outer cutoffs (:math:`r_{ci}` and :math:`r_{co}`).
|
||||
The offsets :math:`\Gamma_{si}`, :math:`\Gamma_{so}` and
|
||||
:math:`\Gamma_{c}` ensure the continuity of the energy over the entire
|
||||
domain. The corresponding polynomial coefficients :math:`\gamma_{sm}`
|
||||
and :math:`\gamma_{cm}`, as well as the offsets are automatically
|
||||
computed by LAMMPS.
|
||||
|
||||
.. note::
|
||||
|
||||
Energy and force resulting from this methodology can be plotted via the
|
||||
:doc:`pair_write <pair_write>` command.
|
||||
|
||||
The following coefficients must be defined for each pair of atom types
|
||||
via the :doc:`pair_coeff <pair_coeff>` command as in the examples above,
|
||||
or in the data file or restart files read by the :doc:`read_data
|
||||
<read_data>` or :doc:`read_restart <read_restart>` commands, or by
|
||||
mixing as will be described below:
|
||||
|
||||
* :math:`\epsilon^{FG}` (energy units)
|
||||
* :math:`\sigma^{FG}` (distance units)
|
||||
* :math:`\epsilon^{CG}` (energy units)
|
||||
* :math:`\sigma^{CG}` (distance units)
|
||||
|
||||
Additional parameters can be defined to specify different
|
||||
:math:`r_{si}`, :math:`r_{so}`, :math:`r_{ci}`, :math:`r_{co}` for
|
||||
a particular set of atom types:
|
||||
|
||||
* :math:`r_{si}` (distance units)
|
||||
* :math:`r_{so}` (distance units)
|
||||
* :math:`r_{ci}` (distance units)
|
||||
* :math:`r_{co}` (distance units)
|
||||
|
||||
These parameters are optional, and they are used to override the global
|
||||
cutoffs as defined in the pair_style command. If not specified, the
|
||||
global values for :math:`r_{si}`, :math:`r_{so}`, :math:`r_{ci}`, and
|
||||
:math:`r_{co}` are used. If this override option is employed, all four
|
||||
arguments must be specified.
|
||||
|
||||
----------
|
||||
|
||||
Here are some guidelines for using the pair_style *lj/relres* command.
|
||||
|
||||
In general, RelRes focuses on the speedup of pairwise interactions between
|
||||
all LJ sites. Importantly, it works with any settings and flags (e.g.,
|
||||
:doc:`special_bonds <special_bonds>` settings and :doc:`newton <newton>`
|
||||
flags) that can be used in a molecular simulation with the
|
||||
conventional LJ potential. In particular, all intramolecular topology
|
||||
with its energetics (i.e., bonds, angles, etc.) remains unaltered.
|
||||
|
||||
At the most basic level in the RelRes framework, all sites are mapped into
|
||||
clusters. Each cluster is just a collection of sites bonded together (the
|
||||
bonds themselves are not part of the cluster). In general, a molecule may
|
||||
be comprised of several clusters, and preferably, no two sites in a cluster
|
||||
are separated by more than two bonds. There are two categories of sites in
|
||||
RelRes: "hybrid" sites embody both FG and CG models, while "ordinary" sites
|
||||
embody just FG characteristics with no CG features. A given cluster has
|
||||
a single hybrid site (typically its central site) and several ordinary sites
|
||||
(typically its peripheral sites). Notice that while clusters are necessary
|
||||
for the RelRes parameterization (discussed below), they are not actually
|
||||
defined in LAMMPS. Besides, the total number of sites in the cluster are
|
||||
called the "mapping ratio", and this substantially impacts the computational
|
||||
efficiency of RelRes: For a mapping ratio of 3, the efficiency factor is
|
||||
around 4, and for a mapping ratio of 5, the efficiency factor is around 5
|
||||
:ref:`(Chaimovich2) <Chaimovich2>`.
|
||||
|
||||
The flexibility of LAMMPS allows placing any values for the LJ
|
||||
parameters in the input script. However, here are the optimal
|
||||
recommendations for the RelRes parameters, which yield the correct
|
||||
structural and thermal behavior in a system of interest
|
||||
:ref:`(Chaimovich1) <Chaimovich1>`. One must first assign a complete set of
|
||||
parameters for the FG interactions that are applicable to all atom types.
|
||||
Regarding the parameters for the CG interactions, the rules rely on the
|
||||
site category (if it is a hybrid or an ordinary site). For atom types of
|
||||
ordinary sites, :math:`\epsilon^{CG}` must be set to 0 (zero) while the
|
||||
specific value of :math:`\sigma^{CG}` is irrelevant. For atom types of
|
||||
hybrid sites, the CG parameters should be generally calculated using the
|
||||
following equations:
|
||||
|
||||
.. math::
|
||||
|
||||
\sigma_I^{CG}=\frac{\left((\sum_{\alpha\in A}\sqrt{\epsilon_\alpha^{FG}\left(\sigma_\alpha^{FG}\right)^{12}}\right)^{1/2}}{\left((\sum_{\alpha\in A}\sqrt{\epsilon_\alpha^{FG}\left(\sigma_\alpha^{FG}\right)^6}\right)^{1/3}}
|
||||
\quad\mathrm{and}\quad
|
||||
\epsilon_I^{CG}=\frac{\left((\sum_{\alpha\in A}\sqrt{\epsilon_\alpha^{FG}\left(\sigma_\alpha^{FG}\right)^6}\right)^4}{\left((\sum_{\alpha\in A}\sqrt{\epsilon_\alpha^{FG}\left(\sigma_\alpha^{FG}\right)^{12}}\right)^2}
|
||||
|
||||
where :math:`I` is an atom type of a hybrid site of a particular cluster
|
||||
:math:`A`, and corresponding with this cluster, the summation proceeds over
|
||||
all of its sites :math:`\alpha`. These equations are derived from the
|
||||
monopole term in the underlying Taylor series, and they are indeed relevant
|
||||
only if geometric mixing is applicable for the FG model; if this is not the
|
||||
case, Ref. :ref:`(Chaimovich2) <Chaimovich2>` discusses the alternative
|
||||
formula, and in such a situation, the pair_coeff command should be explicitly
|
||||
used for all combinations of atom types :math:`I\;!=J`.
|
||||
|
||||
The switching distance (the midpoint between inner and outer switching
|
||||
cutoffs) is another crucial factor in RelRes: decreasing it improves the
|
||||
computational efficiency, yet if it is too small, the molecular simulations
|
||||
may not capture the system behavior correctly. As a rule of thumb,
|
||||
the switching distance should be approximately :math:`\,\sim\! 1.5\sigma`
|
||||
:ref:`(Chaimovich1) <Chaimovich1>`; recommendations can be found in
|
||||
Ref. :ref:`(Chaimovich2) <Chaimovich2>`.
|
||||
Regarding the switching smoothing zone, :math:`\,\sim\!0.1\sigma` is
|
||||
recommended; if desired, smoothing can be eliminated by setting
|
||||
the inner switching cutoff, :math:`r_{si}`, equal to the outer
|
||||
switching cutoff, :math:`r_{so}` (the same is true for the other cutoffs
|
||||
:math:`r_{ci}` and :math:`r_{co}`).
|
||||
|
||||
----------
|
||||
|
||||
As an example, imagine that in your system, a molecule is comprised just
|
||||
of one cluster such that one atom type (#1) is associated with
|
||||
its hybrid site, and another atom type (#2) is associated with its ordinary
|
||||
sites (in total, there are 2 atom types). If geometric mixing is applicable,
|
||||
the following commands should be used:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style lj/relres Rsi Rso Rci Rco
|
||||
pair_coeff 1 1 epsilon_FG1 sigma_FG1 epsilon_CG1 sigma_CG1
|
||||
pair_coeff 2 2 epsilon_FG2 sigma_FG2 0.0 0.0
|
||||
pair_modify shift yes
|
||||
|
||||
In a more complex situation, there may be two distinct clusters in a system
|
||||
(these two clusters may be on same molecule or on different molecules),
|
||||
each with its own switching cutoffs. If there are still two atom types
|
||||
in each cluster as in the earlier example, the commands should be:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style lj/relres Rsi Rso Rci Rco
|
||||
pair_coeff 1 1 epsilon_FG1 sigma_FG1 epsilon_CG1 sigma_CG1 Rsi1 Rso1 Rci Rco
|
||||
pair_coeff 2 2 epsilon_FG2 sigma_FG2 0.0 0.0 Rsi1 Rso1 Rci Rco
|
||||
pair_coeff 3 3 epsilon_FG3 sigma_FG3 epsilon_CG3 sigma_CG3
|
||||
pair_coeff 4 4 epsilon_FG4 sigma_FG4 0.0 0.0
|
||||
pair_modify shift yes
|
||||
|
||||
In this example, the switching cutoffs for the first cluster (atom types 1
|
||||
and 2) is defined explicitly in the pair_coeff command which overrides the
|
||||
global values, while the second cluster (atom types 3 and 4) uses the global
|
||||
definition from the pair_style command. The emphasis here is that the atom
|
||||
types that belong to a specific cluster should have the same switching/cutoff
|
||||
arguments.
|
||||
|
||||
In the case that geometric mixing is not applicable, for simulating the
|
||||
system from the previous example, we recommend using the following commands:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style lj/relres Rsi Rso Rci Rco
|
||||
pair_coeff 1 1 epsilon_FG1 sigma_FG1 epsilon_CG1 sigma_CG1 Rsi1 Rso1 Rci Rco
|
||||
pair_coeff 1 2 epsilon_FG12 sigma_FG12 0.0 0.0 Rsi1 Rso1 Rci Rco
|
||||
pair_coeff 1 3 epsilon_FG13 sigma_FG13 epsilon_CG13 sigma_CG13 Rsi13 Rso13 Rci Rco
|
||||
pair_coeff 1 4 epsilon_FG14 sigma_FG14 0.0 0.0 Rsi13 Rso13 Rci Rco
|
||||
pair_coeff 2 2 epsilon_FG2 sigma_FG2 0.0 0.0 Rsi1 Rso1 Rci Rco
|
||||
pair_coeff 2 3 epsilon_FG23 sigma_FG23 0.0 0.0 Rsi13 Rso13 Rci Rco
|
||||
pair_coeff 2 4 epsilon_FG24 sigma_FG24 0.0 0.0 Rsi13 Rso13 Rci Rco
|
||||
pair_coeff 3 3 epsilon_FG3 sigma_FG3 epsilon_CG3 sigma_CG3
|
||||
pair_coeff 3 4 epsilon_FG34 sigma_FG34 0.0 0.0
|
||||
pair_coeff 4 4 epsilon_FG4 sigma_FG4 0.0 0.0
|
||||
pair_modify shift yes
|
||||
|
||||
Notice that the CG parameters are mixed only for interactions between atom
|
||||
types associated with hybrid sites, and that the cutoffs are
|
||||
mixed on the cluster basis.
|
||||
|
||||
More examples can be found in the *examples/relres* folder.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
----------
|
||||
|
||||
Mixing, shift, table, tail correction, restart, rRESPA info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
For atom type pairs :math:`I,\:J` with :math:`I\;!=J`, the
|
||||
:math:`\epsilon^{FG}`, :math:`\sigma^{FG}`, :math:`\epsilon^{CG}`,
|
||||
:math:`\sigma^{CG}`, :math:`r_{si}`, :math:`r_{so}`, :math:`r_{ci}`,
|
||||
and :math:`r_{co}` parameters for this pair style can be mixed, if
|
||||
not defined explicitly. All parameters are mixed according to the
|
||||
pair_modify mix option. The default mix value is *geometric*\ ,
|
||||
and it is recommended to use with this *lj/relres* style. See the
|
||||
"pair_modify" command for details.
|
||||
|
||||
This pair style supports the :doc:`pair_modify <pair_modify>` shift
|
||||
option for the energy of the pair interaction. It is recommended to set
|
||||
this option to *yes*\ . Otherwise, the offset :math:`\Gamma_{c}`
|
||||
is set to zero. Constants :math:`\Gamma_{si}` and :math:`\Gamma_{so}` are
|
||||
not impacted by this option.
|
||||
|
||||
The :doc:`pair_modify <pair_modify>` table option is not relevant
|
||||
for this pair style.
|
||||
|
||||
This pair style does not support the :doc:`pair_modify <pair_modify>`
|
||||
tail option for adding long-range tail corrections to energy and
|
||||
pressure, since the energy of the pair interaction is smoothed to 0.0
|
||||
at the cutoff.
|
||||
|
||||
This pair style writes its information to :doc:`binary restart files
|
||||
<restart>`, so pair_style and pair_coeff commands do not need to be
|
||||
specified in an input script that reads a restart file.
|
||||
|
||||
This pair style can only be used via the *pair* keyword of the
|
||||
:doc:`run_style respa <run_style>` command. It does not support the
|
||||
*inner*\ , *middle*\ , *outer* keywords.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_coeff <pair_coeff>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
|
||||
----------
|
||||
|
||||
.. _Chaimovich1:
|
||||
|
||||
**(Chaimovich1)** A. Chaimovich, C. Peter and K. Kremer, J. Chem. Phys. 143,
|
||||
243107 (2015).
|
||||
|
||||
.. _Chaimovich2:
|
||||
|
||||
**(Chaimovich2)** M. Chaimovich and A. Chaimovich, J. Chem. Theory Comput. 17,
|
||||
1045-1059 (2021).
|
||||
|
||||
@ -227,6 +227,7 @@ accelerated styles exist.
|
||||
* :doc:`lj/long/dipole/long <pair_dipole>` - long-range LJ and long-range point dipoles
|
||||
* :doc:`lj/long/tip4p/long <pair_lj_long>` - long-range LJ and long-range Coulomb for TIP4P water
|
||||
* :doc:`lj/mdf <pair_mdf>` - LJ potential with a taper function
|
||||
* :doc:`lj/relres <pair_lj_relres>` - LJ using multiscale Relative Resolution (RelRes) methodology :ref:`(Chaimovich) <Chaimovich2>`.
|
||||
* :doc:`lj/sdk <pair_sdk>` - LJ for SDK coarse-graining
|
||||
* :doc:`lj/sdk/coul/long <pair_sdk>` - LJ for SDK coarse-graining with long-range Coulomb
|
||||
* :doc:`lj/sdk/coul/msm <pair_sdk>` - LJ for SDK coarse-graining with long-range Coulomb via MSM
|
||||
|
||||
@ -384,6 +384,7 @@ CGDNA
|
||||
cgs
|
||||
cgsdk
|
||||
CGSDK
|
||||
Chaimovich
|
||||
Chalopin
|
||||
Champaign
|
||||
charmm
|
||||
@ -1953,6 +1954,7 @@ Monaghan
|
||||
Monaghans
|
||||
monodisperse
|
||||
monodispersity
|
||||
monopole
|
||||
monovalent
|
||||
Montalenti
|
||||
Montero
|
||||
@ -2623,10 +2625,12 @@ Rappe
|
||||
Ravelo
|
||||
rc
|
||||
Rc
|
||||
Rci
|
||||
Rcm
|
||||
rcmax
|
||||
Rcmx
|
||||
Rcmy
|
||||
Rco
|
||||
Rcut
|
||||
rcutfac
|
||||
rdc
|
||||
@ -2653,6 +2657,7 @@ Reinders
|
||||
reinit
|
||||
relaxbox
|
||||
relink
|
||||
relres
|
||||
relTol
|
||||
remappings
|
||||
remd
|
||||
@ -2765,6 +2770,8 @@ rozero
|
||||
Rperp
|
||||
Rr
|
||||
rRESPA
|
||||
Rsi
|
||||
Rso
|
||||
Rspace
|
||||
rsq
|
||||
rst
|
||||
|
||||
37051
examples/relres/Data.22DMH.in.real
Normal file
37051
examples/relres/Data.22DMH.in.real
Normal file
File diff suppressed because it is too large
Load Diff
37075
examples/relres/Data.22DMH.in.relres
Normal file
37075
examples/relres/Data.22DMH.in.relres
Normal file
File diff suppressed because it is too large
Load Diff
16
examples/relres/README
Normal file
16
examples/relres/README
Normal file
@ -0,0 +1,16 @@
|
||||
The input script in.22DMH.relres provides an example of a molecular
|
||||
simulation using the Relative Resolution (RelRes) algorithm. In this
|
||||
example, 2,2-Dimethylhexane is the molecule in focus. This script
|
||||
uses the data file Data.22DMH.in.relres, which consists of 8000
|
||||
molecules. It also generates the RelRes potential for the selected atom types.
|
||||
|
||||
The input script in.22DMH.respa demonstrates the use of the lj/relres pair
|
||||
style with r-RESPA applying multi-timestepping between the appropriate atom
|
||||
types (using a hybrid pair style configuration).
|
||||
|
||||
The input script in.22DMH.real demonstrates the use of the lj/relres pair
|
||||
style with real units (the data file Data.22DMH.in.real). It performs
|
||||
a set of molecular simulations with different switching distances. Finally,
|
||||
it performs a molecular simulation with the lj/smooth pair style, allowing
|
||||
comparison of the thermal characteristics and the running time between the
|
||||
RelRes and the conventional approach.
|
||||
109
examples/relres/in.22DMH.real
Normal file
109
examples/relres/in.22DMH.real
Normal file
@ -0,0 +1,109 @@
|
||||
# Example: use of lj/relres for simulation of 2,2-dimethylhexane: C3H7-C5H11
|
||||
# with various Rso setting as well as run of reference system for time comparison (real units)
|
||||
# The first run writes restart file that is used by all subsequent runs.
|
||||
|
||||
# Run relres with Rso=6.25
|
||||
|
||||
units real
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
|
||||
pair_style lj/relres 5.75 6.25 12.0 14.0
|
||||
read_data Data.22DMH.in.real
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
|
||||
run 1000
|
||||
|
||||
write_restart restart.relres.real
|
||||
|
||||
# Run relres with Rso=7.25
|
||||
|
||||
clear
|
||||
read_restart restart.relres.real
|
||||
|
||||
pair_style lj/relres 6.75 7.25 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
|
||||
run 1000
|
||||
|
||||
# Run relres with mixed Rso: 6.25 for C3H7 group and 7.25 for C5H11 group
|
||||
|
||||
clear
|
||||
read_restart restart.relres.real
|
||||
|
||||
pair_style lj/relres 6.75 7.25 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0 5.75 6.25 12.0 14.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0 5.75 6.25 12.0 14.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905 5.75 6.25 12.0 14.0
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
|
||||
run 1000
|
||||
|
||||
# Run reference system with lj/smooth
|
||||
|
||||
clear
|
||||
read_restart restart.relres.real
|
||||
|
||||
pair_style lj/smooth 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905
|
||||
pair_coeff 4 4 0.118 3.905
|
||||
pair_coeff 2 2 0.118 3.905
|
||||
pair_coeff 5 5 0.145 3.960
|
||||
pair_coeff 3 3 0.118 3.905
|
||||
pair_coeff 1 1 0.05 3.8
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
|
||||
run 1000
|
||||
|
||||
34
examples/relres/in.22DMH.relres
Normal file
34
examples/relres/in.22DMH.relres
Normal file
@ -0,0 +1,34 @@
|
||||
# Example: use of lj/relres for simulation of 2,2-dimethylhexane: C3H7-C5H11
|
||||
# with with mixed Rso: 0.625e-9 for C3H7 group and 0.725e-9 for C5H11 group (si units)
|
||||
|
||||
units si
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
|
||||
pair_style lj/relres 0.675e-9 .725e-9 1.2e-9 1.4e-9
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
read_data Data.22DMH.in.relres
|
||||
pair_coeff 6 6 1.21585e-21 0.3905e-9 0.0 0.0 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 4 4 0.819828e-21 0.3905e-9 0.0 0.0 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 2 2 0.819828e-21 0.3905e-9 8.48872E-21 0.3905E-9 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 5 5 1.00742E-21 0.396E-9 0.0 0.0
|
||||
pair_coeff 3 3 0.819828e-21 0.3905e-9 0.0 0.0
|
||||
pair_coeff 1 1 0.347385E-21 0.38E-9 20.2372E-21 0.39309E-9
|
||||
pair_modify shift yes
|
||||
neighbor 2.0e-10 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0e-15
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e-13
|
||||
|
||||
run 1000
|
||||
#write_data Data.22DMH.out.relres pair ij
|
||||
#pair_write 1 1 1201 r 0.2e-9 1.4e-9 potential.relres LJ11
|
||||
#pair_write 2 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ22
|
||||
#pair_write 1 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ12
|
||||
49
examples/relres/in.22DMH.respa
Normal file
49
examples/relres/in.22DMH.respa
Normal file
@ -0,0 +1,49 @@
|
||||
units si
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
|
||||
pair_style hybrid lj/relres 0.675e-9 0.725e-9 1.2e-9 1.4e-9 lj/relres 0.675e-9 .725e-9 1.2e-9 1.4e-9
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
read_data Data.22DMH.in.relres
|
||||
pair_coeff 1 1 lj/relres 1 3.47385e-22 3.8e-10 2.02372e-20 3.9309e-10 6.75e-10 7.25e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 1 2 lj/relres 1 5.33663e-22 3.85214e-10 1.31068e-20 3.91793e-10 6.22997e-10 6.73146e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 1 3 lj/relres 2 5.33663e-22 3.85214e-10 0 3.91793e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 1 4 lj/relres 2 5.33663e-22 3.85214e-10 0 3.91793e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 1 5 lj/relres 2 5.91576e-22 3.87918e-10 0 3.94542e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 1 6 lj/relres 2 6.49898e-22 3.85214e-10 0 3.91793e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 2 lj/relres 1 8.19828e-22 3.905e-10 8.48872e-21 3.905e-10 5.75e-10 6.25e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 2 3 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 2 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 3 3 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 3 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 3 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 3 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 4 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 4 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 4 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 5 5 lj/relres 2 1.00742e-21 3.96e-10 0 3.96e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 5 6 lj/relres 2 1.10674e-21 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 6 6 lj/relres 2 1.21585e-21 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
|
||||
pair_modify shift yes
|
||||
neighbor 2.0e-10 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 2.0e-15
|
||||
thermo 50
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e-13
|
||||
|
||||
run_style respa 2 2 hybrid 1 2
|
||||
|
||||
run 500
|
||||
#write_data Data.22DMH.out.relres pair ij
|
||||
#pair_write 1 1 1201 r 0.2e-9 1.4e-9 potential.relres LJ11
|
||||
#pair_write 2 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ22
|
||||
#pair_write 1 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ12
|
||||
456
examples/relres/log.05Mar21.22DMH.real.g++.1
Normal file
456
examples/relres/log.05Mar21.22DMH.real.g++.1
Normal file
@ -0,0 +1,456 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Example: use of lj/relres for simulation of 2,2-dimethylhexane: C3H7-C5H11
|
||||
# with various Rso setting as well as run of reference system for time comparison (real units)
|
||||
# The first run writes restart file that is used by all subsequent runs.
|
||||
|
||||
# Run relres with Rso=6.25
|
||||
|
||||
units real
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
|
||||
pair_style lj/relres 5.75 6.25 12.0 14.0
|
||||
read_data Data.22DMH.in.real
|
||||
Reading data file ...
|
||||
orthogonal box = (3.7421629 3.7421629 3.7421629) to (68.257837 68.257837 68.257837)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
8000 atoms
|
||||
reading velocities ...
|
||||
8000 velocities
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
3 = max dihedrals/atom
|
||||
reading bonds ...
|
||||
7000 bonds
|
||||
reading angles ...
|
||||
9000 angles
|
||||
reading dihedrals ...
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.003 seconds
|
||||
read_data CPU = 0.036 seconds
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
|
||||
run 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Pair style lj/relres: doi:10.1021/acs.jctc.0c01003
|
||||
|
||||
@Article{Chaimovich1,
|
||||
author = {A. Chaimovich, C. Peter, K. Kremer},
|
||||
title = {Relative resolution: A hybrid formalism for fluid mixtures},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2015,
|
||||
volume = 143,
|
||||
pages = {243107}
|
||||
@Article{Chaimovich2,
|
||||
author = {M. Chaimovich, A. Chaimovich},
|
||||
title = {Relative Resolution: A Computationally Efficient Implementation in LAMMPS},
|
||||
journal = {J.~Chem.~Theory~Comput.},
|
||||
year = 2021,
|
||||
volume = 17,
|
||||
pages = {1045--1059}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/relres, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 20.01 | 20.01 | 20.01 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
0 286.85653 -328.51562 3703.8924 6839.6636 10543.556 -4875.3137 8579.2062 268531.8
|
||||
100 293.231 -55.62132 3520.4874 6991.6533 10512.141 -4797.2633 8317.7507 268531.8
|
||||
200 292.73476 332.40528 3456.3029 6979.8212 10436.124 -4914.7261 8371.0291 268531.8
|
||||
300 292.56511 221.98408 3380.7472 6975.7762 10356.523 -4936.5552 8317.3024 268531.8
|
||||
400 288.42948 117.72433 3428.113 6877.1681 10305.281 -4887.6852 8315.7982 268531.8
|
||||
500 289.20503 -238.73381 3373.758 6895.6601 10269.418 -4947.3214 8321.0795 268531.8
|
||||
600 292.02137 74.370782 3263.4324 6962.8115 10226.244 -4948.3906 8211.823 268531.8
|
||||
700 290.20603 475.24398 3260.0754 6919.5273 10179.603 -4931.4093 8191.4846 268531.8
|
||||
800 293.12504 175.54324 3156.6048 6989.1268 10145.732 -5006.7161 8163.3209 268531.8
|
||||
900 287.78433 63.785361 3251.5393 6861.7855 10113.325 -5029.094 8280.6333 268531.8
|
||||
1000 290.11974 -101.34839 3183.4817 6917.47 10100.952 -5002.9413 8186.423 268531.8
|
||||
Loop time of 6.05162 on 1 procs for 1000 steps with 8000 atoms
|
||||
|
||||
Performance: 14.277 ns/day, 1.681 hours/ns, 165.245 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 4.7637 | 4.7637 | 4.7637 | 0.0 | 78.72
|
||||
Bond | 0.693 | 0.693 | 0.693 | 0.0 | 11.45
|
||||
Neigh | 0.41311 | 0.41311 | 0.41311 | 0.0 | 6.83
|
||||
Comm | 0.070843 | 0.070843 | 0.070843 | 0.0 | 1.17
|
||||
Output | 0.00045886 | 0.00045886 | 0.00045886 | 0.0 | 0.01
|
||||
Modify | 0.084814 | 0.084814 | 0.084814 | 0.0 | 1.40
|
||||
Other | | 0.02564 | | | 0.42
|
||||
|
||||
Nlocal: 8000.00 ave 8000 max 8000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 18934.0 ave 18934 max 18934 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 371920.0 ave 371920 max 371920 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 371920
|
||||
Ave neighs/atom = 46.490000
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
|
||||
write_restart restart.relres.real
|
||||
System init for write_restart ...
|
||||
|
||||
# Run relres with Rso=7.25
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
read_restart restart.relres.real
|
||||
Reading restart file ...
|
||||
restart file = 10 Feb 2021, LAMMPS = 10 Feb 2021
|
||||
restoring atom style molecular from restart
|
||||
orthogonal box = (3.7421629 3.7421629 3.7421629) to (68.257837 68.257837 68.257837)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
restoring pair style lj/relres from restart
|
||||
restoring bond style harmonic from restart
|
||||
restoring angle style harmonic from restart
|
||||
restoring dihedral style fourier from restart
|
||||
8000 atoms
|
||||
7000 bonds
|
||||
9000 angles
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.002 seconds
|
||||
read_restart CPU = 0.004 seconds
|
||||
|
||||
pair_style lj/relres 6.75 7.25 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
Resetting global fix info from restart file:
|
||||
fix style: nvt, fix ID: 2
|
||||
|
||||
run 1000
|
||||
All restart file global fix info was re-assigned
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/relres, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 20.51 | 20.51 | 20.51 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
1000 290.11974 21.86402 3334.7257 6917.47 10252.196 -4851.6973 8186.423 268531.8
|
||||
1100 289.71937 460.00291 3365.0978 6907.9236 10273.021 -4881.5513 8246.6491 268531.8
|
||||
1200 293.0828 194.76483 3348.6267 6988.1197 10336.746 -4743.4894 8092.1162 268531.8
|
||||
1300 291.27785 153.93026 3496.2858 6945.0834 10441.369 -4753.3325 8249.6183 268531.8
|
||||
1400 292.69435 -51.690836 3516.6743 6978.8575 10495.532 -4774.0701 8290.7445 268531.8
|
||||
1500 290.0279 149.43706 3578.8283 6915.2801 10494.108 -4815.5857 8394.414 268531.8
|
||||
1600 292.89473 -109.05125 3487.6652 6983.6354 10471.301 -4839.1407 8326.8059 268531.8
|
||||
1700 290.99802 -146.06465 3496.48 6938.4111 10434.891 -4868.0031 8364.4831 268531.8
|
||||
1800 286.48455 -45.580207 3550.2611 6830.7943 10381.055 -4766.3336 8316.5947 268531.8
|
||||
1900 287.0735 -157.60878 3488.4248 6844.8368 10333.262 -4853.6992 8342.124 268531.8
|
||||
2000 287.38046 -429.32757 3435.8336 6852.1558 10287.989 -4878.4345 8314.2681 268531.8
|
||||
Loop time of 7.46943 on 1 procs for 1000 steps with 8000 atoms
|
||||
|
||||
Performance: 11.567 ns/day, 2.075 hours/ns, 133.879 timesteps/s
|
||||
99.3% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 6.1145 | 6.1145 | 6.1145 | 0.0 | 81.86
|
||||
Bond | 0.71392 | 0.71392 | 0.71392 | 0.0 | 9.56
|
||||
Neigh | 0.45677 | 0.45677 | 0.45677 | 0.0 | 6.12
|
||||
Comm | 0.072404 | 0.072404 | 0.072404 | 0.0 | 0.97
|
||||
Output | 0.00036481 | 0.00036481 | 0.00036481 | 0.0 | 0.00
|
||||
Modify | 0.085956 | 0.085956 | 0.085956 | 0.0 | 1.15
|
||||
Other | | 0.02552 | | | 0.34
|
||||
|
||||
Nlocal: 8000.00 ave 8000 max 8000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 18846.0 ave 18846 max 18846 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 475557.0 ave 475557 max 475557 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 475557
|
||||
Ave neighs/atom = 59.444625
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
# Run relres with mixed Rso: 6.25 for C3H7 group and 7.25 for C5H11 group
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
read_restart restart.relres.real
|
||||
Reading restart file ...
|
||||
restart file = 10 Feb 2021, LAMMPS = 10 Feb 2021
|
||||
restoring atom style molecular from restart
|
||||
orthogonal box = (3.7421629 3.7421629 3.7421629) to (68.257837 68.257837 68.257837)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
restoring pair style lj/relres from restart
|
||||
restoring bond style harmonic from restart
|
||||
restoring angle style harmonic from restart
|
||||
restoring dihedral style fourier from restart
|
||||
8000 atoms
|
||||
7000 bonds
|
||||
9000 angles
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.002 seconds
|
||||
read_restart CPU = 0.004 seconds
|
||||
|
||||
pair_style lj/relres 6.75 7.25 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0 5.75 6.25 12.0 14.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0 5.75 6.25 12.0 14.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905 5.75 6.25 12.0 14.0
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
Resetting global fix info from restart file:
|
||||
fix style: nvt, fix ID: 2
|
||||
|
||||
run 1000
|
||||
All restart file global fix info was re-assigned
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/relres, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 20.51 | 20.51 | 20.51 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
1000 290.11974 54.754001 3314.0966 6917.47 10231.567 -4872.3264 8186.423 268531.8
|
||||
1100 289.78217 480.37221 3342.8765 6909.4211 10252.298 -4900.7266 8243.6032 268531.8
|
||||
1200 293.25523 188.46596 3322.6257 6992.2308 10314.857 -4771.3485 8093.9742 268531.8
|
||||
1300 291.59734 146.50303 3465.2113 6952.701 10417.912 -4782.9861 8248.1974 268531.8
|
||||
1400 292.71873 -40.372074 3491.747 6979.4389 10471.186 -4790.7124 8282.4594 268531.8
|
||||
1500 290.60378 120.25863 3539.5538 6929.0112 10468.565 -4849.9813 8389.5351 268531.8
|
||||
1600 293.21218 -143.75501 3452.9516 6991.2046 10444.156 -4885.0192 8337.9708 268531.8
|
||||
1700 291.02865 -207.34728 3465.4131 6939.1416 10404.555 -4887.363 8352.7761 268531.8
|
||||
1800 286.00091 -91.017961 3530.3422 6819.2625 10349.605 -4807.6624 8338.0046 268531.8
|
||||
1900 286.3006 -145.399 3485.1695 6826.4082 10311.578 -4848.263 8333.4325 268531.8
|
||||
2000 288.43931 -469.99712 3409.0906 6877.4025 10286.493 -4905.9002 8314.9907 268531.8
|
||||
Loop time of 6.78592 on 1 procs for 1000 steps with 8000 atoms
|
||||
|
||||
Performance: 12.732 ns/day, 1.885 hours/ns, 147.364 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 5.4637 | 5.4637 | 5.4637 | 0.0 | 80.52
|
||||
Bond | 0.68994 | 0.68994 | 0.68994 | 0.0 | 10.17
|
||||
Neigh | 0.45166 | 0.45166 | 0.45166 | 0.0 | 6.66
|
||||
Comm | 0.070376 | 0.070376 | 0.070376 | 0.0 | 1.04
|
||||
Output | 0.000405 | 0.000405 | 0.000405 | 0.0 | 0.01
|
||||
Modify | 0.084545 | 0.084545 | 0.084545 | 0.0 | 1.25
|
||||
Other | | 0.02527 | | | 0.37
|
||||
|
||||
Nlocal: 8000.00 ave 8000 max 8000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 18820.0 ave 18820 max 18820 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 434269.0 ave 434269 max 434269 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 434269
|
||||
Ave neighs/atom = 54.283625
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
# Run reference system with lj/smooth
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
read_restart restart.relres.real
|
||||
Reading restart file ...
|
||||
restart file = 10 Feb 2021, LAMMPS = 10 Feb 2021
|
||||
restoring atom style molecular from restart
|
||||
orthogonal box = (3.7421629 3.7421629 3.7421629) to (68.257837 68.257837 68.257837)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
restoring pair style lj/relres from restart
|
||||
restoring bond style harmonic from restart
|
||||
restoring angle style harmonic from restart
|
||||
restoring dihedral style fourier from restart
|
||||
8000 atoms
|
||||
7000 bonds
|
||||
9000 angles
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.002 seconds
|
||||
read_restart CPU = 0.004 seconds
|
||||
|
||||
pair_style lj/smooth 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905
|
||||
pair_coeff 4 4 0.118 3.905
|
||||
pair_coeff 2 2 0.118 3.905
|
||||
pair_coeff 5 5 0.145 3.960
|
||||
pair_coeff 3 3 0.118 3.905
|
||||
pair_coeff 1 1 0.05 3.8
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
Resetting global fix info from restart file:
|
||||
fix style: nvt, fix ID: 2
|
||||
|
||||
run 1000
|
||||
All restart file global fix info was re-assigned
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/smooth, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 26.62 | 26.62 | 26.62 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
1000 290.11974 -80.648214 3258.0256 6917.47 10175.496 -4928.3973 8186.423 268531.8
|
||||
1100 289.70919 358.20314 3288.412 6907.6811 10196.093 -4959.5166 8247.9285 268531.8
|
||||
1200 292.84488 96.692992 3277.1296 6982.4468 10259.576 -4818.7374 8095.867 268531.8
|
||||
1300 291.07262 65.629153 3425.4662 6940.1899 10365.656 -4828.0862 8253.5524 268531.8
|
||||
1400 292.39722 -113.07286 3448.8088 6971.773 10420.582 -4841.3586 8290.1674 268531.8
|
||||
1500 289.80998 90.176596 3510.6526 6910.0843 10420.737 -4884.6145 8395.2671 268531.8
|
||||
1600 292.48452 -180.26543 3426.6967 6973.8544 10400.551 -4903.46 8330.1567 268531.8
|
||||
1700 291.32152 -220.54923 3421.802 6946.1246 10367.927 -4946.101 8367.9031 268531.8
|
||||
1800 286.77292 -101.26406 3475.3166 6837.6701 10312.987 -4830.565 8305.8816 268531.8
|
||||
1900 286.6849 -161.65289 3428.0457 6835.5713 10263.617 -4909.5924 8337.6381 268531.8
|
||||
2000 287.3785 -477.01298 3367.9719 6852.1091 10220.081 -4962.7001 8330.6719 268531.8
|
||||
Loop time of 25.7415 on 1 procs for 1000 steps with 8000 atoms
|
||||
|
||||
Performance: 3.356 ns/day, 7.150 hours/ns, 38.848 timesteps/s
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 24.253 | 24.253 | 24.253 | 0.0 | 94.22
|
||||
Bond | 0.72224 | 0.72224 | 0.72224 | 0.0 | 2.81
|
||||
Neigh | 0.57723 | 0.57723 | 0.57723 | 0.0 | 2.24
|
||||
Comm | 0.076624 | 0.076624 | 0.076624 | 0.0 | 0.30
|
||||
Output | 0.00035693 | 0.00035693 | 0.00035693 | 0.0 | 0.00
|
||||
Modify | 0.087599 | 0.087599 | 0.087599 | 0.0 | 0.34
|
||||
Other | | 0.02479 | | | 0.10
|
||||
|
||||
Nlocal: 8000.00 ave 8000 max 8000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 18804.0 ave 18804 max 18804 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 2.02600e+06 ave 2.026e+06 max 2.026e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 2026005
|
||||
Ave neighs/atom = 253.25063
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:46
|
||||
456
examples/relres/log.05Mar21.22DMH.real.g++.4
Normal file
456
examples/relres/log.05Mar21.22DMH.real.g++.4
Normal file
@ -0,0 +1,456 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Example: use of lj/relres for simulation of 2,2-dimethylhexane: C3H7-C5H11
|
||||
# with various Rso setting as well as run of reference system for time comparison (real units)
|
||||
# The first run writes restart file that is used by all subsequent runs.
|
||||
|
||||
# Run relres with Rso=6.25
|
||||
|
||||
units real
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
|
||||
pair_style lj/relres 5.75 6.25 12.0 14.0
|
||||
read_data Data.22DMH.in.real
|
||||
Reading data file ...
|
||||
orthogonal box = (3.7421629 3.7421629 3.7421629) to (68.257837 68.257837 68.257837)
|
||||
2 by 1 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
8000 atoms
|
||||
reading velocities ...
|
||||
8000 velocities
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
3 = max dihedrals/atom
|
||||
reading bonds ...
|
||||
7000 bonds
|
||||
reading angles ...
|
||||
9000 angles
|
||||
reading dihedrals ...
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.035 seconds
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
|
||||
run 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Pair style lj/relres: doi:10.1021/acs.jctc.0c01003
|
||||
|
||||
@Article{Chaimovich1,
|
||||
author = {A. Chaimovich, C. Peter, K. Kremer},
|
||||
title = {Relative resolution: A hybrid formalism for fluid mixtures},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2015,
|
||||
volume = 143,
|
||||
pages = {243107}
|
||||
@Article{Chaimovich2,
|
||||
author = {M. Chaimovich, A. Chaimovich},
|
||||
title = {Relative Resolution: A Computationally Efficient Implementation in LAMMPS},
|
||||
journal = {J.~Chem.~Theory~Comput.},
|
||||
year = 2021,
|
||||
volume = 17,
|
||||
pages = {1045--1059}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/relres, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.953 | 9.953 | 9.953 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
0 286.85653 -328.51562 3703.8924 6839.6636 10543.556 -4875.3137 8579.2062 268531.8
|
||||
100 293.231 -55.62132 3520.4874 6991.6533 10512.141 -4797.2633 8317.7507 268531.8
|
||||
200 292.73476 332.40528 3456.3029 6979.8212 10436.124 -4914.7261 8371.0291 268531.8
|
||||
300 292.56511 221.98408 3380.7472 6975.7762 10356.523 -4936.5552 8317.3024 268531.8
|
||||
400 288.42948 117.72433 3428.113 6877.1681 10305.281 -4887.6852 8315.7982 268531.8
|
||||
500 289.20503 -238.73381 3373.758 6895.6601 10269.418 -4947.3214 8321.0795 268531.8
|
||||
600 292.02137 74.370782 3263.4324 6962.8115 10226.244 -4948.3906 8211.823 268531.8
|
||||
700 290.20603 475.24398 3260.0754 6919.5273 10179.603 -4931.4093 8191.4846 268531.8
|
||||
800 293.12504 175.54324 3156.6048 6989.1268 10145.732 -5006.7161 8163.3209 268531.8
|
||||
900 287.78433 63.785361 3251.5393 6861.7855 10113.325 -5029.094 8280.6333 268531.8
|
||||
1000 290.11974 -101.34839 3183.4817 6917.47 10100.952 -5002.9413 8186.423 268531.8
|
||||
Loop time of 2.12445 on 4 procs for 1000 steps with 8000 atoms
|
||||
|
||||
Performance: 40.669 ns/day, 0.590 hours/ns, 470.709 timesteps/s
|
||||
91.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 | 1.2517 | 1.3228 | 1.4636 | 7.2 | 62.27
|
||||
Bond | 0.18406 | 0.19356 | 0.20925 | 2.1 | 9.11
|
||||
Neigh | 0.12468 | 0.125 | 0.12534 | 0.1 | 5.88
|
||||
Comm | 0.25384 | 0.40233 | 0.4919 | 14.1 | 18.94
|
||||
Output | 0.00034203 | 0.00061893 | 0.00088527 | 0.0 | 0.03
|
||||
Modify | 0.052326 | 0.059507 | 0.066224 | 2.6 | 2.80
|
||||
Other | | 0.02066 | | | 0.97
|
||||
|
||||
Nlocal: 2000.00 ave 2031 max 1964 min
|
||||
Histogram: 1 0 0 0 1 0 0 1 0 1
|
||||
Nghost: 9898.50 ave 9926 max 9869 min
|
||||
Histogram: 1 0 0 0 1 0 1 0 0 1
|
||||
Neighs: 92980.0 ave 94819 max 90517 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 371920
|
||||
Ave neighs/atom = 46.490000
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
|
||||
write_restart restart.relres.real
|
||||
System init for write_restart ...
|
||||
|
||||
# Run relres with Rso=7.25
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
read_restart restart.relres.real
|
||||
Reading restart file ...
|
||||
restart file = 10 Feb 2021, LAMMPS = 10 Feb 2021
|
||||
restoring atom style molecular from restart
|
||||
orthogonal box = (3.7421629 3.7421629 3.7421629) to (68.257837 68.257837 68.257837)
|
||||
2 by 1 by 2 MPI processor grid
|
||||
restoring pair style lj/relres from restart
|
||||
restoring bond style harmonic from restart
|
||||
restoring angle style harmonic from restart
|
||||
restoring dihedral style fourier from restart
|
||||
8000 atoms
|
||||
7000 bonds
|
||||
9000 angles
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.002 seconds
|
||||
read_restart CPU = 0.005 seconds
|
||||
|
||||
pair_style lj/relres 6.75 7.25 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
Resetting global fix info from restart file:
|
||||
fix style: nvt, fix ID: 2
|
||||
|
||||
run 1000
|
||||
All restart file global fix info was re-assigned
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/relres, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 10.34 | 10.34 | 10.34 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
1000 290.11974 21.86402 3334.7257 6917.47 10252.196 -4851.6973 8186.423 268531.8
|
||||
1100 289.71937 460.00291 3365.0978 6907.9236 10273.021 -4881.5513 8246.6491 268531.8
|
||||
1200 293.0828 194.76483 3348.6267 6988.1197 10336.746 -4743.4894 8092.1162 268531.8
|
||||
1300 291.27785 153.93026 3496.2858 6945.0834 10441.369 -4753.3325 8249.6183 268531.8
|
||||
1400 292.69435 -51.690836 3516.6743 6978.8575 10495.532 -4774.0701 8290.7445 268531.8
|
||||
1500 290.0279 149.43706 3578.8283 6915.2801 10494.108 -4815.5857 8394.414 268531.8
|
||||
1600 292.89473 -109.05125 3487.6652 6983.6354 10471.301 -4839.1407 8326.8059 268531.8
|
||||
1700 290.99802 -146.06465 3496.48 6938.4111 10434.891 -4868.0031 8364.4831 268531.8
|
||||
1800 286.48455 -45.580207 3550.2611 6830.7943 10381.055 -4766.3336 8316.5947 268531.8
|
||||
1900 287.0735 -157.60878 3488.4248 6844.8368 10333.262 -4853.6992 8342.124 268531.8
|
||||
2000 287.38046 -429.32757 3435.8336 6852.1558 10287.989 -4878.4345 8314.2681 268531.8
|
||||
Loop time of 2.6513 on 4 procs for 1000 steps with 8000 atoms
|
||||
|
||||
Performance: 32.588 ns/day, 0.736 hours/ns, 377.174 timesteps/s
|
||||
89.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 | 1.5783 | 1.6371 | 1.7079 | 3.7 | 61.75
|
||||
Bond | 0.18196 | 0.19132 | 0.20276 | 1.7 | 7.22
|
||||
Neigh | 0.14093 | 0.14128 | 0.14156 | 0.1 | 5.33
|
||||
Comm | 0.50333 | 0.5809 | 0.64199 | 6.6 | 21.91
|
||||
Output | 0.00023452 | 0.00040924 | 0.00063279 | 0.0 | 0.02
|
||||
Modify | 0.066524 | 0.076747 | 0.084331 | 2.5 | 2.89
|
||||
Other | | 0.02354 | | | 0.89
|
||||
|
||||
Nlocal: 2000.00 ave 2009 max 1981 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 0 2
|
||||
Nghost: 9892.50 ave 9923 max 9868 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
Neighs: 118889.0 ave 120387 max 117552 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 475557
|
||||
Ave neighs/atom = 59.444625
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
# Run relres with mixed Rso: 6.25 for C3H7 group and 7.25 for C5H11 group
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
read_restart restart.relres.real
|
||||
Reading restart file ...
|
||||
restart file = 10 Feb 2021, LAMMPS = 10 Feb 2021
|
||||
restoring atom style molecular from restart
|
||||
orthogonal box = (3.7421629 3.7421629 3.7421629) to (68.257837 68.257837 68.257837)
|
||||
2 by 1 by 2 MPI processor grid
|
||||
restoring pair style lj/relres from restart
|
||||
restoring bond style harmonic from restart
|
||||
restoring angle style harmonic from restart
|
||||
restoring dihedral style fourier from restart
|
||||
8000 atoms
|
||||
7000 bonds
|
||||
9000 angles
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_restart CPU = 0.004 seconds
|
||||
|
||||
pair_style lj/relres 6.75 7.25 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905 0.0 0.0 5.75 6.25 12.0 14.0
|
||||
pair_coeff 4 4 0.118 3.905 0.0 0.0 5.75 6.25 12.0 14.0
|
||||
pair_coeff 2 2 0.118 3.905 1.2218 3.905 5.75 6.25 12.0 14.0
|
||||
pair_coeff 5 5 0.145 3.960 0.0 0.0
|
||||
pair_coeff 3 3 0.118 3.905 0.0 0.0
|
||||
pair_coeff 1 1 0.05 3.8 2.9128 3.9309
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
Resetting global fix info from restart file:
|
||||
fix style: nvt, fix ID: 2
|
||||
|
||||
run 1000
|
||||
All restart file global fix info was re-assigned
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/relres, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 10.34 | 10.34 | 10.34 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
1000 290.11974 54.754001 3314.0966 6917.47 10231.567 -4872.3264 8186.423 268531.8
|
||||
1100 289.78217 480.37221 3342.8765 6909.4211 10252.298 -4900.7266 8243.6032 268531.8
|
||||
1200 293.25523 188.46596 3322.6257 6992.2308 10314.857 -4771.3485 8093.9742 268531.8
|
||||
1300 291.59734 146.50303 3465.2113 6952.701 10417.912 -4782.9861 8248.1974 268531.8
|
||||
1400 292.71873 -40.372074 3491.747 6979.4389 10471.186 -4790.7124 8282.4594 268531.8
|
||||
1500 290.60378 120.25863 3539.5538 6929.0112 10468.565 -4849.9813 8389.5351 268531.8
|
||||
1600 293.21218 -143.75501 3452.9516 6991.2046 10444.156 -4885.0192 8337.9708 268531.8
|
||||
1700 291.02865 -207.34728 3465.4131 6939.1416 10404.555 -4887.363 8352.7761 268531.8
|
||||
1800 286.00091 -91.017961 3530.3422 6819.2625 10349.605 -4807.6624 8338.0046 268531.8
|
||||
1900 286.3006 -145.399 3485.1695 6826.4082 10311.578 -4848.263 8333.4325 268531.8
|
||||
2000 288.43931 -469.99712 3409.0906 6877.4025 10286.493 -4905.9002 8314.9907 268531.8
|
||||
Loop time of 2.32221 on 4 procs for 1000 steps with 8000 atoms
|
||||
|
||||
Performance: 37.206 ns/day, 0.645 hours/ns, 430.624 timesteps/s
|
||||
90.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 | 1.4451 | 1.5022 | 1.555 | 3.7 | 64.69
|
||||
Bond | 0.18307 | 0.19206 | 0.20526 | 2.0 | 8.27
|
||||
Neigh | 0.12827 | 0.12956 | 0.13074 | 0.3 | 5.58
|
||||
Comm | 0.36752 | 0.42006 | 0.48825 | 8.1 | 18.09
|
||||
Output | 0.00022658 | 0.00025297 | 0.0003292 | 0.0 | 0.01
|
||||
Modify | 0.05223 | 0.057658 | 0.063373 | 2.1 | 2.48
|
||||
Other | | 0.02044 | | | 0.88
|
||||
|
||||
Nlocal: 2000.00 ave 2016 max 1981 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
Nghost: 9878.25 ave 9891 max 9868 min
|
||||
Histogram: 1 0 1 0 0 1 0 0 0 1
|
||||
Neighs: 108567.0 ave 110532 max 107467 min
|
||||
Histogram: 1 1 1 0 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 434269
|
||||
Ave neighs/atom = 54.283625
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 14
|
||||
Dangerous builds = 0
|
||||
|
||||
# Run reference system with lj/smooth
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
read_restart restart.relres.real
|
||||
Reading restart file ...
|
||||
restart file = 10 Feb 2021, LAMMPS = 10 Feb 2021
|
||||
restoring atom style molecular from restart
|
||||
orthogonal box = (3.7421629 3.7421629 3.7421629) to (68.257837 68.257837 68.257837)
|
||||
2 by 1 by 2 MPI processor grid
|
||||
restoring pair style lj/relres from restart
|
||||
restoring bond style harmonic from restart
|
||||
restoring angle style harmonic from restart
|
||||
restoring dihedral style fourier from restart
|
||||
8000 atoms
|
||||
7000 bonds
|
||||
9000 angles
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.004 seconds
|
||||
read_restart CPU = 0.007 seconds
|
||||
|
||||
pair_style lj/smooth 12.0 14.0
|
||||
|
||||
pair_coeff 6 6 0.175 3.905
|
||||
pair_coeff 4 4 0.118 3.905
|
||||
pair_coeff 2 2 0.118 3.905
|
||||
pair_coeff 5 5 0.145 3.960
|
||||
pair_coeff 3 3 0.118 3.905
|
||||
pair_coeff 1 1 0.05 3.8
|
||||
pair_modify shift yes
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e+02
|
||||
Resetting global fix info from restart file:
|
||||
fix style: nvt, fix ID: 2
|
||||
|
||||
run 1000
|
||||
All restart file global fix info was re-assigned
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 16
|
||||
ghost atom cutoff = 16
|
||||
binsize = 8, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/smooth, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.86 | 11.86 | 11.86 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
1000 290.11974 -80.648214 3258.0256 6917.47 10175.496 -4928.3973 8186.423 268531.8
|
||||
1100 289.70919 358.20314 3288.412 6907.6811 10196.093 -4959.5166 8247.9285 268531.8
|
||||
1200 292.84488 96.692992 3277.1296 6982.4468 10259.576 -4818.7374 8095.867 268531.8
|
||||
1300 291.07262 65.629153 3425.4662 6940.1899 10365.656 -4828.0862 8253.5524 268531.8
|
||||
1400 292.39722 -113.07286 3448.8088 6971.773 10420.582 -4841.3586 8290.1674 268531.8
|
||||
1500 289.80998 90.176596 3510.6526 6910.0843 10420.737 -4884.6145 8395.2671 268531.8
|
||||
1600 292.48452 -180.26543 3426.6967 6973.8544 10400.551 -4903.46 8330.1567 268531.8
|
||||
1700 291.32152 -220.54923 3421.802 6946.1246 10367.927 -4946.101 8367.9031 268531.8
|
||||
1800 286.77292 -101.26406 3475.3166 6837.6701 10312.987 -4830.565 8305.8816 268531.8
|
||||
1900 286.6849 -161.65289 3428.0457 6835.5713 10263.617 -4909.5924 8337.6381 268531.8
|
||||
2000 287.3785 -477.01298 3367.9719 6852.1091 10220.081 -4962.7001 8330.6719 268531.8
|
||||
Loop time of 7.44371 on 4 procs for 1000 steps with 8000 atoms
|
||||
|
||||
Performance: 11.607 ns/day, 2.068 hours/ns, 134.342 timesteps/s
|
||||
92.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 6.0092 | 6.1923 | 6.5395 | 8.2 | 83.19
|
||||
Bond | 0.18292 | 0.18861 | 0.19918 | 1.5 | 2.53
|
||||
Neigh | 0.16826 | 0.16868 | 0.1691 | 0.1 | 2.27
|
||||
Comm | 0.47602 | 0.82734 | 1.0097 | 22.7 | 11.11
|
||||
Output | 0.00023062 | 0.00025561 | 0.00032727 | 0.0 | 0.00
|
||||
Modify | 0.040804 | 0.047642 | 0.054462 | 3.1 | 0.64
|
||||
Other | | 0.01893 | | | 0.25
|
||||
|
||||
Nlocal: 2000.00 ave 2015 max 1972 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 1 1
|
||||
Nghost: 9870.50 ave 9899 max 9855 min
|
||||
Histogram: 1 1 1 0 0 0 0 0 0 1
|
||||
Neighs: 506501.0 ave 514030 max 499023 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 2026005
|
||||
Ave neighs/atom = 253.25063
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:14
|
||||
142
examples/relres/log.05Mar21.22DMH.relres.g++.1
Normal file
142
examples/relres/log.05Mar21.22DMH.relres.g++.1
Normal file
@ -0,0 +1,142 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Example: use of lj/relres for simulation of 2,2-dimethylhexane: C3H7-C5H11
|
||||
# with with mixed Rso: 0.625e-9 for C3H7 group and 0.725e-9 for C5H11 group (si units)
|
||||
|
||||
units si
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
|
||||
pair_style lj/relres 0.675e-9 .725e-9 1.2e-9 1.4e-9
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
read_data Data.22DMH.in.relres
|
||||
Reading data file ...
|
||||
orthogonal box = (3.7421629e-10 3.7421629e-10 3.7421629e-10) to (6.8257837e-09 6.8257837e-09 6.8257837e-09)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
8000 atoms
|
||||
reading velocities ...
|
||||
8000 velocities
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
3 = max dihedrals/atom
|
||||
reading bonds ...
|
||||
7000 bonds
|
||||
reading angles ...
|
||||
9000 angles
|
||||
reading dihedrals ...
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.003 seconds
|
||||
read_data CPU = 0.035 seconds
|
||||
pair_coeff 6 6 1.21585e-21 0.3905e-9 0.0 0.0 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 4 4 0.819828e-21 0.3905e-9 0.0 0.0 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 2 2 0.819828e-21 0.3905e-9 8.48872E-21 0.3905E-9 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 5 5 1.00742E-21 0.396E-9 0.0 0.0
|
||||
pair_coeff 3 3 0.819828e-21 0.3905e-9 0.0 0.0
|
||||
pair_coeff 1 1 0.347385E-21 0.38E-9 20.2372E-21 0.39309E-9
|
||||
pair_modify shift yes
|
||||
neighbor 2.0e-10 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0e-15
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e-13
|
||||
|
||||
run 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Pair style lj/relres: doi:10.1021/acs.jctc.0c01003
|
||||
|
||||
@Article{Chaimovich1,
|
||||
author = {A. Chaimovich, C. Peter, K. Kremer},
|
||||
title = {Relative resolution: A hybrid formalism for fluid mixtures},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2015,
|
||||
volume = 143,
|
||||
pages = {243107}
|
||||
@Article{Chaimovich2,
|
||||
author = {M. Chaimovich, A. Chaimovich},
|
||||
title = {Relative Resolution: A Computationally Efficient Implementation in LAMMPS},
|
||||
journal = {J.~Chem.~Theory~Comput.},
|
||||
year = 2021,
|
||||
volume = 17,
|
||||
pages = {1045--1059}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.6e-09
|
||||
ghost atom cutoff = 1.6e-09
|
||||
binsize = 8e-10, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/relres, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 20.39 | 20.39 | 20.39 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
0 286.85659 -21390710 2.6345656e-17 4.7519899e-17 7.3865555e-17 -3.3260066e-17 5.9605722e-17 2.685318e-25
|
||||
100 292.25165 10716172 2.5245584e-17 4.841363e-17 7.3659214e-17 -3.2561964e-17 5.7807548e-17 2.685318e-25
|
||||
200 291.6011 48774461 2.4897987e-17 4.8305863e-17 7.320385e-17 -3.3268705e-17 5.8166692e-17 2.685318e-25
|
||||
300 291.50656 37655969 2.4389062e-17 4.8290201e-17 7.2679262e-17 -3.3428236e-17 5.7817297e-17 2.685318e-25
|
||||
400 287.23427 25920755 2.4747225e-17 4.7582464e-17 7.2329689e-17 -3.3065908e-17 5.7813133e-17 2.685318e-25
|
||||
500 288.56911 -9297451 2.4379025e-17 4.7803591e-17 7.2182615e-17 -3.3515426e-17 5.7894451e-17 2.685318e-25
|
||||
600 291.82949 20083719 2.3686904e-17 4.8343696e-17 7.2030599e-17 -3.3468666e-17 5.7155569e-17 2.685318e-25
|
||||
700 290.64445 60535932 2.3704156e-17 4.8147386e-17 7.1851542e-17 -3.3299994e-17 5.700415e-17 2.685318e-25
|
||||
800 293.01243 38119194 2.3163674e-17 4.8539659e-17 7.1703333e-17 -3.3641284e-17 5.6804958e-17 2.685318e-25
|
||||
900 289.1191 32514067 2.3608264e-17 4.7894701e-17 7.1502965e-17 -3.3787865e-17 5.7396129e-17 2.685318e-25
|
||||
1000 292.45834 -714652.68 2.2885394e-17 4.8447871e-17 7.1333265e-17 -3.3864138e-17 5.6749532e-17 2.685318e-25
|
||||
Loop time of 6.82188 on 1 procs for 1000 steps with 8000 atoms
|
||||
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 5.5321 | 5.5321 | 5.5321 | 0.0 | 81.09
|
||||
Bond | 0.69427 | 0.69427 | 0.69427 | 0.0 | 10.18
|
||||
Neigh | 0.4138 | 0.4138 | 0.4138 | 0.0 | 6.07
|
||||
Comm | 0.070615 | 0.070615 | 0.070615 | 0.0 | 1.04
|
||||
Output | 0.00037602 | 0.00037602 | 0.00037602 | 0.0 | 0.01
|
||||
Modify | 0.084796 | 0.084796 | 0.084796 | 0.0 | 1.24
|
||||
Other | | 0.02591 | | | 0.38
|
||||
|
||||
Nlocal: 8000.00 ave 8000 max 8000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 18912.0 ave 18912 max 18912 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 434283.0 ave 434283 max 434283 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 434283
|
||||
Ave neighs/atom = 54.285375
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
#write_data Data.22DMH.out.relres pair ij
|
||||
#pair_write 1 1 1201 r 0.2e-9 1.4e-9 potential.relres LJ11
|
||||
#pair_write 2 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ22
|
||||
#pair_write 1 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ12
|
||||
Total wall time: 0:00:06
|
||||
142
examples/relres/log.05Mar21.22DMH.relres.g++.4
Normal file
142
examples/relres/log.05Mar21.22DMH.relres.g++.4
Normal file
@ -0,0 +1,142 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Example: use of lj/relres for simulation of 2,2-dimethylhexane: C3H7-C5H11
|
||||
# with with mixed Rso: 0.625e-9 for C3H7 group and 0.725e-9 for C5H11 group (si units)
|
||||
|
||||
units si
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
|
||||
pair_style lj/relres 0.675e-9 .725e-9 1.2e-9 1.4e-9
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
read_data Data.22DMH.in.relres
|
||||
Reading data file ...
|
||||
orthogonal box = (3.7421629e-10 3.7421629e-10 3.7421629e-10) to (6.8257837e-09 6.8257837e-09 6.8257837e-09)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
8000 atoms
|
||||
reading velocities ...
|
||||
8000 velocities
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
3 = max dihedrals/atom
|
||||
reading bonds ...
|
||||
7000 bonds
|
||||
reading angles ...
|
||||
9000 angles
|
||||
reading dihedrals ...
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.037 seconds
|
||||
pair_coeff 6 6 1.21585e-21 0.3905e-9 0.0 0.0 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 4 4 0.819828e-21 0.3905e-9 0.0 0.0 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 2 2 0.819828e-21 0.3905e-9 8.48872E-21 0.3905E-9 0.575e-9 0.625e-9 1.2e-9 1.4e-9
|
||||
pair_coeff 5 5 1.00742E-21 0.396E-9 0.0 0.0
|
||||
pair_coeff 3 3 0.819828e-21 0.3905e-9 0.0 0.0
|
||||
pair_coeff 1 1 0.347385E-21 0.38E-9 20.2372E-21 0.39309E-9
|
||||
pair_modify shift yes
|
||||
neighbor 2.0e-10 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 1.0e-15
|
||||
thermo 100
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e-13
|
||||
|
||||
run 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Pair style lj/relres: doi:10.1021/acs.jctc.0c01003
|
||||
|
||||
@Article{Chaimovich1,
|
||||
author = {A. Chaimovich, C. Peter, K. Kremer},
|
||||
title = {Relative resolution: A hybrid formalism for fluid mixtures},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2015,
|
||||
volume = 143,
|
||||
pages = {243107}
|
||||
@Article{Chaimovich2,
|
||||
author = {M. Chaimovich, A. Chaimovich},
|
||||
title = {Relative Resolution: A Computationally Efficient Implementation in LAMMPS},
|
||||
journal = {J.~Chem.~Theory~Comput.},
|
||||
year = 2021,
|
||||
volume = 17,
|
||||
pages = {1045--1059}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.6e-09
|
||||
ghost atom cutoff = 1.6e-09
|
||||
binsize = 8e-10, bins = 9 9 9
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/relres, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 10.33 | 10.33 | 10.34 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
0 286.85659 -21390710 2.6345656e-17 4.7519899e-17 7.3865555e-17 -3.3260066e-17 5.9605722e-17 2.685318e-25
|
||||
100 292.25165 10716172 2.5245584e-17 4.841363e-17 7.3659214e-17 -3.2561964e-17 5.7807548e-17 2.685318e-25
|
||||
200 291.6011 48774461 2.4897987e-17 4.8305863e-17 7.320385e-17 -3.3268705e-17 5.8166692e-17 2.685318e-25
|
||||
300 291.50656 37655969 2.4389062e-17 4.8290201e-17 7.2679262e-17 -3.3428236e-17 5.7817297e-17 2.685318e-25
|
||||
400 287.23427 25920755 2.4747225e-17 4.7582464e-17 7.2329689e-17 -3.3065908e-17 5.7813133e-17 2.685318e-25
|
||||
500 288.56911 -9297451 2.4379025e-17 4.7803591e-17 7.2182615e-17 -3.3515426e-17 5.7894451e-17 2.685318e-25
|
||||
600 291.82949 20083719 2.3686904e-17 4.8343696e-17 7.2030599e-17 -3.3468666e-17 5.7155569e-17 2.685318e-25
|
||||
700 290.64445 60535932 2.3704156e-17 4.8147386e-17 7.1851542e-17 -3.3299994e-17 5.700415e-17 2.685318e-25
|
||||
800 293.01243 38119194 2.3163674e-17 4.8539659e-17 7.1703333e-17 -3.3641284e-17 5.6804958e-17 2.685318e-25
|
||||
900 289.1191 32514067 2.3608264e-17 4.7894701e-17 7.1502965e-17 -3.3787865e-17 5.7396129e-17 2.685318e-25
|
||||
1000 292.45834 -714652.68 2.2885394e-17 4.8447871e-17 7.1333265e-17 -3.3864138e-17 5.6749532e-17 2.685318e-25
|
||||
Loop time of 2.33734 on 4 procs for 1000 steps with 8000 atoms
|
||||
|
||||
92.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.474 | 1.5509 | 1.6662 | 5.7 | 66.35
|
||||
Bond | 0.18735 | 0.19226 | 0.20418 | 1.6 | 8.23
|
||||
Neigh | 0.11755 | 0.11806 | 0.11861 | 0.1 | 5.05
|
||||
Comm | 0.28111 | 0.41325 | 0.49073 | 12.3 | 17.68
|
||||
Output | 0.00020343 | 0.00056368 | 0.0016305 | 0.0 | 0.02
|
||||
Modify | 0.038727 | 0.044364 | 0.050037 | 2.6 | 1.90
|
||||
Other | | 0.01797 | | | 0.77
|
||||
|
||||
Nlocal: 2000.00 ave 2013 max 1987 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Nghost: 9887.00 ave 9898 max 9865 min
|
||||
Histogram: 1 0 0 0 0 0 0 1 1 1
|
||||
Neighs: 108571.0 ave 110054 max 107417 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 434283
|
||||
Ave neighs/atom = 54.285375
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
#write_data Data.22DMH.out.relres pair ij
|
||||
#pair_write 1 1 1201 r 0.2e-9 1.4e-9 potential.relres LJ11
|
||||
#pair_write 2 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ22
|
||||
#pair_write 1 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ12
|
||||
Total wall time: 0:00:02
|
||||
170
examples/relres/log.05Mar21.22DMH.respa.g++.1
Normal file
170
examples/relres/log.05Mar21.22DMH.respa.g++.1
Normal file
@ -0,0 +1,170 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units si
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
|
||||
pair_style hybrid lj/relres 0.675e-9 0.725e-9 1.2e-9 1.4e-9 lj/relres 0.675e-9 .725e-9 1.2e-9 1.4e-9
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
read_data Data.22DMH.in.relres
|
||||
Reading data file ...
|
||||
orthogonal box = (3.7421629e-10 3.7421629e-10 3.7421629e-10) to (6.8257837e-09 6.8257837e-09 6.8257837e-09)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
8000 atoms
|
||||
reading velocities ...
|
||||
8000 velocities
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
3 = max dihedrals/atom
|
||||
reading bonds ...
|
||||
7000 bonds
|
||||
reading angles ...
|
||||
9000 angles
|
||||
reading dihedrals ...
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.002 seconds
|
||||
read_data CPU = 0.035 seconds
|
||||
pair_coeff 1 1 lj/relres 1 3.47385e-22 3.8e-10 2.02372e-20 3.9309e-10 6.75e-10 7.25e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 1 2 lj/relres 1 5.33663e-22 3.85214e-10 1.31068e-20 3.91793e-10 6.22997e-10 6.73146e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 1 3 lj/relres 2 5.33663e-22 3.85214e-10 0 3.91793e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 1 4 lj/relres 2 5.33663e-22 3.85214e-10 0 3.91793e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 1 5 lj/relres 2 5.91576e-22 3.87918e-10 0 3.94542e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 1 6 lj/relres 2 6.49898e-22 3.85214e-10 0 3.91793e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 2 lj/relres 1 8.19828e-22 3.905e-10 8.48872e-21 3.905e-10 5.75e-10 6.25e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 2 3 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 2 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 3 3 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 3 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 3 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 3 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 4 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 4 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 4 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 5 5 lj/relres 2 1.00742e-21 3.96e-10 0 3.96e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 5 6 lj/relres 2 1.10674e-21 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 6 6 lj/relres 2 1.21585e-21 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
|
||||
pair_modify shift yes
|
||||
neighbor 2.0e-10 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 2.0e-15
|
||||
thermo 50
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e-13
|
||||
|
||||
run_style respa 2 2 hybrid 1 2
|
||||
Respa levels:
|
||||
1 = bond angle dihedral improper hybrid-1
|
||||
2 = hybrid-2 kspace
|
||||
|
||||
run 500
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Pair style lj/relres: doi:10.1021/acs.jctc.0c01003
|
||||
|
||||
@Article{Chaimovich1,
|
||||
author = {A. Chaimovich, C. Peter, K. Kremer},
|
||||
title = {Relative resolution: A hybrid formalism for fluid mixtures},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2015,
|
||||
volume = 143,
|
||||
pages = {243107}
|
||||
@Article{Chaimovich2,
|
||||
author = {M. Chaimovich, A. Chaimovich},
|
||||
title = {Relative Resolution: A Computationally Efficient Implementation in LAMMPS},
|
||||
journal = {J.~Chem.~Theory~Comput.},
|
||||
year = 2021,
|
||||
volume = 17,
|
||||
pages = {1045--1059}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.6e-09
|
||||
ghost atom cutoff = 1.6e-09
|
||||
binsize = 8e-10, bins = 9 9 9
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair lj/relres, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/relres, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 24.68 | 24.68 | 24.68 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
0 286.85659 -21399113 2.6345159e-17 4.7519899e-17 7.3865059e-17 -3.3260563e-17 5.9605722e-17 2.685318e-25
|
||||
50 292.22255 10509008 2.525105e-17 4.840881e-17 7.3659861e-17 -3.2554301e-17 5.7805351e-17 2.685318e-25
|
||||
100 291.58497 48053357 2.4902763e-17 4.8303191e-17 7.3205953e-17 -3.325361e-17 5.8156373e-17 2.685318e-25
|
||||
150 291.49413 37394583 2.4391667e-17 4.8288142e-17 7.2679809e-17 -3.3414422e-17 5.7806089e-17 2.685318e-25
|
||||
200 287.20382 26161531 2.4752701e-17 4.7577421e-17 7.2330122e-17 -3.3050943e-17 5.7803644e-17 2.685318e-25
|
||||
250 288.54952 -9191037 2.4382928e-17 4.7800345e-17 7.2183273e-17 -3.3506471e-17 5.78894e-17 2.685318e-25
|
||||
300 291.83353 19619708 2.369006e-17 4.8344366e-17 7.2034426e-17 -3.3461257e-17 5.7151317e-17 2.685318e-25
|
||||
350 290.64842 60193012 2.3711746e-17 4.8148044e-17 7.185979e-17 -3.3286381e-17 5.6998127e-17 2.685318e-25
|
||||
400 293.0168 38268765 2.3173289e-17 4.8540384e-17 7.1713672e-17 -3.3633853e-17 5.6807142e-17 2.685318e-25
|
||||
450 289.19195 33053376 2.36093e-17 4.7906769e-17 7.151607e-17 -3.3774223e-17 5.7383524e-17 2.685318e-25
|
||||
500 292.43942 -684078.27 2.2898459e-17 4.8444735e-17 7.1343194e-17 -3.3856946e-17 5.6755405e-17 2.685318e-25
|
||||
Loop time of 4.85018 on 1 procs for 500 steps with 8000 atoms
|
||||
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.4622 | 3.4622 | 3.4622 | 0.0 | 71.38
|
||||
Bond | 0.68987 | 0.68987 | 0.68987 | 0.0 | 14.22
|
||||
Neigh | 0.44102 | 0.44102 | 0.44102 | 0.0 | 9.09
|
||||
Comm | 0.087413 | 0.087413 | 0.087413 | 0.0 | 1.80
|
||||
Output | 0.00034455 | 0.00034455 | 0.00034455 | 0.0 | 0.01
|
||||
Modify | 0.084174 | 0.084174 | 0.084174 | 0.0 | 1.74
|
||||
Other | | 0.08514 | | | 1.76
|
||||
|
||||
Nlocal: 8000.00 ave 8000 max 8000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 18908.0 ave 18908 max 18908 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
#write_data Data.22DMH.out.relres pair ij
|
||||
#pair_write 1 1 1201 r 0.2e-9 1.4e-9 potential.relres LJ11
|
||||
#pair_write 2 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ22
|
||||
#pair_write 1 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ12
|
||||
Total wall time: 0:00:04
|
||||
170
examples/relres/log.05Mar21.22DMH.respa.g++.4
Normal file
170
examples/relres/log.05Mar21.22DMH.respa.g++.4
Normal file
@ -0,0 +1,170 @@
|
||||
LAMMPS (10 Feb 2021)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units si
|
||||
atom_style molecular
|
||||
boundary p p p
|
||||
dielectric 1
|
||||
special_bonds lj/coul 0.0 0.0 0.5
|
||||
|
||||
pair_style hybrid lj/relres 0.675e-9 0.725e-9 1.2e-9 1.4e-9 lj/relres 0.675e-9 .725e-9 1.2e-9 1.4e-9
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
dihedral_style fourier
|
||||
read_data Data.22DMH.in.relres
|
||||
Reading data file ...
|
||||
orthogonal box = (3.7421629e-10 3.7421629e-10 3.7421629e-10) to (6.8257837e-09 6.8257837e-09 6.8257837e-09)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
8000 atoms
|
||||
reading velocities ...
|
||||
8000 velocities
|
||||
scanning bonds ...
|
||||
4 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
3 = max dihedrals/atom
|
||||
reading bonds ...
|
||||
7000 bonds
|
||||
reading angles ...
|
||||
9000 angles
|
||||
reading dihedrals ...
|
||||
5000 dihedrals
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0.5
|
||||
special bond factors coul: 0 0 0.5
|
||||
4 = max # of 1-2 neighbors
|
||||
4 = max # of 1-3 neighbors
|
||||
5 = max # of 1-4 neighbors
|
||||
7 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.036 seconds
|
||||
pair_coeff 1 1 lj/relres 1 3.47385e-22 3.8e-10 2.02372e-20 3.9309e-10 6.75e-10 7.25e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 1 2 lj/relres 1 5.33663e-22 3.85214e-10 1.31068e-20 3.91793e-10 6.22997e-10 6.73146e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 1 3 lj/relres 2 5.33663e-22 3.85214e-10 0 3.91793e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 1 4 lj/relres 2 5.33663e-22 3.85214e-10 0 3.91793e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 1 5 lj/relres 2 5.91576e-22 3.87918e-10 0 3.94542e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 1 6 lj/relres 2 6.49898e-22 3.85214e-10 0 3.91793e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 2 lj/relres 1 8.19828e-22 3.905e-10 8.48872e-21 3.905e-10 5.75e-10 6.25e-10 1.2e-09 1.4e-09
|
||||
pair_coeff 2 3 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 2 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 2 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 3 3 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 3 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 3 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 3 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 4 4 lj/relres 2 8.19828e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 4 5 lj/relres 2 9.08797e-22 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 4 6 lj/relres 2 9.98393e-22 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
pair_coeff 5 5 lj/relres 2 1.00742e-21 3.96e-10 0 3.96e-10 6.75e-10 7.25e-10 7.25e-10 7.25e-10
|
||||
pair_coeff 5 6 lj/relres 2 1.10674e-21 3.9324e-10 0 3.9324e-10 6.22997e-10 6.73146e-10 6.73146e-10 6.73146e-10
|
||||
pair_coeff 6 6 lj/relres 2 1.21585e-21 3.905e-10 0 3.905e-10 5.75e-10 6.25e-10 6.25e-10 6.25e-10
|
||||
|
||||
pair_modify shift yes
|
||||
neighbor 2.0e-10 bin
|
||||
neigh_modify every 2 delay 4 check yes
|
||||
|
||||
timestep 2.0e-15
|
||||
thermo 50
|
||||
thermo_style custom step temp press pe ke etotal epair emol vol
|
||||
fix 2 all nvt temp 290 290 2.0e-13
|
||||
|
||||
run_style respa 2 2 hybrid 1 2
|
||||
Respa levels:
|
||||
1 = bond angle dihedral improper hybrid-1
|
||||
2 = hybrid-2 kspace
|
||||
|
||||
run 500
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- Pair style lj/relres: doi:10.1021/acs.jctc.0c01003
|
||||
|
||||
@Article{Chaimovich1,
|
||||
author = {A. Chaimovich, C. Peter, K. Kremer},
|
||||
title = {Relative resolution: A hybrid formalism for fluid mixtures},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2015,
|
||||
volume = 143,
|
||||
pages = {243107}
|
||||
@Article{Chaimovich2,
|
||||
author = {M. Chaimovich, A. Chaimovich},
|
||||
title = {Relative Resolution: A Computationally Efficient Implementation in LAMMPS},
|
||||
journal = {J.~Chem.~Theory~Comput.},
|
||||
year = 2021,
|
||||
volume = 17,
|
||||
pages = {1045--1059}
|
||||
}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Neighbor list info ...
|
||||
update every 2 steps, delay 4 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.6e-09
|
||||
ghost atom cutoff = 1.6e-09
|
||||
binsize = 8e-10, bins = 9 9 9
|
||||
3 neighbor lists, perpetual/occasional/extra = 3 0 0
|
||||
(1) pair lj/relres, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/relres, perpetual, skip from (3)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) neighbor class addition, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.35 | 12.35 | 12.35 Mbytes
|
||||
Step Temp Press PotEng KinEng TotEng E_pair E_mol Volume
|
||||
0 286.85659 -21399113 2.6345159e-17 4.7519899e-17 7.3865059e-17 -3.3260563e-17 5.9605722e-17 2.685318e-25
|
||||
50 292.22255 10509008 2.525105e-17 4.840881e-17 7.3659861e-17 -3.2554301e-17 5.7805351e-17 2.685318e-25
|
||||
100 291.58497 48053357 2.4902763e-17 4.8303191e-17 7.3205953e-17 -3.325361e-17 5.8156373e-17 2.685318e-25
|
||||
150 291.49413 37394583 2.4391667e-17 4.8288142e-17 7.2679809e-17 -3.3414422e-17 5.7806089e-17 2.685318e-25
|
||||
200 287.20382 26161531 2.4752701e-17 4.7577421e-17 7.2330122e-17 -3.3050943e-17 5.7803644e-17 2.685318e-25
|
||||
250 288.54952 -9191037 2.4382928e-17 4.7800345e-17 7.2183273e-17 -3.3506471e-17 5.78894e-17 2.685318e-25
|
||||
300 291.83353 19619708 2.369006e-17 4.8344366e-17 7.2034426e-17 -3.3461257e-17 5.7151317e-17 2.685318e-25
|
||||
350 290.64842 60193012 2.3711746e-17 4.8148044e-17 7.185979e-17 -3.3286381e-17 5.6998127e-17 2.685318e-25
|
||||
400 293.0168 38268765 2.3173289e-17 4.8540384e-17 7.1713672e-17 -3.3633853e-17 5.6807142e-17 2.685318e-25
|
||||
450 289.19195 33053376 2.36093e-17 4.7906769e-17 7.151607e-17 -3.3774223e-17 5.7383524e-17 2.685318e-25
|
||||
500 292.43942 -684078.27 2.2898459e-17 4.8444735e-17 7.1343194e-17 -3.3856946e-17 5.6755405e-17 2.685318e-25
|
||||
Loop time of 1.76801 on 4 procs for 500 steps with 8000 atoms
|
||||
|
||||
91.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.93397 | 0.97055 | 1.0377 | 4.0 | 54.89
|
||||
Bond | 0.18914 | 0.19729 | 0.20727 | 1.5 | 11.16
|
||||
Neigh | 0.12623 | 0.12644 | 0.12663 | 0.1 | 7.15
|
||||
Comm | 0.31509 | 0.39593 | 0.44272 | 7.7 | 22.39
|
||||
Output | 0.00031866 | 0.00034685 | 0.00041755 | 0.0 | 0.02
|
||||
Modify | 0.035567 | 0.037833 | 0.039797 | 0.8 | 2.14
|
||||
Other | | 0.03963 | | | 2.24
|
||||
|
||||
Nlocal: 2000.00 ave 2016 max 1985 min
|
||||
Histogram: 1 0 0 0 1 1 0 0 0 1
|
||||
Nghost: 9883.00 ave 9895 max 9866 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
Neighs: 0.00000 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 0
|
||||
Ave neighs/atom = 0.0000000
|
||||
Ave special neighs/atom = 5.2500000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
#write_data Data.22DMH.out.relres pair ij
|
||||
#pair_write 1 1 1201 r 0.2e-9 1.4e-9 potential.relres LJ11
|
||||
#pair_write 2 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ22
|
||||
#pair_write 1 2 1201 r 0.2e-9 1.4e-9 potential.relres LJ12
|
||||
Total wall time: 0:00:01
|
||||
194
src/USER-OMP/pair_lj_relres_omp.cpp
Normal file
194
src/USER-OMP/pair_lj_relres_omp.cpp
Normal file
@ -0,0 +1,194 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
This software is distributed under the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Axel Kohlmeyer (Temple U)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_lj_relres_omp.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "force.h"
|
||||
#include "neigh_list.h"
|
||||
#include "suffix.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
#include "omp_compat.h"
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairLJRelResOMP::PairLJRelResOMP(LAMMPS *lmp) :
|
||||
PairLJRelRes(lmp), ThrOMP(lmp, THR_PAIR)
|
||||
{
|
||||
suffix_flag |= Suffix::OMP;
|
||||
respa_enable = 0;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelResOMP::compute(int eflag, int vflag)
|
||||
{
|
||||
ev_init(eflag,vflag);
|
||||
|
||||
const int nall = atom->nlocal + atom->nghost;
|
||||
const int nthreads = comm->nthreads;
|
||||
const int inum = list->inum;
|
||||
|
||||
#if defined(_OPENMP)
|
||||
#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag)
|
||||
#endif
|
||||
{
|
||||
int ifrom, ito, tid;
|
||||
|
||||
loop_setup_thr(ifrom, ito, tid, inum, nthreads);
|
||||
ThrData *thr = fix->get_thr(tid);
|
||||
thr->timer(Timer::START);
|
||||
ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr);
|
||||
|
||||
if (evflag) {
|
||||
if (eflag) {
|
||||
if (force->newton_pair) eval<1,1,1>(ifrom, ito, thr);
|
||||
else eval<1,1,0>(ifrom, ito, thr);
|
||||
} else {
|
||||
if (force->newton_pair) eval<1,0,1>(ifrom, ito, thr);
|
||||
else eval<1,0,0>(ifrom, ito, thr);
|
||||
}
|
||||
} else {
|
||||
if (force->newton_pair) eval<0,0,1>(ifrom, ito, thr);
|
||||
else eval<0,0,0>(ifrom, ito, thr);
|
||||
}
|
||||
|
||||
thr->timer(Timer::PAIR);
|
||||
reduce_thr(this, eflag, vflag, thr);
|
||||
} // end of omp parallel region
|
||||
}
|
||||
|
||||
template <int EVFLAG, int EFLAG, int NEWTON_PAIR>
|
||||
void PairLJRelResOMP::eval(int iifrom, int iito, ThrData * const thr)
|
||||
{
|
||||
int i,j,ii,jj,jnum,itype,jtype;
|
||||
double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair;
|
||||
double rsq,r2inv,r6inv,forcelj,factor_lj;
|
||||
double r,t,tsq,fskin;
|
||||
int *ilist,*jlist,*numneigh,**firstneigh;
|
||||
|
||||
evdwl = 0.0;
|
||||
|
||||
const dbl3_t * _noalias const x = (dbl3_t *) atom->x[0];
|
||||
dbl3_t * _noalias const f = (dbl3_t *) thr->get_f()[0];
|
||||
const int * _noalias const type = atom->type;
|
||||
const int nlocal = atom->nlocal;
|
||||
const double * _noalias const special_lj = force->special_lj;
|
||||
double fxtmp,fytmp,fztmp;
|
||||
|
||||
ilist = list->ilist;
|
||||
numneigh = list->numneigh;
|
||||
firstneigh = list->firstneigh;
|
||||
|
||||
// loop over neighbors of my atoms
|
||||
|
||||
for (ii = iifrom; ii < iito; ++ii) {
|
||||
|
||||
i = ilist[ii];
|
||||
xtmp = x[i].x;
|
||||
ytmp = x[i].y;
|
||||
ztmp = x[i].z;
|
||||
itype = type[i];
|
||||
jlist = firstneigh[i];
|
||||
jnum = numneigh[i];
|
||||
fxtmp=fytmp=fztmp=0.0;
|
||||
|
||||
for (jj = 0; jj < jnum; jj++) {
|
||||
j = jlist[jj];
|
||||
factor_lj = special_lj[sbmask(j)];
|
||||
j &= NEIGHMASK;
|
||||
|
||||
delx = xtmp - x[j].x;
|
||||
dely = ytmp - x[j].y;
|
||||
delz = ztmp - x[j].z;
|
||||
rsq = delx*delx + dely*dely + delz*delz;
|
||||
jtype = type[j];
|
||||
|
||||
if (rsq < cutsq[itype][jtype]) {
|
||||
r2inv = 1.0/rsq;
|
||||
if (rsq < cutf_inner_sq[itype][jtype]) {
|
||||
r6inv = r2inv*r2inv*r2inv;
|
||||
forcelj = r6inv*(ljf1[itype][jtype]*r6inv-ljf2[itype][jtype]);
|
||||
} else if (rsq < cutfsq[itype][jtype]) {
|
||||
r = sqrt(rsq);
|
||||
t = r - cutf_inner[itype][jtype];
|
||||
tsq = t*t;
|
||||
fskin = ljswf1[itype][jtype]+ljswf2[itype][jtype]*t+
|
||||
ljswf3[itype][jtype]*tsq+ljswf4[itype][jtype]*tsq*t;
|
||||
forcelj = fskin*r;
|
||||
} else if (rsq < cut_inner_sq[itype][jtype]) {
|
||||
r6inv = r2inv*r2inv*r2inv;
|
||||
forcelj = r6inv*(lj1[itype][jtype]*r6inv-lj2[itype][jtype]);
|
||||
} else {
|
||||
r = sqrt(rsq);
|
||||
t = r-cut_inner[itype][jtype];
|
||||
tsq = t*t;
|
||||
fskin = ljsw1[itype][jtype]+ljsw2[itype][jtype]*t+
|
||||
ljsw3[itype][jtype]*tsq+ljsw4[itype][jtype]*tsq*t;
|
||||
forcelj = fskin*r;
|
||||
}
|
||||
|
||||
fpair = factor_lj*forcelj*r2inv;
|
||||
|
||||
fxtmp += delx*fpair;
|
||||
fytmp += dely*fpair;
|
||||
fztmp += delz*fpair;
|
||||
if (NEWTON_PAIR || j < nlocal) {
|
||||
f[j].x -= delx*fpair;
|
||||
f[j].y -= dely*fpair;
|
||||
f[j].z -= delz*fpair;
|
||||
}
|
||||
|
||||
if (EFLAG) {
|
||||
if (rsq < cutf_inner_sq[itype][jtype]) {
|
||||
evdwl = r6inv*(ljf3[itype][jtype]*r6inv-
|
||||
ljf4[itype][jtype])-offsetsm[itype][jtype];
|
||||
} else if (rsq < cutfsq[itype][jtype]) {
|
||||
evdwl = ljswf0[itype][jtype]-ljswf1[itype][jtype]*t-
|
||||
ljswf2[itype][jtype]*tsq/2.0-ljswf3[itype][jtype]*tsq*t/3.0-
|
||||
ljswf4[itype][jtype]*tsq*tsq/4.0-offsetsp[itype][jtype];
|
||||
} else if (rsq < cut_inner_sq[itype][jtype]) {
|
||||
evdwl = r6inv*(lj3[itype][jtype]*r6inv-
|
||||
lj4[itype][jtype])-offset[itype][jtype];
|
||||
} else {
|
||||
evdwl = ljsw0[itype][jtype]-ljsw1[itype][jtype]*t-
|
||||
ljsw2[itype][jtype]*tsq/2.0-ljsw3[itype][jtype]*tsq*t/3.0-
|
||||
ljsw4[itype][jtype]*tsq*tsq/4.0-offset[itype][jtype];
|
||||
}
|
||||
evdwl *= factor_lj;
|
||||
}
|
||||
|
||||
if (EVFLAG) ev_tally_thr(this,i,j,nlocal,NEWTON_PAIR,
|
||||
evdwl,0.0,fpair,delx,dely,delz,thr);
|
||||
}
|
||||
}
|
||||
f[i].x += fxtmp;
|
||||
f[i].y += fytmp;
|
||||
f[i].z += fztmp;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
double PairLJRelResOMP::memory_usage()
|
||||
{
|
||||
double bytes = memory_usage_thr();
|
||||
bytes += PairLJRelRes::memory_usage();
|
||||
|
||||
return bytes;
|
||||
}
|
||||
48
src/USER-OMP/pair_lj_relres_omp.h
Normal file
48
src/USER-OMP/pair_lj_relres_omp.h
Normal file
@ -0,0 +1,48 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Axel Kohlmeyer (Temple U)
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
|
||||
PairStyle(lj/relres/omp,PairLJRelResOMP)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_LJ_RELRES_OMP_H
|
||||
#define LMP_PAIR_LJ_RELRES_OMP_H
|
||||
|
||||
#include "pair_lj_relres.h"
|
||||
#include "thr_omp.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairLJRelResOMP : public PairLJRelRes, public ThrOMP {
|
||||
|
||||
public:
|
||||
PairLJRelResOMP(class LAMMPS *);
|
||||
|
||||
virtual void compute(int, int);
|
||||
virtual double memory_usage();
|
||||
|
||||
private:
|
||||
template <int EVFLAG, int EFLAG, int NEWTON_PAIR>
|
||||
void eval(int ifrom, int ito, ThrData * const thr);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
744
src/pair_lj_relres.cpp
Normal file
744
src/pair_lj_relres.cpp
Normal file
@ -0,0 +1,744 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
Contributing author: Mark Chaimovich(RSM) mark.chaimovich@russianschool.com
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "pair_lj_relres.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "citeme.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "neigh_list.h"
|
||||
#include "memory.h"
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdlib>
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
static const char cite_relres[] =
|
||||
"Pair style lj/relres: doi:10.1021/acs.jctc.0c01003\n\n"
|
||||
"@Article{Chaimovich1,\n"
|
||||
" author = {A. Chaimovich, C. Peter, K. Kremer},\n"
|
||||
" title = {Relative resolution: A hybrid formalism for fluid mixtures},\n"
|
||||
" journal = {J.~Chem.~Phys.},\n"
|
||||
" year = 2015,\n"
|
||||
" volume = 143,\n"
|
||||
" pages = {243107}\n"
|
||||
"@Article{Chaimovich2,\n"
|
||||
" author = {M. Chaimovich, A. Chaimovich},\n"
|
||||
" title = {Relative Resolution: A Computationally Efficient Implementation in LAMMPS},\n"
|
||||
" journal = {J.~Chem.~Theory~Comput.},\n"
|
||||
" year = 2021,\n"
|
||||
" volume = 17,\n"
|
||||
" pages = {1045--1059}\n"
|
||||
"}\n\n";
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairLJRelRes::PairLJRelRes(LAMMPS *lmp) : Pair(lmp)
|
||||
{
|
||||
if (lmp->citeme) lmp->citeme->add(cite_relres);
|
||||
writedata = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
PairLJRelRes::~PairLJRelRes()
|
||||
{
|
||||
if (allocated) {
|
||||
memory->destroy(setflag);
|
||||
memory->destroy(cutsq);
|
||||
memory->destroy(cutfsq);
|
||||
|
||||
memory->destroy(cut);
|
||||
memory->destroy(cut_inner);
|
||||
memory->destroy(cut_inner_sq);
|
||||
memory->destroy(cutf);
|
||||
memory->destroy(cutf_inner);
|
||||
memory->destroy(cutf_inner_sq);
|
||||
memory->destroy(epsilon);
|
||||
memory->destroy(sigma);
|
||||
memory->destroy(epsilonf);
|
||||
memory->destroy(sigmaf);
|
||||
memory->destroy(lj1);
|
||||
memory->destroy(lj2);
|
||||
memory->destroy(lj3);
|
||||
memory->destroy(lj4);
|
||||
memory->destroy(ljsw0);
|
||||
memory->destroy(ljsw1);
|
||||
memory->destroy(ljsw2);
|
||||
memory->destroy(ljsw3);
|
||||
memory->destroy(ljsw4);
|
||||
memory->destroy(ljf1);
|
||||
memory->destroy(ljf2);
|
||||
memory->destroy(ljf3);
|
||||
memory->destroy(ljf4);
|
||||
memory->destroy(ljswf0);
|
||||
memory->destroy(ljswf1);
|
||||
memory->destroy(ljswf2);
|
||||
memory->destroy(ljswf3);
|
||||
memory->destroy(ljswf4);
|
||||
memory->destroy(offset);
|
||||
memory->destroy(offsetsm);
|
||||
memory->destroy(offsetsp);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::compute(int eflag, int vflag)
|
||||
{
|
||||
int i,j,ii,jj,inum,jnum,itype,jtype;
|
||||
double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair;
|
||||
double rsq,r2inv,r6inv,forcelj,factor_lj;
|
||||
double r,t,tsq,fskin;
|
||||
int *ilist,*jlist,*numneigh,**firstneigh;
|
||||
|
||||
evdwl = 0.0;
|
||||
ev_init(eflag,vflag);
|
||||
|
||||
double **x = atom->x;
|
||||
double **f = atom->f;
|
||||
int *type = atom->type;
|
||||
int nlocal = atom->nlocal;
|
||||
double *special_lj = force->special_lj;
|
||||
int newton_pair = force->newton_pair;
|
||||
|
||||
inum = list->inum;
|
||||
ilist = list->ilist;
|
||||
numneigh = list->numneigh;
|
||||
firstneigh = list->firstneigh;
|
||||
|
||||
// loop over neighbors of my atoms
|
||||
|
||||
for (ii = 0; ii < inum; ii++) {
|
||||
i = ilist[ii];
|
||||
xtmp = x[i][0];
|
||||
ytmp = x[i][1];
|
||||
ztmp = x[i][2];
|
||||
itype = type[i];
|
||||
jlist = firstneigh[i];
|
||||
jnum = numneigh[i];
|
||||
|
||||
for (jj = 0; jj < jnum; jj++) {
|
||||
j = jlist[jj];
|
||||
factor_lj = special_lj[sbmask(j)];
|
||||
j &= NEIGHMASK;
|
||||
|
||||
delx = xtmp - x[j][0];
|
||||
dely = ytmp - x[j][1];
|
||||
delz = ztmp - x[j][2];
|
||||
rsq = delx*delx + dely*dely + delz*delz;
|
||||
jtype = type[j];
|
||||
|
||||
if (rsq < cutsq[itype][jtype]) {
|
||||
r2inv = 1.0/rsq;
|
||||
if (rsq < cutf_inner_sq[itype][jtype]) {
|
||||
r6inv = r2inv*r2inv*r2inv;
|
||||
forcelj = r6inv*(ljf1[itype][jtype]*r6inv-ljf2[itype][jtype]);
|
||||
} else if (rsq < cutfsq[itype][jtype]) {
|
||||
r = sqrt(rsq);
|
||||
t = r - cutf_inner[itype][jtype];
|
||||
tsq = t*t;
|
||||
fskin = ljswf1[itype][jtype]+ljswf2[itype][jtype]*t+
|
||||
ljswf3[itype][jtype]*tsq+ljswf4[itype][jtype]*tsq*t;
|
||||
forcelj = fskin*r;
|
||||
} else if (rsq < cut_inner_sq[itype][jtype]) {
|
||||
r6inv = r2inv*r2inv*r2inv;
|
||||
forcelj = r6inv*(lj1[itype][jtype]*r6inv-lj2[itype][jtype]);
|
||||
} else {
|
||||
r = sqrt(rsq);
|
||||
t = r-cut_inner[itype][jtype];
|
||||
tsq = t*t;
|
||||
fskin = ljsw1[itype][jtype]+ljsw2[itype][jtype]*t+
|
||||
ljsw3[itype][jtype]*tsq+ljsw4[itype][jtype]*tsq*t;
|
||||
forcelj = fskin*r;
|
||||
}
|
||||
|
||||
fpair = factor_lj*forcelj*r2inv;
|
||||
|
||||
f[i][0] += delx*fpair;
|
||||
f[i][1] += dely*fpair;
|
||||
f[i][2] += delz*fpair;
|
||||
if (newton_pair || j < nlocal) {
|
||||
f[j][0] -= delx*fpair;
|
||||
f[j][1] -= dely*fpair;
|
||||
f[j][2] -= delz*fpair;
|
||||
}
|
||||
|
||||
if (eflag) {
|
||||
if (rsq < cutf_inner_sq[itype][jtype]) {
|
||||
evdwl = r6inv*(ljf3[itype][jtype]*r6inv-
|
||||
ljf4[itype][jtype])-offsetsm[itype][jtype];
|
||||
} else if (rsq < cutfsq[itype][jtype]) {
|
||||
evdwl = ljswf0[itype][jtype]-ljswf1[itype][jtype]*t-
|
||||
ljswf2[itype][jtype]*tsq/2.0-ljswf3[itype][jtype]*tsq*t/3.0-
|
||||
ljswf4[itype][jtype]*tsq*tsq/4.0-offsetsp[itype][jtype];
|
||||
} else if (rsq < cut_inner_sq[itype][jtype]) {
|
||||
evdwl = r6inv*(lj3[itype][jtype]*r6inv-
|
||||
lj4[itype][jtype])-offset[itype][jtype];
|
||||
} else {
|
||||
evdwl = ljsw0[itype][jtype]-ljsw1[itype][jtype]*t-
|
||||
ljsw2[itype][jtype]*tsq/2.0-ljsw3[itype][jtype]*tsq*t/3.0-
|
||||
ljsw4[itype][jtype]*tsq*tsq/4.0-offset[itype][jtype];
|
||||
}
|
||||
evdwl *= factor_lj;
|
||||
}
|
||||
|
||||
if (evflag) ev_tally(i,j,nlocal,newton_pair,
|
||||
evdwl,0.0,fpair,delx,dely,delz);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (vflag_fdotr) virial_fdotr_compute();
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
allocate all arrays
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::allocate()
|
||||
{
|
||||
allocated = 1;
|
||||
int n = atom->ntypes;
|
||||
|
||||
memory->create(setflag,n+1,n+1,"pair:setflag");
|
||||
for (int i = 1; i <= n; i++)
|
||||
for (int j = i; j <= n; j++)
|
||||
setflag[i][j] = 0;
|
||||
|
||||
memory->create(cutsq,n+1,n+1,"pair:cutsq");
|
||||
memory->create(cutfsq,n+1,n+1,"pair:cutfsq");
|
||||
|
||||
memory->create(cut,n+1,n+1,"pair:cut");
|
||||
memory->create(cutf,n+1,n+1,"pair:cutf");
|
||||
memory->create(cut_inner,n+1,n+1,"pair:cut_inner");
|
||||
memory->create(cutf_inner,n+1,n+1,"pair:cutf_inner");
|
||||
memory->create(cut_inner_sq,n+1,n+1,"pair:cut_inner_sq");
|
||||
memory->create(cutf_inner_sq,n+1,n+1,"pair:cutf_inner_sq");
|
||||
memory->create(epsilon,n+1,n+1,"pair:epsilon");
|
||||
memory->create(sigma,n+1,n+1,"pair:sigma");
|
||||
memory->create(epsilonf,n+1,n+1,"pair:epsilonf");
|
||||
memory->create(sigmaf,n+1,n+1,"pair:sigmaf");
|
||||
memory->create(lj1,n+1,n+1,"pair:lj1");
|
||||
memory->create(lj2,n+1,n+1,"pair:lj2");
|
||||
memory->create(lj3,n+1,n+1,"pair:lj3");
|
||||
memory->create(lj4,n+1,n+1,"pair:lj4");
|
||||
memory->create(ljf1,n+1,n+1,"pair:ljf1");
|
||||
memory->create(ljf2,n+1,n+1,"pair:ljf2");
|
||||
memory->create(ljf3,n+1,n+1,"pair:ljf3");
|
||||
memory->create(ljf4,n+1,n+1,"pair:ljf4");
|
||||
memory->create(ljsw0,n+1,n+1,"pair:ljsw0");
|
||||
memory->create(ljsw1,n+1,n+1,"pair:ljsw1");
|
||||
memory->create(ljsw2,n+1,n+1,"pair:ljsw2");
|
||||
memory->create(ljsw3,n+1,n+1,"pair:ljsw3");
|
||||
memory->create(ljsw4,n+1,n+1,"pair:ljsw4");
|
||||
memory->create(ljswf0,n+1,n+1,"pair:ljswf0");
|
||||
memory->create(ljswf1,n+1,n+1,"pair:ljswf1");
|
||||
memory->create(ljswf2,n+1,n+1,"pair:ljswf2");
|
||||
memory->create(ljswf3,n+1,n+1,"pair:ljswf3");
|
||||
memory->create(ljswf4,n+1,n+1,"pair:ljswf4");
|
||||
memory->create(offset,n+1,n+1,"pair:offset");
|
||||
memory->create(offsetsp,n+1,n+1,"pair:offsetsp");
|
||||
memory->create(offsetsm,n+1,n+1,"pair:offsetsm");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
global settings
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::settings(int narg, char **arg)
|
||||
{
|
||||
if (narg != 4) error->all(FLERR,"Illegal pair_style command");
|
||||
|
||||
cutf_inner_global = utils::numeric(FLERR,arg[0],false,lmp);
|
||||
cutf_global = utils::numeric(FLERR,arg[1],false,lmp);
|
||||
cut_inner_global = utils::numeric(FLERR,arg[2],false,lmp);
|
||||
cut_global = utils::numeric(FLERR,arg[3],false,lmp);
|
||||
if (cut_inner_global <= 0.0 || cut_inner_global > cut_global)
|
||||
error->all(FLERR,"Illegal pair_style command");
|
||||
if (cutf_inner_global <= 0.0 || cutf_inner_global > cutf_global)
|
||||
error->all(FLERR,"Illegal pair_style command");
|
||||
if (cutf_global > cut_inner_global)
|
||||
error->all(FLERR,"Illegal pair_style command");
|
||||
|
||||
// reset cutoffs that have been explicitly set
|
||||
|
||||
if (allocated) {
|
||||
int i,j;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++)
|
||||
if (setflag[i][j]) {
|
||||
cut_inner[i][j] = cut_inner_global;
|
||||
cut[i][j] = cut_global;
|
||||
cutf_inner[i][j] = cutf_inner_global;
|
||||
cutf[i][j] = cutf_global;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
set coeffs for one or more type pairs
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::coeff(int narg, char **arg)
|
||||
{
|
||||
if (narg != 6 && narg != 10)
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
if (!allocated) allocate();
|
||||
|
||||
int ilo,ihi,jlo,jhi;
|
||||
utils::bounds(FLERR,arg[0],1,atom->ntypes,ilo,ihi,error);
|
||||
utils::bounds(FLERR,arg[1],1,atom->ntypes,jlo,jhi,error);
|
||||
|
||||
double epsilonf_one = utils::numeric(FLERR,arg[2],false,lmp);
|
||||
double sigmaf_one = utils::numeric(FLERR,arg[3],false,lmp);
|
||||
double epsilon_one = utils::numeric(FLERR,arg[4],false,lmp);
|
||||
double sigma_one = utils::numeric(FLERR,arg[5],false,lmp);
|
||||
|
||||
double cut_inner_one = cut_inner_global;
|
||||
double cut_one = cut_global;
|
||||
double cutf_inner_one = cutf_inner_global;
|
||||
double cutf_one = cutf_global;
|
||||
|
||||
if (narg == 10) {
|
||||
cutf_inner_one = utils::numeric(FLERR,arg[6],false,lmp);
|
||||
cutf_one = utils::numeric(FLERR,arg[7],false,lmp);
|
||||
cut_inner_one = utils::numeric(FLERR,arg[8],false,lmp);
|
||||
cut_one = utils::numeric(FLERR,arg[9],false,lmp);
|
||||
}
|
||||
|
||||
if (cut_inner_one <= 0.0 || cut_inner_one > cut_one)
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
if (cutf_inner_one <= 0.0 || cutf_inner_one > cutf_one)
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
if (cutf_one > cut_inner_one)
|
||||
error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
if (epsilon_one == 0.0) { //set cutoff for fg interactions
|
||||
cut_inner_one = cutf_one;
|
||||
cut_one = cutf_one;
|
||||
}
|
||||
|
||||
int count = 0;
|
||||
for (int i = ilo; i <= ihi; i++) {
|
||||
for (int j = MAX(jlo,i); j <= jhi; j++) {
|
||||
epsilon[i][j] = epsilon_one;
|
||||
sigma[i][j] = sigma_one;
|
||||
epsilonf[i][j] = epsilonf_one;
|
||||
sigmaf[i][j] = sigmaf_one;
|
||||
cut_inner[i][j] = cut_inner_one;
|
||||
cut[i][j] = cut_one;
|
||||
cutf_inner[i][j] = cutf_inner_one;
|
||||
cutf[i][j] = cutf_one;
|
||||
setflag[i][j] = 1;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients");
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
init for one type pair i,j and corresponding j,i
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double PairLJRelRes::init_one(int i, int j)
|
||||
{ double ljswc0,ljswc3,ljswc4;
|
||||
// mixing rules:
|
||||
// fg and cg - no mixing;
|
||||
// fg and fg or fg anf hybrid - mixing fg parameters only
|
||||
// cg and cg of cg and hybrid - mixing cg parameters only
|
||||
// hybrid and hybrid - mixing fg and cg parameters
|
||||
|
||||
if (setflag[i][j] == 0) {
|
||||
if (((epsilon[i][i] == 0.0) && (epsilonf[j][j] == 0.0))
|
||||
|| ((epsilonf[i][i] == 0.0) && (epsilon[j][j] == 0.0))) { //no mixing
|
||||
epsilon[i][j] = 0.0;
|
||||
epsilonf[i][j] = 0.0;
|
||||
sigma[i][j] = mix_distance(sigma[i][i],sigma[j][j]);
|
||||
sigmaf[i][j] = mix_distance(sigmaf[i][i],sigmaf[j][j]);
|
||||
cut_inner[i][j] = cutf[i][j] = cutf_inner[i][j] = cut[i][j] = 0.0;
|
||||
} else if ((epsilon[i][i] == 0.0) || (epsilon[j][j] == 0.0)) { // fg only
|
||||
epsilon[i][j] = 0.0;
|
||||
sigma[i][j] = mix_distance(sigma[i][i],sigma[j][j]);
|
||||
epsilonf[i][j] = mix_energy(epsilonf[i][i],epsilonf[j][j],
|
||||
sigmaf[i][i],sigmaf[j][j]);
|
||||
sigmaf[i][j] = mix_distance(sigmaf[i][i],sigmaf[j][j]);
|
||||
cutf_inner[i][j] = mix_distance(cutf_inner[i][i],cutf_inner[j][j]);
|
||||
cutf[i][j] = mix_distance(cutf[i][i],cutf[j][j]);
|
||||
cut_inner[i][j] = cutf[i][j];
|
||||
cut[i][j] = cutf[i][j];
|
||||
} else if ((epsilonf[i][i] == 0.0) || (epsilonf[j][j] == 0.0)) { // cg only
|
||||
epsilonf[i][j] = 0.0;
|
||||
epsilon[i][j] = mix_energy(epsilon[i][i],epsilon[j][j],
|
||||
sigma[i][i],sigma[j][j]);
|
||||
sigma[i][j] = mix_distance(sigma[i][i],sigma[j][j]);
|
||||
sigmaf[i][j] = mix_distance(sigmaf[i][i],sigmaf[j][j]);
|
||||
cut_inner[i][j] = mix_distance(cut_inner[i][i],cut_inner[j][j]);
|
||||
cut[i][j] = mix_distance(cut[i][i],cut[j][j]);
|
||||
cutf_inner[i][j] = mix_distance(cutf_inner[i][i],cutf_inner[j][j]);
|
||||
cutf[i][j] = mix_distance(cutf[i][i],cutf[j][j]);
|
||||
} else { // fg and cg
|
||||
epsilon[i][j] = mix_energy(epsilon[i][i],epsilon[j][j],
|
||||
sigma[i][i],sigma[j][j]);
|
||||
sigma[i][j] = mix_distance(sigma[i][i],sigma[j][j]);
|
||||
epsilonf[i][j] = mix_energy(epsilonf[i][i],epsilonf[j][j],
|
||||
sigmaf[i][i],sigmaf[j][j]);
|
||||
sigmaf[i][j] = mix_distance(sigmaf[i][i],sigmaf[j][j]);
|
||||
cut_inner[i][j] = mix_distance(cut_inner[i][i],cut_inner[j][j]);
|
||||
cut[i][j] = mix_distance(cut[i][i],cut[j][j]);
|
||||
cutf_inner[i][j] = mix_distance(cutf_inner[i][i],cutf_inner[j][j]);
|
||||
cutf[i][j] = mix_distance(cutf[i][i],cutf[j][j]);
|
||||
}
|
||||
}
|
||||
|
||||
cut_inner_sq[i][j] = cut_inner[i][j]*cut_inner[i][j];
|
||||
cutf_inner_sq[i][j] = cutf_inner[i][j]*cutf_inner[i][j];
|
||||
cutfsq[i][j] = cutf[i][j]*cutf[i][j];
|
||||
|
||||
if (epsilon[i][j] != 0) { // cg or fg+cg (cut coefficients)
|
||||
lj1[i][j] = 48.0 * epsilon[i][j] * pow(sigma[i][j],12.0);
|
||||
lj2[i][j] = 24.0 * epsilon[i][j] * pow(sigma[i][j],6.0);
|
||||
lj3[i][j] = 4.0 * epsilon[i][j] * pow(sigma[i][j],12.0);
|
||||
lj4[i][j] = 4.0 * epsilon[i][j] * pow(sigma[i][j],6.0);
|
||||
if (cut_inner[i][j] != cut[i][j]) {
|
||||
double r6inv = 1.0/pow(cut_inner[i][j],6.0);
|
||||
double t = cut[i][j] - cut_inner[i][j];
|
||||
double tsq = t*t;
|
||||
double ratio = sigma[i][j] / cut_inner[i][j];
|
||||
ljsw0[i][j] = 4.0*epsilon[i][j]*(pow(ratio,12.0) - pow(ratio,6.0));
|
||||
ljsw1[i][j] = r6inv*(lj1[i][j]*r6inv-lj2[i][j]) / cut_inner[i][j];
|
||||
ljsw2[i][j] = -r6inv * (13.0*lj1[i][j]*r6inv - 7.0*lj2[i][j]) /
|
||||
cut_inner_sq[i][j];
|
||||
ljsw3[i][j] = -(3.0/tsq) * (ljsw1[i][j] + 2.0/3.0*ljsw2[i][j]*t);
|
||||
ljsw4[i][j] = -1.0/(3.0*tsq) * (ljsw2[i][j] + 2.0*ljsw3[i][j]*t);
|
||||
if (offset_flag) {
|
||||
offset[i][j] = ljsw0[i][j] - ljsw1[i][j]*t - ljsw2[i][j]*tsq/2.0 -
|
||||
ljsw3[i][j]*tsq*t/3.0 - ljsw4[i][j]*tsq*tsq/4.0;
|
||||
} else offset[i][j] = 0.0;
|
||||
} else {
|
||||
ljsw0[i][j] = 0.0;
|
||||
ljsw1[i][j] = 0.0;
|
||||
ljsw2[i][j] = 0.0;
|
||||
ljsw3[i][j] = 0.0;
|
||||
ljsw4[i][j] = 0.0;
|
||||
double ratio = sigma[i][j] / cut_inner[i][j];
|
||||
if (offset_flag)
|
||||
offset[i][j] = 4.0*epsilon[i][j]*(pow(ratio,12.0) - pow(ratio,6.0));
|
||||
else offset[i][j] = 0.0;
|
||||
}
|
||||
} else {
|
||||
ljsw0[i][j] = 0.0;
|
||||
ljsw1[i][j] = 0.0;
|
||||
ljsw2[i][j] = 0.0;
|
||||
ljsw3[i][j] = 0.0;
|
||||
ljsw4[i][j] = 0.0;
|
||||
lj1[i][j] = 0.0;
|
||||
lj2[i][j] = 0.0;
|
||||
lj3[i][j] = 0.0;
|
||||
lj4[i][j] = 0.0;
|
||||
offset[i][j] = 0.0;
|
||||
}
|
||||
|
||||
if (epsilonf[i][j] != 0 ) { // fg (cut=cutf coefficients)
|
||||
ljf1[i][j] = 48.0 * epsilonf[i][j] * pow(sigmaf[i][j],12.0);
|
||||
ljf2[i][j] = 24.0 * epsilonf[i][j] * pow(sigmaf[i][j],6.0);
|
||||
ljf3[i][j] = 4.0 * epsilonf[i][j] * pow(sigmaf[i][j],12.0);
|
||||
ljf4[i][j] = 4.0 * epsilonf[i][j] * pow(sigmaf[i][j],6.0);
|
||||
if (cutf_inner[i][j] != cutf[i][j]) {
|
||||
double r6inv = 1.0/pow(cutf_inner[i][j],6.0);
|
||||
double t = cutf[i][j] - cutf_inner[i][j];
|
||||
double tsq = t*t;
|
||||
double ratio = sigmaf[i][j] / cutf_inner[i][j];
|
||||
ljswf0[i][j] = 4.0*epsilonf[i][j]*(pow(ratio,12.0) - pow(ratio,6.0));
|
||||
ljswf1[i][j] = r6inv*(ljf1[i][j]*r6inv-ljf2[i][j]) / cutf_inner[i][j];
|
||||
ljswf2[i][j] = -r6inv * (13.0*ljf1[i][j]*r6inv - 7.0*ljf2[i][j]) /
|
||||
cutf_inner_sq[i][j];
|
||||
ljswf3[i][j] = -(3.0/tsq) * (ljswf1[i][j] + 2.0/3.0*ljswf2[i][j]*t);
|
||||
ljswf4[i][j] = -1.0/(3.0*tsq) * (ljswf2[i][j] + 2.0*ljswf3[i][j]*t);
|
||||
offsetsp[i][j] = ljswf0[i][j] - ljswf1[i][j]*t - ljswf2[i][j]*tsq/2.0-
|
||||
ljswf3[i][j]*tsq*t/3.0 - ljswf4[i][j]*tsq*tsq/4.0;
|
||||
} else {
|
||||
ljswf0[i][j] = 0.0;
|
||||
ljswf1[i][j] = 0.0;
|
||||
ljswf2[i][j] = 0.0;
|
||||
ljswf3[i][j] = 0.0;
|
||||
ljswf4[i][j] = 0.0;
|
||||
double ratio = sigmaf[i][j] / cutf_inner[i][j];
|
||||
offsetsp[i][j] = 4.0*epsilonf[i][j]*(pow(ratio,12.0) - pow(ratio,6.0));
|
||||
}
|
||||
} else {
|
||||
ljswf0[i][j] = 0.0;
|
||||
ljswf1[i][j] = 0.0;
|
||||
ljswf2[i][j] = 0.0;
|
||||
ljswf3[i][j] = 0.0;
|
||||
ljswf4[i][j] = 0.0;
|
||||
ljf4[i][j] = 0.0;
|
||||
ljf1[i][j] = 0.0;
|
||||
ljf2[i][j] = 0.0;
|
||||
ljf3[i][j] = 0.0;
|
||||
offsetsp[i][j] = 0.0;
|
||||
}
|
||||
|
||||
if (epsilon[i][j] != 0) { // cg or fg+cg (cutf coefficients)
|
||||
if (cutf_inner[i][j] != cutf[i][j]) {
|
||||
double r2inv = 1.0/pow(cutf[i][j],2.0);
|
||||
double r6inv = r2inv * r2inv * r2inv;
|
||||
double t = cutf[i][j] - cutf_inner[i][j];
|
||||
double tsq = t*t;
|
||||
double tsqinv = 1.0/tsq;
|
||||
double ratio = sigma[i][j] / cutf[i][j];
|
||||
double Et = 4.0 * epsilon[i][j] * (pow(ratio,12.0) - pow(ratio,6.0));
|
||||
double Ft = r6inv * (lj1[i][j] * r6inv - lj2[i][j]) / cutf[i][j];
|
||||
double dFt = -r6inv * (13.0*lj1[i][j]*r6inv - 7.0*lj2[i][j]) * r2inv;
|
||||
double A = Ft + dFt * t / 3.0;
|
||||
|
||||
ljswc3 = 3.0 * A * tsqinv;
|
||||
ljswc4 = -(2.0 * Ft + dFt * t) * tsqinv / t;
|
||||
ljswc0 = Et + ljswc3 * t * tsq /3.0 + ljswc4 * tsq * tsq / 4.0;
|
||||
offsetsm[i][j] = ljswc0;
|
||||
} else {
|
||||
ljswc0 = 0.0;
|
||||
ljswc3 = 0.0;
|
||||
ljswc4 = 0.0;
|
||||
double ratio = sigma[i][j] / cutf_inner[i][j];
|
||||
offsetsm[i][j] = 4.0*epsilon[i][j]*(pow(ratio,12.0) - pow(ratio,6.0));
|
||||
}
|
||||
} else {
|
||||
ljswc0 = 0.0;
|
||||
ljswc3 = 0.0;
|
||||
ljswc4 = 0.0;
|
||||
offsetsm[i][j] = 0.0;
|
||||
}
|
||||
// combine cutf coefficients
|
||||
ljswf0[i][j] += ljswc0;
|
||||
ljswf3[i][j] += ljswc3;
|
||||
ljswf4[i][j] += ljswc4;
|
||||
|
||||
// combine shifting constants
|
||||
offsetsp[i][j] += offset[i][j];
|
||||
offsetsm[i][j] = offsetsp[i][j] - offsetsm[i][j];
|
||||
|
||||
if (i !=j) {
|
||||
cut[j][i] = cut[i][j];
|
||||
cutsq[j][i] = cutsq[i][j];
|
||||
cutf[j][i] = cutf[i][j];
|
||||
cutfsq[j][i] = cutfsq[i][j];
|
||||
cut_inner[j][i] = cut_inner[i][j];
|
||||
cut_inner_sq[j][i] = cut_inner_sq[i][j];
|
||||
cutf_inner[j][i] = cutf_inner[i][j];
|
||||
cutf_inner_sq[j][i] = cutf_inner_sq[i][j];
|
||||
lj1[j][i] = lj1[i][j];
|
||||
lj2[j][i] = lj2[i][j];
|
||||
lj3[j][i] = lj3[i][j];
|
||||
lj4[j][i] = lj4[i][j];
|
||||
ljsw0[j][i] = ljsw0[i][j];
|
||||
ljsw1[j][i] = ljsw1[i][j];
|
||||
ljsw2[j][i] = ljsw2[i][j];
|
||||
ljsw3[j][i] = ljsw3[i][j];
|
||||
ljsw4[j][i] = ljsw4[i][j];
|
||||
offset[j][i] = offset[i][j];
|
||||
ljf1[j][i] = ljf1[i][j];
|
||||
ljf2[j][i] = ljf2[i][j];
|
||||
ljf3[j][i] = ljf3[i][j];
|
||||
ljf4[j][i] = ljf4[i][j];
|
||||
ljswf0[j][i] = ljswf0[i][j];
|
||||
ljswf1[j][i] = ljswf1[i][j];
|
||||
ljswf2[j][i] = ljswf2[i][j];
|
||||
ljswf3[j][i] = ljswf3[i][j];
|
||||
ljswf4[j][i] = ljswf4[i][j];
|
||||
offsetsp[j][i] = offsetsp[i][j];
|
||||
offsetsm[j][i] = offsetsm[i][j];
|
||||
}
|
||||
|
||||
return cut[i][j];
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::write_restart(FILE *fp)
|
||||
{
|
||||
write_restart_settings(fp);
|
||||
|
||||
int i,j;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++) {
|
||||
fwrite(&setflag[i][j],sizeof(int),1,fp);
|
||||
if (setflag[i][j]) {
|
||||
fwrite(&epsilonf[i][j],sizeof(double),1,fp);
|
||||
fwrite(&sigmaf[i][j],sizeof(double),1,fp);
|
||||
fwrite(&epsilon[i][j],sizeof(double),1,fp);
|
||||
fwrite(&sigma[i][j],sizeof(double),1,fp);
|
||||
fwrite(&cutf_inner[i][j],sizeof(double),1,fp);
|
||||
fwrite(&cutf[i][j],sizeof(double),1,fp);
|
||||
fwrite(&cut_inner[i][j],sizeof(double),1,fp);
|
||||
fwrite(&cut[i][j],sizeof(double),1,fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::read_restart(FILE *fp)
|
||||
{
|
||||
read_restart_settings(fp);
|
||||
allocate();
|
||||
|
||||
int i,j;
|
||||
int me = comm->me;
|
||||
for (i = 1; i <= atom->ntypes; i++)
|
||||
for (j = i; j <= atom->ntypes; j++) {
|
||||
if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp);
|
||||
MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world);
|
||||
if (setflag[i][j]) {
|
||||
if (me == 0) {
|
||||
fread(&epsilonf[i][j],sizeof(double),1,fp);
|
||||
fread(&sigmaf[i][j],sizeof(double),1,fp);
|
||||
fread(&epsilon[i][j],sizeof(double),1,fp);
|
||||
fread(&sigma[i][j],sizeof(double),1,fp);
|
||||
fread(&cutf_inner[i][j],sizeof(double),1,fp);
|
||||
fread(&cutf[i][j],sizeof(double),1,fp);
|
||||
fread(&cut_inner[i][j],sizeof(double),1,fp);
|
||||
fread(&cut[i][j],sizeof(double),1,fp);
|
||||
}
|
||||
MPI_Bcast(&epsilonf[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&sigmaf[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&epsilon[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&sigma[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cutf_inner[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cutf[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cut_inner[i][j],1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::write_restart_settings(FILE *fp)
|
||||
{
|
||||
fwrite(&cutf_inner_global,sizeof(double),1,fp);
|
||||
fwrite(&cutf_global,sizeof(double),1,fp);
|
||||
fwrite(&cut_inner_global,sizeof(double),1,fp);
|
||||
fwrite(&cut_global,sizeof(double),1,fp);
|
||||
fwrite(&offset_flag,sizeof(int),1,fp);
|
||||
fwrite(&mix_flag,sizeof(int),1,fp);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::read_restart_settings(FILE *fp)
|
||||
{
|
||||
int me = comm->me;
|
||||
if (me == 0) {
|
||||
fread(&cutf_inner_global,sizeof(double),1,fp);
|
||||
fread(&cutf_global,sizeof(double),1,fp);
|
||||
fread(&cut_inner_global,sizeof(double),1,fp);
|
||||
fread(&cut_global,sizeof(double),1,fp);
|
||||
fread(&offset_flag,sizeof(int),1,fp);
|
||||
fread(&mix_flag,sizeof(int),1,fp);
|
||||
}
|
||||
MPI_Bcast(&cutf_inner_global,1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cutf_global,1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cut_inner_global,1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world);
|
||||
MPI_Bcast(&offset_flag,1,MPI_INT,0,world);
|
||||
MPI_Bcast(&mix_flag,1,MPI_INT,0,world);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::write_data(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
fprintf(fp,"%d %g %g %g %g\n",i,epsilonf[i][i],sigmaf[i][i],
|
||||
epsilon[i][i],sigma[i][i]);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes all pairs to data file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairLJRelRes::write_data_all(FILE *fp)
|
||||
{
|
||||
for (int i = 1; i <= atom->ntypes; i++)
|
||||
for (int j = i; j <= atom->ntypes; j++)
|
||||
fprintf(fp,"%d %d %g %g %g %g %g %g %g %g\n",i,j,
|
||||
epsilonf[i][j],sigmaf[i][j],epsilon[i][j],sigma[i][j],
|
||||
cutf_inner[i][j],cutf[i][j],cut_inner[i][j],cut[i][j]);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
double PairLJRelRes::single(int /*i*/, int /*j*/, int itype, int jtype,
|
||||
double rsq, double /*factor_coul*/,
|
||||
double factor_lj, double &fforce)
|
||||
{
|
||||
double r2inv,r6inv,forcelj,philj,r,t,tsq,fskin;
|
||||
|
||||
r2inv = 1.0/rsq;
|
||||
if (rsq < cutf_inner_sq[itype][jtype]) {
|
||||
r6inv = r2inv*r2inv*r2inv;
|
||||
forcelj = r6inv*(ljf1[itype][jtype]*r6inv-ljf2[itype][jtype]);
|
||||
} else if (rsq < cutfsq[itype][jtype]) {
|
||||
r = sqrt(rsq);
|
||||
t = r - cutf_inner[itype][jtype];
|
||||
tsq = t*t;
|
||||
fskin = ljswf1[itype][jtype]+ljswf2[itype][jtype]*t+
|
||||
ljswf3[itype][jtype]*tsq+ljswf4[itype][jtype]*tsq*t;
|
||||
forcelj = fskin*r;
|
||||
} else if (rsq < cut_inner_sq[itype][jtype]) {
|
||||
r6inv = r2inv*r2inv*r2inv;
|
||||
forcelj = r6inv * (lj1[itype][jtype]*r6inv-lj2[itype][jtype]);
|
||||
} else {
|
||||
r = sqrt(rsq);
|
||||
t = r - cut_inner[itype][jtype];
|
||||
tsq = t*t;
|
||||
fskin = ljsw1[itype][jtype] + ljsw2[itype][jtype]*t +
|
||||
ljsw3[itype][jtype]*tsq + ljsw4[itype][jtype]*tsq*t;
|
||||
forcelj = fskin*r;
|
||||
}
|
||||
fforce = factor_lj*forcelj*r2inv;
|
||||
|
||||
if (rsq < cutf_inner_sq[itype][jtype]) {
|
||||
philj = r6inv*(ljf3[itype][jtype]*r6inv-
|
||||
ljf4[itype][jtype])-offsetsm[itype][jtype];
|
||||
} else if (rsq < cutfsq[itype][jtype]) {
|
||||
philj = ljswf0[itype][jtype]-ljswf1[itype][jtype]*t-
|
||||
ljswf2[itype][jtype]*tsq/2.0-ljswf3[itype][jtype]*tsq*t/3.0-
|
||||
ljswf4[itype][jtype]*tsq*tsq/4.0-offsetsp[itype][jtype];
|
||||
} else if (rsq < cut_inner_sq[itype][jtype]) {
|
||||
philj = r6inv * (lj3[itype][jtype]*r6inv - lj4[itype][jtype]) -
|
||||
offset[itype][jtype];
|
||||
} else {
|
||||
philj = ljsw0[itype][jtype] - ljsw1[itype][jtype]*t -
|
||||
ljsw2[itype][jtype]*tsq/2.0 - ljsw3[itype][jtype]*tsq*t/3.0 -
|
||||
ljsw4[itype][jtype]*tsq*tsq/4.0 - offset[itype][jtype];
|
||||
}
|
||||
return factor_lj*philj;
|
||||
}
|
||||
74
src/pair_lj_relres.h
Normal file
74
src/pair_lj_relres.h
Normal file
@ -0,0 +1,74 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
|
||||
PairStyle(lj/relres,PairLJRelRes)
|
||||
|
||||
#else
|
||||
|
||||
#ifndef LMP_PAIR_LJ_RELRES_H
|
||||
#define LMP_PAIR_LJ_RELRES_H
|
||||
|
||||
#include "pair.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class PairLJRelRes : public Pair {
|
||||
public:
|
||||
PairLJRelRes(class LAMMPS *);
|
||||
virtual ~PairLJRelRes();
|
||||
virtual void compute(int, int);
|
||||
void settings(int, char **);
|
||||
void coeff(int, char **);
|
||||
double init_one(int, int);
|
||||
void write_restart(FILE *);
|
||||
void read_restart(FILE *);
|
||||
void write_restart_settings(FILE *);
|
||||
void read_restart_settings(FILE *);
|
||||
void write_data(FILE *);
|
||||
void write_data_all(FILE *);
|
||||
double single(int, int, int, int, double, double, double, double &);
|
||||
|
||||
protected:
|
||||
double cut_inner_global, cut_global, cutf_inner_global, cutf_global;
|
||||
double **cut,**cut_inner,**cut_inner_sq,**cutf,**cutfsq,**cutf_inner,**cutf_inner_sq;
|
||||
double **epsilon,**sigma;
|
||||
double **epsilonf,**sigmaf;
|
||||
double **lj1,**lj2,**lj3,**lj4;
|
||||
double **ljf1,**ljf2,**ljf3,**ljf4;
|
||||
double **ljsw0,**ljsw1,**ljsw2,**ljsw3,**ljsw4;
|
||||
double **ljswf0,**ljswf1,**ljswf2,**ljswf3,**ljswf4;
|
||||
double **offset,**offsetsp,**offsetsm;
|
||||
|
||||
void allocate();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Illegal ... command
|
||||
|
||||
Self-explanatory. Check the input script syntax and compare to the
|
||||
documentation for the command. You can use -echo screen as a
|
||||
command-line option when running LAMMPS to see the offending line.
|
||||
|
||||
E: Incorrect args for pair coefficients
|
||||
|
||||
Self-explanatory. Check the input script or data file.
|
||||
|
||||
*/
|
||||
91
unittest/force-styles/tests/atomic-pair-lj_relres.yaml
Normal file
91
unittest/force-styles/tests/atomic-pair-lj_relres.yaml
Normal file
@ -0,0 +1,91 @@
|
||||
---
|
||||
lammps_version: 10 Feb 2021
|
||||
date_generated: Sun Feb 28 23:32:03 2021
|
||||
epsilon: 5e-13
|
||||
prerequisites: ! |
|
||||
pair born
|
||||
pre_commands: ! ""
|
||||
post_commands: ! ""
|
||||
input_file: in.metal
|
||||
pair_style: lj/relres 4.0 5.0 7.0 8.0
|
||||
pair_coeff: ! |
|
||||
1 1 0.00121585 3.905 0 3.905
|
||||
1 2 0.00121585 3.905 0.00121585 3.905
|
||||
2 2 0.00121585 3.905 0.00121585 3.905
|
||||
extract: ! ""
|
||||
natoms: 32
|
||||
init_vdwl: 278.180950996338
|
||||
init_coul: 0
|
||||
init_stress: ! |2-
|
||||
1.1877397131221412e+03 1.1638761902735005e+03 1.0939934354329380e+03 6.8492993891187240e+01 -3.1686913926055702e+00 -3.0318931219574608e+01
|
||||
init_forces: ! |2
|
||||
1 1.1257725802206693e-01 1.5003115850475984e+01 3.7161715906573249e+00
|
||||
2 -3.9371074133244033e+00 -1.5797318896888202e+01 9.8265483014448343e+00
|
||||
3 -9.8213019857385877e+00 4.5398626929289222e+01 -1.1984345677554444e+01
|
||||
4 3.8619783724436347e+00 -2.2367670285503563e+00 -9.8667499113042698e+00
|
||||
5 1.7421331278287461e+01 3.5003615980663376e+01 5.4604696757275848e+00
|
||||
6 9.1359404522604510e+00 4.9829473194427507e+00 -2.4129924428156402e+00
|
||||
7 -1.5766701507678247e+01 2.0974333341024735e+01 -2.6155159105794188e+00
|
||||
8 -1.5183115657866077e+01 -1.2451351620442299e+01 1.1636254945740577e+01
|
||||
9 3.8090425554608491e+00 -1.0907791092741443e+01 -6.1447809963829947e+00
|
||||
10 -1.0395436945303533e+01 -3.8367074884512746e+01 -2.5800182132854442e+01
|
||||
11 -7.9545805384553478e+00 -1.0115999734551822e+01 9.0610883954699659e+00
|
||||
12 9.1249981420231450e+00 -2.0896442188182313e+01 -1.2969177591443883e+00
|
||||
13 -4.5921575862854080e+00 4.6114711730821698e+00 -1.0000636415917823e+01
|
||||
14 1.2749517192690996e+01 -3.9970170399846938e+00 1.6639389558970819e+01
|
||||
15 -6.5965824174094028e+00 6.6153731373766966e+00 -5.6427929840815771e+00
|
||||
16 2.4351513585083858e+01 -2.0415196023133920e+01 8.4814988111712459e+00
|
||||
17 1.0299109427501774e+01 2.9546303629211895e+01 -1.9341947600693978e+00
|
||||
18 -3.7195187867020032e+01 -1.1030315937513105e+01 -1.6710107278365474e+01
|
||||
19 -3.9497427656163509e+01 -2.2552418505155995e+01 8.0707729455886117e+00
|
||||
20 4.7864511359094548e+00 3.9752456387755553e+00 -7.5621289377276177e+00
|
||||
21 3.8528644298025895e+01 1.3519655659162099e+01 8.5256493265734801e-01
|
||||
22 1.1077729180999789e+00 -1.6208072481067383e+01 -3.0979650557204157e+00
|
||||
23 1.4113913436346907e+01 3.1494001129414158e+01 -1.8142897754964714e+01
|
||||
24 3.3881181432547542e+01 2.4370415248363962e+01 2.0078166368292568e+01
|
||||
25 1.4753375696198107e+01 -1.6860224492541906e-01 -1.0357256153984068e+01
|
||||
26 -1.4396504175389046e+01 -3.8109515237450715e+01 3.1516681941309770e+01
|
||||
27 1.1459132062617343e+01 -2.7648747331934835e+00 -6.0134710728971097e-01
|
||||
28 8.6792370740090519e-01 1.3711362475104321e+01 1.7060845401384995e+01
|
||||
29 1.4886320532090263e+01 2.6415990570893030e+01 -6.3587763727632818e-01
|
||||
30 -8.3053344792491117e+00 -6.7854505410487436e+00 -1.9926676569327796e+01
|
||||
31 -3.9722675775001202e+00 -2.6202171362782902e+01 1.7034787150328516e+01
|
||||
32 -4.7637017675627781e+01 -1.6616078530154439e+01 -4.7018745333836263e+00
|
||||
run_vdwl: 277.787230338519
|
||||
run_coul: 0
|
||||
run_stress: ! |2-
|
||||
1.1861045479571328e+03 1.1621545499754693e+03 1.0925950582629255e+03 6.7871794269310669e+01 -3.2811225906376507e+00 -3.0119921761225132e+01
|
||||
run_forces: ! |2
|
||||
1 5.0761504793041319e-02 1.4972569031846831e+01 3.7082674582636526e+00
|
||||
2 -3.9381058430565288e+00 -1.5782802165860760e+01 9.8125660936307053e+00
|
||||
3 -9.7425327584084691e+00 4.5033863259233172e+01 -1.1963779315033937e+01
|
||||
4 3.8461752102094633e+00 -2.2100266107527706e+00 -9.8627527183535459e+00
|
||||
5 1.7286298464840606e+01 3.4803069057765718e+01 5.5124972577097848e+00
|
||||
6 9.1365148074930023e+00 4.9905844771929031e+00 -2.4069911355223432e+00
|
||||
7 -1.5710733381690963e+01 2.0948145953415406e+01 -2.6352545999033143e+00
|
||||
8 -1.5191011151562712e+01 -1.2423405537748620e+01 1.1609656474941872e+01
|
||||
9 3.8300649394200663e+00 -1.0939289188313623e+01 -6.1652357236607127e+00
|
||||
10 -1.0179095304450680e+01 -3.8138499760472136e+01 -2.5614937128525611e+01
|
||||
11 -7.9328424473210770e+00 -1.0126931858947339e+01 9.0323728831931760e+00
|
||||
12 9.1240445709604625e+00 -2.0801517592482849e+01 -1.2864845436518126e+00
|
||||
13 -4.6154026287895666e+00 4.5678314059294269e+00 -9.9574005013456635e+00
|
||||
14 1.2739453844823467e+01 -3.8639640724167696e+00 1.6503517451482374e+01
|
||||
15 -6.5851001501170838e+00 6.5954448786505750e+00 -5.6251052965943709e+00
|
||||
16 2.4131969420516253e+01 -2.0319213195026325e+01 8.4318175142187748e+00
|
||||
17 1.0274453472246744e+01 2.9448733262109759e+01 -1.9321994588155988e+00
|
||||
18 -3.6997902937678973e+01 -1.0947728341166549e+01 -1.6629476705430637e+01
|
||||
19 -3.9256632036490366e+01 -2.2382462798833316e+01 8.0133124681507351e+00
|
||||
20 4.7785967094492916e+00 3.9919292918758300e+00 -7.5598392292642806e+00
|
||||
21 3.8336179494883886e+01 1.3372767736301565e+01 8.9441495342140864e-01
|
||||
22 1.1374772919402263e+00 -1.6159423036575365e+01 -3.0958996778988328e+00
|
||||
23 1.4060431172656273e+01 3.1322405912593315e+01 -1.8048650528231175e+01
|
||||
24 3.3628163932173699e+01 2.4221707885083035e+01 1.9997423960892526e+01
|
||||
25 1.4719235839277802e+01 -1.3664529090023003e-01 -1.0322356751316049e+01
|
||||
26 -1.4249543090594170e+01 -3.7792175725759691e+01 3.1320364026272529e+01
|
||||
27 1.1432267884704974e+01 -2.7686316107074638e+00 -6.2637494606673982e-01
|
||||
28 8.4057547201635785e-01 1.3690742783314787e+01 1.7006819241247609e+01
|
||||
29 1.4764759789215882e+01 2.6280384715684544e+01 -6.1061690968417726e-01
|
||||
30 -8.2772161889870315e+00 -6.7692020199003098e+00 -1.9822795745009806e+01
|
||||
31 -4.0013247597925483e+00 -2.6130935247333245e+01 1.6988712159243850e+01
|
||||
32 -4.7439981142681432e+01 -1.6547325597799496e+01 -4.6655910283603808e+00
|
||||
...
|
||||
Reference in New Issue
Block a user