Merge branch 'develop' into rheo
This commit is contained in:
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
@ -59,7 +59,8 @@ src/VTK/* @rbberger
|
||||
|
||||
# individual files in packages
|
||||
src/GPU/pair_vashishta_gpu.* @andeplane
|
||||
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
|
||||
src/KOKKOS/pair_vashishta_kokkos.* @andeplane @stanmoore1
|
||||
src/KOSSOS/pair_pod_kokkos.* @exapde @stanmoore1
|
||||
src/MANYBODY/pair_vashishta_table.* @andeplane
|
||||
src/MANYBODY/pair_atm.* @sergeylishchuk
|
||||
src/MANYBODY/pair_nb3b_screened.* @flodesani
|
||||
|
||||
11
.gitignore
vendored
11
.gitignore
vendored
@ -43,12 +43,12 @@ Thumbs.db
|
||||
|
||||
#cmake
|
||||
/build*
|
||||
/CMakeCache.txt
|
||||
/CMakeFiles/
|
||||
/Testing
|
||||
CMakeCache.txt
|
||||
CMakeFiles
|
||||
/Makefile
|
||||
/Testing
|
||||
/cmake_install.cmake
|
||||
Testing
|
||||
Temporary
|
||||
cmake_install.cmake
|
||||
/lmp
|
||||
out/Debug
|
||||
out/RelWithDebInfo
|
||||
@ -60,3 +60,4 @@ src/Makefile.package.settings-e
|
||||
/cmake/build/x64-Debug-Clang
|
||||
/install/x64-GUI-MSVC
|
||||
/install
|
||||
.Rhistory
|
||||
|
||||
@ -23,6 +23,7 @@ project(lammps CXX)
|
||||
set(SOVERSION 0)
|
||||
get_property(BUILD_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
get_filename_component(LAMMPS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE)
|
||||
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
|
||||
# collect all executables and shared libs in the top level build folder
|
||||
@ -208,7 +209,7 @@ else()
|
||||
unset(CMAKE_CXX_CLANG_TIDY CACHE)
|
||||
endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
file(GLOB ALL_SOURCES CONFIGURE_DEPENDS ${LAMMPS_SOURCE_DIR}/[^.]*.cpp)
|
||||
file(GLOB MAIN_SOURCES CONFIGURE_DEPENDS ${LAMMPS_SOURCE_DIR}/main.cpp)
|
||||
list(REMOVE_ITEM ALL_SOURCES ${MAIN_SOURCES})
|
||||
@ -282,10 +283,10 @@ set(STANDARD_PACKAGES
|
||||
ML-HDNNP
|
||||
ML-IAP
|
||||
ML-PACE
|
||||
ML-POD
|
||||
ML-QUIP
|
||||
ML-RANN
|
||||
ML-SNAP
|
||||
ML-POD
|
||||
ML-UF3
|
||||
MOFFF
|
||||
MOLECULE
|
||||
|
||||
@ -26,8 +26,8 @@ set(ALL_PACKAGES
|
||||
DPD-REACT
|
||||
DPD-SMOOTH
|
||||
DRUDE
|
||||
ELECTRODE
|
||||
EFF
|
||||
ELECTRODE
|
||||
EXTRA-COMMAND
|
||||
EXTRA-COMPUTE
|
||||
EXTRA-DUMP
|
||||
|
||||
@ -28,8 +28,8 @@ set(ALL_PACKAGES
|
||||
DPD-REACT
|
||||
DPD-SMOOTH
|
||||
DRUDE
|
||||
ELECTRODE
|
||||
EFF
|
||||
ELECTRODE
|
||||
EXTRA-COMMAND
|
||||
EXTRA-COMPUTE
|
||||
EXTRA-DUMP
|
||||
|
||||
@ -22,8 +22,8 @@ set(WIN_PACKAGES
|
||||
DPD-REACT
|
||||
DPD-SMOOTH
|
||||
DRUDE
|
||||
ELECTRODE
|
||||
EFF
|
||||
ELECTRODE
|
||||
EXTRA-COMMAND
|
||||
EXTRA-COMPUTE
|
||||
EXTRA-DUMP
|
||||
@ -33,7 +33,6 @@ set(WIN_PACKAGES
|
||||
FEP
|
||||
GPU
|
||||
GRANULAR
|
||||
INTEL
|
||||
INTERLAYER
|
||||
KSPACE
|
||||
LEPTON
|
||||
|
||||
@ -52,8 +52,8 @@ set(WIN_PACKAGES
|
||||
ORIENT
|
||||
PERI
|
||||
PHONON
|
||||
POEMS
|
||||
PLUGIN
|
||||
POEMS
|
||||
PTM
|
||||
QEQ
|
||||
QTB
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
.TH LAMMPS "1" "17 April 2024" "2024-04-17"
|
||||
.TH LAMMPS "1" "27 June 2024" "2024-06-27"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator. Version 17 April 2024
|
||||
\- Molecular Dynamics Simulator. Version 27 June 2024
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B lmp
|
||||
|
||||
@ -108,6 +108,10 @@ KOKKOS, o = OPENMP, t = OPT.
|
||||
* :doc:`pe/mol/tally <compute_tally>`
|
||||
* :doc:`pe/tally <compute_tally>`
|
||||
* :doc:`plasticity/atom <compute_plasticity_atom>`
|
||||
* :doc:`pod/atom <compute_pod_atom>`
|
||||
* :doc:`podd/atom <compute_pod_atom>`
|
||||
* :doc:`pod/local <compute_pod_atom>`
|
||||
* :doc:`pod/global <compute_pod_atom>`
|
||||
* :doc:`pressure <compute_pressure>`
|
||||
* :doc:`pressure/alchemy <compute_pressure_alchemy>`
|
||||
* :doc:`pressure/uef <compute_pressure_uef>`
|
||||
|
||||
@ -247,7 +247,7 @@ OPT.
|
||||
* :doc:`pace (k) <pair_pace>`
|
||||
* :doc:`pace/extrapolation (k) <pair_pace>`
|
||||
* :doc:`pedone (o) <pair_pedone>`
|
||||
* :doc:`pod <pair_pod>`
|
||||
* :doc:`pod (k) <pair_pod>`
|
||||
* :doc:`peri/eps <pair_peri>`
|
||||
* :doc:`peri/lps (o) <pair_peri>`
|
||||
* :doc:`peri/pmb (o) <pair_peri>`
|
||||
|
||||
@ -151,10 +151,10 @@ and allow running LAMMPS with GPU acceleration.
|
||||
i-PI tool
|
||||
---------
|
||||
|
||||
.. versionchanged:: TBD
|
||||
.. versionchanged:: 27June2024
|
||||
|
||||
The i-PI tool has been removed from the LAMMPS distribution. Instead,
|
||||
instructions to install i-PI from PyPi via pip are provided.
|
||||
instructions to install i-PI from PyPI via pip are provided.
|
||||
|
||||
restart2data tool
|
||||
-----------------
|
||||
|
||||
@ -211,6 +211,9 @@ Argument processing
|
||||
.. doxygenfunction:: bounds
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: bounds_typelabel
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: expand_args
|
||||
:project: progguide
|
||||
|
||||
|
||||
@ -50,6 +50,30 @@ We are looking at the following cases:
|
||||
- `Case 3: a potential requiring communication`_
|
||||
- `Case 4: potentials without a compute() function`_
|
||||
|
||||
Package and build system considerations
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
In general, new pair styles should be added to the :ref:`EXTRA-PAIR
|
||||
package <PKG-EXTRA-PAIR>` unless they are an accelerated pair style and
|
||||
then they should be added to the corresponding accelerator package
|
||||
(:ref:`GPU <PKG-GPU>`, :ref:`INTEL <PKG-INTEL>`, :ref:`KOKKOS
|
||||
<PKG-KOKKOS>`, :ref:`OPENMP <PKG-OPENMP>`, :ref:`OPT <PKG-OPT>`). If
|
||||
you feel that your contribution should be added to a different package,
|
||||
please consult with the LAMMPS developers first.
|
||||
|
||||
The contributed code needs to support the :doc:`traditional GNU make
|
||||
build process <Build_make>` **and** the :doc:`CMake build process
|
||||
<Build_cmake>`. For the GNU make process and if the package has an
|
||||
``Install.sh`` file, most likely that file needs to be updated to
|
||||
correctly copy the sources when installing the package and properly
|
||||
delete them when uninstalling. This is particularly important when
|
||||
added a new pair style that is a derived class from an existing pair
|
||||
style in a package, so that its installation depends on the the
|
||||
installation status of the package of the derived class. For the CMake
|
||||
process, it is sometimes necessary to make changes to the package
|
||||
specific CMake scripting in ``cmake/Modules/Packages``.
|
||||
|
||||
|
||||
----
|
||||
|
||||
Case 1: a pairwise additive model
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
CHARMM, AMBER, COMPASS, and DREIDING force fields
|
||||
=================================================
|
||||
|
||||
A compact summary of the concepts, definitions, and properties of
|
||||
force fields with explicit bonded interactions (like the ones discussed
|
||||
in this HowTo) is given in :ref:`(Gissinger) <Typelabel2>`.
|
||||
|
||||
A force field has 2 parts: the formulas that define it and the
|
||||
coefficients used for a particular system. Here we only discuss
|
||||
formulas implemented in LAMMPS that correspond to formulas commonly used
|
||||
@ -11,12 +15,42 @@ commands like :doc:`pair_coeff <pair_coeff>` or :doc:`bond_coeff
|
||||
<bond_coeff>` and so on. See the :doc:`Tools <Tools>` doc page for
|
||||
additional tools that can use CHARMM, AMBER, or Materials Studio
|
||||
generated files to assign force field coefficients and convert their
|
||||
output into LAMMPS input.
|
||||
output into LAMMPS input. LAMMPS input scripts can also be generated by
|
||||
`charmm-gui.org <https://charmm-gui.org/>`_.
|
||||
|
||||
See :ref:`(MacKerell) <howto-MacKerell>` for a description of the CHARMM
|
||||
force field. See :ref:`(Cornell) <howto-Cornell>` for a description of
|
||||
the AMBER force field. See :ref:`(Sun) <howto-Sun>` for a description
|
||||
of the COMPASS force field.
|
||||
CHARMM and AMBER
|
||||
----------------
|
||||
|
||||
The `CHARMM force field
|
||||
<https://mackerell.umaryland.edu/charmm_ff.shtml>`_ :ref:`(MacKerell)
|
||||
<howto-MacKerell>` and `AMBER force field
|
||||
<https://ambermd.org/AmberModels.php>`_ :ref:`(Cornell) <howto-Cornell>`
|
||||
have potential energy function of the form
|
||||
|
||||
.. math::
|
||||
|
||||
V & = \sum_{bonds} E_b + \sum_{angles} \!E_a + \!\overbrace{\sum_{dihedral} \!\!E_d}^{\substack{
|
||||
\text{charmm} \\
|
||||
\text{charmmfsw}
|
||||
}} +\!\!\! \sum_{impropers} \!\!\!E_i \\[.6em]
|
||||
& \quad + \!\!\!\!\!\!\!\!\!\!\underbrace{~\sum_{pairs} \left(E_{LJ}+E_{coul}\right)}_{\substack{
|
||||
\text{lj/charmm/coul/charmm} \\
|
||||
\text{lj/charmm/coul/charmm/implicit} \\
|
||||
\text{lj/charmm/coul/long} \\
|
||||
\text{lj/charmm/coul/msm} \\
|
||||
\text{lj/charmmfsw/coul/charmmfsh} \\
|
||||
\text{lj/charmmfsw/coul/long}
|
||||
}} \!\!\!\!\!\!\!\!+ \!\!\sum_{special}\! E_s + \!\!\!\!\sum_{residues} \!\!\!{\scriptstyle\mathrm{CMAP}(\phi,\psi)}
|
||||
|
||||
|
||||
The terms are computed by bond styles (relationship between 2 atoms),
|
||||
angle styles (between 3 atoms) , dihedral/improper styles (between 4
|
||||
atoms), pair styles (non-covalently bonded pair interactions) and
|
||||
special bonds. The CMAP term (see :doc:`fix cmap <fix_cmap>` command for
|
||||
details) corrects for pairs of dihedral angles ("Correction MAP") to
|
||||
significantly improve the structural and dynamic properties of proteins
|
||||
in crystalline and solution environments :ref:`(Brooks)
|
||||
<howto-Brooks>`. The AMBER force field does not include the CMAP term.
|
||||
|
||||
The interaction styles listed below compute force field formulas that
|
||||
are consistent with common options in CHARMM or AMBER. See each
|
||||
@ -31,10 +65,81 @@ command's documentation for the formula it computes.
|
||||
* :doc:`pair_style <pair_charmm>` lj/charmm/coul/charmm
|
||||
* :doc:`pair_style <pair_charmm>` lj/charmm/coul/charmm/implicit
|
||||
* :doc:`pair_style <pair_charmm>` lj/charmm/coul/long
|
||||
|
||||
* :doc:`special_bonds <special_bonds>` charmm
|
||||
* :doc:`special_bonds <special_bonds>` amber
|
||||
|
||||
The pair styles compute Lennard Jones (LJ) and Coulombic interactions
|
||||
with additional switching or shifting functions that ramp the energy
|
||||
and/or force smoothly to zero between an inner :math:`(a)` and outer
|
||||
:math:`(b)` cutoff. The older styles with *charmm* (not *charmmfsw* or
|
||||
*charmmfsh*\ ) in their name compute the LJ and Coulombic interactions
|
||||
with an energy switching function (esw) S(r) which ramps the energy
|
||||
smoothly to zero between the inner and outer cutoff. This can cause
|
||||
irregularities in pairwise forces (due to the discontinuous second
|
||||
derivative of energy at the boundaries of the switching region), which
|
||||
in some cases can result in complications in energy minimization and
|
||||
detectable artifacts in MD simulations.
|
||||
|
||||
.. grid:: 1 1 2 2
|
||||
|
||||
.. grid-item::
|
||||
|
||||
.. math::
|
||||
|
||||
LJ(r) &= 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
|
||||
\left(\frac{\sigma}{r}\right)^6 \right]\\[.6em]
|
||||
C(r) &= \frac{C q_i q_j}{ \epsilon r}\\[.6em]
|
||||
S(r) &= \frac{ \left(b^2 - r^2\right)^2 \left(b^2 + 2r^2 - 3{a^2}\right)}
|
||||
{ \left(b^2 - a^2\right)^3 }\\[.6em]
|
||||
E_{LJ}(r) &= \begin{cases}
|
||||
LJ(r), & r \leq a \\
|
||||
LJ(r) S(r), & a < r \leq b \\
|
||||
0, &r > b
|
||||
\end{cases} \\[.6em]
|
||||
E_{coul}(r) &= \begin{cases}
|
||||
C(r), & r \leq a \\
|
||||
C(r) S(r), & a < r \leq b \\
|
||||
0, & r > b
|
||||
\end{cases}
|
||||
|
||||
.. grid-item::
|
||||
|
||||
.. image:: img/howto_charmm_ELJ.png
|
||||
:align: center
|
||||
|
||||
The newer styles with *charmmfsw* or *charmmfsh* in their name replace
|
||||
energy switching with force switching (fsw) for LJ interactions and
|
||||
force shifting (fsh) functions for Coulombic interactions
|
||||
:ref:`(Steinbach) <howto-Steinbach>`
|
||||
|
||||
.. grid:: 1 1 2 2
|
||||
|
||||
.. grid-item::
|
||||
|
||||
.. math::
|
||||
|
||||
E_{LJ}(r) = & \begin{cases}
|
||||
4 \epsilon \sigma^6 \left(\frac{\displaystyle\sigma
|
||||
^6-r^6}{\displaystyle r^{12}}-\frac{\displaystyle\sigma ^6}{\displaystyle a^6
|
||||
b^6}+\frac{\displaystyle 1}{\displaystyle a^3 b^3}\right) & r\leq a \\
|
||||
\frac{\displaystyle 4 \epsilon \sigma^6 \left(\sigma ^6
|
||||
\left(b^6-r^6\right)^2-b^3 r^6 \left(a^3+b^3\right)
|
||||
\left(b^3-r^3\right)^2\right)}{\displaystyle b^6 r^{12}
|
||||
\left(b^6-a^6\right)} & a<r \leq b\\
|
||||
0, & r>b
|
||||
\end{cases}\\[.6em]
|
||||
E_{coul}(r) & = \begin{cases}
|
||||
C(r) \frac{\displaystyle (b-r)^2}{\displaystyle r b^2}, & r \leq b \\
|
||||
0, & r > b
|
||||
\end{cases}
|
||||
|
||||
.. grid-item::
|
||||
.. image:: img/howto_charmmfsw_ELJ.png
|
||||
:align: center
|
||||
|
||||
These styles are used by LAMMPS input scripts generated by
|
||||
https://charmm-gui.org/ :ref:`(Brooks) <howto-Brooks>`.
|
||||
|
||||
.. note::
|
||||
|
||||
For CHARMM, newer *charmmfsw* or *charmmfsh* styles were released in
|
||||
@ -43,17 +148,33 @@ command's documentation for the formula it computes.
|
||||
<pair_charmm>` and :doc:`dihedral charmm <dihedral_charmm>` doc
|
||||
pages.
|
||||
|
||||
.. note::
|
||||
|
||||
The TIP3P water model is strongly recommended for use with the CHARMM
|
||||
force field. In fact, `"using the SPC model with CHARMM parameters is
|
||||
a bad idea"
|
||||
<https://matsci.org/t/using-spc-water-with-charmm-ff/24715>`_ and `"to
|
||||
enable TIP4P style water in CHARMM, you would have to write a new pair
|
||||
style"
|
||||
<https://matsci.org/t/hybrid-pair-styles-for-charmm-and-tip4p-ew/32609>`_
|
||||
. LAMMPS input scripts generated by Solution Builder on https://charmm-gui.org
|
||||
use TIP3P molecules for solvation. Any other water model can and
|
||||
probably will lead to false conclusions.
|
||||
|
||||
COMPASS
|
||||
-------
|
||||
|
||||
COMPASS is a general force field for atomistic simulation of common
|
||||
organic molecules, inorganic small molecules, and polymers which was
|
||||
developed using ab initio and empirical parameterization techniques.
|
||||
See the :doc:`Tools <Tools>` page for the msi2lmp tool for creating
|
||||
LAMMPS template input and data files from BIOVIA's Materials Studio
|
||||
files. Please note that the msi2lmp tool is very old and largely
|
||||
unmaintained, so it does not support all features of Materials Studio
|
||||
provided force field files, especially additions during the last decade.
|
||||
You should watch the output carefully and compare results, where
|
||||
possible. See :ref:`(Sun) <howto-Sun>` for a description of the COMPASS force
|
||||
field.
|
||||
developed using ab initio and empirical parameterization techniques
|
||||
:ref:`(Sun) <howto-Sun>`. See the :doc:`Tools <Tools>` page for the
|
||||
msi2lmp tool for creating LAMMPS template input and data files from
|
||||
BIOVIA's Materials Studio files. Please note that the msi2lmp tool is
|
||||
very old and largely unmaintained, so it does not support all features
|
||||
of Materials Studio provided force field files, especially additions
|
||||
during the last decade. You should watch the output carefully and
|
||||
compare results, where possible. See :ref:`(Sun) <howto-Sun>` for a
|
||||
description of the COMPASS force field.
|
||||
|
||||
These interaction styles listed below compute force field formulas that
|
||||
are consistent with the COMPASS force field. See each command's
|
||||
@ -70,14 +191,21 @@ documentation for the formula it computes.
|
||||
|
||||
* :doc:`special_bonds <special_bonds>` lj/coul 0 0 1
|
||||
|
||||
DREIDING is a generic force field developed by the `Goddard group <http://www.wag.caltech.edu>`_ at Caltech and is useful for
|
||||
predicting structures and dynamics of organic, biological and main-group
|
||||
inorganic molecules. The philosophy in DREIDING is to use general force
|
||||
constants and geometry parameters based on simple hybridization
|
||||
considerations, rather than individual force constants and geometric
|
||||
parameters that depend on the particular combinations of atoms involved
|
||||
in the bond, angle, or torsion terms. DREIDING has an :doc:`explicit hydrogen bond term <pair_hbond_dreiding>` to describe interactions involving a
|
||||
hydrogen atom on very electronegative atoms (N, O, F).
|
||||
DREIDING
|
||||
--------
|
||||
|
||||
DREIDING is a generic force field developed by the `Goddard group
|
||||
<http://www.wag.caltech.edu>`_ at Caltech and is useful for predicting
|
||||
structures and dynamics of organic, biological and main-group inorganic
|
||||
molecules. The philosophy in DREIDING is to use general force constants
|
||||
and geometry parameters based on simple hybridization considerations,
|
||||
rather than individual force constants and geometric parameters that
|
||||
depend on the particular combinations of atoms involved in the bond,
|
||||
angle, or torsion terms. DREIDING has an :doc:`explicit hydrogen bond
|
||||
term <pair_hbond_dreiding>` to describe interactions involving a
|
||||
hydrogen atom on very electronegative atoms (N, O, F). Unlike CHARMM
|
||||
or AMBER, the DREIDING force field has not been parameterized for
|
||||
considering solvents (like water).
|
||||
|
||||
See :ref:`(Mayo) <howto-Mayo>` for a description of the DREIDING force field
|
||||
|
||||
@ -110,21 +238,31 @@ documentation for the formula it computes.
|
||||
|
||||
----------
|
||||
|
||||
.. _Typelabel2:
|
||||
|
||||
**(Gissinger)** J. R. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. S. Karls, A. Stukowski, W. Im, H. Heinz, A. Kohlmeyer, and E. B. Tadmor, J Phys Chem B, 128, 3282-3297 (2024).
|
||||
|
||||
.. _howto-MacKerell:
|
||||
|
||||
**(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
|
||||
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
||||
**(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al (1998). J Phys Chem, 102, 3586 . https://doi.org/10.1021/jp973084f
|
||||
|
||||
.. _howto-Cornell:
|
||||
|
||||
**(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson,
|
||||
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
|
||||
**(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman (1995). JACS 117, 5179-5197. https://doi.org/10.1021/ja00124a002
|
||||
|
||||
.. _howto-Steinbach:
|
||||
|
||||
**(Steinbach)** Steinbach, Brooks (1994). J Comput Chem, 15, 667. https://doi.org/10.1002/jcc.540150702
|
||||
|
||||
.. _howto-Brooks:
|
||||
|
||||
**(Brooks)** Brooks, et al (2009). J Comput Chem, 30, 1545. https://onlinelibrary.wiley.com/doi/10.1002/jcc.21287
|
||||
|
||||
.. _howto-Sun:
|
||||
|
||||
**(Sun)** Sun, J. Phys. Chem. B, 102, 7338-7364 (1998).
|
||||
**(Sun)** Sun (1998). J. Phys. Chem. B, 102, 7338-7364. https://doi.org/10.1021/jp980939v
|
||||
|
||||
.. _howto-Mayo:
|
||||
|
||||
**(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
||||
(1990).
|
||||
**(Mayo)** Mayo, Olfason, Goddard III (1990). J Phys Chem, 94, 8897-8909. https://doi.org/10.1021/j100389a010
|
||||
|
||||
|
||||
@ -379,7 +379,7 @@ See README file in the tools/fep directory.
|
||||
i-PI tool
|
||||
-------------------
|
||||
|
||||
.. versionchanged:: TBD
|
||||
.. versionchanged:: 27June2024
|
||||
|
||||
The tools/i-pi directory used to contain a bundled version of the i-PI
|
||||
software package for use with LAMMPS. This version, however, was
|
||||
@ -389,7 +389,7 @@ The i-PI package was created and is maintained by Michele Ceriotti,
|
||||
michele.ceriotti at gmail.com, to interface to a variety of molecular
|
||||
dynamics codes.
|
||||
|
||||
i-PI is now available via PyPi using the pip package manager at:
|
||||
i-PI is now available via PyPI using the pip package manager at:
|
||||
https://pypi.org/project/ipi/
|
||||
|
||||
Here are the commands to set up a virtual environment and install
|
||||
@ -839,7 +839,7 @@ and LAMMPS GUI can be launched from anywhere from the command line.
|
||||
|
||||
The standard CMake build procedure can be applied and the
|
||||
``mingw-cross.cmake`` preset used. By using ``mingw64-cmake`` the CMake
|
||||
command will automatically include a suitable CMake toolset file (the
|
||||
command will automatically include a suitable CMake toolchain file (the
|
||||
regular cmake command can be used after that to modify the configuration
|
||||
settings, if needed). After building the libraries and executables,
|
||||
you can build the target 'zip' (i.e. ``cmake --build <build dir> --target zip``
|
||||
|
||||
@ -71,11 +71,11 @@ all atoms, e.g. in a data or restart file.
|
||||
atom IDs are required, due to how neighbor lists are built.
|
||||
|
||||
The *map* keyword determines how atoms with specific IDs are found
|
||||
when required. An example are the bond (angle, etc) methods which
|
||||
need to find the local index of an atom with a specific global ID
|
||||
which is a bond (angle, etc) partner. LAMMPS performs this operation
|
||||
efficiently by creating a "map", which is either an *array* or *hash*
|
||||
table, as described below.
|
||||
when required. For example, the bond (angle, etc) methods need to
|
||||
find the local index of an atom with a specific global ID which is a
|
||||
bond (angle, etc) partner. LAMMPS performs this operation efficiently
|
||||
by creating a "map", which is either an *array* or *hash* table, as
|
||||
described below.
|
||||
|
||||
When the *map* keyword is not specified in your input script, LAMMPS
|
||||
only creates a map for :doc:`atom_styles <atom_style>` for molecular
|
||||
@ -83,34 +83,39 @@ systems which have permanent bonds (angles, etc). No map is created
|
||||
for atomic systems, since it is normally not needed. However some
|
||||
LAMMPS commands require a map, even for atomic systems, and will
|
||||
generate an error if one does not exist. The *map* keyword thus
|
||||
allows you to force the creation of a map. The *yes* value will
|
||||
create either an *array* or *hash* style map, as explained in the next
|
||||
paragraph. The *array* and *hash* values create an array-style or
|
||||
hash-style map respectively.
|
||||
allows you to force the creation of a map.
|
||||
|
||||
For an *array*\ -style map, each processor stores a lookup table of
|
||||
length N, where N is the largest atom ID in the system. This is a
|
||||
fast, simple method for many simulations, but requires too much memory
|
||||
for large simulations. For a *hash*\ -style map, a hash table is
|
||||
created on each processor, which finds an atom ID in constant time
|
||||
(independent of the global number of atom IDs). It can be slightly
|
||||
slower than the *array* map, but its memory cost is proportional to
|
||||
the number of atoms owned by a processor, i.e. N/P when N is the total
|
||||
number of atoms in the system and P is the number of processors.
|
||||
Specifying a value of *yes* will create either an array-style or
|
||||
hash-style map, depending on the size of the system. If no atom ID is
|
||||
larger than 1 million, then an array-style map is used, otherwise a
|
||||
hash-style map is used. Specifying a value of *array* or *hash*
|
||||
creates an array-style or hash-style map respectively, regardless of
|
||||
the size of the system.
|
||||
|
||||
The *first* keyword allows a :doc:`group <group>` to be specified whose
|
||||
atoms will be maintained as the first atoms in each processor's list
|
||||
of owned atoms. This in only useful when the specified group is a
|
||||
small fraction of all the atoms, and there are other operations LAMMPS
|
||||
is performing that will be sped-up significantly by being able to loop
|
||||
over the smaller set of atoms. Otherwise the reordering required by
|
||||
this option will be a net slow-down. The :doc:`neigh_modify include <neigh_modify>` and :doc:`comm_modify group <comm_modify>`
|
||||
commands are two examples of commands that require this setting to
|
||||
work efficiently. Several :doc:`fixes <fix>`, most notably time
|
||||
integration fixes like :doc:`fix nve <fix_nve>`, also take advantage of
|
||||
this setting if the group they operate on is the group specified by
|
||||
this command. Note that specifying "all" as the group-ID effectively
|
||||
turns off the *first* option.
|
||||
For an array-style map, each processor stores a lookup table of length
|
||||
N, where N is the largest atom ID in the system. This is a fast,
|
||||
simple method for many simulations, but requires too much memory for
|
||||
large simulations. For a hash-style map, a hash table is created on
|
||||
each processor, which finds an atom ID in constant time (independent
|
||||
of the global number of atom IDs). It can be slightly slower than the
|
||||
*array* map, but its memory cost is proportional to the number of
|
||||
atoms owned by a processor, i.e. N/P when N is the total number of
|
||||
atoms in the system and P is the number of processors.
|
||||
|
||||
The *first* keyword allows a :doc:`group <group>` to be specified
|
||||
whose atoms will be maintained as the first atoms in each processor's
|
||||
list of owned atoms. This in only useful when the specified group is
|
||||
a small fraction of all the atoms, and there are other operations
|
||||
LAMMPS is performing that will be sped-up significantly by being able
|
||||
to loop over the smaller set of atoms. Otherwise the reordering
|
||||
required by this option will be a net slow-down. The
|
||||
:doc:`neigh_modify include <neigh_modify>` and :doc:`comm_modify group
|
||||
<comm_modify>` commands are two examples of commands that require this
|
||||
setting to work efficiently. Several :doc:`fixes <fix>`, most notably
|
||||
time integration fixes like :doc:`fix nve <fix_nve>`, also take
|
||||
advantage of this setting if the group they operate on is the group
|
||||
specified by this command. Note that specifying "all" as the group-ID
|
||||
effectively turns off the *first* option.
|
||||
|
||||
It is OK to use the *first* keyword with a group that has not yet been
|
||||
defined, e.g. to use the atom_modify first command at the beginning of
|
||||
@ -148,15 +153,16 @@ cache locality will be undermined.
|
||||
|
||||
.. note::
|
||||
|
||||
Running a simulation with sorting on versus off should not
|
||||
change the simulation results in a statistical sense. However, a
|
||||
different ordering will induce round-off differences, which will lead
|
||||
to diverging trajectories over time when comparing two simulations.
|
||||
Various commands, particularly those which use random numbers
|
||||
(e.g. :doc:`velocity create <velocity>`, and :doc:`fix langevin <fix_langevin>`), may generate (statistically identical)
|
||||
results which depend on the order in which atoms are processed. The
|
||||
order of atoms in a :doc:`dump <dump>` file will also typically change
|
||||
if sorting is enabled.
|
||||
Running a simulation with sorting on versus off should not change
|
||||
the simulation results in a statistical sense. However, a
|
||||
different ordering will induce round-off differences, which will
|
||||
lead to diverging trajectories over time when comparing two
|
||||
simulations. Various commands, particularly those which use random
|
||||
numbers (e.g. :doc:`velocity create <velocity>`, and :doc:`fix
|
||||
langevin <fix_langevin>`), may generate (statistically identical)
|
||||
results which depend on the order in which atoms are processed.
|
||||
The order of atoms in a :doc:`dump <dump>` file will also typically
|
||||
change if sorting is enabled.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -183,12 +189,13 @@ Default
|
||||
|
||||
By default, *id* is yes. By default, atomic systems (no bond topology
|
||||
info) do not use a map. For molecular systems (with bond topology
|
||||
info), a map is used. The default map style is array if no atom ID is
|
||||
larger than 1 million, otherwise the default is hash. By default, a
|
||||
"first" group is not defined. By default, sorting is enabled with a
|
||||
frequency of 1000 and a binsize of 0.0, which means the neighbor
|
||||
cutoff will be used to set the bin size. If no neighbor cutoff is
|
||||
defined, sorting will be turned off.
|
||||
info), the default is to use a map of either *array* or *hash* style
|
||||
depending on the size of the sustem, as explained above for the *map
|
||||
yes* keyword/value option. By default, a *first* group is not
|
||||
defined. By default, sorting is enabled with a frequency of 1000 and
|
||||
a binsize of 0.0, which means the neighbor cutoff will be used to set
|
||||
the bin size. If no neighbor cutoff is defined, sorting will be turned
|
||||
off.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -272,6 +272,10 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
|
||||
* :doc:`pe/mol/tally <compute_tally>` - potential energy between two groups of atoms separated into intermolecular and intramolecular components via the tally callback mechanism
|
||||
* :doc:`pe/tally <compute_tally>` - potential energy between two groups of atoms via the tally callback mechanism
|
||||
* :doc:`plasticity/atom <compute_plasticity_atom>` - Peridynamic plasticity for each atom
|
||||
* :doc:`pod/atom <compute_pod_atom>` - POD descriptors for each atom
|
||||
* :doc:`podd/atom <compute_pod_atom>` - derivative of POD descriptors for each atom
|
||||
* :doc:`pod/local <compute_pod_atom>` - local POD descriptors and their derivatives
|
||||
* :doc:`pod/global <compute_pod_atom>` - global POD descriptors and their derivatives
|
||||
* :doc:`pressure <compute_pressure>` - total pressure and pressure tensor
|
||||
* :doc:`pressure/alchemy <compute_pressure_alchemy>` - mixed system total pressure and pressure tensor for :doc:`fix alchemy <fix_alchemy>` runs
|
||||
* :doc:`pressure/uef <compute_pressure_uef>` - pressure tensor in the reference frame of an applied flow field
|
||||
|
||||
145
doc/src/compute_pod_atom.rst
Normal file
145
doc/src/compute_pod_atom.rst
Normal file
@ -0,0 +1,145 @@
|
||||
.. index:: compute pod/atom
|
||||
.. index:: compute podd/atom
|
||||
.. index:: compute pod/local
|
||||
.. index:: compute pod/global
|
||||
|
||||
compute pod/atom command
|
||||
========================
|
||||
|
||||
compute podd/atom command
|
||||
=========================
|
||||
|
||||
compute pod/local command
|
||||
=========================
|
||||
|
||||
compute pod/global command
|
||||
==========================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute ID group-ID pod/atom param.pod coefficients.pod
|
||||
compute ID group-ID podd/atom param.pod coefficients.pod
|
||||
compute ID group-ID pod/local param.pod coefficients.pod
|
||||
compute ID group-ID pod/global param.pod coefficients.pod
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* pod/atom = style name of this compute command
|
||||
* param.pod = the parameter file specifies parameters of the POD descriptors
|
||||
* coefficients.pod = the coefficient file specifies coefficients of the POD potential
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute d all pod/atom Ta_param.pod
|
||||
compute dd all podd/atom Ta_param.pod
|
||||
compute ldd all pod/local Ta_param.pod
|
||||
compute gdd all podd/global Ta_param.pod
|
||||
compute d all pod/atom Ta_param.pod Ta_coefficients.pod
|
||||
compute dd all podd/atom Ta_param.pod Ta_coefficients.pod
|
||||
compute ldd all pod/local Ta_param.pod Ta_coefficients.pod
|
||||
compute gdd all podd/global Ta_param.pod Ta_coefficients.pod
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: 27June2024
|
||||
|
||||
Define a computation that calculates a set of quantities related to the
|
||||
POD descriptors of the atoms in a group. These computes are used
|
||||
primarily for calculating the dependence of energy and force components
|
||||
on the linear coefficients in the :doc:`pod pair_style <pair_pod>`,
|
||||
which is useful when training a POD potential to match target data. POD
|
||||
descriptors of an atom are characterized by the radial and angular
|
||||
distribution of neighbor atoms. The detailed mathematical definition is
|
||||
given in the papers by :ref:`(Nguyen and Rohskopf) <Nguyen20222c>`,
|
||||
:ref:`(Nguyen2023) <Nguyen20232c>`, :ref:`(Nguyen2024) <Nguyen20242c>`,
|
||||
and :ref:`(Nguyen and Sema) <Nguyen20243c>`.
|
||||
|
||||
Compute *pod/atom* calculates the per-atom POD descriptors.
|
||||
|
||||
Compute *podd/atom* calculates derivatives of the per-atom POD
|
||||
descriptors with respect to atom positions.
|
||||
|
||||
Compute *pod/local* calculates the per-atom POD descriptors and their
|
||||
derivatives with respect to atom positions.
|
||||
|
||||
Compute *pod/global* calculates the global POD descriptors and their
|
||||
derivatives with respect to atom positions.
|
||||
|
||||
Examples how to use Compute POD commands are found in the directory
|
||||
``examples/PACKAGES/pod``.
|
||||
|
||||
|
||||
.. warning::
|
||||
|
||||
All of these compute styles produce *very* large per-atom output
|
||||
arrays that scale with the total number of atoms in the system.
|
||||
This will result in *very* large memory consumption for systems
|
||||
with a large number of atoms.
|
||||
|
||||
----------
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
Compute *pod/atom* produces an 2D array of size :math:`N \times M`,
|
||||
where :math:`N` is the number of atoms and :math:`M` is the number of
|
||||
descriptors. Each column corresponds to a particular POD descriptor.
|
||||
|
||||
Compute *podd/atom* produces an 2D array of size :math:`N \times (M * 3
|
||||
N)`. Each column corresponds to a particular derivative of a POD
|
||||
descriptor.
|
||||
|
||||
Compute *pod/local* produces an 2D array of size :math:`(1 + 3N) \times
|
||||
(M * N)`. The first row contains the per-atom descriptors, and the last
|
||||
3N rows contain the derivatives of the per-atom descriptors with respect
|
||||
to atom positions.
|
||||
|
||||
Compute *pod/global* produces an 2D array of size :math:`(1 + 3N) \times
|
||||
(M)`. The first row contains the global descriptors, and the last 3N
|
||||
rows contain the derivatives of the global descriptors with respect to
|
||||
atom positions.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
These computes are part of the ML-POD package. They are only enabled
|
||||
if LAMMPS was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fitpod <fitpod_command>`,
|
||||
:doc:`pair_style pod <pair_pod>`
|
||||
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
|
||||
----------
|
||||
|
||||
.. _Nguyen20222c:
|
||||
|
||||
**(Nguyen and Rohskopf)** Nguyen and Rohskopf, Journal of Computational Physics, 480, 112030, (2023).
|
||||
|
||||
.. _Nguyen20232c:
|
||||
|
||||
**(Nguyen2023)** Nguyen, Physical Review B, 107(14), 144103, (2023).
|
||||
|
||||
.. _Nguyen20242c:
|
||||
|
||||
**(Nguyen2024)** Nguyen, Journal of Computational Physics, 113102, (2024).
|
||||
|
||||
.. _Nguyen20243c:
|
||||
|
||||
**(Nguyen and Sema)** Nguyen and Sema, https://arxiv.org/abs/2405.00306, (2024).
|
||||
|
||||
|
||||
@ -1,18 +1,19 @@
|
||||
.. index:: fitpod
|
||||
|
||||
fitpod command
|
||||
======================
|
||||
==============
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fitpod Ta_param.pod Ta_data.pod
|
||||
fitpod Ta_param.pod Ta_data.pod Ta_coefficients.pod
|
||||
|
||||
* fitpod = style name of this command
|
||||
* Ta_param.pod = an input file that describes proper orthogonal descriptors (PODs)
|
||||
* Ta_data.pod = an input file that specifies DFT data used to fit a POD potential
|
||||
* Ta_coefficients.pod (optional) = an input file that specifies trainable coefficients of a POD potential
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -20,20 +21,26 @@ Examples
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fitpod Ta_param.pod Ta_data.pod
|
||||
fitpod Ta_param.pod Ta_data.pod Ta_coefficients.pod
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
Fit a machine-learning interatomic potential (ML-IAP) based on proper
|
||||
orthogonal descriptors (POD). Two input files are required for this
|
||||
command. The first input file describes a POD potential parameter
|
||||
settings, while the second input file specifies the DFT data used for
|
||||
the fitting procedure.
|
||||
orthogonal descriptors (POD); please see :ref:`(Nguyen and Rohskopf)
|
||||
<Nguyen20222a>`, :ref:`(Nguyen2023) <Nguyen20232a>`, :ref:`(Nguyen2024)
|
||||
<Nguyen20242a>`, and :ref:`(Nguyen and Sema) <Nguyen20243a>` for details.
|
||||
The fitted POD potential can be used to run MD simulations via
|
||||
:doc:`pair_style pod <pair_pod>`.
|
||||
|
||||
The table below has one-line descriptions of all the keywords that can
|
||||
be used in the first input file (i.e. ``Ta_param.pod`` in the example
|
||||
above):
|
||||
Two input files are required for this command. The first input file
|
||||
describes a POD potential parameter settings, while the second input
|
||||
file specifies the DFT data used for the fitting procedure. All keywords
|
||||
except *species* have default values. If a keyword is not set in the
|
||||
input file, its default value is used. The table below has one-line
|
||||
descriptions of all the keywords that can be used in the first input
|
||||
file (i.e. ``Ta_param.pod``)
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
@ -52,7 +59,7 @@ above):
|
||||
- INT
|
||||
- three integer constants specify boundary conditions
|
||||
* - rin
|
||||
- 1.0
|
||||
- 0.5
|
||||
- REAL
|
||||
- a real number specifies the inner cut-off radius
|
||||
* - rcut
|
||||
@ -60,46 +67,75 @@ above):
|
||||
- REAL
|
||||
- a real number specifies the outer cut-off radius
|
||||
* - bessel_polynomial_degree
|
||||
- 3
|
||||
- 4
|
||||
- INT
|
||||
- the maximum degree of Bessel polynomials
|
||||
* - inverse_polynomial_degree
|
||||
- 6
|
||||
- 8
|
||||
- INT
|
||||
- the maximum degree of inverse radial basis functions
|
||||
* - number_of_environment_clusters
|
||||
- 1
|
||||
- INT
|
||||
- the number of clusters for environment-adaptive potentials
|
||||
* - number_of_principal_components
|
||||
- 2
|
||||
- INT
|
||||
- the number of principal components for dimensionality reduction
|
||||
* - onebody
|
||||
- 1
|
||||
- BOOL
|
||||
- turns on/off one-body potential
|
||||
* - twobody_number_radial_basis_functions
|
||||
- 6
|
||||
- 8
|
||||
- INT
|
||||
- number of radial basis functions for two-body potential
|
||||
* - threebody_number_radial_basis_functions
|
||||
- 5
|
||||
- 6
|
||||
- INT
|
||||
- number of radial basis functions for three-body potential
|
||||
* - threebody_number_angular_basis_functions
|
||||
* - threebody_angular_degree
|
||||
- 5
|
||||
- INT
|
||||
- number of angular basis functions for three-body potential
|
||||
* - fourbody_snap_twojmax
|
||||
- angular degree for three-body potential
|
||||
* - fourbody_number_radial_basis_functions
|
||||
- 4
|
||||
- INT
|
||||
- number of radial basis functions for four-body potential
|
||||
* - fourbody_angular_degree
|
||||
- 3
|
||||
- INT
|
||||
- angular degree for four-body potential
|
||||
* - fivebody_number_radial_basis_functions
|
||||
- 0
|
||||
- INT
|
||||
- band limit for SNAP bispectrum components (0,2,4,6,8... allowed)
|
||||
* - fourbody_snap_chemflag
|
||||
- number of radial basis functions for five-body potential
|
||||
* - fivebody_angular_degree
|
||||
- 0
|
||||
- BOOL
|
||||
- turns on/off the explicit multi-element variant of the SNAP bispectrum components
|
||||
* - quadratic_pod_potential
|
||||
- INT
|
||||
- angular degree for five-body potential
|
||||
* - sixbody_number_radial_basis_functions
|
||||
- 0
|
||||
- BOOL
|
||||
- turns on/off quadratic POD potential
|
||||
- INT
|
||||
- number of radial basis functions for six-body potential
|
||||
* - sixbody_angular_degree
|
||||
- 0
|
||||
- INT
|
||||
- angular degree for six-body potential
|
||||
* - sevenbody_number_radial_basis_functions
|
||||
- 0
|
||||
- INT
|
||||
- number of radial basis functions for seven-body potential
|
||||
* - sevenbody_angular_degree
|
||||
- 0
|
||||
- INT
|
||||
- angular degree for seven-body potential
|
||||
|
||||
Note that both the number of radial basis functions and angular degree
|
||||
must decrease as the body order increases. The next table describes all
|
||||
keywords that can be used in the second input file (i.e. ``Ta_data.pod``
|
||||
in the example above):
|
||||
|
||||
All keywords except *species* have default values. If a keyword is not
|
||||
set in the input file, its default value is used. The next table
|
||||
describes all keywords that can be used in the second input file
|
||||
(i.e. ``Ta_data.pod`` in the example above):
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
@ -125,6 +161,10 @@ describes all keywords that can be used in the second input file
|
||||
- ""
|
||||
- STRING
|
||||
- specifies the path to test data files in double quotes
|
||||
* - path_to_environment_configuration_set
|
||||
- ""
|
||||
- STRING
|
||||
- specifies the path to environment configuration files in double quotes
|
||||
* - fraction_training_data_set
|
||||
- 1.0
|
||||
- REAL
|
||||
@ -133,6 +173,14 @@ describes all keywords that can be used in the second input file
|
||||
- 0
|
||||
- BOOL
|
||||
- turns on/off randomization of the training set
|
||||
* - fraction_test_data_set
|
||||
- 1.0
|
||||
- REAL
|
||||
- a real number (<= 1.0) specifies the fraction of the test set used to validate POD
|
||||
* - randomize_test_data_set
|
||||
- 0
|
||||
- BOOL
|
||||
- turns on/off randomization of the test set
|
||||
* - fitting_weight_energy
|
||||
- 100.0
|
||||
- REAL
|
||||
@ -161,6 +209,10 @@ describes all keywords that can be used in the second input file
|
||||
- 8
|
||||
- INT
|
||||
- number of digits after the decimal points for numbers in the coefficient file
|
||||
* - group_weights
|
||||
- global
|
||||
- STRING
|
||||
- ``table`` uses group weights defined for each group named by filename
|
||||
|
||||
All keywords except *path_to_training_data_set* have default values. If
|
||||
a keyword is not set in the input file, its default value is used. After
|
||||
@ -172,14 +224,44 @@ successful training, a number of output files are produced, if enabled:
|
||||
* ``<basename>_test_analysis.pod`` reports detailed errors for all test configurations
|
||||
* ``<basename>_coefficients.pod`` contains the coefficients of the POD potential
|
||||
|
||||
After training the POD potential, ``Ta_param.pod`` and ``<basename>_coefficients.pod``
|
||||
are the two files needed to use the POD potential in LAMMPS. See
|
||||
:doc:`pair_style pod <pair_pod>` for using the POD potential. Examples
|
||||
about training and using POD potentials are found in the directory
|
||||
lammps/examples/PACKAGES/pod.
|
||||
After training the POD potential, ``Ta_param.pod`` and
|
||||
``<basename>_coefficients.pod`` are the two files needed to use the POD
|
||||
potential in LAMMPS. See :doc:`pair_style pod <pair_pod>` for using the
|
||||
POD potential. Examples about training and using POD potentials are
|
||||
found in the directory lammps/examples/PACKAGES/pod and the Github repo
|
||||
https://github.com/cesmix-mit/pod-examples.
|
||||
|
||||
Parameterized Potential Energy Surface
|
||||
""""""""""""""""""""""""""""""""""""""
|
||||
Loss Function Group Weights
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The *group_weights* keyword in the ``data.pod`` file is responsible for
|
||||
weighting certain groups of configurations in the loss function. For
|
||||
example:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
group_weights table
|
||||
Displaced_A15 100.0 1.0
|
||||
Displaced_BCC 100.0 1.0
|
||||
Displaced_FCC 100.0 1.0
|
||||
Elastic_BCC 100.0 1.0
|
||||
Elastic_FCC 100.0 1.0
|
||||
GSF_110 100.0 1.0
|
||||
GSF_112 100.0 1.0
|
||||
Liquid 100.0 1.0
|
||||
Surface 100.0 1.0
|
||||
Volume_A15 100.0 1.0
|
||||
Volume_BCC 100.0 1.0
|
||||
Volume_FCC 100.0 1.0
|
||||
|
||||
This will apply an energy weight of ``100.0`` and a force weight of
|
||||
``1.0`` for all groups in the ``Ta`` example. The groups are named by
|
||||
their respective filename. If certain groups are left out of this table,
|
||||
then the globally defined weights from the ``fitting_weight_energy`` and
|
||||
``fitting_weight_force`` keywords will be used.
|
||||
|
||||
POD Potential
|
||||
"""""""""""""
|
||||
|
||||
We consider a multi-element system of *N* atoms with :math:`N_{\rm e}`
|
||||
unique elements. We denote by :math:`\boldsymbol r_n` and :math:`Z_n`
|
||||
@ -187,535 +269,82 @@ position vector and type of an atom *n* in the system,
|
||||
respectively. Note that we have :math:`Z_n \in \{1, \ldots, N_{\rm e}
|
||||
\}`, :math:`\boldsymbol R = (\boldsymbol r_1, \boldsymbol r_2, \ldots,
|
||||
\boldsymbol r_N) \in \mathbb{R}^{3N}`, and :math:`\boldsymbol Z = (Z_1,
|
||||
Z_2, \ldots, Z_N) \in \mathbb{N}^{N}`. The potential energy surface
|
||||
(PES) of the system can be expressed as a many-body expansion of the
|
||||
form
|
||||
Z_2, \ldots, Z_N) \in \mathbb{N}^{N}`. The total energy of the
|
||||
POD potential is expressed as :math:`E(\boldsymbol R, \boldsymbol Z) =
|
||||
\sum_{i=1}^N E_i(\boldsymbol R_i, \boldsymbol Z_i)`, where
|
||||
|
||||
.. math::
|
||||
|
||||
E(\boldsymbol R, \boldsymbol Z, \boldsymbol{\eta}, \boldsymbol{\mu}) \ = \ & \sum_{i} V^{(1)}(\boldsymbol r_i, Z_i, \boldsymbol \mu^{(1)} ) + \frac12 \sum_{i,j} V^{(2)}(\boldsymbol r_i, \boldsymbol r_j, Z_i, Z_j, \boldsymbol \eta, \boldsymbol \mu^{(2)}) \\
|
||||
& + \frac16 \sum_{i,j,k} V^{(3)}(\boldsymbol r_i, \boldsymbol r_j, \boldsymbol r_k, Z_i, Z_j, Z_k, \boldsymbol \eta, \boldsymbol \mu^{(3)}) + \ldots
|
||||
|
||||
where :math:`V^{(1)}` is the one-body potential often used for
|
||||
representing external field or energy of isolated elements, and the
|
||||
higher-body potentials :math:`V^{(2)}, V^{(3)}, \ldots` are symmetric,
|
||||
uniquely defined, and zero if two or more indices take identical values.
|
||||
The superscript on each potential denotes its body order. Each *q*-body
|
||||
potential :math:`V^{(q)}` depends on :math:`\boldsymbol \mu^{(q)}` which
|
||||
are sets of parameters to fit the PES. Note that :math:`\boldsymbol \mu`
|
||||
is a collection of all potential parameters :math:`\boldsymbol
|
||||
\mu^{(1)}`, :math:`\boldsymbol \mu^{(2)}`, :math:`\boldsymbol
|
||||
\mu^{(3)}`, etc, and that :math:`\boldsymbol \eta` is a set of
|
||||
hyper-parameters such as inner cut-off radius :math:`r_{\rm in}` and
|
||||
outer cut-off radius :math:`r_{\rm cut}`.
|
||||
|
||||
Interatomic potentials rely on parameters to learn relationship between
|
||||
atomic environments and interactions. Since interatomic potentials are
|
||||
approximations by nature, their parameters need to be set to some
|
||||
reference values or fitted against data by necessity. Typically,
|
||||
potential fitting finds optimal parameters, :math:`\boldsymbol \mu^*`,
|
||||
to minimize a certain loss function of the predicted quantities and
|
||||
data. Since the fitted potential depends on the data set used to fit it,
|
||||
different data sets will yield different optimal parameters and thus
|
||||
different fitted potentials. When fitting the same functional form on
|
||||
*Q* different data sets, we would obtain *Q* different optimized
|
||||
potentials, :math:`E(\boldsymbol R,\boldsymbol Z, \boldsymbol \eta,
|
||||
\boldsymbol \mu_q^*), 1 \le q \le Q`. Consequently, there exist many
|
||||
different sets of optimized parameters for empirical interatomic
|
||||
potentials.
|
||||
|
||||
Instead of optimizing the potential parameters, inspired by the reduced
|
||||
basis method :ref:`(Grepl) <Grepl20072>` for parameterized partial
|
||||
differential equations, we view the parameterized PES as a parametric
|
||||
manifold of potential energies
|
||||
|
||||
.. math::
|
||||
|
||||
\mathcal{M} = \{E(\boldsymbol R, \boldsymbol Z, \boldsymbol \eta, \boldsymbol \mu) \ | \ \boldsymbol \mu \in \Omega^{\boldsymbol \mu} \}
|
||||
|
||||
where :math:`\Omega^{\boldsymbol \mu}` is a parameter domain in which
|
||||
:math:`\boldsymbol \mu` resides. The parametric manifold
|
||||
:math:`\mathcal{M}` contains potential energy surfaces for all values of
|
||||
:math:`\boldsymbol \mu \in \Omega^{\boldsymbol \mu}`. Therefore, the
|
||||
parametric manifold yields a much richer and more transferable atomic
|
||||
representation than any particular individual PES :math:`E(\boldsymbol
|
||||
R, \boldsymbol Z, \boldsymbol \eta, \boldsymbol \mu^*)`.
|
||||
|
||||
We propose specific forms of the parameterized potentials for one-body,
|
||||
two-body, and three-body interactions. We apply the Karhunen-Loeve
|
||||
expansion to snapshots of the parameterized potentials to obtain sets of
|
||||
orthogonal basis functions. These basis functions are aggregated
|
||||
according to the chemical elements of atoms, thus leading to
|
||||
multi-element proper orthogonal descriptors.
|
||||
|
||||
Proper Orthogonal Descriptors
|
||||
"""""""""""""""""""""""""""""
|
||||
|
||||
Proper orthogonal descriptors are finger prints characterizing the
|
||||
radial and angular distribution of a system of atoms. The detailed
|
||||
mathematical definition is given in the paper by Nguyen and Rohskopf
|
||||
:ref:`(Nguyen) <Nguyen20222>`.
|
||||
|
||||
The descriptors for the one-body interaction are used to capture energy
|
||||
of isolated elements and defined as follows
|
||||
|
||||
.. math::
|
||||
|
||||
D_{ip}^{(1)} = \left\{
|
||||
\begin{array}{ll}
|
||||
1, & \mbox{if } Z_i = p \\
|
||||
0, & \mbox{if } Z_i \neq p
|
||||
\end{array}
|
||||
\right.
|
||||
|
||||
for :math:`1 \le i \le N, 1 \le p \le N_{\rm e}`. The number of one-body
|
||||
descriptors per atom is equal to the number of elements. The one-body
|
||||
descriptors are independent of atom positions, but dependent on atom
|
||||
types. The one-body descriptors are active only when the keyword
|
||||
*onebody* is set to 1.
|
||||
|
||||
We adopt the usual assumption that the direct interaction between two
|
||||
atoms vanishes smoothly when their distance is greater than the outer
|
||||
cutoff distance :math:`r_{\rm cut}`. Furthermore, we assume that two
|
||||
atoms can not get closer than the inner cutoff distance :math:`r_{\rm
|
||||
in}` due to the Pauli repulsion principle. Let :math:`r \in (r_{\rm in},
|
||||
r_{\rm cut})`, we introduce the following parameterized radial functions
|
||||
|
||||
.. math::
|
||||
|
||||
\phi(r, r_{\rm in}, r_{\rm cut}, \alpha, \beta) = \frac{\sin (\alpha \pi x) }{r - r_{\rm in}}, \qquad \varphi(r, \gamma) = \frac{1}{r^\gamma} ,
|
||||
|
||||
where the scaled distance function :math:`x` is defined below to enrich the two-body manifold
|
||||
|
||||
.. math::
|
||||
|
||||
x(r, r_{\rm in}, r_{\rm cut}, \beta) = \frac{e^{-\beta(r - r_{\rm in})/(r_{\rm cut} - r_{\rm in})} - 1}{e^{-\beta} - 1} .
|
||||
|
||||
We introduce the following function as a convex combination of the two functions
|
||||
|
||||
.. math::
|
||||
|
||||
\psi(r, r_{\rm in}, r_{\rm cut}, \alpha, \beta, \gamma, \kappa) = \kappa \phi(r, r_{\rm in}, r_{\rm cut}, \alpha, \beta) + (1- \kappa) \varphi(r, \gamma) .
|
||||
|
||||
We see that :math:`\psi` is a function of distance :math:`r`, cut-off
|
||||
distances :math:`r_{\rm in}` and :math:`r_{\rm cut}`, and parameters
|
||||
:math:`\alpha, \beta, \gamma, \kappa`. Together these parameters allow
|
||||
the function :math:`\psi` to characterize a diverse spectrum of two-body
|
||||
interactions within the cut-off interval :math:`(r_{\rm in}, r_{\rm
|
||||
cut})`.
|
||||
|
||||
Next, we introduce the following parameterized potential
|
||||
|
||||
.. math::
|
||||
|
||||
W^{(2)}(r_{ij}, \boldsymbol \eta, \boldsymbol \mu^{(2)}) = f_{\rm c}(r_{ij}, \boldsymbol \eta) \psi(r_{ij}, \boldsymbol \eta, \boldsymbol \mu^{(2)})
|
||||
|
||||
where :math:`\eta_1 = r_{\rm in}, \eta_2 = r_{\rm cut}, \mu_1^{(2)} =
|
||||
\alpha, \mu_2^{(2)} = \beta, \mu_3^{(2)} = \gamma`, and
|
||||
:math:`\mu_4^{(2)} = \kappa`. Here the cut-off function :math:`f_{\rm
|
||||
c}(r_{ij}, \boldsymbol \eta)` proposed in [refs] is used to ensure the
|
||||
smooth vanishing of the potential and its derivative for :math:`r_{ij}
|
||||
\ge r_{\rm cut}`:
|
||||
|
||||
.. math::
|
||||
|
||||
f_{\rm c}(r_{ij}, r_{\rm in}, r_{\rm cut}) = \exp \left(1 -\frac{1}{\sqrt{\left(1 - \frac{(r-r_{\rm in})^3}{(r_{\rm cut} - r_{\rm in})^3} \right)^2 + 10^{-6}}} \right)
|
||||
|
||||
Based on the parameterized potential, we form a set of snapshots as
|
||||
follows. We assume that we are given :math:`N_{\rm s}` parameter tuples
|
||||
:math:`\boldsymbol \mu^{(2)}_\ell, 1 \le \ell \le N_{\rm s}`. We
|
||||
introduce the following set of snapshots on :math:`(r_{\rm in}, r_{\rm
|
||||
cut})`:
|
||||
|
||||
.. math::
|
||||
|
||||
\xi_\ell(r_{ij}, \boldsymbol \eta) = W^{(2)}(r_{ij}, \boldsymbol \eta, \boldsymbol \mu^{(2)}_\ell), \quad \ell = 1, \ldots, N_{\rm s} .
|
||||
|
||||
To ensure adequate sampling of the PES for different parameters, we
|
||||
choose :math:`N_{\rm s}` parameter points :math:`\boldsymbol
|
||||
\mu^{(2)}_\ell = (\alpha_\ell, \beta_\ell, \gamma_\ell, \kappa_\ell), 1
|
||||
\le \ell \le N_{\rm s}` as follows. The parameters :math:`\alpha \in [1,
|
||||
N_\alpha]` and :math:`\gamma \in [1, N_\gamma]` are integers, where
|
||||
:math:`N_\alpha` and :math:`N_\gamma` are the highest degrees for
|
||||
:math:`\alpha` and :math:`\gamma`, respectively. We next choose
|
||||
:math:`N_\beta` different values of :math:`\beta` in the interval
|
||||
:math:`[\beta_{\min}, \beta_{\max}]`, where :math:`\beta_{\min} = 0` and
|
||||
:math:`\beta_{\max} = 4`. The parameter :math:`\kappa` can be set either
|
||||
0 or 1. Hence, the total number of parameter points is :math:`N_{\rm s}
|
||||
= N_\alpha N_\beta + N_\gamma`. Although :math:`N_\alpha, N_\beta,
|
||||
N_\gamma` can be chosen conservatively large, we find that
|
||||
:math:`N_\alpha = 6, N_\beta = 3, N_\gamma = 8` are adequate for most
|
||||
problems. Note that :math:`N_\alpha` and :math:`N_\gamma` correspond to
|
||||
*bessel_polynomial_degree* and *inverse_polynomial_degree*,
|
||||
respectively.
|
||||
|
||||
We employ the Karhunen-Loeve (KL) expansion to generate an orthogonal
|
||||
basis set which is known to be optimal for representation of the
|
||||
snapshot family :math:`\{\xi_\ell\}_{\ell=1}^{N_{\rm s}}`. The two-body
|
||||
orthogonal basis functions are computed as follows
|
||||
|
||||
.. math::
|
||||
|
||||
U^{(2)}_m(r_{ij}, \boldsymbol \eta) = \sum_{\ell = 1}^{N_{\rm s}} A_{\ell m}(\boldsymbol \eta) \, \xi_\ell(r_{ij}, \boldsymbol \eta), \qquad m = 1, \ldots, N_{\rm 2b} ,
|
||||
|
||||
where the matrix :math:`\boldsymbol A \in \mathbb{R}^{N_{\rm s} \times
|
||||
N_{\rm s}}` consists of eigenvectors of the eigenvalue problem
|
||||
|
||||
.. math::
|
||||
|
||||
\boldsymbol C \boldsymbol a = \lambda \boldsymbol a
|
||||
|
||||
with the entries of :math:`\boldsymbol C \in \mathbb{R}^{N_{\rm s} \times N_{\rm s}}` being given by
|
||||
|
||||
.. math::
|
||||
|
||||
C_{ij} = \frac{1}{N_{\rm s}} \int_{r_{\rm in}}^{r_{\rm cut}} \xi_i(x, \boldsymbol \eta) \xi_j(x, \boldsymbol \eta) dx, \quad 1 \le i, j \le N_{\rm s}
|
||||
|
||||
Note that the eigenvalues :math:`\lambda_\ell, 1 \le \ell \le N_{\rm
|
||||
s}`, are ordered such that :math:`\lambda_1 \ge \lambda_2 \ge \ldots \ge
|
||||
\lambda_{N_{\rm s}}`, and that the matrix :math:`\boldsymbol A` is
|
||||
pe-computed and stored for any given :math:`\boldsymbol \eta`. Owing to
|
||||
the rapid convergence of the KL expansion, only a small number of
|
||||
orthogonal basis functions is needed to obtain accurate
|
||||
approximation. The value of :math:`N_{\rm 2b}` corresponds to
|
||||
*twobody_number_radial_basis_functions*.
|
||||
|
||||
The two-body proper orthogonal descriptors at each atom *i* are computed
|
||||
by summing the orthogonal basis functions over the neighbors of atom *i*
|
||||
and numerating on the atom types as follows
|
||||
|
||||
.. math::
|
||||
|
||||
D^{(2)}_{im l(p, q) }(\boldsymbol \eta) = \left\{
|
||||
\begin{array}{ll}
|
||||
\displaystyle \sum_{\{j | Z_j = q\}} U^{(2)}_m(r_{ij}, \boldsymbol \eta), & \mbox{if } Z_i = p \\
|
||||
0, & \mbox{if } Z_i \neq p
|
||||
\end{array}
|
||||
\right.
|
||||
|
||||
for :math:`1 \le i \le N, 1 \le m \le N_{\rm 2b}, 1 \le q, p \le N_{\rm
|
||||
e}`. Here :math:`l(p,q)` is a symmetric index mapping such that
|
||||
|
||||
.. math::
|
||||
|
||||
l(p,q) = \left\{
|
||||
\begin{array}{ll}
|
||||
q + (p-1) N_{\rm e} - p(p-1)/2, & \mbox{if } q \ge p \\
|
||||
p + (q-1) N_{\rm e} - q(q-1)/2, & \mbox{if } q < p .
|
||||
\end{array}
|
||||
\right.
|
||||
|
||||
The number of two-body descriptors per atom is thus :math:`N_{\rm 2b}
|
||||
N_{\rm e}(N_{\rm e}+1)/2`.
|
||||
|
||||
It is important to note that the orthogonal basis functions do not
|
||||
depend on the atomic numbers :math:`Z_i` and :math:`Z_j`. Therefore, the
|
||||
cost of evaluating the basis functions and their derivatives with
|
||||
respect to :math:`r_{ij}` is independent of the number of elements
|
||||
:math:`N_{\rm e}`. Consequently, even though the two-body proper
|
||||
orthogonal descriptors depend on :math:`\boldsymbol Z`, their
|
||||
computational complexity is independent of :math:`N_{\rm e}`.
|
||||
|
||||
In order to provide proper orthogonal descriptors for three-body
|
||||
interactions, we need to introduce a three-body parameterized
|
||||
potential. In particular, the three-body potential is defined as a
|
||||
product of radial and angular functions as follows
|
||||
|
||||
.. math::
|
||||
|
||||
W^{(3)}(r_{ij}, r_{ik}, \theta_{ijk}, \boldsymbol \eta, \boldsymbol \mu^{(3)}) = \psi(r_{ij}, r_{\rm min}, r_{\rm max}, \alpha, \beta, \gamma, \kappa) f_{\rm c}(r_{ij}, r_{\rm min}, r_{\rm max}) \\
|
||||
\psi(r_{ik}, r_{\rm min}, r_{\rm max}, \alpha, \beta, \gamma, \kappa) f_{\rm c}(r_{ik}, r_{\rm min}, r_{\rm max}) \\
|
||||
\cos (\sigma \theta_{ijk} + \zeta)
|
||||
|
||||
where :math:`\sigma` is the periodic multiplicity, :math:`\zeta` is the
|
||||
equilibrium angle, :math:`\boldsymbol \mu^{(3)} = (\alpha, \beta,
|
||||
\gamma, \kappa, \sigma, \zeta)`. The three-body potential provides an
|
||||
angular fingerprint of the atomic environment through the bond angles
|
||||
:math:`\theta_{ijk}` formed with each pair of neighbors :math:`j` and
|
||||
:math:`k`. Compared to the two-body potential, the three-body potential
|
||||
has two extra parameters :math:`(\sigma, \zeta)` associated with the
|
||||
angular component.
|
||||
|
||||
Let :math:`\boldsymbol \varrho = (\alpha, \beta, \gamma, \kappa)`. We
|
||||
assume that we are given :math:`L_{\rm r}` parameter tuples
|
||||
:math:`\boldsymbol \varrho_\ell, 1 \le \ell \le L_{\rm r}`. We
|
||||
introduce the following set of snapshots on :math:`(r_{\min},
|
||||
r_{\max})`:
|
||||
|
||||
.. math::
|
||||
|
||||
\zeta_\ell(r_{ij}, r_{\rm min}, r_{\rm max} ) = \psi(r_{ij}, r_{\rm min}, r_{\rm max}, \boldsymbol \varrho_\ell) f_{\rm c}(r_{ij}, r_{\rm min}, r_{\rm max}), \quad 1 \le \ell \le L_{\rm r} .
|
||||
|
||||
We apply the Karhunen-Loeve (KL) expansion to this set of snapshots to
|
||||
obtain orthogonal basis functions as follows
|
||||
|
||||
.. math::
|
||||
|
||||
U^{r}_m(r_{ij}, r_{\rm min}, r_{\rm max} ) = \sum_{\ell = 1}^{L_{\rm r}} A_{\ell m} \, \zeta_\ell(r_{ij}, r_{\rm min}, r_{\rm max} ), \qquad m = 1, \ldots, N_{\rm r} ,
|
||||
|
||||
where the matrix :math:`\boldsymbol A \in \mathbb{R}^{L_{\rm r} \times L_{\rm r}}` consists
|
||||
of eigenvectors of the eigenvalue problem. For the parameterized angular function,
|
||||
we consider angular basis functions
|
||||
|
||||
.. math::
|
||||
|
||||
U^{a}_n(\theta_{ijk}) = \cos ((n-1) \theta_{ijk}), \qquad n = 1,\ldots, N_{\rm a},
|
||||
|
||||
where :math:`N_{\rm a}` is the number of angular basis functions. The orthogonal
|
||||
basis functions for the parameterized potential are computed as follows
|
||||
|
||||
.. math::
|
||||
|
||||
U^{(3)}_{mn}(r_{ij}, r_{ik}, \theta_{ijk}, \boldsymbol \eta) = U^{r}_m(r_{ij}, \boldsymbol \eta) U^{r}_m(r_{ik}, \boldsymbol \eta) U^{a}_n(\theta_{ijk}),
|
||||
|
||||
for :math:`1 \le m \le N_{\rm r}, 1 \le n \le N_{\rm a}`. The number of three-body
|
||||
orthogonal basis functions is equal to :math:`N_{\rm 3b} = N_{\rm r} N_{\rm a}` and
|
||||
independent of the number of elements. The value of :math:`N_{\rm r}` corresponds to
|
||||
*threebody_number_radial_basis_functions*, while that of :math:`N_{\rm a}` to
|
||||
*threebody_number_angular_basis_functions*.
|
||||
|
||||
The three-body proper orthogonal descriptors at each atom *i*
|
||||
are obtained by summing over the neighbors *j* and *k* of atom *i* as
|
||||
|
||||
.. math::
|
||||
|
||||
D^{(3)}_{imn \ell(p, q, s)}(\boldsymbol \eta) = \left\{
|
||||
\begin{array}{ll}
|
||||
\displaystyle \sum_{\{j | Z_j = q\}} \sum_{\{k | Z_k = s\}} U^{(3)}_{mn}(r_{ij}, r_{ik}, \theta_{ijk}, \boldsymbol \eta), & \mbox{if } Z_i = p \\
|
||||
0, & \mbox{if } Z_i \neq p
|
||||
\end{array}
|
||||
\right.
|
||||
|
||||
for :math:`1 \le i \le N, 1 \le m \le N_{\rm r}, 1 \le n \le N_{\rm a}, 1 \le q, p, s \le N_{\rm e}`,
|
||||
where
|
||||
|
||||
.. math::
|
||||
|
||||
\ell(p,q,s) = \left\{
|
||||
\begin{array}{ll}
|
||||
s + (q-1) N_{\rm e} - q(q-1)/2 + (p-1)N_{\rm e}(1+N_{\rm e})/2 , & \mbox{if } s \ge q \\
|
||||
q + (s-1) N_{\rm e} - s(s-1)/2 + (p-1)N_{\rm e}(1+N_{\rm e})/2, & \mbox{if } s < q .
|
||||
\end{array}
|
||||
\right.
|
||||
|
||||
The number of three-body descriptors per atom is thus :math:`N_{\rm 3b} N_{\rm e}^2(N_{\rm e}+1)/2`.
|
||||
While the number of three-body PODs is cubic function of the number of elements,
|
||||
the computational complexity of the three-body PODs is independent of the number of elements.
|
||||
|
||||
Four-Body SNAP Descriptors
|
||||
""""""""""""""""""""""""""
|
||||
|
||||
In addition to the proper orthogonal descriptors described above, we also employ
|
||||
the spectral neighbor analysis potential (SNAP) descriptors. SNAP uses bispectrum components
|
||||
to characterize the local neighborhood of each atom in a very general way. The mathematical definition
|
||||
of the bispectrum calculation and its derivatives w.r.t. atom positions is described in
|
||||
:doc:`compute snap <compute_sna_atom>`. In SNAP, the
|
||||
total energy is decomposed into a sum over atom energies. The energy of
|
||||
atom *i* is expressed as a weighted sum over bispectrum components.
|
||||
|
||||
.. math::
|
||||
|
||||
E_i^{\rm SNAP} = \sum_{k=1}^{N_{\rm 4b}} \sum_{p=1}^{N_{\rm e}} c_{kp}^{(4)} D_{ikp}^{(4)}
|
||||
|
||||
|
||||
where the SNAP descriptors are related to the bispectrum components by
|
||||
|
||||
.. math::
|
||||
|
||||
D^{(4)}_{ikp} = \left\{
|
||||
\begin{array}{ll}
|
||||
\displaystyle B_{ik}, & \mbox{if } Z_i = p \\
|
||||
0, & \mbox{if } Z_i \neq p
|
||||
\end{array}
|
||||
\right.
|
||||
|
||||
Here :math:`B_{ik}` is the *k*\ -th bispectrum component of atom *i*. The number of
|
||||
bispectrum components :math:`N_{\rm 4b}` depends on the value of *fourbody_snap_twojmax* :math:`= 2 J_{\rm max}`
|
||||
and *fourbody_snap_chemflag*. If *fourbody_snap_chemflag* = 0
|
||||
then :math:`N_{\rm 4b} = (J_{\rm max}+1)(J_{\rm max}+2)(J_{\rm max}+1.5)/3`.
|
||||
If *fourbody_snap_chemflag* = 1 then :math:`N_{\rm 4b} = N_{\rm e}^3 (J_{\rm max}+1)(J_{\rm max}+2)(J_{\rm max}+1.5)/3`.
|
||||
The bispectrum calculation is described in more detail in :doc:`compute sna/atom <compute_sna_atom>`.
|
||||
|
||||
Linear Proper Orthogonal Descriptor Potentials
|
||||
""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
The proper orthogonal descriptors and SNAP descriptors are used to define the atomic energies
|
||||
in the following expansion
|
||||
|
||||
.. math::
|
||||
|
||||
E_{i}(\boldsymbol \eta) = \sum_{p=1}^{N_{\rm e}} c^{(1)}_p D^{(1)}_{ip} + \sum_{m=1}^{N_{\rm 2b}} \sum_{l=1}^{N_{\rm e}(N_{\rm e}+1)/2} c^{(2)}_{ml} D^{(2)}_{iml}(\boldsymbol \eta) + \sum_{m=1}^{N_{\rm r}} \sum_{n=1}^{N_{\rm a}} \sum_{\ell=1}^{N_{\rm e}^2(N_{\rm e}+1)/2} c^{(3)}_{mn\ell} D^{(3)}_{imn\ell}(\boldsymbol \eta) + \sum_{k=1}^{N_{\rm 4b}} \sum_{p=1}^{N_{\rm e}} c_{kp}^{(4)} D_{ikp}^{(4)}(\boldsymbol \eta),
|
||||
|
||||
where :math:`D^{(1)}_{ip}, D^{(2)}_{iml}, D^{(3)}_{imn\ell}, D^{(4)}_{ikp}` are the one-body, two-body, three-body, four-body descriptors,
|
||||
respectively, and :math:`c^{(1)}_p, c^{(2)}_{ml}, c^{(3)}_{mn\ell}, c^{(4)}_{kp}` are their respective expansion
|
||||
coefficients. In a more compact notation that implies summation over descriptor indices
|
||||
the atomic energies can be written as
|
||||
|
||||
.. math::
|
||||
|
||||
E_i(\boldsymbol \eta) = \sum_{m=1}^{N_{\rm e}} c^{(1)}_m D^{(1)}_{im} + \sum_{m=1}^{N_{\rm d}^{(2)}} c^{(2)}_k D^{(2)}_{im} + \sum_{m=1}^{N_{\rm d}^{(3)}} c^{(3)}_m D^{(3)}_{im} + \sum_{m=1}^{N_{\rm d}^{(4)}} c^{(4)}_m D^{(4)}_{im}
|
||||
|
||||
where :math:`N_{\rm d}^{(2)} = N_{\rm 2b} N_{\rm e} (N_{\rm e}+1)/2`,
|
||||
:math:`N_{\rm d}^{(3)} = N_{\rm 3b} N_{\rm e}^2 (N_{\rm e}+1)/2`, and
|
||||
:math:`N_{\rm d}^{(4)} = N_{\rm 4b} N_{\rm e}` are
|
||||
the number of two-body, three-body, and four-body descriptors, respectively.
|
||||
|
||||
The potential energy is then obtained by summing local atomic energies :math:`E_i`
|
||||
for all atoms :math:`i` in the system
|
||||
|
||||
.. math::
|
||||
|
||||
E(\boldsymbol \eta) = \sum_{i}^N E_{i}(\boldsymbol \eta)
|
||||
|
||||
Because the descriptors are one-body, two-body, and three-body terms,
|
||||
the resulting POD potential is a three-body PES. We can express the potential
|
||||
energy as a linear combination of the global descriptors as follows
|
||||
|
||||
.. math::
|
||||
|
||||
E(\boldsymbol \eta) = \sum_{m=1}^{N_{\rm e}} c^{(1)}_m d^{(1)}_{m} + \sum_{m=1}^{N_{\rm d}^{(2)}} c^{(2)}_m d^{(2)}_{m} + \sum_{m=1}^{N_{\rm d}^{(3)}} c^{(3)}_m d^{(3)}_{m} + \sum_{m=1}^{N_{\rm d}^{(4)}} c^{(4)}_m d^{(4)}_{m}
|
||||
|
||||
where the global descriptors are given by
|
||||
|
||||
.. math::
|
||||
|
||||
d_{m}^{(1)}(\boldsymbol \eta) = \sum_{i=1}^N D_{im}^{(1)}(\boldsymbol \eta), \quad d_{m}^{(2)}(\boldsymbol \eta) = \sum_{i=1}^N D_{im}^{(2)}(\boldsymbol \eta), \quad d_{m}^{(3)}(\boldsymbol \eta) = \sum_{i=1}^N D_{im}^{(3)}(\boldsymbol \eta), \quad d_{m}^{(4)}(\boldsymbol \eta) = \sum_{i=1}^N D_{im}^{(4)}(\boldsymbol \eta)
|
||||
|
||||
Hence, we obtain the atomic forces as
|
||||
|
||||
.. math::
|
||||
|
||||
\boldsymbol F = -\nabla E(\boldsymbol \eta) = - \sum_{m=1}^{N_{\rm d}^{(2)}} c^{(2)}_m \nabla d_m^{(2)} - \sum_{m=1}^{N_{\rm d}^{(3)}} c^{(3)}_m \nabla d_m^{(3)} - \sum_{m=1}^{N_{\rm d}^{(4)}} c^{(4)}_m \nabla d_m^{(4)}
|
||||
|
||||
where :math:`\nabla d_m^{(2)}`, :math:`\nabla d_m^{(3)}` and :math:`\nabla d_m^{(4)}` are derivatives of the two-body
|
||||
three-body, and four-body global descriptors with respect to atom positions, respectively.
|
||||
Note that since the first-body global descriptors are constant, their derivatives are zero.
|
||||
|
||||
Quadratic Proper Orthogonal Descriptor Potentials
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
We recall two-body PODs :math:`D^{(2)}_{ik}, 1 \le k \le N_{\rm d}^{(2)}`,
|
||||
and three-body PODs :math:`D^{(3)}_{im}, 1 \le m \le N_{\rm d}^{(3)}`,
|
||||
with :math:`N_{\rm d}^{(2)} = N_{\rm 2b} N_{\rm e} (N_{\rm e}+1)/2` and
|
||||
:math:`N_{\rm d}^{(3)} = N_{\rm 3b} N_{\rm e}^2 (N_{\rm e}+1)/2` being
|
||||
the number of descriptors per atom for the two-body PODs and three-body PODs,
|
||||
respectively. We employ them to define a new set of atomic descriptors as follows
|
||||
|
||||
.. math::
|
||||
|
||||
D^{(2*3)}_{ikm} = \frac{1}{2N}\left( D^{(2)}_{ik} \sum_{j=1}^N D^{(3)}_{jm} + D^{(3)}_{im} \sum_{j=1}^N D^{(2)}_{jk} \right)
|
||||
|
||||
for :math:`1 \le i \le N, 1 \le k \le N_{\rm d}^{(2)}, 1 \le m \le N_{\rm d}^{(3)}`.
|
||||
The new descriptors are four-body because they involve central atom :math:`i` together
|
||||
with three neighbors :math:`j, k` and :math:`l`. The total number of new descriptors per atom is equal to
|
||||
|
||||
.. math::
|
||||
|
||||
N_{\rm d}^{(2*3)} = N_{\rm d}^{(2)} * N_{\rm d}^{(3)} = N_{\rm 2b} N_{\rm 3b} N_{\rm e}^3 (N_{\rm e}+1)^2/4 .
|
||||
|
||||
The new global descriptors are calculated as
|
||||
|
||||
.. math::
|
||||
|
||||
d^{(2*3)}_{km} = \sum_{i=1}^N D^{(2*3)}_{ikm} = \left( \sum_{i=1}^N D^{(2)}_{ik} \right) \left( \sum_{i=1}^N D^{(3)}_{im} \right) = d^{(2)}_{k} d^{(3)}_m,
|
||||
|
||||
for :math:`1 \le k \le N_{\rm d}^{(2)}, 1 \le m \le N_{\rm d}^{(3)}`. Hence, the gradient
|
||||
of the new global descriptors with respect to atom positions is calculated as
|
||||
|
||||
.. math::
|
||||
|
||||
\nabla d^{(2*3)}_{km} = d^{(3)}_m \nabla d^{(2)}_{k} + d^{(2)}_{k} \nabla d^{(3)}_m, \quad 1 \le k \le N_{\rm d}^{(2)}, 1 \le m \le N_{\rm d}^{(3)} .
|
||||
|
||||
The quadratic POD potential is defined as a linear combination of the
|
||||
original and new global descriptors as follows
|
||||
|
||||
.. math::
|
||||
|
||||
E^{(2*3)} = \sum_{k=1}^{N_{\rm 2d}^{(2*3)}} \sum_{m=1}^{N_{\rm 3d}^{(2*3)}} c^{(2*3)}_{km} d^{(2*3)}_{km} .
|
||||
|
||||
It thus follows that
|
||||
|
||||
.. math::
|
||||
|
||||
E^{(2*3)} = 0.5 \sum_{k=1}^{N_{\rm 2d}^{(2*3)}} \left( \sum_{m=1}^{N_{\rm 3d}^{(2*3)}} c^{(2*3)}_{km} d_m^{(3)} \right) d_k^{(2)} + 0.5 \sum_{m=1}^{N_{\rm 3d}^{(2*3)}} \left( \sum_{k=1}^{N_{\rm 2d}^{(2*3)}} c^{(2*3)}_{km} d_k^{(2)} \right) d_m^{(3)} ,
|
||||
|
||||
which is simplified to
|
||||
|
||||
.. math::
|
||||
|
||||
E^{(2*3)} = 0.5 \sum_{k=1}^{N_{\rm 2d}^{(2*3)}} b_k^{(2)} d_k^{(2)} + 0.5 \sum_{m=1}^{N_{\rm 3d}^{(2*3)}} b_m^{(3)} d_m^{(3)}
|
||||
|
||||
where
|
||||
|
||||
.. math::
|
||||
|
||||
b_k^{(2)} & = \sum_{m=1}^{N_{\rm 3d}^{(2*3)}} c^{(2*3)}_{km} d_m^{(3)}, \quad k = 1,\ldots, N_{\rm 2d}^{(2*3)}, \\
|
||||
b_m^{(3)} & = \sum_{k=1}^{N_{\rm 2d}^{(2*3)}} c^{(2*3)}_{km} d_k^{(2)}, \quad m = 1,\ldots, N_{\rm 3d}^{(2*3)} .
|
||||
|
||||
The quadratic POD potential results in the following atomic forces
|
||||
|
||||
.. math::
|
||||
|
||||
\boldsymbol F^{(2*3)} = - \sum_{k=1}^{N_{\rm 2d}^{(2*3)}} \sum_{m=1}^{N_{\rm 3d}^{(2*3)}} c^{(2*3)}_{km} \nabla d^{(2*3)}_{km} .
|
||||
|
||||
It can be shown that
|
||||
|
||||
.. math::
|
||||
|
||||
\boldsymbol F^{(2*3)} = - \sum_{k=1}^{N_{\rm 2d}^{(2*3)}} b^{(2)}_k \nabla d_k^{(2)} - \sum_{m=1}^{N_{\rm 3d}^{(2*3)}} b^{(3)}_m \nabla d_m^{(3)} .
|
||||
|
||||
The calculation of the atomic forces for the quadratic POD potential
|
||||
only requires the extra calculation of :math:`b_k^{(2)}` and :math:`b_m^{(3)}` which can be negligible.
|
||||
As a result, the quadratic POD potential does not increase the computational complexity.
|
||||
|
||||
E_i(\boldsymbol R_i, \boldsymbol Z_i) \ = \ \sum_{m=1}^M c_m \mathcal{D}_{im}(\boldsymbol R_i, \boldsymbol Z_i)
|
||||
|
||||
|
||||
Here :math:`c_m` are trainable coefficients and
|
||||
:math:`\mathcal{D}_{im}(\boldsymbol R_i, \boldsymbol Z_i)` are per-atom
|
||||
POD descriptors. Summing the per-atom descriptors over :math:`i` yields
|
||||
the global descriptors :math:`d_m(\boldsymbol R, \boldsymbol Z) =
|
||||
\sum_{i=1}^N \mathcal{D}_{im}(\boldsymbol R_i, \boldsymbol Z_i)`. It
|
||||
thus follows that :math:`E(\boldsymbol R, \boldsymbol Z) = \sum_{m=1}^M
|
||||
c_m d_m(\boldsymbol R, \boldsymbol Z)`.
|
||||
|
||||
The per-atom POD descriptors include one, two, three, four, five, six,
|
||||
and seven-body descriptors, which can be specified in the first input
|
||||
file. Furthermore, the per-atom POD descriptors also depend on the
|
||||
number of environment clusters specified in the first input file.
|
||||
Please see :ref:`(Nguyen2024) <Nguyen20242a>` and :ref:`(Nguyen and Sema)
|
||||
<Nguyen20243a>` for the detailed description of the per-atom POD
|
||||
descriptors.
|
||||
|
||||
Training
|
||||
""""""""
|
||||
|
||||
POD potentials are trained using the least-squares regression against
|
||||
A POD potential is trained using the least-squares regression against
|
||||
density functional theory (DFT) data. Let :math:`J` be the number of
|
||||
training configurations, with :math:`N_j` being the number of atoms in
|
||||
the j-th configuration. Let :math:`\{E^{\star}_j\}_{j=1}^{J}` and
|
||||
:math:`\{\boldsymbol F^{\star}_j\}_{j=1}^{J}` be the DFT energies and
|
||||
forces for :math:`J` configurations. Next, we calculate the global
|
||||
descriptors and their derivatives for all training configurations. Let
|
||||
:math:`d_{jm}, 1 \le m \le M`, be the global descriptors associated with
|
||||
the j-th configuration, where :math:`M` is the number of global
|
||||
descriptors. We then form a matrix :math:`\boldsymbol A \in
|
||||
\mathbb{R}^{J \times M}` with entries :math:`A_{jm} = d_{jm}/ N_j` for
|
||||
:math:`j=1,\ldots,J` and :math:`m=1,\ldots,M`. Moreover, we form a
|
||||
matrix :math:`\boldsymbol B \in \mathbb{R}^{\mathcal{N} \times M}` by
|
||||
stacking the derivatives of the global descriptors for all training
|
||||
configurations from top to bottom, where :math:`\mathcal{N} =
|
||||
3\sum_{j=1}^{J} N_j`.
|
||||
the j-th configuration. The training configurations are extracted from
|
||||
the extended XYZ files located in a directory (i.e.,
|
||||
path_to_training_data_set in the second input file). Let
|
||||
:math:`\{E^{\star}_j\}_{j=1}^{J}` and :math:`\{\boldsymbol
|
||||
F^{\star}_j\}_{j=1}^{J}` be the DFT energies and forces for :math:`J`
|
||||
configurations. Next, we calculate the global descriptors and their
|
||||
derivatives for all training configurations. Let :math:`d_{jm}, 1 \le m
|
||||
\le M`, be the global descriptors associated with the j-th
|
||||
configuration, where :math:`M` is the number of global descriptors. We
|
||||
then form a matrix :math:`\boldsymbol A \in \mathbb{R}^{J \times M}`
|
||||
with entries :math:`A_{jm} = d_{jm}/ N_j` for :math:`j=1,\ldots,J` and
|
||||
:math:`m=1,\ldots,M`. Moreover, we form a matrix :math:`\boldsymbol B
|
||||
\in \mathbb{R}^{\mathcal{N} \times M}` by stacking the derivatives of
|
||||
the global descriptors for all training configurations from top to
|
||||
bottom, where :math:`\mathcal{N} = 3\sum_{j=1}^{J} N_j`.
|
||||
|
||||
The coefficient vector :math:`\boldsymbol c` of the POD potential is
|
||||
found by solving the following least-squares problem
|
||||
|
||||
.. math::
|
||||
|
||||
{\min}_{\boldsymbol c \in \mathbb{R}^{M}} \ w_E \|\boldsymbol A(\boldsymbol \eta) \boldsymbol c - \bar{\boldsymbol E}^{\star} \|^2 + w_F \|\boldsymbol B(\boldsymbol \eta) \boldsymbol c + \boldsymbol F^{\star} \|^2 + w_R \|\boldsymbol c \|^2,
|
||||
{\min}_{\boldsymbol c \in \mathbb{R}^{M}} \ w_E \|\boldsymbol A \boldsymbol c - \bar{\boldsymbol E}^{\star} \|^2 + w_F \|\boldsymbol B \boldsymbol c + \boldsymbol F^{\star} \|^2 + w_R \|\boldsymbol c \|^2,
|
||||
|
||||
where :math:`w_E` and :math:`w_F` are weights for the energy
|
||||
(*fitting_weight_energy*) and force (*fitting_weight_force*),
|
||||
respectively; and :math:`w_R` is the regularization parameter (*fitting_regularization_parameter*). Here :math:`\bar{\boldsymbol E}^{\star} \in
|
||||
\mathbb{R}^{J}` is a vector of with entries :math:`\bar{E}^{\star}_j =
|
||||
E^{\star}_j/N_j` and :math:`\boldsymbol F^{\star}` is a vector of
|
||||
:math:`\mathcal{N}` entries obtained by stacking :math:`\{\boldsymbol
|
||||
F^{\star}_j\}_{j=1}^{J}` from top to bottom.
|
||||
respectively; and :math:`w_R` is the regularization parameter
|
||||
(*fitting_regularization_parameter*). Here :math:`\bar{\boldsymbol
|
||||
E}^{\star} \in \mathbb{R}^{J}` is a vector of with entries
|
||||
:math:`\bar{E}^{\star}_j = E^{\star}_j/N_j` and :math:`\boldsymbol
|
||||
F^{\star}` is a vector of :math:`\mathcal{N}` entries obtained by
|
||||
stacking :math:`\{\boldsymbol F^{\star}_j\}_{j=1}^{J}` from top to
|
||||
bottom.
|
||||
|
||||
The training procedure is the same for both the linear and quadratic POD
|
||||
potentials. However, since the quadratic POD potential has a
|
||||
significantly larger number of the global descriptors, it is more
|
||||
expensive to train the linear POD potential. This is because the
|
||||
training of the quadratic POD potential still requires us to calculate
|
||||
and store the quadratic global descriptors and their
|
||||
gradient. Furthermore, the quadratic POD potential may require more
|
||||
training data in order to prevent over-fitting. In order to reduce the
|
||||
computational cost of fitting the quadratic POD potential and avoid
|
||||
over-fitting, we can use subsets of two-body and three-body PODs for
|
||||
constructing the new descriptors.
|
||||
Validation
|
||||
""""""""""
|
||||
|
||||
POD potential can be validated on a test dataset in a directory
|
||||
specified by setting path_to_test_data_set in the second input file. It
|
||||
is possible to validate the POD potential after the training is
|
||||
complete. This is done by providing the coefficient file as an input to
|
||||
:doc:`fitpod <fitpod_command>`, for example,
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fitpod Ta_param.pod Ta_data.pod Ta_coefficients.pod
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
@ -727,7 +356,11 @@ LAMMPS was built with that package. See the :doc:`Build package
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style pod <pair_pod>`
|
||||
:doc:`pair_style pod <pair_pod>`,
|
||||
:doc:`compute pod/atom <compute_pod_atom>`,
|
||||
:doc:`compute podd/atom <compute_pod_atom>`,
|
||||
:doc:`compute pod/local <compute_pod_atom>`,
|
||||
:doc:`compute pod/global <compute_pod_atom>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
@ -736,10 +369,20 @@ The keyword defaults are also given in the description of the input files.
|
||||
|
||||
----------
|
||||
|
||||
.. _Grepl20072:
|
||||
.. _Nguyen20222a:
|
||||
|
||||
**(Grepl)** Grepl, Maday, Nguyen, and Patera, ESAIM: Mathematical Modelling and Numerical Analysis 41(3), 575-605, (2007).
|
||||
**(Nguyen and Rohskopf)** Nguyen and Rohskopf, Journal of Computational Physics, 480, 112030, (2023).
|
||||
|
||||
.. _Nguyen20232a:
|
||||
|
||||
**(Nguyen2023)** Nguyen, Physical Review B, 107(14), 144103, (2023).
|
||||
|
||||
.. _Nguyen20242a:
|
||||
|
||||
**(Nguyen2024)** Nguyen, Journal of Computational Physics, 113102, (2024).
|
||||
|
||||
.. _Nguyen20243a:
|
||||
|
||||
**(Nguyen and Sema)** Nguyen and Sema, https://arxiv.org/abs/2405.00306, (2024).
|
||||
|
||||
.. _Nguyen20222:
|
||||
|
||||
**(Nguyen)** Nguyen and Rohskopf, arXiv preprint arXiv:2209.02362 (2022).
|
||||
|
||||
@ -80,7 +80,7 @@ Obtaining i-PI
|
||||
""""""""""""""
|
||||
|
||||
Here are the commands to set up a virtual environment and install
|
||||
i-PI into it with all its dependencies via the PyPi repository and
|
||||
i-PI into it with all its dependencies via the PyPI repository and
|
||||
the pip package manager.
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
BIN
doc/src/img/howto_charmm_ELJ.png
Normal file
BIN
doc/src/img/howto_charmm_ELJ.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
BIN
doc/src/img/howto_charmmfsw_ELJ.png
Normal file
BIN
doc/src/img/howto_charmmfsw_ELJ.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
@ -44,8 +44,8 @@ The label map can also be defined by the :doc:`read_data <read_data>`
|
||||
command when it reads these sections in a data file: Atom Type Labels,
|
||||
Bond Type Labels, etc. See the :doc:`Howto type labels
|
||||
<Howto_type_labels>` doc page for a general discussion of how type
|
||||
labels can be used. See :ref:`(Gissinger) <Typelabel>` for a discussion
|
||||
of the type label implementation in LAMMPS and its uses.
|
||||
labels can be used. See :ref:`(Gissinger) <Typelabel1>` for a
|
||||
discussion of the type label implementation in LAMMPS and its uses.
|
||||
|
||||
Valid type labels can contain any alphanumeric character, but must not
|
||||
start with a number, a '#', or a '*' character. They can contain other
|
||||
@ -103,6 +103,6 @@ none
|
||||
|
||||
-----------
|
||||
|
||||
.. _Typelabel:
|
||||
.. _Typelabel1:
|
||||
|
||||
**(Gissinger)** J. R. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. S. Karls, A. Stukowski, W. Im, H. Heinz, A. Kohlmeyer, and E. B. Tadmor, J Phys Chem B, 128, 3282-3297 (2024).
|
||||
|
||||
@ -112,26 +112,22 @@ Description
|
||||
These pair styles compute Lennard Jones (LJ) and Coulombic
|
||||
interactions with additional switching or shifting functions that ramp
|
||||
the energy and/or force smoothly to zero between an inner and outer
|
||||
cutoff. They are implementations of the widely used CHARMM force
|
||||
field used in the `CHARMM <https://www.charmm.org>`_ MD code (and
|
||||
others). See :ref:`(MacKerell) <pair-MacKerell>` for a description of the
|
||||
CHARMM force field.
|
||||
cutoff. They implement the widely used CHARMM force field, see
|
||||
:doc:`Howto discussion on biomolecular force fields <Howto_bioFF>` for
|
||||
details.
|
||||
|
||||
The styles with *charmm* (not *charmmfsw* or *charmmfsh*\ ) in their
|
||||
name are the older, original LAMMPS implementations. They compute the
|
||||
LJ and Coulombic interactions with an energy switching function (esw,
|
||||
shown in the formula below as S(r)), which ramps the energy smoothly
|
||||
to zero between the inner and outer cutoff. This can cause
|
||||
irregularities in pairwise forces (due to the discontinuous second
|
||||
derivative of energy at the boundaries of the switching region), which
|
||||
in some cases can result in detectable artifacts in an MD simulation.
|
||||
LJ and Coulombic interactions with an energy switching function which
|
||||
ramps the energy smoothly to zero between the inner and outer cutoff.
|
||||
This can cause irregularities in pairwise forces (due to the discontinuous
|
||||
second derivative of energy at the boundaries of the switching region),
|
||||
which in some cases can result in detectable artifacts in an MD simulation.
|
||||
|
||||
The newer styles with *charmmfsw* or *charmmfsh* in their name replace
|
||||
the energy switching with force switching (fsw) and force shifting
|
||||
(fsh) functions, for LJ and Coulombic interactions respectively.
|
||||
These follow the formulas and description given in
|
||||
:ref:`(Steinbach) <Steinbach>` and :ref:`(Brooks) <Brooks1>` to minimize these
|
||||
artifacts.
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
@ -152,26 +148,6 @@ artifacts.
|
||||
the CHARMM force field energies and forces, when using one of these
|
||||
two CHARMM pair styles.
|
||||
|
||||
.. math::
|
||||
|
||||
E = & LJ(r) \qquad \qquad \qquad r < r_{\rm in} \\
|
||||
= & S(r) * LJ(r) \qquad \qquad r_{\rm in} < r < r_{\rm out} \\
|
||||
= & 0 \qquad \qquad \qquad \qquad r > r_{\rm out} \\
|
||||
E = & C(r) \qquad \qquad \qquad r < r_{\rm in} \\
|
||||
= & S(r) * C(r) \qquad \qquad r_{\rm in} < r < r_{\rm out} \\
|
||||
= & 0 \qquad \qquad \qquad \qquad r > r_{\rm out} \\
|
||||
LJ(r) = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
|
||||
\left(\frac{\sigma}{r}\right)^6 \right] \\
|
||||
C(r) = & \frac{C q_i q_j}{ \epsilon r} \\
|
||||
S(r) = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2
|
||||
\left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]}
|
||||
{ \left[r_{\rm out}^2 - {r_{\rm in}}^2\right]^3 }
|
||||
|
||||
where S(r) is the energy switching function mentioned above for the
|
||||
*charmm* styles. See the :ref:`(Steinbach) <Steinbach>` paper for the
|
||||
functional forms of the force switching and force shifting functions
|
||||
used in the *charmmfsw* and *charmmfsh* styles.
|
||||
|
||||
When using the *lj/charmm/coul/charmm styles*, both the LJ and
|
||||
Coulombic terms require an inner and outer cutoff. They can be the
|
||||
same for both formulas or different depending on whether 2 or 4
|
||||
|
||||
@ -13,16 +13,11 @@ Syntax
|
||||
|
||||
pair_style dpd/coul/slater/long T cutoff_DPD seed lambda cutoff_coul
|
||||
|
||||
pair_coeff I J a_IJ Gamma is_charged
|
||||
|
||||
* T = temperature (temperature units) (dpd only)
|
||||
* T = temperature (temperature units)
|
||||
* cutoff_DPD = global cutoff for DPD interactions (distance units)
|
||||
* seed = random # seed (positive integer)
|
||||
* lambda = decay length of the charge (distance units)
|
||||
* cutoff_coul = real part cutoff for Coulombic interactions (distance units)
|
||||
* I,J = numeric atom types, or type labels
|
||||
* Gamma = DPD Gamma coefficient
|
||||
* is_charged (boolean) set to yes if I and J are charged beads
|
||||
* cutoff_coul = global cutoff for Coulombic interactions (distance units)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -30,6 +25,7 @@ Examples
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style dpd/coul/slater/long 1.0 2.5 34387 0.25 3.0
|
||||
|
||||
pair_coeff 1 1 78.0 4.5 # not charged by default
|
||||
pair_coeff 2 2 78.0 4.5 yes
|
||||
|
||||
@ -37,59 +33,82 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 27June2024
|
||||
|
||||
Style *dpd/coul/slater/long* computes a force field for dissipative particle dynamics
|
||||
(DPD) following the exposition in :ref:`(Groot) <Groot5>` with the addition of
|
||||
electrostatic interactions. The coulombic forces in mesoscopic models
|
||||
employ potentials without explicit excluded-volume interactions.
|
||||
The goal is to prevent artificial ionic pair formation by including a charge
|
||||
distribution in the Coulomb potential, following the formulation of
|
||||
:ref:`(Melchor) <Melchor1>`:
|
||||
Style *dpd/coul/slater/long* computes a force field for dissipative
|
||||
particle dynamics (DPD) following the exposition in :ref:`(Groot)
|
||||
<Groot5>`. It also allows for the use of charged particles in the
|
||||
model by adding a long-range Coulombic term to the DPD interactions.
|
||||
The short-range portion of the Coulombics is calculated by this pair
|
||||
style. The long-range Coulombics are computed by use of the
|
||||
:doc:`kspace_style <kspace_style>` command, e.g. using the Ewald or
|
||||
PPPM styles.
|
||||
|
||||
The force on bead I due to bead J is given as a sum
|
||||
of 4 terms
|
||||
Coulombic forces in mesoscopic models such as DPD employ potentials
|
||||
without explicit excluded-volume interactions. The goal is to prevent
|
||||
artificial ionic pair formation by including a charge distribution in
|
||||
the Coulomb potential, following the formulation in :ref:`(Melchor1)
|
||||
<Melchor1>`.
|
||||
|
||||
.. note::
|
||||
|
||||
This pair style is effectively the combination of the
|
||||
:doc:`pair_style dpd <pair_dpd>` and :doc:`pair_style
|
||||
coul/slater/long <pair_coul_slater>` commands, but should be more
|
||||
efficient (especially on GPUs) than using :doc:`pair_style
|
||||
hybrid/overlay dpd coul/slater/long <pair_hybrid>`. That is
|
||||
particularly true for the GPU package version of the pair style since
|
||||
this version is compatible with computing neighbor lists on the GPU
|
||||
instead of the CPU as is required for hybrid styles.
|
||||
|
||||
In the charged DPD model, the force on bead I due to bead J is given
|
||||
as a sum of 4 terms:
|
||||
|
||||
.. math::
|
||||
|
||||
\vec{f} = & (F^C + F^D + F^R + F^E) \hat{r_{ij}} \\
|
||||
F^C = & A w(r) \qquad \qquad \qquad \qquad \qquad r < r_c \\
|
||||
F^D = & - \gamma w^2(r) (\hat{r_{ij}} \bullet \vec{v}_{ij}) \qquad \qquad r < r_c \\
|
||||
F^R = & \sigma w(r) \alpha (\Delta t)^{-1/2} \qquad \qquad \qquad r < r_c \\
|
||||
w(r) = & 1 - \frac{r}{r_c} \\
|
||||
F^C = & A w(r) \qquad \qquad \qquad \qquad \qquad r < r_{DPD} \\
|
||||
F^D = & - \gamma w^2(r) (\hat{r_{ij}} \bullet \vec{v}_{ij}) \qquad \qquad r < r_{DPD} \\
|
||||
F^R = & \sigma w(r) \alpha (\Delta t)^{-1/2} \qquad \qquad \qquad r < r_{DPD} \\
|
||||
w(r) = & 1 - \frac{r}{r_{DPD}} \\
|
||||
F^E = & \frac{C q_iq_j}{\epsilon r^2} \left( 1- exp\left( \frac{2r_{ij}}{\lambda} \right) \left( 1 + \frac{2r_{ij}}{\lambda} \left( 1 + \frac{r_{ij}}{\lambda} \right)\right) \right)
|
||||
|
||||
where :math:`F^C` is a conservative force, :math:`F^D` is a dissipative
|
||||
force, :math:`F^R` is a random force, and :math:`F^E` is an electrostatic force.
|
||||
:math:`\hat{r_{ij}}` is a unit vector in the direction
|
||||
:math:`r_i - r_j`, :math:`\vec{v}_{ij}` is
|
||||
the vector difference in velocities of the two atoms :math:`\vec{v}_i -
|
||||
where :math:`F^C` is a conservative force, :math:`F^D` is a
|
||||
dissipative force, :math:`F^R` is a random force, and :math:`F^E` is
|
||||
an electrostatic force. :math:`\hat{r_{ij}}` is a unit vector in the
|
||||
direction :math:`r_i - r_j`, :math:`\vec{v}_{ij}` is the vector
|
||||
difference in velocities of the two atoms :math:`\vec{v}_i -
|
||||
\vec{v}_j`, :math:`\alpha` is a Gaussian random number with zero mean
|
||||
and unit variance, *dt* is the timestep size, and :math:`w(r)` is a
|
||||
weighting factor that varies between 0 and 1. :math:`r_c` is the
|
||||
pairwise cutoff. :math:`\sigma` is set equal to :math:`\sqrt{2 k_B T
|
||||
\gamma}`, where :math:`k_B` is the Boltzmann constant and *T* is the
|
||||
temperature parameter in the pair_style command.
|
||||
C is the same Coulomb conversion factor as in the pair_styles
|
||||
coul/cut and coul/long. In this way the Coulomb
|
||||
interaction between ions is corrected at small distances r, and
|
||||
the long-range interactions are computed either by the Ewald or the PPPM technique.
|
||||
weighting factor that varies between 0 and 1.
|
||||
|
||||
:math:`\sigma` is set equal to :math:`\sqrt{2 k_B T \gamma}`, where
|
||||
:math:`k_B` is the Boltzmann constant and *T* is the temperature
|
||||
parameter in the pair_style command.
|
||||
|
||||
The following parameters must be defined for each
|
||||
pair of atoms 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
|
||||
:math:`r_{DPD}` is the pairwise cutoff for the first 3 DPD terms in
|
||||
the formula as specified by *cutoff_DPD*. For the :math:`F^E` term,
|
||||
pairwise interactions within the specified *cutoff_coul* distance are
|
||||
computed directly; interactions beyond that distance are computed in
|
||||
reciprocal space. *C* is the same Coulomb conversion factor used in
|
||||
the Coulombic formulas described on the :doc:`pair_coul <pair_coul>`
|
||||
doc page.
|
||||
|
||||
The following parameters must be defined for each pair of atoms 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:
|
||||
|
||||
* A (force units)
|
||||
* :math:`\gamma` (force/velocity units)
|
||||
* is_charged (boolean)
|
||||
* is_charged (optional boolean, default = no)
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
This style is the combination of :doc:`pair_style dpd <pair_dpd>` and :doc:`pair_style coul/slater/long <pair_coul_slater>`.
|
||||
The *is_charged* parameter is optional and can be specified as *yes* or
|
||||
*no*. *Yes* should be used for interactions between two types of
|
||||
charged particles. *No* is the default and should be used for
|
||||
interactions between two types of particles when one or both are
|
||||
uncharged.
|
||||
|
||||
----------
|
||||
|
||||
@ -116,17 +135,17 @@ pressure.
|
||||
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. Note that the
|
||||
user-specified random number seed is stored in the restart file, so when
|
||||
a simulation is restarted, each processor will re-initialize its random
|
||||
number generator the same way it did initially. This means the random
|
||||
forces will be random, but will not be the same as they would have been
|
||||
if the original simulation had continued past the restart time.
|
||||
user-specified random number seed is stored in the restart file, so
|
||||
when a simulation is restarted, each processor will re-initialize its
|
||||
random number generator the same way it did initially. This means the
|
||||
random forces will be random, but will not be the same as they would
|
||||
have been if the original simulation had continued past the restart
|
||||
time.
|
||||
|
||||
This pair style can only be used via the *pair* keyword of the
|
||||
:doc:`run_style respa <run_style>` command. They do not support the
|
||||
:doc:`run_style respa <run_style>` command. It does not support the
|
||||
*inner*, *middle*, *outer* keywords.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
@ -138,17 +157,17 @@ LAMMPS was built with that package. See the :doc:`Build package
|
||||
|
||||
The default frequency for rebuilding neighbor lists is every 10 steps
|
||||
(see the :doc:`neigh_modify <neigh_modify>` command). This may be too
|
||||
infrequent since particles move rapidly and
|
||||
can overlap by large amounts. If this setting yields a non-zero number
|
||||
of "dangerous" reneighborings (printed at the end of a simulation), you
|
||||
should experiment with forcing reneighboring more often and see if
|
||||
system energies/trajectories change.
|
||||
infrequent since particles move rapidly and can overlap by large
|
||||
amounts. If this setting yields a non-zero number of "dangerous"
|
||||
reneighborings (printed at the end of a simulation), you should
|
||||
experiment with forcing reneighboring more often and see if system
|
||||
energies/trajectories change.
|
||||
|
||||
This pair style requires you to use the :doc:`comm_modify vel yes
|
||||
This pair style requires use of the :doc:`comm_modify vel yes
|
||||
<comm_modify>` command so that velocities are stored by ghost atoms.
|
||||
|
||||
This pair style also requires the long-range solvers included in the KSPACE package.
|
||||
|
||||
This pair style also requires use of a long-range solvers from the
|
||||
KSPACE package.
|
||||
|
||||
This pair style will not restart exactly when using the
|
||||
:doc:`read_restart <read_restart>` command, though they should provide
|
||||
@ -160,13 +179,11 @@ Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style dpd <pair_dpd>`, :doc:`pair_style coul/slater/long <pair_coul_slater>`,
|
||||
:doc:`pair_coeff <pair_coeff>`, :doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`,
|
||||
:doc:`pair_style srp <pair_srp>`, :doc:`fix mvv/dpd <fix_mvv_dpd>`.
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
is_charged = no
|
||||
For the pair_coeff command, the default is is_charged = no.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
.. index:: pair_style pod
|
||||
.. index:: pair_style pod/kk
|
||||
|
||||
pair_style pod command
|
||||
========================
|
||||
|
||||
Accelerator Variants: *pod/kk*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
@ -24,29 +27,33 @@ Description
|
||||
.. versionadded:: 22Dec2022
|
||||
|
||||
Pair style *pod* defines the proper orthogonal descriptor (POD)
|
||||
potential :ref:`(Nguyen) <Nguyen20221>`. The mathematical definition of
|
||||
the POD potential is described from :doc:`fitpod <fitpod_command>`, which is
|
||||
used to fit the POD potential to *ab initio* energy and force data.
|
||||
potential :ref:`(Nguyen and Rohskopf) <Nguyen20222b>`,
|
||||
:ref:`(Nguyen2023) <Nguyen20232b>`, :ref:`(Nguyen2024) <Nguyen20242b>`,
|
||||
and :ref:`(Nguyen and Sema) <Nguyen20243b>`. The :doc:`fitpod
|
||||
<fitpod_command>` is used to fit the POD potential.
|
||||
|
||||
Only a single pair_coeff command is used with the *pod* style which
|
||||
specifies a POD parameter file followed by a coefficient file.
|
||||
specifies a POD parameter file followed by a coefficient file, a
|
||||
projection matrix file, and a centroid file.
|
||||
|
||||
The coefficient file (``Ta_coefficients.pod``) contains coefficients for the
|
||||
POD potential. The top of the coefficient file can contain any number of
|
||||
blank and comment lines (start with #), but follows a strict format
|
||||
after that. The first non-blank non-comment line must contain:
|
||||
The POD parameter file (``Ta_param.pod``) can contain blank and comment
|
||||
lines (start with #) anywhere. Each non-blank non-comment line must
|
||||
contain one keyword/value pair. See :doc:`fitpod <fitpod_command>` for
|
||||
the description of all the keywords that can be assigned in the
|
||||
parameter file.
|
||||
|
||||
* POD_coefficients: *ncoeff*
|
||||
The coefficient file (``Ta_coefficients.pod``) contains coefficients for
|
||||
the POD potential. The top of the coefficient file can contain any
|
||||
number of blank and comment lines (start with #), but follows a strict
|
||||
format after that. The first non-blank non-comment line must contain:
|
||||
|
||||
This is followed by *ncoeff* coefficients, one per line. The coefficient
|
||||
* model_coefficients: *ncoeff* *nproj* *ncentroid*
|
||||
|
||||
This is followed by *ncoeff* coefficients, *nproj* projection matrix entries,
|
||||
and *ncentroid* centroid coordinates, one per line. The coefficient
|
||||
file is generated after training the POD potential using :doc:`fitpod
|
||||
<fitpod_command>`.
|
||||
|
||||
The POD parameter file (``Ta_param.pod``) can contain blank and comment lines
|
||||
(start with #) anywhere. Each non-blank non-comment line must contain
|
||||
one keyword/value pair. See :doc:`fitpod <fitpod_command>` for the description
|
||||
of all the keywords that can be assigned in the parameter file.
|
||||
|
||||
As an example, if a LAMMPS indium phosphide simulation has 4 atoms
|
||||
types, with the first two being indium and the third and fourth being
|
||||
phophorous, the pair_coeff command would look like this:
|
||||
@ -67,7 +74,33 @@ the *hybrid* pair style. The NULL values are placeholders for atom
|
||||
types that will be used with other potentials.
|
||||
|
||||
Examples about training and using POD potentials are found in the
|
||||
directory lammps/examples/PACKAGES/pod.
|
||||
directory lammps/examples/PACKAGES/pod and the Github repo https://github.com/cesmix-mit/pod-examples.
|
||||
|
||||
----------
|
||||
|
||||
Mixing, shift, table, tail correction, restart, rRESPA info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
For atom type pairs I,J and I != J, where types I and J correspond to
|
||||
two different element types, mixing is performed by LAMMPS with
|
||||
user-specifiable parameters as described above. You never need to
|
||||
specify a pair_coeff command with I != J arguments for this style.
|
||||
|
||||
This pair style does not support the :doc:`pair_modify <pair_modify>`
|
||||
shift, table, and tail options.
|
||||
|
||||
This pair style does not write its information to :doc:`binary restart
|
||||
files <restart>`, since it is stored in potential files. Thus, you need
|
||||
to re-specify the pair_style and pair_coeff commands in an input script
|
||||
that reads a restart file.
|
||||
|
||||
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.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
----------
|
||||
|
||||
@ -78,12 +111,14 @@ This style is part of the ML-POD package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
This pair style does not compute per-atom energies and per-atom stresses.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fitpod <fitpod_command>`,
|
||||
:doc:`compute pod/atom <compute_pod_atom>`,
|
||||
:doc:`compute podd/atom <compute_pod_atom>`,
|
||||
:doc:`compute pod/local <compute_pod_atom>`,
|
||||
:doc:`compute pod/global <compute_pod_atom>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
@ -92,6 +127,20 @@ none
|
||||
|
||||
----------
|
||||
|
||||
.. _Nguyen20221:
|
||||
.. _Nguyen20222b:
|
||||
|
||||
**(Nguyen and Rohskopf)** Nguyen and Rohskopf, Journal of Computational Physics, 480, 112030, (2023).
|
||||
|
||||
.. _Nguyen20232b:
|
||||
|
||||
**(Nguyen2023)** Nguyen, Physical Review B, 107(14), 144103, (2023).
|
||||
|
||||
.. _Nguyen20242b:
|
||||
|
||||
**(Nguyen2024)** Nguyen, Journal of Computational Physics, 113102, (2024).
|
||||
|
||||
.. _Nguyen20243b:
|
||||
|
||||
**(Nguyen and Sema)** Nguyen and Sema, https://arxiv.org/abs/2405.00306, (2024).
|
||||
|
||||
|
||||
**(Nguyen)** Nguyen and Rohskopf, arXiv preprint arXiv:2209.02362 (2022).
|
||||
|
||||
@ -36,7 +36,7 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 27June2024
|
||||
|
||||
The *uf3* style computes the :ref:`Ultra-Fast Force Fields (UF3)
|
||||
<Xie23>` potential, a machine-learning interatomic potential. In UF3,
|
||||
|
||||
@ -67,7 +67,7 @@ Syntax
|
||||
bound(group,dir,region), gyration(group,region), ke(group,reigon),
|
||||
angmom(group,dim,region), torque(group,dim,region),
|
||||
inertia(group,dimdim,region), omega(group,dim,region)
|
||||
special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), sort(x), rsort(x), gmask(x), rmask(x), grmask(x,y), next(x), is_file(name), is_os(name), extract_setting(name), label2type(kind,label), is_typelabel(kind,label)
|
||||
special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), sort(x), rsort(x), gmask(x), rmask(x), grmask(x,y), next(x), is_file(name), is_os(name), extract_setting(name), label2type(kind,label), is_typelabel(kind,label), is_timeout()
|
||||
feature functions = is_available(category,feature), is_active(category,feature), is_defined(category,id)
|
||||
atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]
|
||||
atom vector = id, mass, type, mol, radius, q, x, y, z, vx, vy, vz, fx, fy, fz
|
||||
@ -547,7 +547,7 @@ variables.
|
||||
+------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| Region functions | count(ID,IDR), mass(ID,IDR), charge(ID,IDR), xcm(ID,dim,IDR), vcm(ID,dim,IDR), fcm(ID,dim,IDR), bound(ID,dir,IDR), gyration(ID,IDR), ke(ID,IDR), angmom(ID,dim,IDR), torque(ID,dim,IDR), inertia(ID,dimdim,IDR), omega(ID,dim,IDR) |
|
||||
+------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| Special functions | sum(x), min(x), max(x), ave(x), trap(x), slope(x), sort(x), rsort(x), gmask(x), rmask(x), grmask(x,y), next(x), is_file(name), is_os(name), extract_setting(name), label2type(kind,label), is_typelabel(kind,label) |
|
||||
| Special functions | sum(x), min(x), max(x), ave(x), trap(x), slope(x), sort(x), rsort(x), gmask(x), rmask(x), grmask(x,y), next(x), is_file(name), is_os(name), extract_setting(name), label2type(kind,label), is_typelabel(kind,label), is_timeout() |
|
||||
+------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
| Feature functions | is_available(category,feature), is_active(category,feature), is_defined(category,id) |
|
||||
+------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||
@ -957,7 +957,7 @@ of points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2),
|
||||
length N. The returned value is the slope of the line. If the line
|
||||
has a single point or is vertical, it returns 1.0e20.
|
||||
|
||||
.. versionadded:: TBD
|
||||
.. versionadded:: 27June2024
|
||||
|
||||
The sort(x) and rsort(x) functions sort the data of the input vector by
|
||||
their numeric value: sort(x) sorts in ascending order, rsort(x) sorts
|
||||
@ -1042,6 +1042,20 @@ label2type(), but returns 1 if the type label has been assigned,
|
||||
otherwise it returns 0. This function can be used to check if a
|
||||
particular type label already exists in the simulation.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
The is_timeout() function returns 1 when the :doc:`timer timeout
|
||||
<timer>` has expired otherwise it returns 0. This function can be used
|
||||
to check inputs in combination with the :doc:`if command <if>` to
|
||||
execute commands after the timer has expired. Example:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
variable timeout equal is_timeout()
|
||||
timer timeout 0:10:00 every 10
|
||||
run 10000
|
||||
if ${timeout} then "print 'Timer has expired'"
|
||||
|
||||
----------
|
||||
|
||||
Feature Functions
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
Sphinx >= 5.3.0, <8.0
|
||||
sphinxcontrib-spelling
|
||||
sphinxcontrib-jquery
|
||||
sphinx-design
|
||||
git+https://github.com/akohlmey/sphinx-fortran@parallel-read
|
||||
sphinx-tabs>=3.4.1
|
||||
breathe
|
||||
|
||||
@ -57,6 +57,7 @@ extensions = [
|
||||
'table_from_list',
|
||||
'tab_or_note',
|
||||
'breathe',
|
||||
'sphinx_design'
|
||||
]
|
||||
|
||||
images_config = {
|
||||
|
||||
@ -1173,6 +1173,7 @@ finitecutflag
|
||||
Finnis
|
||||
Fiorin
|
||||
fitpod
|
||||
fivebody
|
||||
fixID
|
||||
fj
|
||||
Fji
|
||||
@ -2897,6 +2898,7 @@ Pmolrotate
|
||||
Pmoltrans
|
||||
pN
|
||||
png
|
||||
podd
|
||||
Podhorszki
|
||||
Poiseuille
|
||||
poisson
|
||||
@ -3370,6 +3372,7 @@ setmask
|
||||
Setmask
|
||||
setpoint
|
||||
setvel
|
||||
sevenbody
|
||||
sfftw
|
||||
sfree
|
||||
Sg
|
||||
@ -3420,6 +3423,7 @@ SiO
|
||||
Siochi
|
||||
Sirk
|
||||
Sival
|
||||
sixbody
|
||||
sizeI
|
||||
sizeJ
|
||||
sizex
|
||||
@ -3735,7 +3739,6 @@ tokyo
|
||||
tol
|
||||
tomic
|
||||
toolchain
|
||||
toolset
|
||||
topologies
|
||||
Toporov
|
||||
Torder
|
||||
@ -3813,6 +3816,7 @@ typeJ
|
||||
typelabel
|
||||
typeN
|
||||
typesafe
|
||||
typestr
|
||||
Tz
|
||||
Tzou
|
||||
ub
|
||||
|
||||
305
examples/PACKAGES/pod/InP/InP_coefficients.pod
Normal file
305
examples/PACKAGES/pod/InP/InP_coefficients.pod
Normal file
@ -0,0 +1,305 @@
|
||||
model_coefficients: 304 0 0
|
||||
-3.756301
|
||||
914.674801
|
||||
-370.747265
|
||||
-141.227291
|
||||
97.101196
|
||||
-59.216907
|
||||
9.975284
|
||||
87.329406
|
||||
-10.969150
|
||||
14.411744
|
||||
-2.270453
|
||||
0.798817
|
||||
-0.121719
|
||||
114.805574
|
||||
-2631.563672
|
||||
-869.027988
|
||||
-1038.286258
|
||||
2431.480027
|
||||
31.972558
|
||||
139.437898
|
||||
29.230520
|
||||
39.179879
|
||||
-189.998549
|
||||
-16.358691
|
||||
18.699184
|
||||
13.386293
|
||||
12.847911
|
||||
7.310155
|
||||
1.677341
|
||||
-9.237073
|
||||
-2.228285
|
||||
0.137303
|
||||
6.446888
|
||||
-0.385837
|
||||
0.272000
|
||||
0.111052
|
||||
-1.264342
|
||||
-0.711451
|
||||
450.463638
|
||||
-499.339551
|
||||
550.704146
|
||||
-1638.278950
|
||||
-1311.408792
|
||||
-24.811632
|
||||
-14.000684
|
||||
-39.928838
|
||||
44.690659
|
||||
35.934791
|
||||
-0.425535
|
||||
16.810067
|
||||
-1.951262
|
||||
26.118670
|
||||
28.549237
|
||||
-1.779991
|
||||
-1.907896
|
||||
4.278671
|
||||
-5.852529
|
||||
-11.518503
|
||||
0.285252
|
||||
0.210939
|
||||
-1.153276
|
||||
0.744801
|
||||
2.765281
|
||||
-365.425648
|
||||
892.154409
|
||||
616.198109
|
||||
-808.930752
|
||||
-241.494545
|
||||
60.329248
|
||||
-50.220263
|
||||
-89.366098
|
||||
47.692144
|
||||
12.376825
|
||||
-11.304060
|
||||
-0.465577
|
||||
20.908593
|
||||
0.768057
|
||||
-0.296966
|
||||
-1.434787
|
||||
0.089423
|
||||
-3.273582
|
||||
1.085951
|
||||
1.627005
|
||||
0.063449
|
||||
0.501713
|
||||
-0.025247
|
||||
-1.127277
|
||||
-0.619276
|
||||
-950.742997
|
||||
11175.508296
|
||||
1041.077100
|
||||
-8713.542159
|
||||
11.024588
|
||||
-193.368092
|
||||
-17.871650
|
||||
193.000879
|
||||
-1.221800
|
||||
0.201038
|
||||
-0.297456
|
||||
10.197177
|
||||
0.118306
|
||||
-2.486775
|
||||
0.340362
|
||||
0.179573
|
||||
2064.315112
|
||||
11898.567992
|
||||
-7130.614814
|
||||
-2965.017905
|
||||
-36.665484
|
||||
-156.646217
|
||||
112.838247
|
||||
64.147104
|
||||
-0.187677
|
||||
8.822337
|
||||
-2.516814
|
||||
0.833110
|
||||
-0.808597
|
||||
-3.112898
|
||||
2.172317
|
||||
1.684634
|
||||
-5.757502
|
||||
4129.051881
|
||||
-2191.420379
|
||||
-5640.863432
|
||||
2.123836
|
||||
-34.024960
|
||||
35.525113
|
||||
106.884920
|
||||
0.406772
|
||||
6.365527
|
||||
-0.015093
|
||||
2.711538
|
||||
-0.263692
|
||||
-0.604293
|
||||
0.790243
|
||||
1.092726
|
||||
593.864089
|
||||
-2785.368577
|
||||
-1100.723468
|
||||
4424.744171
|
||||
-20.023164
|
||||
47.252092
|
||||
34.797296
|
||||
-101.504738
|
||||
-1.911711
|
||||
-0.110737
|
||||
3.998625
|
||||
-2.768303
|
||||
-0.189524
|
||||
0.793288
|
||||
-0.405026
|
||||
-1.116385
|
||||
4.808874
|
||||
86.919761
|
||||
-10.887316
|
||||
14.382398
|
||||
-2.271034
|
||||
0.710124
|
||||
-0.114050
|
||||
170.975102
|
||||
-54.119757
|
||||
-23.638119
|
||||
28.153323
|
||||
-15.183264
|
||||
2.919447
|
||||
-185.866164
|
||||
-1165.581453
|
||||
-1256.610349
|
||||
1133.815010
|
||||
814.761739
|
||||
9.901474
|
||||
31.315227
|
||||
40.389531
|
||||
-39.201068
|
||||
-50.871475
|
||||
3.268994
|
||||
19.578821
|
||||
12.684861
|
||||
-13.440885
|
||||
2.022633
|
||||
1.483279
|
||||
-4.388229
|
||||
0.944679
|
||||
3.110080
|
||||
-2.163427
|
||||
0.160512
|
||||
-0.197641
|
||||
-1.121333
|
||||
1.023995
|
||||
2.077494
|
||||
-78.649494
|
||||
15.740666
|
||||
1379.998028
|
||||
-267.931116
|
||||
-631.685867
|
||||
0.779724
|
||||
-28.384680
|
||||
-104.334909
|
||||
40.727192
|
||||
54.977623
|
||||
4.534376
|
||||
13.738711
|
||||
2.994157
|
||||
-10.950852
|
||||
-4.057951
|
||||
1.099589
|
||||
-1.782453
|
||||
3.174200
|
||||
2.605193
|
||||
-1.835511
|
||||
0.063386
|
||||
0.124447
|
||||
-0.881517
|
||||
-0.703873
|
||||
0.712785
|
||||
-567.114384
|
||||
363.884433
|
||||
-300.309621
|
||||
-1421.591050
|
||||
-1083.371637
|
||||
45.559123
|
||||
-7.797512
|
||||
24.330267
|
||||
71.829748
|
||||
60.799510
|
||||
-2.099976
|
||||
-9.821055
|
||||
-6.488823
|
||||
9.426431
|
||||
6.385231
|
||||
-0.836215
|
||||
3.533300
|
||||
2.741734
|
||||
-3.602311
|
||||
-3.863372
|
||||
-0.122980
|
||||
-0.147120
|
||||
-0.378902
|
||||
-0.232987
|
||||
0.445875
|
||||
-237.448044
|
||||
442.663085
|
||||
2103.157345
|
||||
-2382.920549
|
||||
0.583996
|
||||
-6.353184
|
||||
-17.798247
|
||||
72.320744
|
||||
-0.422216
|
||||
1.198193
|
||||
3.257409
|
||||
6.944903
|
||||
0.255190
|
||||
-0.887514
|
||||
-0.316214
|
||||
0.345565
|
||||
-242.443134
|
||||
4329.522091
|
||||
534.487792
|
||||
-4571.367114
|
||||
-9.591790
|
||||
-62.990215
|
||||
20.323544
|
||||
169.640829
|
||||
-2.788146
|
||||
2.114659
|
||||
7.272737
|
||||
21.210166
|
||||
0.904969
|
||||
-1.154060
|
||||
-1.376235
|
||||
-1.148246
|
||||
129.689234
|
||||
5953.209838
|
||||
667.823321
|
||||
-83.797221
|
||||
3.417016
|
||||
-126.968016
|
||||
-14.909772
|
||||
41.785404
|
||||
1.415997
|
||||
-5.278588
|
||||
-0.463605
|
||||
8.009232
|
||||
0.030211
|
||||
-0.765006
|
||||
-0.826223
|
||||
0.103515
|
||||
147.565462
|
||||
4404.556538
|
||||
3774.833555
|
||||
-2327.923578
|
||||
-5.422196
|
||||
-107.433002
|
||||
-70.175719
|
||||
74.887031
|
||||
-0.424490
|
||||
-6.620110
|
||||
-2.179770
|
||||
5.588150
|
||||
-0.222514
|
||||
-0.435209
|
||||
0.034179
|
||||
0.388588
|
||||
@ -1,20 +1,21 @@
|
||||
file_format extxyz
|
||||
file_extension xyz
|
||||
|
||||
path_to_training_data_set "../Ta/XYZ"
|
||||
path_to_test_data_set "../Ta/XYZ"
|
||||
path_to_training_data_set "XYZ"
|
||||
path_to_test_data_set "XYZ"
|
||||
path_to_environment_configuration_set "XYZ"
|
||||
|
||||
fitting_weight_energy 100.0
|
||||
fitting_weight_force 1.0
|
||||
fitting_regularization_parameter 1e-10
|
||||
fitting_regularization_parameter 1e-12
|
||||
|
||||
error_analysis_for_training_data_set 1
|
||||
error_analysis_for_test_data_set 0
|
||||
|
||||
# Add the following basename to the name of output files
|
||||
basename_for_output_files Ta
|
||||
basename_for_output_files InP
|
||||
|
||||
# number of digits after the decimal point for pod coefficients
|
||||
precision_for_pod_coefficients 5
|
||||
precision_for_pod_coefficients 6
|
||||
|
||||
|
||||
48
examples/PACKAGES/pod/InP/InP_param.pod
Normal file
48
examples/PACKAGES/pod/InP/InP_param.pod
Normal file
@ -0,0 +1,48 @@
|
||||
# chemical element symbols
|
||||
species In P
|
||||
|
||||
# periodic boundary conditions
|
||||
pbc 1 1 1
|
||||
|
||||
# inner cut-off radius
|
||||
rin 0.8
|
||||
|
||||
# outer cut-off radius
|
||||
rcut 5.0
|
||||
|
||||
# use only for enviroment-adaptive potentials
|
||||
number_of_environment_clusters 1
|
||||
|
||||
# principal_components of local descriptors
|
||||
number_of_principal_components 2
|
||||
|
||||
# polynomial degrees for radial basis functions
|
||||
bessel_polynomial_degree 4
|
||||
inverse_polynomial_degree 8
|
||||
|
||||
# one-body potential
|
||||
onebody 1
|
||||
|
||||
# two-body linear POD potential
|
||||
twobody_number_radial_basis_functions 6
|
||||
|
||||
# three-body linear POD potential
|
||||
threebody_number_radial_basis_functions 5
|
||||
threebody_angular_degree 4
|
||||
|
||||
# four-body linear POD potential
|
||||
fourbody_number_radial_basis_functions 4
|
||||
fourbody_angular_degree 2
|
||||
|
||||
# five-body linear POD potential
|
||||
fivebody_number_radial_basis_functions 0
|
||||
fivebody_angular_degree 0
|
||||
|
||||
# six-body linear POD potential
|
||||
sixbody_number_radial_basis_functions 0
|
||||
sixbody_angular_degree 0
|
||||
|
||||
# seven-body linear POD potential
|
||||
sevenbody_number_radial_basis_functions 0
|
||||
sevenbody_angular_degree 0
|
||||
|
||||
1932
examples/PACKAGES/pod/InP/InP_training_analysis.pod
Normal file
1932
examples/PACKAGES/pod/InP/InP_training_analysis.pod
Normal file
File diff suppressed because it is too large
Load Diff
27
examples/PACKAGES/pod/InP/InP_training_errors.pod
Normal file
27
examples/PACKAGES/pod/InP/InP_training_errors.pod
Normal file
@ -0,0 +1,27 @@
|
||||
**************** Begin of Error Analysis for the Training Data Set ****************
|
||||
--------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
--------------------------------------------------------------------------------------------
|
||||
Bulk.xyz 1 8 0.001678 0.001678 0.000000 0.000000
|
||||
EOS.xyz 268 2080 0.001463 0.001817 0.001107 0.015463
|
||||
Shear.xyz 346 2768 0.000415 0.000640 0.008336 0.012865
|
||||
Strain.xyz 163 1304 0.001129 0.001374 0.000021 0.000036
|
||||
aIn.xyz 54 11664 0.000737 0.000796 0.007969 0.016112
|
||||
aP.xyz 21 4536 0.001396 0.001407 0.019599 0.054174
|
||||
aa.xyz 20 4320 0.001991 0.001991 0.016735 0.027955
|
||||
iIn.xyz 41 8897 0.001548 0.001687 0.013910 0.025462
|
||||
iP.xyz 100 21700 0.001090 0.001203 0.009692 0.018549
|
||||
s_aIn.xyz 121 7744 0.000856 0.000889 0.011041 0.017399
|
||||
s_aP.xyz 72 4608 0.002255 0.003587 0.032425 0.045878
|
||||
s_aa.xyz 18 1152 0.001198 0.001200 0.037169 0.047713
|
||||
s_iIn.xyz 144 9360 0.002014 0.002255 0.035374 0.050726
|
||||
s_iP.xyz 337 21905 0.001655 0.002178 0.025130 0.038368
|
||||
s_vIn.xyz 17 1071 0.007984 0.007992 0.023190 0.039575
|
||||
s_vP.xyz 77 4851 0.000245 0.000281 0.018303 0.025819
|
||||
s_vv.xyz 65 4030 0.001759 0.001986 0.039037 0.052667
|
||||
vP.xyz 10 2150 0.000640 0.000640 0.005452 0.009834
|
||||
vv.xyz 19 4066 0.001336 0.001403 0.020930 0.034386
|
||||
--------------------------------------------------------------------------------------------
|
||||
All files 1894 118214 0.001288 0.001855 0.018109 0.032649
|
||||
--------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
16
examples/PACKAGES/pod/InP/README.md
Normal file
16
examples/PACKAGES/pod/InP/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
### POD example for InP
|
||||
|
||||
We will fit a potential to the `InP` training data in the `XYZ` directory, which houses `.xyz` files
|
||||
|
||||
Please download the training data from [the repo](https://github.com/cesmix-mit/pod-examples/tree/main/JCP2023_InP/XYZ)
|
||||
|
||||
Fit POD with
|
||||
|
||||
lmp -in in.fitpod
|
||||
|
||||
This creates `InP_coefficients.pod` for the linear model, which we can use to run MD with
|
||||
|
||||
lmp -in in.pod
|
||||
|
||||
|
||||
|
||||
1
examples/PACKAGES/pod/InP/in.fitpod
Normal file
1
examples/PACKAGES/pod/InP/in.fitpod
Normal file
@ -0,0 +1 @@
|
||||
fitpod InP_param.pod InP_data.pod
|
||||
@ -1,13 +1,13 @@
|
||||
# Demonstrate POD Ta potential
|
||||
# Demonstrate POD potential for InP
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.316
|
||||
variable a equal 5.83
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
# generate the box and atom positions using a FCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable ny equal ${nrep}
|
||||
@ -15,17 +15,17 @@ variable nz equal ${nrep}
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice diamond $a
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
mass 1 180.88
|
||||
create_box 2 box
|
||||
create_atoms 1 box basis 5 2 basis 6 2 basis 7 2 basis 8 2
|
||||
|
||||
mass 1 114.76
|
||||
mass 2 30.98
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * Ta_param.pod Ta_coefficients.pod Ta
|
||||
pair_coeff * * InP_param.pod InP_coefficients.pod In P
|
||||
|
||||
# Setup output
|
||||
|
||||
@ -44,4 +44,3 @@ velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
|
||||
|
||||
163
examples/PACKAGES/pod/InP/log.22May24.fitpod.g++.1
Normal file
163
examples/PACKAGES/pod/InP/log.22May24.fitpod.g++.1
Normal file
@ -0,0 +1,163 @@
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-176-gc2e4ad220f-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
fitpod InP_param.pod InP_data.pod
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: In P
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 0.8
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 4
|
||||
inverse polynomial degree: 8
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 4
|
||||
four-body angular degree: 2
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 12
|
||||
number of local descriptors per element for three-body potential: 75
|
||||
number of local descriptors per element for four-body potential: 64
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 152
|
||||
number of global descriptors: 304
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Data File ****************
|
||||
file format: extxyz
|
||||
file extension: xyz
|
||||
path to training data set: XYZ
|
||||
path to test data set: XYZ
|
||||
path to environment configuration set: XYZ
|
||||
basename for output files: InP
|
||||
training fraction: 1
|
||||
test fraction: 1
|
||||
randomize training data set: 1
|
||||
randomize test data set: 1
|
||||
error analysis for training data set: 1
|
||||
error analysis for test data set: 0
|
||||
energy/force calculation for training data set: 0
|
||||
energy/force calculation for test data set: 0
|
||||
fitting weight for energy: 100
|
||||
fitting weight for force: 1
|
||||
fitting weight for stress: 0
|
||||
save pod descriptors: 0
|
||||
compute pod descriptors: 0
|
||||
**************** End of Data File ****************
|
||||
**************** Begin of Training Data Set ****************
|
||||
--------------------------------------------------------
|
||||
data file | number of configurations | number of atoms
|
||||
--------------------------------------------------------
|
||||
Bulk.xyz | 1 | 8
|
||||
EOS.xyz | 268 | 2080
|
||||
Shear.xyz | 346 | 2768
|
||||
Strain.xyz | 163 | 1304
|
||||
aIn.xyz | 54 | 11664
|
||||
aP.xyz | 21 | 4536
|
||||
aa.xyz | 20 | 4320
|
||||
iIn.xyz | 41 | 8897
|
||||
iP.xyz | 100 | 21700
|
||||
s_aIn.xyz | 121 | 7744
|
||||
s_aP.xyz | 72 | 4608
|
||||
s_aa.xyz | 18 | 1152
|
||||
s_iIn.xyz | 144 | 9360
|
||||
s_iP.xyz | 337 | 21905
|
||||
s_vIn.xyz | 17 | 1071
|
||||
s_vP.xyz | 77 | 4851
|
||||
s_vv.xyz | 65 | 4030
|
||||
vP.xyz | 10 | 2150
|
||||
vv.xyz | 19 | 4066
|
||||
--------------------------------------------------------
|
||||
number of files: 19
|
||||
number of configurations in all files: 1894
|
||||
number of atoms in all files: 118214
|
||||
minimum number of atoms: 4
|
||||
maximum number of atoms: 217
|
||||
**************** End of Training Data Set ****************
|
||||
**************** Begin of Memory Allocation ****************
|
||||
maximum number of atoms in periodic domain: 217
|
||||
maximum number of atoms in extended domain: 5859
|
||||
maximum number of neighbors in extended domain: 1271403
|
||||
size of double memory: 5555904
|
||||
size of descriptor matrix: 304 x 304
|
||||
**************** End of Memory Allocation ****************
|
||||
**************** Begin of Least-Squares Fitting ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
Configuration: # 401
|
||||
Configuration: # 501
|
||||
Configuration: # 601
|
||||
Configuration: # 701
|
||||
Configuration: # 801
|
||||
Configuration: # 901
|
||||
Configuration: # 1001
|
||||
Configuration: # 1101
|
||||
Configuration: # 1201
|
||||
Configuration: # 1301
|
||||
Configuration: # 1401
|
||||
Configuration: # 1501
|
||||
Configuration: # 1601
|
||||
Configuration: # 1701
|
||||
Configuration: # 1801
|
||||
**************** Begin of Error Calculation ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
Configuration: # 401
|
||||
Configuration: # 501
|
||||
Configuration: # 601
|
||||
Configuration: # 701
|
||||
Configuration: # 801
|
||||
Configuration: # 901
|
||||
Configuration: # 1001
|
||||
Configuration: # 1101
|
||||
Configuration: # 1201
|
||||
Configuration: # 1301
|
||||
Configuration: # 1401
|
||||
Configuration: # 1501
|
||||
Configuration: # 1601
|
||||
Configuration: # 1701
|
||||
Configuration: # 1801
|
||||
**************** End of Error Calculation ****************
|
||||
**************** Begin of Error Analysis for the Training Data Set ****************
|
||||
--------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
--------------------------------------------------------------------------------------------
|
||||
Bulk.xyz 1 8 0.001678 0.001678 0.000000 0.000000
|
||||
EOS.xyz 268 2080 0.001463 0.001817 0.001107 0.015464
|
||||
Shear.xyz 346 2768 0.000415 0.000640 0.008335 0.012863
|
||||
Strain.xyz 163 1304 0.001129 0.001374 0.000021 0.000036
|
||||
aIn.xyz 54 11664 0.000737 0.000796 0.007969 0.016112
|
||||
aP.xyz 21 4536 0.001396 0.001407 0.019599 0.054174
|
||||
aa.xyz 20 4320 0.001991 0.001991 0.016735 0.027955
|
||||
iIn.xyz 41 8897 0.001548 0.001687 0.013910 0.025462
|
||||
iP.xyz 100 21700 0.001090 0.001203 0.009692 0.018549
|
||||
s_aIn.xyz 121 7744 0.000856 0.000889 0.011041 0.017399
|
||||
s_aP.xyz 72 4608 0.002255 0.003587 0.032425 0.045878
|
||||
s_aa.xyz 18 1152 0.001198 0.001200 0.037169 0.047713
|
||||
s_iIn.xyz 144 9360 0.002014 0.002255 0.035374 0.050726
|
||||
s_iP.xyz 337 21905 0.001655 0.002178 0.025130 0.038368
|
||||
s_vIn.xyz 17 1071 0.007984 0.007992 0.023190 0.039575
|
||||
s_vP.xyz 77 4851 0.000245 0.000281 0.018303 0.025818
|
||||
s_vv.xyz 65 4030 0.001759 0.001986 0.039037 0.052667
|
||||
vP.xyz 10 2150 0.000640 0.000640 0.005452 0.009834
|
||||
vv.xyz 19 4066 0.001336 0.001403 0.020930 0.034386
|
||||
--------------------------------------------------------------------------------------------
|
||||
All files 1894 118214 0.001288 0.001855 0.018109 0.032648
|
||||
--------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
Total wall time: 0:00:27
|
||||
163
examples/PACKAGES/pod/InP/log.22May24.fitpod.g++.4
Normal file
163
examples/PACKAGES/pod/InP/log.22May24.fitpod.g++.4
Normal file
@ -0,0 +1,163 @@
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-176-gc2e4ad220f-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
fitpod InP_param.pod InP_data.pod
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: In P
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 0.8
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 4
|
||||
inverse polynomial degree: 8
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 4
|
||||
four-body angular degree: 2
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 12
|
||||
number of local descriptors per element for three-body potential: 75
|
||||
number of local descriptors per element for four-body potential: 64
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 152
|
||||
number of global descriptors: 304
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Data File ****************
|
||||
file format: extxyz
|
||||
file extension: xyz
|
||||
path to training data set: XYZ
|
||||
path to test data set: XYZ
|
||||
path to environment configuration set: XYZ
|
||||
basename for output files: InP
|
||||
training fraction: 1
|
||||
test fraction: 1
|
||||
randomize training data set: 1
|
||||
randomize test data set: 1
|
||||
error analysis for training data set: 1
|
||||
error analysis for test data set: 0
|
||||
energy/force calculation for training data set: 0
|
||||
energy/force calculation for test data set: 0
|
||||
fitting weight for energy: 100
|
||||
fitting weight for force: 1
|
||||
fitting weight for stress: 0
|
||||
save pod descriptors: 0
|
||||
compute pod descriptors: 0
|
||||
**************** End of Data File ****************
|
||||
**************** Begin of Training Data Set ****************
|
||||
--------------------------------------------------------
|
||||
data file | number of configurations | number of atoms
|
||||
--------------------------------------------------------
|
||||
Bulk.xyz | 1 | 8
|
||||
EOS.xyz | 268 | 2080
|
||||
Shear.xyz | 346 | 2768
|
||||
Strain.xyz | 163 | 1304
|
||||
aIn.xyz | 54 | 11664
|
||||
aP.xyz | 21 | 4536
|
||||
aa.xyz | 20 | 4320
|
||||
iIn.xyz | 41 | 8897
|
||||
iP.xyz | 100 | 21700
|
||||
s_aIn.xyz | 121 | 7744
|
||||
s_aP.xyz | 72 | 4608
|
||||
s_aa.xyz | 18 | 1152
|
||||
s_iIn.xyz | 144 | 9360
|
||||
s_iP.xyz | 337 | 21905
|
||||
s_vIn.xyz | 17 | 1071
|
||||
s_vP.xyz | 77 | 4851
|
||||
s_vv.xyz | 65 | 4030
|
||||
vP.xyz | 10 | 2150
|
||||
vv.xyz | 19 | 4066
|
||||
--------------------------------------------------------
|
||||
number of files: 19
|
||||
number of configurations in all files: 1894
|
||||
number of atoms in all files: 118214
|
||||
minimum number of atoms: 4
|
||||
maximum number of atoms: 217
|
||||
**************** End of Training Data Set ****************
|
||||
**************** Begin of Memory Allocation ****************
|
||||
maximum number of atoms in periodic domain: 217
|
||||
maximum number of atoms in extended domain: 5859
|
||||
maximum number of neighbors in extended domain: 1271403
|
||||
size of double memory: 5555904
|
||||
size of descriptor matrix: 304 x 304
|
||||
**************** End of Memory Allocation ****************
|
||||
**************** Begin of Least-Squares Fitting ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
Configuration: # 401
|
||||
Configuration: # 501
|
||||
Configuration: # 601
|
||||
Configuration: # 701
|
||||
Configuration: # 801
|
||||
Configuration: # 901
|
||||
Configuration: # 1001
|
||||
Configuration: # 1101
|
||||
Configuration: # 1201
|
||||
Configuration: # 1301
|
||||
Configuration: # 1401
|
||||
Configuration: # 1501
|
||||
Configuration: # 1601
|
||||
Configuration: # 1701
|
||||
Configuration: # 1801
|
||||
**************** Begin of Error Calculation ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
Configuration: # 401
|
||||
Configuration: # 501
|
||||
Configuration: # 601
|
||||
Configuration: # 701
|
||||
Configuration: # 801
|
||||
Configuration: # 901
|
||||
Configuration: # 1001
|
||||
Configuration: # 1101
|
||||
Configuration: # 1201
|
||||
Configuration: # 1301
|
||||
Configuration: # 1401
|
||||
Configuration: # 1501
|
||||
Configuration: # 1601
|
||||
Configuration: # 1701
|
||||
Configuration: # 1801
|
||||
**************** End of Error Calculation ****************
|
||||
**************** Begin of Error Analysis for the Training Data Set ****************
|
||||
--------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
--------------------------------------------------------------------------------------------
|
||||
Bulk.xyz 1 8 0.001678 0.001678 0.000000 0.000000
|
||||
EOS.xyz 268 2080 0.001463 0.001817 0.001107 0.015463
|
||||
Shear.xyz 346 2768 0.000415 0.000640 0.008336 0.012865
|
||||
Strain.xyz 163 1304 0.001129 0.001374 0.000021 0.000036
|
||||
aIn.xyz 54 11664 0.000737 0.000796 0.007969 0.016112
|
||||
aP.xyz 21 4536 0.001396 0.001407 0.019599 0.054174
|
||||
aa.xyz 20 4320 0.001991 0.001991 0.016735 0.027955
|
||||
iIn.xyz 41 8897 0.001548 0.001687 0.013910 0.025462
|
||||
iP.xyz 100 21700 0.001090 0.001203 0.009692 0.018549
|
||||
s_aIn.xyz 121 7744 0.000856 0.000889 0.011041 0.017399
|
||||
s_aP.xyz 72 4608 0.002255 0.003587 0.032425 0.045878
|
||||
s_aa.xyz 18 1152 0.001198 0.001200 0.037169 0.047713
|
||||
s_iIn.xyz 144 9360 0.002014 0.002255 0.035374 0.050726
|
||||
s_iP.xyz 337 21905 0.001655 0.002178 0.025130 0.038368
|
||||
s_vIn.xyz 17 1071 0.007984 0.007992 0.023190 0.039575
|
||||
s_vP.xyz 77 4851 0.000245 0.000281 0.018303 0.025819
|
||||
s_vv.xyz 65 4030 0.001759 0.001986 0.039037 0.052667
|
||||
vP.xyz 10 2150 0.000640 0.000640 0.005452 0.009834
|
||||
vv.xyz 19 4066 0.001336 0.001403 0.020930 0.034386
|
||||
--------------------------------------------------------------------------------------------
|
||||
All files 1894 118214 0.001288 0.001855 0.018109 0.032649
|
||||
--------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
Total wall time: 0:00:10
|
||||
155
examples/PACKAGES/pod/InP/log.22May24.pod.g++.1
Normal file
155
examples/PACKAGES/pod/InP/log.22May24.pod.g++.1
Normal file
@ -0,0 +1,155 @@
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-176-gc2e4ad220f-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate POD potential for InP
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 5.83
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a FCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice diamond $a
|
||||
lattice diamond 5.83
|
||||
Lattice spacing in x,y,z = 5.83 5.83 5.83
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 2 box
|
||||
Created orthogonal box = (0 0 0) to (23.32 23.32 23.32)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box basis 5 2 basis 6 2 basis 7 2 basis 8 2
|
||||
Created 512 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (23.32 23.32 23.32)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
mass 1 114.76
|
||||
mass 2 30.98
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * InP_param.pod InP_coefficients.pod In P
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: In P
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 0.8
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 4
|
||||
inverse polynomial degree: 8
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 4
|
||||
four-body angular degree: 2
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 12
|
||||
number of local descriptors per element for three-body potential: 75
|
||||
number of local descriptors per element for four-body potential: 64
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 152
|
||||
number of global descriptors: 304
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 304
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 8 8 8
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pod, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.244 | 3.244 | 3.244 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -4.8392777 0 -4.8005754 1561.0654
|
||||
10 291.27079 -4.8381515 0 -4.8005753 1709.509
|
||||
20 266.69372 -4.8349805 0 -4.8005749 2126.86
|
||||
30 230.86163 -4.8303573 0 -4.8005744 2735.6894
|
||||
40 190.64668 -4.8251686 0 -4.8005738 3416.9247
|
||||
50 153.9516 -4.8204341 0 -4.8005732 4022.2533
|
||||
60 127.93805 -4.8170778 0 -4.8005728 4405.9763
|
||||
70 117.12501 -4.8156828 0 -4.8005727 4475.6131
|
||||
80 122.09497 -4.8163242 0 -4.800573 4231.7934
|
||||
90 139.42686 -4.8185607 0 -4.8005735 3766.8505
|
||||
100 162.84813 -4.8215828 0 -4.8005741 3221.8605
|
||||
Loop time of 2.18542 on 1 procs for 100 steps with 512 atoms
|
||||
|
||||
Performance: 1.977 ns/day, 12.141 hours/ns, 45.758 timesteps/s, 23.428 katom-step/s
|
||||
97.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.1829 | 2.1829 | 2.1829 | 0.0 | 99.88
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00080748 | 0.00080748 | 0.00080748 | 0.0 | 0.04
|
||||
Output | 0.00033584 | 0.00033584 | 0.00033584 | 0.0 | 0.02
|
||||
Modify | 0.00071224 | 0.00071224 | 0.00071224 | 0.0 | 0.03
|
||||
Other | | 0.000686 | | | 0.03
|
||||
|
||||
Nlocal: 512 ave 512 max 512 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1451 ave 1451 max 1451 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 17408 ave 17408 max 17408 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 17408
|
||||
Ave neighs/atom = 34
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:02
|
||||
155
examples/PACKAGES/pod/InP/log.22May24.pod.g++.4
Normal file
155
examples/PACKAGES/pod/InP/log.22May24.pod.g++.4
Normal file
@ -0,0 +1,155 @@
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-176-gc2e4ad220f-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate POD potential for InP
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 5.83
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a FCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice diamond $a
|
||||
lattice diamond 5.83
|
||||
Lattice spacing in x,y,z = 5.83 5.83 5.83
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 2 box
|
||||
Created orthogonal box = (0 0 0) to (23.32 23.32 23.32)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box basis 5 2 basis 6 2 basis 7 2 basis 8 2
|
||||
Created 512 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (23.32 23.32 23.32)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
mass 1 114.76
|
||||
mass 2 30.98
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * InP_param.pod InP_coefficients.pod In P
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: In P
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 0.8
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 4
|
||||
inverse polynomial degree: 8
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 4
|
||||
four-body angular degree: 2
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 12
|
||||
number of local descriptors per element for three-body potential: 75
|
||||
number of local descriptors per element for four-body potential: 64
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 152
|
||||
number of global descriptors: 304
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 304
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 8 8 8
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pod, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.215 | 3.215 | 3.215 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -4.8392777 0 -4.8005754 1561.0654
|
||||
10 291.27079 -4.8381515 0 -4.8005753 1709.509
|
||||
20 266.69372 -4.8349805 0 -4.8005749 2126.86
|
||||
30 230.86163 -4.8303573 0 -4.8005744 2735.6894
|
||||
40 190.64668 -4.8251686 0 -4.8005738 3416.9247
|
||||
50 153.9516 -4.8204341 0 -4.8005732 4022.2533
|
||||
60 127.93805 -4.8170778 0 -4.8005728 4405.9763
|
||||
70 117.12501 -4.8156828 0 -4.8005727 4475.6131
|
||||
80 122.09497 -4.8163242 0 -4.800573 4231.7934
|
||||
90 139.42686 -4.8185607 0 -4.8005735 3766.8505
|
||||
100 162.84813 -4.8215828 0 -4.8005741 3221.8605
|
||||
Loop time of 0.818141 on 4 procs for 100 steps with 512 atoms
|
||||
|
||||
Performance: 5.280 ns/day, 4.545 hours/ns, 122.228 timesteps/s, 62.581 katom-step/s
|
||||
94.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.70717 | 0.7255 | 0.75748 | 2.2 | 88.68
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.05765 | 0.088203 | 0.10797 | 6.3 | 10.78
|
||||
Output | 0.00030107 | 0.00039215 | 0.00055987 | 0.0 | 0.05
|
||||
Modify | 0.00051915 | 0.00059064 | 0.00069306 | 0.0 | 0.07
|
||||
Other | | 0.003452 | | | 0.42
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 783 ave 783 max 783 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 4352 ave 4352 max 4352 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 17408
|
||||
Ave neighs/atom = 34
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
@ -3,19 +3,36 @@
|
||||
Go to `lammps` directory and build with the POD package:
|
||||
|
||||
cd path/to/lammps
|
||||
mkdir build-pod
|
||||
cd build-pod
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -C ../cmake/presets/basic.cmake -D PKG_ML-POD=on ../cmake
|
||||
cmake --build .
|
||||
|
||||
### Fit a POD potential for tantalum
|
||||
### Compile LAMMPS/POD with Kokkos
|
||||
|
||||
cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-cuda.cmake -D PKG_ML-POD=on ../cmake
|
||||
|
||||
### Fit a POD potential for Tantalum
|
||||
|
||||
Go to `lammps/examples/PACKAGES/pod/Ta` directory and run
|
||||
|
||||
lmp -in in.podfit
|
||||
lmp -in Ta_fit.pod
|
||||
|
||||
See the README in `lammps/examples/PACKAGES/pod/Ta` for instructions on how to run MD with the potential.
|
||||
This creates `Ta_coefficients.pod` for the linear model, which we can use to run MD with
|
||||
|
||||
lmp -in Ta_mdrun.pod
|
||||
|
||||
### Fit a POD potential for Indium Phosphide
|
||||
|
||||
Go to `lammps/examples/PACKAGES/pod/InP` directory and run
|
||||
|
||||
lmp -in InP_fit.pod
|
||||
|
||||
This creates `InP_coefficients.pod` for the linear model, which we can use to run MD with
|
||||
|
||||
lmp -in InP_mdrun.pod
|
||||
|
||||
### Examples for other materials
|
||||
|
||||
See [https://github.com/cesmix-mit/pod-examples](https://github.com/cesmix-mit/pod-examples)
|
||||
|
||||
|
||||
@ -1 +0,0 @@
|
||||
../../../../potentials/Ta_coeff.pod
|
||||
33
examples/PACKAGES/pod/Ta/Ta_coeff.pod
Normal file
33
examples/PACKAGES/pod/Ta/Ta_coeff.pod
Normal file
@ -0,0 +1,33 @@
|
||||
model_coefficients: 32 0 0
|
||||
-4.45745
|
||||
29.40034
|
||||
-13.69439
|
||||
-0.32907
|
||||
-0.14786
|
||||
-1.35221
|
||||
-0.59315
|
||||
-26.30409
|
||||
-33.37233
|
||||
162.42473
|
||||
144.67248
|
||||
-149.50021
|
||||
1.78603
|
||||
2.49026
|
||||
-11.04768
|
||||
-11.14333
|
||||
12.40537
|
||||
0.48284
|
||||
0.39345
|
||||
-2.25812
|
||||
-1.38908
|
||||
1.31551
|
||||
0.02974
|
||||
-0.05094
|
||||
-0.21177
|
||||
0.12127
|
||||
0.23170
|
||||
0.02426
|
||||
-0.15305
|
||||
-0.10803
|
||||
0.25628
|
||||
0.01291
|
||||
@ -1,33 +1,33 @@
|
||||
POD_coefficients: 32
|
||||
-4.44242
|
||||
4.10219
|
||||
2.36987
|
||||
3.92184
|
||||
-0.83796
|
||||
-0.79457
|
||||
-0.26230
|
||||
-21.24294
|
||||
-15.38460
|
||||
-38.44056
|
||||
8.29872
|
||||
-42.54514
|
||||
2.79976
|
||||
3.76109
|
||||
5.23499
|
||||
0.04878
|
||||
2.96006
|
||||
0.09101
|
||||
-0.19257
|
||||
-0.24326
|
||||
-0.16735
|
||||
0.53738
|
||||
0.02236
|
||||
-0.00154
|
||||
0.02488
|
||||
-0.00565
|
||||
0.07672
|
||||
-0.05894
|
||||
-0.05604
|
||||
-0.12664
|
||||
0.11723
|
||||
0.00262
|
||||
model_coefficients: 32 0 0
|
||||
-4.45745
|
||||
29.40034
|
||||
-13.69439
|
||||
-0.32907
|
||||
-0.14786
|
||||
-1.35221
|
||||
-0.59315
|
||||
-26.30409
|
||||
-33.37233
|
||||
162.42473
|
||||
144.67248
|
||||
-149.50021
|
||||
1.78603
|
||||
2.49026
|
||||
-11.04768
|
||||
-11.14333
|
||||
12.40537
|
||||
0.48284
|
||||
0.39345
|
||||
-2.25812
|
||||
-1.38908
|
||||
1.31551
|
||||
0.02974
|
||||
-0.05094
|
||||
-0.21177
|
||||
0.12127
|
||||
0.23170
|
||||
0.02426
|
||||
-0.15305
|
||||
-0.10803
|
||||
0.25628
|
||||
0.01291
|
||||
|
||||
@ -3,10 +3,11 @@ file_extension xyz
|
||||
|
||||
path_to_training_data_set "XYZ"
|
||||
path_to_test_data_set "XYZ"
|
||||
path_to_environment_configuration_set "XYZ"
|
||||
|
||||
fitting_weight_energy 100.0
|
||||
fitting_weight_force 1.0
|
||||
fitting_regularization_parameter 1e-10
|
||||
fitting_regularization_parameter 1e-12
|
||||
|
||||
error_analysis_for_training_data_set 1
|
||||
error_analysis_for_test_data_set 0
|
||||
@ -17,4 +18,3 @@ basename_for_output_files Ta
|
||||
# number of digits after the decimal point for pod coefficients
|
||||
precision_for_pod_coefficients 5
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
# DATE: 2022-11-30 UNITS: metal CONTRIBUTOR: Ngoc Cuong Nguyen, exapde@gmail.com CITATION: https://arxiv.org/abs/2209.02362
|
||||
# chemical element symbols
|
||||
species Ta
|
||||
|
||||
@ -11,22 +10,37 @@ rin 1.0
|
||||
# outer cut-off radius
|
||||
rcut 5.0
|
||||
|
||||
# use only for enviroment-adaptive potentials
|
||||
number_of_environment_clusters 1
|
||||
|
||||
# principal_components of local descriptors
|
||||
number_of_principal_components 2
|
||||
|
||||
# polynomial degrees for radial basis functions
|
||||
bessel_polynomial_degree 3
|
||||
inverse_polynomial_degree 6
|
||||
|
||||
# one-body potential
|
||||
onebody 1
|
||||
|
||||
# two-body linear POD potential
|
||||
twobody_number_radial_basis_functions 6
|
||||
|
||||
# three-body linear POD potential
|
||||
threebody_number_radial_basis_functions 5
|
||||
threebody_number_angular_basis_functions 5
|
||||
threebody_angular_degree 4
|
||||
|
||||
# four-body linear POD potential
|
||||
fourbody_number_radial_basis_functions 0
|
||||
fourbody_angular_degree 0
|
||||
|
||||
# five-body linear POD potential
|
||||
fivebody_number_radial_basis_functions 0
|
||||
fivebody_angular_degree 0
|
||||
|
||||
# six-body linear POD potential
|
||||
sixbody_number_radial_basis_functions 0
|
||||
sixbody_angular_degree 0
|
||||
|
||||
# seven-body linear POD potential
|
||||
sevenbody_number_radial_basis_functions 0
|
||||
sevenbody_angular_degree 0
|
||||
|
||||
# four-body linear SNAP potential
|
||||
fourbody_snap_twojmax 0
|
||||
|
||||
# quadratic POD potential
|
||||
quadratic_pod_potential 0
|
||||
|
||||
@ -1,387 +1,387 @@
|
||||
# Displaced_A15.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
1 64 -753.4412087 -754.220443 0.01217553565 7.734608752 8.398670477 0.1147177501
|
||||
2 64 -752.99206 -753.865255 0.01364367179 8.845831302 9.134430545 0.128875643
|
||||
3 64 -753.3230789 -754.0221 0.01092220404 8.320493902 9.017261102 0.1155421197
|
||||
4 64 -753.5972757 -754.279613 0.01066151964 7.709417684 8.381725092 0.1058659753
|
||||
5 64 -753.0554721 -753.777209 0.01127713895 8.89827564 9.478314477 0.1191609049
|
||||
6 64 -753.3515905 -754.048643 0.01089144564 7.808950564 8.465317938 0.1128142237
|
||||
7 64 -753.6515992 -754.317603 0.01040630929 7.441773668 8.127690491 0.1024025645
|
||||
8 64 -753.3305668 -753.969161 0.009978033993 8.524333384 9.425464952 0.1066300011
|
||||
9 64 -753.3982699 -754.141988 0.01162059588 8.165654685 8.821346913 0.1141641875
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
1 64 1191.016129 -753.1698421 -754.220443 0.01641563835 7.40295037 8.398670477 0.1439758999
|
||||
2 64 1191.016129 -752.7395784 -753.865255 0.01758869658 8.280515739 9.134430545 0.1607787343
|
||||
3 64 1191.016129 -753.08785 -754.0221 0.01459765574 7.697535492 9.017261102 0.1420603113
|
||||
4 64 1191.016129 -753.3517402 -754.279613 0.01449801277 7.132364917 8.381725092 0.1340575727
|
||||
5 64 1191.016129 -752.7757043 -753.777209 0.01564851147 8.360253864 9.478314477 0.1513006151
|
||||
6 64 1191.016129 -753.0381763 -754.048643 0.01578854208 7.591838888 8.465317938 0.1285134018
|
||||
7 64 1191.016129 -753.3574797 -754.317603 0.01500192578 7.082010429 8.127690491 0.1223953112
|
||||
8 64 1191.016129 -753.1004299 -753.969161 0.01357392266 7.903578432 9.425464952 0.1365521197
|
||||
9 64 1191.016129 -753.1947122 -754.141988 0.01480118465 7.516622986 8.821346913 0.1457127007
|
||||
# Displaced_BCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
10 54 -631.72742 -631.019667 0.01310653789 15.42892812 16.625876 0.264811012
|
||||
11 54 -632.2725892 -631.719595 0.01024063328 14.51788198 15.58666626 0.2236637006
|
||||
12 54 -631.9431698 -631.386255 0.01031323642 15.21539049 15.92378883 0.2259171686
|
||||
13 54 -633.0728554 -632.575826 0.00920424781 13.38472946 14.55977162 0.2050161952
|
||||
14 54 -630.8933737 -630.450212 0.008206698429 16.5539163 16.96340726 0.2366453149
|
||||
15 54 -632.0739208 -631.669379 0.007491515672 15.23887638 16.05757315 0.2280333831
|
||||
16 54 -632.8030856 -632.431277 0.006885343815 14.21127984 14.69810718 0.2026063598
|
||||
17 54 -631.6814096 -630.960068 0.01335817778 14.70924474 15.99073148 0.2283605143
|
||||
18 54 -625.0410285 -623.378198 0.03079315656 23.39224423 24.67640432 0.3504654115
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
10 54 988.0479474 -631.5404329 -631.019667 0.009643812587 15.64136862 16.625876 0.2725503749
|
||||
11 54 988.0479474 -632.1993857 -631.719595 0.008885012437 14.51345042 15.58666626 0.2369926956
|
||||
12 54 988.0479474 -631.7954039 -631.386255 0.007576831115 15.20757603 15.92378883 0.2310810758
|
||||
13 54 988.0479474 -633.0131535 -632.575826 0.00809865759 13.46782392 14.55977162 0.2185066317
|
||||
14 54 988.0479474 -630.6309514 -630.450212 0.003347025529 17.00218411 16.96340726 0.2580441627
|
||||
15 54 988.0479474 -631.9637644 -631.669379 0.00545158078 15.32548025 16.05757315 0.2336752679
|
||||
16 54 988.0479474 -632.6507522 -632.431277 0.004064355464 14.35795151 14.69810718 0.2158812969
|
||||
17 54 988.0479474 -631.5521869 -630.960068 0.0109651643 14.75319251 15.99073148 0.2285673047
|
||||
18 54 988.0479474 -624.854495 -623.378198 0.02733883252 23.58927768 24.67640432 0.3545478911
|
||||
# Displaced_FCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
19 48 -555.9696753 -555.899463 0.001462755232 6.079460735 6.084617063 0.07083484607
|
||||
20 48 -555.9506355 -555.922478 0.0005866147697 6.28112122 6.297071211 0.09285822038
|
||||
21 48 -555.8344979 -555.800269 0.000713101184 6.153574445 6.021098636 0.08137696888
|
||||
22 48 -556.2639568 -556.196151 0.00141262046 5.066504178 5.127955094 0.08649299664
|
||||
23 48 -555.6269121 -555.488929 0.002874647697 6.848109843 7.050223459 0.08116202322
|
||||
24 48 -556.1089332 -556.027926 0.001687649405 5.662035842 5.611881174 0.07953916326
|
||||
25 48 -556.0580873 -555.968399 0.001868505799 5.879931332 5.979217189 0.07470196865
|
||||
26 48 -556.0083267 -556.047132 0.0008084440258 5.752828608 5.544452585 0.08224848502
|
||||
27 48 -555.82441 -555.747848 0.001595040721 6.367423657 6.47892568 0.09497869851
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
19 48 889.0559462 -555.8989975 -555.899463 9.69792269e-06 6.387988875 6.084617063 0.07805905013
|
||||
20 48 889.0559462 -555.8789297 -555.922478 0.000907256654 6.632232564 6.297071211 0.1040918647
|
||||
21 48 889.0559462 -555.7628778 -555.800269 0.0007789836645 6.45057814 6.021098636 0.09471102034
|
||||
22 48 889.0559462 -556.2253041 -556.196151 0.0006073561042 5.301350042 5.127955094 0.09123176401
|
||||
23 48 889.0559462 -555.5406596 -555.488929 0.001077721414 7.195160551 7.050223459 0.08747135986
|
||||
24 48 889.0559462 -556.0330633 -556.027926 0.0001070272218 6.009103539 5.611881174 0.08935441647
|
||||
25 48 889.0559462 -555.9945281 -555.968399 0.0005443553218 6.212902066 5.979217189 0.081244274
|
||||
26 48 889.0559462 -555.9554151 -556.047132 0.001910769529 6.012019145 5.544452585 0.09545132709
|
||||
27 48 889.0559462 -555.7366233 -555.747848 0.0002338482448 6.764939057 6.47892568 0.1011665243
|
||||
# Elastic_BCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
28 2 -23.68353253 -23.689367 0.002917237243 0.0006486347527 0.0006222748589 7.696560647e-06
|
||||
29 2 -23.68281295 -23.689888 0.003537526523 0.0006442481331 0.0006166052222 7.353613433e-06
|
||||
30 2 -23.68293438 -23.689996 0.00353080996 0.0009115876426 0.0008810425642 1.183334558e-05
|
||||
31 2 -23.68108003 -23.690957 0.004938485589 1.044193543e-06 0 4.166082999e-07
|
||||
32 2 -23.67919793 -23.690521 0.005661535829 0.0006261455712 0.0005982273815 7.573309962e-06
|
||||
33 2 -23.67785535 -23.69038 0.006262326378 0.0006219476538 0.0005925723585 8.098703345e-06
|
||||
34 2 -23.68415292 -23.689202 0.00252453823 0.0006520193214 0.0006279363025 7.128171197e-06
|
||||
35 2 -23.68169552 -23.690482 0.004393238412 0.0009021557258 0.0008640138888 1.329061297e-05
|
||||
36 2 -23.68301023 -23.689902 0.003445886213 0.0006432418939 0.0006152154094 8.589463686e-06
|
||||
37 2 -23.68063814 -23.690563 0.004962429905 0.0006318669831 0.0006038725031 7.463726891e-06
|
||||
38 2 -23.68337588 -23.690207 0.003415557958 0.001118071502 0.00107369735 1.811741272e-05
|
||||
39 2 -23.68369233 -23.689285 0.00279633424 0.0009215683923 0.000890013483 1.127366011e-05
|
||||
40 2 -23.68344234 -23.689768 0.003162828655 0.001120158205 0.001080249045 1.630224161e-05
|
||||
41 2 -23.68224173 -23.68968 0.003719136062 0.0009070521506 0.0008680034562 1.339908745e-05
|
||||
42 2 -23.68259685 -23.690074 0.003738573623 0.00143649564 0.001373818765 2.432187597e-05
|
||||
43 2 -23.68469428 -23.688108 0.001706858485 0.0006587619148 0.0006336134468 7.932733888e-06
|
||||
44 2 -23.68405177 -23.689241 0.002594615211 0.0009223784492 0.0008880101351 1.189350098e-05
|
||||
45 2 -23.68384626 -23.68952 0.002836868987 0.0009181252225 0.0008860011287 1.116431522e-05
|
||||
46 2 -23.68524763 -23.686278 0.0005151850613 0.0006668258323 0.0006406777661 8.58562287e-06
|
||||
47 2 -23.67629396 -23.690097 0.006901518594 0.0008737523828 0.0008410160522 1.125104926e-05
|
||||
48 2 -23.67835169 -23.690811 0.006229654604 0.0008814028122 0.0008500070588 1.103963422e-05
|
||||
49 2 -23.67981574 -23.690266 0.005225130991 0.001091936388 0.001044322747 1.944706281e-05
|
||||
50 2 -23.68209703 -23.690597 0.004249983197 0.001105769275 0.001050833003 2.242828165e-05
|
||||
51 2 -23.68050418 -23.690673 0.005084408246 0.000631172526 0.0006038907186 7.85857762e-06
|
||||
52 2 -23.68185505 -23.690551 0.00434797299 0.0009022813915 0.0008590064028 1.486707593e-05
|
||||
53 2 -23.68191508 -23.690693 0.004388958442 0.0009013677777 0.0008590110593 1.516503239e-05
|
||||
54 2 -23.68097184 -23.69021 0.004619081961 0.0009000307855 0.0008730051546 9.670733045e-06
|
||||
55 2 -23.68426495 -23.688943 0.002339025274 0.0009232115961 0.0008800306813 1.619629586e-05
|
||||
56 2 -23.67842316 -23.690136 0.005856419419 0.0006239138245 0.000593996633 8.394193459e-06
|
||||
57 2 -23.6849427 -23.687444 0.001250651312 0.0009347957747 0.000903059245 1.290489522e-05
|
||||
58 2 -23.6836322 -23.689801 0.003084401813 0.0009160470298 0.0008740011442 1.424271291e-05
|
||||
59 2 -23.6814842 -23.690408 0.00446190038 8.690218902e-07 0 3.245696976e-07
|
||||
60 2 -23.68115817 -23.690362 0.004601914896 0.0006345480975 0.0006067503605 9.377221838e-06
|
||||
61 2 -23.67229452 -23.688881 0.008293240443 0.0008566684404 0.0008250054545 1.108928728e-05
|
||||
62 2 -23.6791352 -23.690515 0.005689901939 0.001534883496 0.001475779794 2.124695951e-05
|
||||
63 2 -23.67786743 -23.690551 0.006341785918 0.0006228264143 0.0005996599036 7.295416678e-06
|
||||
64 2 -23.68316372 -23.689487 0.003161641446 0.0006469755816 0.0006194384554 7.530154689e-06
|
||||
65 2 -23.6834063 -23.68986 0.003226849907 0.0009142334935 0.0008860124153 1.052672488e-05
|
||||
66 2 -23.68377813 -23.689288 0.002754934411 0.00145229412 0.001396479144 1.702826801e-05
|
||||
67 2 -23.67700773 -23.690457 0.006724637324 0.0006187196638 0.0005939831647 7.080762895e-06
|
||||
68 2 -23.67552804 -23.689792 0.007131981721 0.0008698720997 0.0008340587509 1.418233126e-05
|
||||
69 2 -23.67583966 -23.690006 0.007083167888 0.0006146073806 0.0005897694465 8.07065747e-06
|
||||
70 2 -23.6777397 -23.690571 0.006415648131 0.0006207500925 0.0005939781141 7.401996527e-06
|
||||
71 2 -23.68270064 -23.690213 0.003756180649 0.001112284016 0.001084315452 1.142137177e-05
|
||||
72 2 -23.67870666 -23.690617 0.005955171449 0.0006250314539 0.0006024682564 6.623275772e-06
|
||||
73 2 -23.68231586 -23.689761 0.00372256923 0.0009095463313 0.0008790688255 1.222939687e-05
|
||||
74 2 -23.67673328 -23.69027 0.006768359835 7.188704983e-07 0 2.129270726e-07
|
||||
75 2 -23.68164707 -23.690599 0.004475963334 0.0006376044826 0.0006137752031 6.574310078e-06
|
||||
76 2 -23.67997815 -23.69061 0.00531592353 9.698202031e-07 0 3.95870452e-07
|
||||
77 2 -23.68008634 -23.690603 0.005258328411 0.0008923489326 0.0008590331775 1.256831367e-05
|
||||
78 2 -23.68488966 -23.687908 0.001509170978 0.0009340324028 0.0009010105438 1.204104822e-05
|
||||
79 2 -23.6795094 -23.690688 0.005589299031 0.0008890828456 0.0008470064935 1.419626566e-05
|
||||
80 2 -23.68316126 -23.689988 0.003413372454 0.0006451612224 0.0006194465272 7.422528505e-06
|
||||
81 2 -23.68321956 -23.689613 0.003196718897 0.000912899593 0.0008740732235 1.539555522e-05
|
||||
82 2 -23.68181374 -23.690678 0.004432127652 0.0006373963006 0.0006123757017 7.454253265e-06
|
||||
83 2 -23.68196226 -23.69017 0.004103870298 0.0009041773842 0.0008750051428 9.854119736e-06
|
||||
84 2 -23.68483517 -23.687892 0.001528413806 0.001142179928 0.001112070142 1.229243027e-05
|
||||
85 2 -23.68271169 -23.690132 0.003710155487 0.0009085291666 0.000868018433 1.49999647e-05
|
||||
86 2 -23.68018066 -23.690843 0.005331170668 0.0006305009468 0.0006081134763 5.90881572e-06
|
||||
87 2 -23.67957976 -23.690598 0.005509118787 0.001259431767 0.001217674833 1.243374729e-05
|
||||
88 2 -23.67869549 -23.690656 0.005980257091 0.0006251939788 0.0006024765556 7.13023928e-06
|
||||
89 2 -23.67884961 -23.690254 0.005702197143 0.001084797449 0.001043496047 1.68662339e-05
|
||||
90 2 -23.67961701 -23.690694 0.005538492834 0.0006273834422 0.0006010740387 8.134278748e-06
|
||||
91 2 -23.68202458 -23.690097 0.004036211359 0.0009041492449 0.0008730234819 1.169617364e-05
|
||||
92 2 -23.68476212 -23.688402 0.001819942156 0.0006575509652 0.000632180354 7.7469499e-06
|
||||
93 2 -23.68425036 -23.688669 0.002209320265 0.001133553123 0.001092474256 1.677033392e-05
|
||||
94 2 -23.68017683 -23.690538 0.005180583191 0.0008923392716 0.0008610145179 1.053989885e-05
|
||||
95 2 -23.68290142 -23.689722 0.003410287964 0.0006465597037 0.0006251287867 7.275875006e-06
|
||||
96 2 -23.6789537 -23.690581 0.005813649829 7.452601432e-07 0 2.355432868e-07
|
||||
97 2 -23.6840847 -23.688755 0.002335150427 0.0006519723076 0.0006251143895 8.25078808e-06
|
||||
98 2 -23.67367881 -23.689312 0.007816596299 0.0008618264365 0.0008290597083 1.323477647e-05
|
||||
99 2 -23.68489152 -23.687388 0.001248238956 0.001145929445 0.001120237475 1.049029355e-05
|
||||
100 2 -23.68174648 -23.690664 0.004458761579 0.0006367386055 0.0006109402589 6.270984336e-06
|
||||
101 2 -23.67450636 -23.68941 0.007451817634 0.0006119997091 0.0005883553348 7.715800125e-06
|
||||
102 2 -23.68321442 -23.690035 0.003410290658 0.0009128748923 0.0008810062429 1.106310227e-05
|
||||
103 2 -23.67584952 -23.690015 0.007082738579 0.0008706222251 0.0008450195264 9.898495893e-06
|
||||
104 2 -23.67856154 -23.690752 0.006095232174 0.0006245583967 0.0005996415596 7.033875201e-06
|
||||
105 2 -23.68297614 -23.689825 0.00342442945 0.0009134966073 0.0008800215906 1.147892484e-05
|
||||
106 2 -23.67876135 -23.690562 0.00590032283 0.0008849512172 0.0008560011682 1.005528708e-05
|
||||
107 2 -23.67874342 -23.690622 0.005939288687 0.0008835043772 0.0008390017878 1.530603189e-05
|
||||
108 2 -23.6843441 -23.688764 0.002209950672 0.0009250850126 0.0008910185183 1.254407066e-05
|
||||
109 2 -23.68340608 -23.690011 0.003302460748 0.0006464901241 0.0006194287691 7.216590251e-06
|
||||
110 2 -23.68476306 -23.687696 0.001466471271 0.001143422035 0.001087589996 2.279977174e-05
|
||||
111 2 -23.67977853 -23.691019 0.005620235289 0.000888876189 0.0008540035129 1.1779733e-05
|
||||
112 2 -23.68440001 -23.689025 0.002312496017 6.723949094e-07 0 2.648676661e-07
|
||||
113 2 -23.68208689 -23.689952 0.003932553163 7.386833996e-07 0 2.88150653e-07
|
||||
114 2 -23.67935439 -23.69061 0.005627806504 0.0008872685213 0.0008580011655 1.019979918e-05
|
||||
115 2 -23.68099138 -23.690595 0.004801812376 0.0008956193373 0.0008680069124 9.843191998e-06
|
||||
116 2 -23.67743565 -23.690231 0.006397673953 0.0006194343635 0.0005925892338 8.542917156e-06
|
||||
117 2 -23.67809541 -23.690469 0.006186797077 0.0008802359765 0.0008500294113 1.182654414e-05
|
||||
118 2 -23.68279142 -23.690482 0.003845288647 0.0009078436148 0.0008740102974 1.225600095e-05
|
||||
119 2 -23.67443144 -23.689613 0.007590778783 0.0008650318724 0.0008320192305 1.23538989e-05
|
||||
120 2 -23.68501591 -23.687426 0.001205043669 0.001145633567 0.00109577735 2.03694619e-05
|
||||
121 2 -23.68302307 -23.689562 0.003269464306 0.0006474095532 0.0006265237426 6.532536015e-06
|
||||
122 2 -23.68134549 -23.6904 0.004527256823 4.272990756e-07 0 1.732352808e-07
|
||||
123 2 -23.67843015 -23.690561 0.006065426647 0.0006235069318 0.0005982273815 6.816496585e-06
|
||||
124 2 -23.67292129 -23.689107 0.00809285397 0.0008589766346 0.0008180073349 1.439377155e-05
|
||||
125 2 -23.68123551 -23.690145 0.004454742608 0.0009009679944 0.0008740766557 1.132072203e-05
|
||||
126 2 -23.67777646 -23.690482 0.006352769316 0.0006215821083 0.0005939983165 8.362048689e-06
|
||||
127 2 -23.68318209 -23.689864 0.003340952886 0.0009142894487 0.0008860124153 1.044271435e-05
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
28 2 36.40799882 -23.68590704 -23.689367 0.001729981765 0.0005857469375 0.0006222748589 9.806537327e-06
|
||||
29 2 36.47727251 -23.68481169 -23.689888 0.00253815708 0.0005821264542 0.0006166052222 8.797319207e-06
|
||||
30 2 36.47184897 -23.68494784 -23.689996 0.002524078869 0.0008240616654 0.0008810425642 2.037428468e-05
|
||||
31 2 36.62078348 -23.68225087 -23.690957 0.004353065844 9.422546395e-07 0 3.770200667e-07
|
||||
32 2 36.71197042 -23.67989944 -23.690521 0.005310779451 0.000566950477 0.0005982273815 8.158760804e-06
|
||||
33 2 36.77593928 -23.67819051 -23.69038 0.00609474427 0.0005635032259 0.0005925723585 7.849374173e-06
|
||||
34 2 36.36547558 -23.68676383 -23.689202 0.001219083545 0.0005885128327 0.0006279363025 1.053580541e-05
|
||||
35 2 36.55974375 -23.68319963 -23.690482 0.003641183354 0.000815464884 0.0008640138888 1.662920456e-05
|
||||
36 2 36.46414346 -23.68507116 -23.689902 0.002415420054 0.0005812774047 0.0006152154094 9.669302107e-06
|
||||
37 2 36.63368821 -23.6817672 -23.690563 0.004397900334 0.0005717456253 0.0006038725031 8.311567538e-06
|
||||
38 2 36.45345189 -23.68547117 -23.690207 0.002367914312 0.001009744333 0.00107369735 2.610693709e-05
|
||||
39 2 36.38484847 -23.68616091 -23.689285 0.001562044483 0.0008322058899 0.000890013483 1.991679691e-05
|
||||
40 2 36.43347895 -23.68567207 -23.689768 0.002047966899 0.001012061035 0.001080249045 2.782864008e-05
|
||||
41 2 36.50220719 -23.68411383 -23.68968 0.002783085738 0.0008199315614 0.0008680034562 1.637343483e-05
|
||||
42 2 36.50719109 -23.68445604 -23.690074 0.002808981302 0.001296718439 0.001373818765 2.64147971e-05
|
||||
43 2 36.28428565 -23.68777598 -23.688108 0.0001660085343 0.000594221946 0.0006336134468 1.099939509e-05
|
||||
44 2 36.3642236 -23.68663754 -23.689241 0.001301727662 0.0008329159633 0.0008880101351 1.874593476e-05
|
||||
45 2 36.40397469 -23.68626116 -23.68952 0.001629419996 0.0008297070704 0.0008860011287 1.917842744e-05
|
||||
46 2 36.15958616 -23.68901859 -23.686278 0.001370293226 0.0006010646632 0.0006406777661 1.138305654e-05
|
||||
47 2 36.85012426 -23.6762264 -23.690097 0.006935298115 0.0007925625457 0.0008410160522 1.643998947e-05
|
||||
48 2 36.76983294 -23.67871264 -23.690811 0.006049181932 0.0007984019479 0.0008500070588 1.765059262e-05
|
||||
49 2 36.6630398 -23.68078335 -23.690266 0.004741323226 0.0009871892379 0.001044322747 2.331514572e-05
|
||||
50 2 36.55357619 -23.68366573 -23.690597 0.003465633435 0.0009975988347 0.001050833003 2.173210926e-05
|
||||
51 2 36.65271066 -23.68154759 -23.690673 0.004562704504 0.0005710871669 0.0006038907186 8.900574077e-06
|
||||
52 2 36.56222224 -23.68337216 -23.690551 0.003589418943 0.0008144210952 0.0008590064028 1.523928952e-05
|
||||
53 2 36.56679849 -23.68340668 -23.690693 0.003643158311 0.0008137974304 0.0008590110593 1.595698248e-05
|
||||
54 2 36.59811665 -23.6823077 -23.69021 0.003951151804 0.0008145831598 0.0008730051546 2.003359235e-05
|
||||
55 2 36.34900278 -23.68697807 -23.688943 0.0009824644101 0.0008322110648 0.0008800306813 1.744870469e-05
|
||||
56 2 36.74034826 -23.67898787 -23.690136 0.005574066484 0.0005652132989 0.000593996633 7.92587851e-06
|
||||
57 2 36.23610366 -23.68828866 -23.687444 0.0004223293819 0.0008436278789 0.000903059245 2.177751265e-05
|
||||
58 2 36.42259639 -23.68591698 -23.689801 0.001942008249 0.0008265155784 0.0008740011442 1.602155127e-05
|
||||
59 2 36.58194 -23.68291534 -23.690408 0.003746329075 7.853116414e-07 0 2.932806621e-07
|
||||
60 2 36.59950783 -23.68250113 -23.690362 0.003930433448 0.0005739954417 0.0006067503605 1.009250412e-05
|
||||
61 2 37.02589653 -23.67131384 -23.688881 0.008783582181 0.0007776878254 0.0008250054545 1.619373008e-05
|
||||
62 2 36.71189602 -23.67982686 -23.690515 0.005344069182 0.001390387166 0.001475779794 3.436613175e-05
|
||||
63 2 36.78962367 -23.67814275 -23.690551 0.006204123773 0.0005637977551 0.0005996599036 1.001095778e-05
|
||||
64 2 36.42642467 -23.68541088 -23.689487 0.002038057601 0.0005844344049 0.0006194384554 9.105178613e-06
|
||||
65 2 36.4423543 -23.68559418 -23.68986 0.002132908295 0.0008266682194 0.0008860124153 2.074533254e-05
|
||||
66 2 36.39164409 -23.68624726 -23.689288 0.001520371922 0.001312283722 0.001396479144 2.724122629e-05
|
||||
67 2 36.83059874 -23.67704953 -23.690457 0.006703736699 0.0005605067938 0.0005939831647 8.903855256e-06
|
||||
68 2 36.8936692 -23.67527599 -23.689792 0.007258002565 0.000787658236 0.0008340587509 1.727027889e-05
|
||||
69 2 36.88495742 -23.67562381 -23.690006 0.007191094218 0.0005570824127 0.0005897694465 9.526352044e-06
|
||||
70 2 36.7928657 -23.67798232 -23.690571 0.00629434147 0.0005623157716 0.0005939781141 8.388724073e-06
|
||||
71 2 36.50844234 -23.6845524 -23.690213 0.002830300186 0.001007417856 0.001084315452 3.13901245e-05
|
||||
72 2 36.74419477 -23.67922697 -23.690617 0.005695015742 0.0005656413796 0.0006024682564 9.800558604e-06
|
||||
73 2 36.49448266 -23.68420852 -23.689761 0.002776239615 0.0008225588858 0.0008790688255 2.057348461e-05
|
||||
74 2 36.83933705 -23.67673911 -23.69027 0.006765442668 6.51984476e-07 0 1.932645324e-07
|
||||
75 2 36.5709148 -23.68309624 -23.690599 0.003751378046 0.0005763054751 0.0006137752031 9.640531893e-06
|
||||
76 2 36.67683082 -23.68088394 -23.69061 0.004863030461 8.763722169e-07 0 3.577227741e-07
|
||||
77 2 36.66115635 -23.68104805 -23.690603 0.004777472809 0.0008071491031 0.0008590331775 1.853779451e-05
|
||||
78 2 36.25583797 -23.68810086 -23.687908 9.643173451e-05 0.0008433322094 0.0009010105438 2.010525612e-05
|
||||
79 2 36.69315685 -23.68027964 -23.690688 0.005204178753 0.0008040458508 0.0008470064935 1.442630316e-05
|
||||
80 2 36.46769977 -23.68522986 -23.689988 0.002379071717 0.0005827976437 0.0006194465272 9.763878015e-06
|
||||
81 2 36.44434113 -23.68541392 -23.689613 0.00209953858 0.0008243238033 0.0008740732235 1.862099135e-05
|
||||
82 2 36.57453003 -23.68327227 -23.690678 0.003702863528 0.0005762034709 0.0006123757017 9.833686501e-06
|
||||
83 2 36.54218785 -23.68361157 -23.69017 0.003279215566 0.0008176791029 0.0008750051428 1.921467316e-05
|
||||
84 2 36.26350252 -23.68802292 -23.687892 6.545993121e-05 0.001032253376 0.001112070142 3.258468659e-05
|
||||
85 2 36.49725495 -23.68460293 -23.690132 0.002764534398 0.0008196684225 0.000868018433 1.73736591e-05
|
||||
86 2 36.66468316 -23.68110857 -23.690843 0.004867214139 0.0005702307406 0.0006081134763 9.414220345e-06
|
||||
87 2 36.69098146 -23.68038294 -23.690598 0.005107529327 0.001139059342 0.001217674833 2.06566425e-05
|
||||
88 2 36.7498524 -23.67919254 -23.690656 0.005731731866 0.0005658199144 0.0006024765556 1.012824587e-05
|
||||
89 2 36.72620595 -23.67950048 -23.690254 0.005376762214 0.0009822281627 0.001043496047 2.500732518e-05
|
||||
90 2 36.7046344 -23.68037755 -23.690694 0.00515822503 0.0005678245812 0.0006010740387 9.481625137e-06
|
||||
91 2 36.53215524 -23.6837194 -23.690097 0.00318880242 0.0008183268201 0.0008730234819 1.936710758e-05
|
||||
92 2 36.28988463 -23.68778953 -23.688402 0.000306233365 0.0005932101303 0.000632180354 1.068318322e-05
|
||||
93 2 36.330155 -23.68704981 -23.688669 0.0008095957127 0.001023514967 0.001092474256 2.815195409e-05
|
||||
94 2 36.65451876 -23.68118381 -23.690538 0.004677093696 0.0008073441427 0.0008610145179 1.797964322e-05
|
||||
95 2 36.46623662 -23.68497164 -23.689722 0.002375180903 0.0005838510966 0.0006251287867 1.162407198e-05
|
||||
96 2 36.73431174 -23.67954699 -23.690581 0.005517005254 6.747207861e-07 0 2.132659501e-07
|
||||
97 2 36.34544239 -23.68680631 -23.688755 0.0009743455055 0.0005885973278 0.0006251143895 1.022234556e-05
|
||||
98 2 36.9736935 -23.67299367 -23.689312 0.008159162687 0.0007819742447 0.0008290597083 1.76069415e-05
|
||||
99 2 36.24487417 -23.68822174 -23.687388 0.0004168686754 0.001036416473 0.001120237475 3.421810783e-05
|
||||
100 2 36.57555586 -23.68319244 -23.690664 0.003735779019 0.0005756998982 0.0006109402589 8.460885317e-06
|
||||
101 2 36.94151938 -23.67402837 -23.68941 0.00769081595 0.0005547944898 0.0005883553348 9.667605875e-06
|
||||
102 2 36.45547212 -23.68530561 -23.690035 0.002364692981 0.0008249402484 0.0008810062429 1.906781709e-05
|
||||
103 2 36.88496132 -23.67563424 -23.690015 0.007190382353 0.000790172518 0.0008450195264 1.940915801e-05
|
||||
104 2 36.76103389 -23.67899294 -23.690752 0.005879529841 0.0005653529749 0.0005996415596 9.061380987e-06
|
||||
105 2 36.45404349 -23.68506744 -23.689825 0.002378779626 0.0008251854421 0.0008800215906 1.852267093e-05
|
||||
106 2 36.74654739 -23.67929575 -23.690562 0.005633127253 0.000801763107 0.0008560011682 1.842443236e-05
|
||||
107 2 36.74084732 -23.67927675 -23.690622 0.005672626415 0.0007986783077 0.0008390017878 1.383930455e-05
|
||||
108 2 36.33025646 -23.68714468 -23.688764 0.0008096596348 0.0008354959994 0.0008910185183 1.950545073e-05
|
||||
109 2 36.44122368 -23.68556667 -23.690011 0.002222166915 0.0005839138329 0.0006194287691 9.095263256e-06
|
||||
110 2 36.25348342 -23.68799518 -23.687696 0.0001495917205 0.001029561919 0.001087589996 2.368346819e-05
|
||||
111 2 36.69693588 -23.68052902 -23.691019 0.005244990763 0.0008045111684 0.0008540035129 1.660792245e-05
|
||||
112 2 36.3425194 -23.68713615 -23.689025 0.0009444242204 6.048393422e-07 0 2.391864739e-07
|
||||
113 2 36.51656499 -23.68385666 -23.689952 0.003047669619 6.637963301e-07 0 2.603475835e-07
|
||||
114 2 36.71447816 -23.68006157 -23.69061 0.005274216197 0.0008035446124 0.0008580011655 1.851139775e-05
|
||||
115 2 36.62519495 -23.68220128 -23.690595 0.004196860391 0.0008113491541 0.0008680069124 1.944419979e-05
|
||||
116 2 36.80154127 -23.67766382 -23.690231 0.006283590712 0.0005612910408 0.0005925892338 9.235122707e-06
|
||||
117 2 36.77742539 -23.67845523 -23.690469 0.006006884644 0.0007980880228 0.0008500294113 1.88002833e-05
|
||||
118 2 36.50183296 -23.68462479 -23.690482 0.002928604258 0.0008206653147 0.0008740102974 1.862862483e-05
|
||||
119 2 36.93568763 -23.67391526 -23.689613 0.007848867984 0.0007836859568 0.0008320192305 1.723468539e-05
|
||||
120 2 36.23289183 -23.68838681 -23.687426 0.0004804048231 0.001032041797 0.00109577735 2.600453853e-05
|
||||
121 2 36.44295904 -23.68519521 -23.689562 0.002183395162 0.0005844757167 0.0006265237426 1.128889659e-05
|
||||
122 2 36.59751671 -23.68271637 -23.6904 0.003841815485 3.610825174e-07 0 1.4665868e-07
|
||||
123 2 36.76766724 -23.67885647 -23.690561 0.005852264977 0.0005645533896 0.0005982273815 8.625051998e-06
|
||||
124 2 37.00025894 -23.67207453 -23.689107 0.008516233835 0.0007781106616 0.0008180073349 1.390580399e-05
|
||||
125 2 36.58722353 -23.68265657 -23.690145 0.00374421628 0.0008159137665 0.0008740766557 2.136045675e-05
|
||||
126 2 36.79405605 -23.67803714 -23.690482 0.006222430293 0.0005630702013 0.0005939983165 8.85354297e-06
|
||||
127 2 36.45320348 -23.68530353 -23.689864 0.002280236365 0.0008267100988 0.0008860124153 2.061923922e-05
|
||||
# Elastic_FCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
128 4 -46.449456 -46.437936 0.002880000611 0.0007088173441 0.001265949446 0.0001573706237
|
||||
129 4 -46.45317307 -46.438504 0.003667267825 0.0007210982328 0.001492549497 0.0002032393675
|
||||
130 4 -46.44686167 -46.436378 0.002620918523 0.0004870837365 0.000810592376 0.0001107544174
|
||||
131 4 -46.45357979 -46.441551 0.003007196305 0.0008634182131 0.001283675193 0.0001231453909
|
||||
132 4 -46.42409677 -46.416957 0.001784942313 0.0007481922079 0.001186145859 0.0001205918882
|
||||
133 4 -46.45078882 -46.440495 0.002573455911 0.0007289008721 0.001212440514 0.0001119490174
|
||||
134 4 -46.4501363 -46.437972 0.003041076136 0.001116532125 0.002358226452 0.0003166808771
|
||||
135 4 -46.46241981 -46.44586 0.004139951294 0.001077737689 0.002033949852 0.0002702964015
|
||||
136 4 -46.44743429 -46.435744 0.002922571394 0.0008383971706 0.001690849491 0.0002711013554
|
||||
137 4 -46.45237555 -46.438209 0.003541637787 0.0007039962535 0.001160049999 0.0001096430557
|
||||
138 4 -46.43645451 -46.42629 0.002541127472 0.0004839683449 0.0005297018029 1.480491546e-05
|
||||
139 4 -46.45466199 -46.443301 0.002840247268 0.0008590849412 0.001818421568 0.0002395191538
|
||||
140 4 -46.4513559 -46.439002 0.003088474484 0.000980675092 0.001416973535 0.0001142710898
|
||||
141 4 -46.44224357 -46.432438 0.00245139227 0.0008958100898 0.001010469198 5.862303988e-05
|
||||
142 4 -46.41846428 -46.412654 0.001452568802 0.001104791425 0.001801959766 0.0001900084105
|
||||
143 4 -46.45594552 -46.443231 0.003178629143 0.0006959928784 0.001691590967 0.0002104366356
|
||||
144 4 -46.44141177 -46.431513 0.00247469212 0.001149659372 0.001680544852 0.0001329997121
|
||||
145 4 -46.44458344 -46.435608 0.00224385943 0.000711021509 0.0009593039143 5.831382606e-05
|
||||
146 4 -46.45129649 -46.437689 0.003401871689 0.0007271142738 0.001217708504 0.0001414871092
|
||||
147 4 -46.43755262 -46.428447 0.002276404472 0.0008708378565 0.002060081552 0.0003082033743
|
||||
148 4 -46.44295113 -46.432255 0.00267403188 0.0005315813764 0.0006274201144 5.596270268e-05
|
||||
149 4 -46.45482154 -46.442315 0.003126635324 0.0008653689406 0.002424436842 0.0004107290683
|
||||
150 4 -46.44918467 -46.436613 0.003142918309 0.0004839663128 0.0005321240457 3.890880543e-05
|
||||
151 4 -46.44094809 -46.430825 0.002530772174 0.0007559646277 0.001399987143 0.0001669802678
|
||||
152 4 -46.44335614 -46.43312 0.002559035587 0.0004859700309 0.0007272771136 6.315695513e-05
|
||||
153 4 -46.44518607 -46.434347 0.002709767129 0.0007148497795 0.001284451634 0.0001580665901
|
||||
154 4 -46.43969219 -46.430573 0.002279798333 0.00072875179 0.001315746176 0.000142372977
|
||||
155 4 -46.46201856 -46.445665 0.004088390852 0.0008369246217 0.00180789159 0.0002715757049
|
||||
156 4 -46.44738266 -46.435898 0.002871166201 0.0007118215897 0.001869300939 0.0002650888178
|
||||
157 4 -46.45279209 -46.442107 0.002671271631 0.0005099355574 0.0006020930161 3.155335447e-05
|
||||
158 4 -46.44687446 -46.434432 0.003110615714 0.0008364031703 0.001092982159 9.484366005e-05
|
||||
159 4 -46.45033825 -46.436308 0.003507562522 0.0009954281391 0.001839150891 0.0002479613631
|
||||
160 4 -46.43248168 -46.423938 0.002135919949 0.0007772193879 0.001463463016 0.0001986681069
|
||||
161 4 -46.43702199 -46.428115 0.002226747981 0.0005418219957 0.0008584497656 9.283863381e-05
|
||||
162 4 -46.43553597 -46.4269 0.002158992752 0.001008467413 0.001845719914 0.00024455962
|
||||
163 4 -46.43191737 -46.421142 0.00269384137 0.0009169914298 0.001309150106 9.335100097e-05
|
||||
164 4 -46.44107961 -46.432233 0.002211651338 0.0006944670911 0.0007253109678 2.446203898e-05
|
||||
165 4 -46.44097784 -46.429408 0.002892459649 0.0007189999753 0.001068327665 9.331287519e-05
|
||||
166 4 -46.45970672 -46.445145 0.003640430606 0.0008323398895 0.001776038288 0.000241778013
|
||||
167 4 -46.44583143 -46.435868 0.002490857628 0.001007239475 0.002376074704 0.0003893124404
|
||||
168 4 -46.4515773 -46.439663 0.002978574612 0.0004764710524 0.001119403413 0.0001156692402
|
||||
169 4 -46.43612447 -46.428287 0.00195936642 0.001036891264 0.001277000392 6.942055774e-05
|
||||
170 4 -46.4323966 -46.424584 0.001953149801 0.0005497544117 0.0008032957114 5.852281957e-05
|
||||
171 4 -46.41884421 -46.413045 0.001449803236 0.0009011718881 0.001248322074 7.333380516e-05
|
||||
172 4 -46.44596985 -46.436994 0.002243961387 0.0008480487041 0.001331939188 0.0001689650386
|
||||
173 4 -46.45736434 -46.443604 0.003440085706 0.0007046835731 0.001177046303 0.000122309487
|
||||
174 4 -46.4531541 -46.439718 0.003359024693 6.718665563e-07 0 1.784212677e-07
|
||||
175 4 -46.44922127 -46.435527 0.003423566396 0.0008698447035 0.0009338393866 5.635428662e-05
|
||||
176 4 -46.44518705 -46.434787 0.002600012526 0.0008890985417 0.00117329195 6.906839261e-05
|
||||
177 4 -46.44789017 -46.434929 0.00324029173 0.001006522874 0.001349491756 8.807224523e-05
|
||||
178 4 -46.43673847 -46.426499 0.002559868692 0.0009134543992 0.001248937949 9.133606536e-05
|
||||
179 4 -46.44932495 -46.437025 0.003074986544 0.0006805240432 0.000938418883 7.446008431e-05
|
||||
180 4 -46.43885209 -46.428937 0.002478772296 0.0009031344997 0.001286352984 0.0001081690229
|
||||
181 4 -46.45413306 -46.442516 0.002904263993 0.000506604563 0.00094855469 0.0001414866709
|
||||
182 4 -46.44060244 -46.428736 0.002966609134 0.0007579010233 0.001424321593 0.0001681832084
|
||||
183 4 -46.44430426 -46.433359 0.002736316202 0.0008950557387 0.001276381604 0.0001027241271
|
||||
184 4 -46.45260002 -46.438799 0.00345025532 0.0006868717473 0.0008186940821 3.675916237e-05
|
||||
185 4 -46.45478935 -46.441993 0.003199088629 0.000703010985 0.001887735151 0.0002666518851
|
||||
186 4 -46.44949137 -46.439033 0.002614591408 0.0006795560995 0.000821568013 5.214373405e-05
|
||||
187 4 -46.44856954 -46.436967 0.002900635979 0.000860448627 0.001482323514 0.0001802503616
|
||||
188 4 -46.43759968 -46.427245 0.00258867094 0.0008795521813 0.001293885621 0.0001012099865
|
||||
189 4 -46.45133388 -46.438046 0.003321969731 0.0009940752633 0.001627288542 0.000174152867
|
||||
190 4 -46.42813695 -46.420083 0.002013486722 0.001161998446 0.002395244873 0.0003650969018
|
||||
191 4 -46.46060362 -46.445247 0.003839154837 0.0006909751141 0.001219330964 0.0001271217748
|
||||
192 4 -46.45903895 -46.446044 0.003248736964 0.0006847065621 0.001305329077 0.0001398957152
|
||||
193 4 -46.44724817 -46.434472 0.003194042613 0.0007061519125 0.0008323340675 6.681050285e-05
|
||||
194 4 -46.45649776 -46.44458 0.002979439009 0.0004998748498 0.0009744208536 8.547729233e-05
|
||||
195 4 -46.45403889 -46.441776 0.003065721535 0.0008652918641 0.001339231869 0.0001389938291
|
||||
196 4 -46.44933689 -46.436389 0.003236972034 0.001007551549 0.001786741168 0.0002029508895
|
||||
197 4 -46.459873 -46.446416 0.00336425035 0.0004914989987 0.0006588778339 6.549510811e-05
|
||||
198 4 -46.46569473 -46.449806 0.003972183676 0.000943305002 0.002135055034 0.0003137851731
|
||||
199 4 -46.43467991 -46.427189 0.00187272638 0.0007726175275 0.001050788276 7.135568315e-05
|
||||
200 4 -46.43621938 -46.427857 0.002090594118 0.0007686546978 0.001487666629 0.0001823668299
|
||||
201 4 -46.45576365 -46.44004 0.003930912967 0.0005030079851 0.000757202747 5.770676907e-05
|
||||
202 4 -46.4483913 -46.437214 0.002794325435 0.0007102028538 0.001505586265 0.000179529909
|
||||
203 4 -46.43168209 -46.422628 0.002263521917 0.0007374332623 0.001601713458 0.0002609325883
|
||||
204 4 -46.45732644 -46.443535 0.00344786022 0.0009811025521 0.001590304373 0.0001690672254
|
||||
205 4 -46.45144079 -46.439922 0.002879696366 0.0008698700101 0.001530493385 0.0001528171002
|
||||
206 4 -46.44960522 -46.437675 0.002982555611 0.00112440729 0.002440246094 0.0004061057502
|
||||
207 4 -46.45839808 -46.445558 0.003210018941 0.0006780842253 0.00113392416 0.0001196075532
|
||||
208 4 -46.45130112 -46.439106 0.003048781046 0.0009934671927 0.001830731002 0.000245168776
|
||||
209 4 -46.45826105 -46.443073 0.003797013279 0.0004759445984 0.0005766870902 2.863834812e-05
|
||||
210 4 -46.4536082 -46.4397 0.003477049491 0.0006982622456 0.001204174406 0.0001154782847
|
||||
211 4 -46.44819434 -46.436374 0.002955085327 0.0007363684621 0.001461656594 0.0002277550157
|
||||
212 4 -46.43668282 -46.426557 0.00253145389 0.0007326220467 0.001359624213 0.0001251472548
|
||||
213 4 -46.44485583 -46.434009 0.002711707903 0.000870647096 0.001391131194 0.0001541542453
|
||||
214 4 -46.44732696 -46.436262 0.002766239028 0.001116549362 0.002503347159 0.0003211377445
|
||||
215 4 -46.44414241 -46.434505 0.002409352177 0.0008685662223 0.001041637173 4.942106462e-05
|
||||
216 4 -46.45095913 -46.438768 0.003047783488 0.0008482298138 0.001098285027 8.657909629e-05
|
||||
217 4 -46.45111242 -46.440254 0.002714605501 0.0004892442432 0.0006069892915 5.824568303e-05
|
||||
218 4 -46.43463407 -46.42286 0.002943517186 0.0004976409931 0.0007365242698 7.564906264e-05
|
||||
219 4 -46.42611144 -46.418078 0.002008360417 0.001053243552 0.002028412187 0.0002473380313
|
||||
220 4 -46.45344976 -46.440513 0.003234189608 0.0007024129954 0.001158189967 0.0001371889048
|
||||
221 4 -46.41584187 -46.409824 0.001504467167 0.0007558580012 0.001759573812 0.0002386003087
|
||||
222 4 -46.45494987 -46.440329 0.003655216631 0.0005034620022 0.0009534044263 0.0001064495091
|
||||
223 4 -46.45000759 -46.43773 0.003069396495 0.0006831478015 0.000926180328 7.390298375e-05
|
||||
224 4 -46.42538863 -46.416525 0.002215907169 0.0005605993692 0.0007573664899 5.946405938e-05
|
||||
225 4 -46.45386072 -46.440293 0.003391930454 0.0006980795454 0.0007725386722 1.86450807e-05
|
||||
226 4 -46.4527969 -46.43839 0.003601726069 0.0005103417187 0.0005612022808 1.656002337e-05
|
||||
227 4 -46.45374294 -46.438916 0.00370673382 0.0006956794369 0.001650878554 0.0002154167998
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
128 4 74.14589882 -46.45131085 -46.437936 0.003343711499 0.0008256456522 0.001265949446 0.0001479290162
|
||||
129 4 74.26852111 -46.45483689 -46.438504 0.00408322283 0.0008748833702 0.001492549497 0.0001669960806
|
||||
130 4 74.05957274 -46.44875622 -46.436378 0.00309455485 0.0005424811735 0.000810592376 0.0001015808542
|
||||
131 4 74.30647158 -46.45520791 -46.441551 0.003414228451 0.001024641 0.001283675193 8.610021967e-05
|
||||
132 4 73.40902276 -46.4265266 -46.416957 0.002392400067 0.0008639837782 0.001186145859 9.385948781e-05
|
||||
133 4 74.1804881 -46.45258342 -46.440495 0.003022104862 0.0008837693055 0.001212440514 7.54705377e-05
|
||||
134 4 74.17596744 -46.45191353 -46.437972 0.00348538317 0.001290912634 0.002358226452 0.0002715207448
|
||||
135 4 74.73528136 -46.46363987 -46.44586 0.004444967559 0.001259032014 0.002033949852 0.0002223899959
|
||||
136 4 74.0787509 -46.44925412 -46.435744 0.003377531217 0.0009337469328 0.001690849491 0.0002527015084
|
||||
137 4 74.24609528 -46.45412062 -46.438209 0.003977905441 0.0008183472184 0.001160049999 8.303212282e-05
|
||||
138 4 73.73005434 -46.43863377 -46.42629 0.003085943173 0.0005398665308 0.0005297018029 9.433755819e-06
|
||||
139 4 74.33993289 -46.45634184 -46.443301 0.003260209859 0.001019667847 0.001818421568 0.0002031714008
|
||||
140 4 74.20715045 -46.45310823 -46.439002 0.003526557791 0.001120917878 0.001416973535 8.385490094e-05
|
||||
141 4 73.89686848 -46.44426829 -46.432438 0.002957572572 0.001055104669 0.001010469198 5.761635655e-05
|
||||
142 4 73.27773838 -46.42097352 -46.412654 0.002079881174 0.001288759108 0.001801959766 0.0001651013922
|
||||
143 4 74.40027968 -46.45756841 -46.443231 0.003584351835 0.0008139750432 0.001691590967 0.0002012572515
|
||||
144 4 73.86123747 -46.44349423 -46.431513 0.002995306686 0.00134586635 0.001680544852 8.973225319e-05
|
||||
145 4 73.96908649 -46.4465827 -46.435608 0.002743674619 0.0008335711035 0.0009593039143 3.003885348e-05
|
||||
146 4 74.18717232 -46.45311791 -46.437689 0.003857228017 0.0008866862425 0.001217708504 0.0001038986229
|
||||
147 4 73.76897316 -46.43964365 -46.428447 0.002799161691 0.0009977338004 0.002060081552 0.0002905770514
|
||||
148 4 73.9161373 -46.44497446 -46.432255 0.003179865353 0.0006398887096 0.0006274201144 6.119155431e-05
|
||||
149 4 74.36502962 -46.45637695 -46.442315 0.003515486518 0.001024758209 0.002424436842 0.0003681838217
|
||||
150 4 74.11860796 -46.45104156 -46.436613 0.003607139707 0.000542307804 0.0005321240457 4.066198978e-05
|
||||
151 4 73.86741001 -46.44297515 -46.430825 0.003037538607 0.0009095490857 0.001399987143 0.000130785128
|
||||
152 4 73.94132612 -46.44533403 -46.43312 0.003053507676 0.0005400988424 0.0007272771136 5.413031343e-05
|
||||
153 4 73.9811119 -46.44719039 -46.434347 0.003210848405 0.0008341122771 0.001284451634 0.0001304096221
|
||||
154 4 73.82698041 -46.441812 -46.430573 0.002809749316 0.0008428066075 0.001315746176 0.0001159814943
|
||||
155 4 74.70690467 -46.4633092 -46.445665 0.004411050207 0.001032736499 0.00180789159 0.0002150498129
|
||||
156 4 74.08446722 -46.44922009 -46.435898 0.003330522688 0.0008301151804 0.001869300939 0.0002469789922
|
||||
157 4 74.25274774 -46.45452028 -46.442107 0.003103319043 0.0006221716513 0.0006020930161 2.151286804e-05
|
||||
158 4 74.05043726 -46.44881316 -46.434432 0.003595289303 0.0009353943426 0.001092982159 7.589096221e-05
|
||||
159 4 74.16653794 -46.45216046 -46.436308 0.003963116012 0.001165997488 0.001839150891 0.0002017849653
|
||||
160 4 73.62293094 -46.43471139 -46.423938 0.002693346975 0.0009282950076 0.001463463016 0.0001806433153
|
||||
161 4 73.74948122 -46.43915587 -46.428115 0.002760218433 0.000645515606 0.0008584497656 7.555218569e-05
|
||||
162 4 73.70731572 -46.4377108 -46.4269 0.002702698795 0.001146432571 0.001845719914 0.0002177014657
|
||||
163 4 73.59054722 -46.43424497 -46.421142 0.003275743402 0.001070285015 0.001309150106 6.310130391e-05
|
||||
164 4 73.85798892 -46.44313986 -46.432233 0.002726715023 0.000770442732 0.0007253109678 2.477634456e-05
|
||||
165 4 73.86179419 -46.44300648 -46.429408 0.003399620631 0.000833457346 0.001068327665 6.682329804e-05
|
||||
166 4 74.58468636 -46.46113881 -46.445145 0.003998452755 0.0009654561253 0.001776038288 0.0002133574173
|
||||
167 4 74.02247797 -46.44776713 -46.435868 0.002974783408 0.001172308278 0.002376074704 0.0003537233362
|
||||
168 4 74.20501804 -46.45335725 -46.439663 0.003423562793 0.0005357335948 0.001119403413 0.0001057861048
|
||||
169 4 73.72492498 -46.43827692 -46.428287 0.00249748019 0.001199172287 0.001277000392 3.442241395e-05
|
||||
170 4 73.62492908 -46.43462391 -46.424584 0.002509976491 0.0006543042024 0.0008032957114 4.113076772e-05
|
||||
171 4 73.28647 -46.42133993 -46.413045 0.002073732867 0.001025290654 0.001248322074 5.004201967e-05
|
||||
172 4 74.01119894 -46.44792434 -46.436994 0.002732584481 0.0009408903639 0.001331939188 0.0001513955587
|
||||
173 4 74.45838911 -46.45890245 -46.443604 0.003824612242 0.0008652237342 0.001177046303 0.0001036876632
|
||||
174 4 74.29439096 -46.45481655 -46.439718 0.003774637959 7.937739607e-07 0 2.16900779e-07
|
||||
175 4 74.12581885 -46.45104078 -46.435527 0.003878446058 0.001033999404 0.0009338393866 5.850821011e-05
|
||||
176 4 73.97170625 -46.44716581 -46.434787 0.003094701764 0.001051431266 0.00117329195 5.01747675e-05
|
||||
177 4 74.0799757 -46.44974298 -46.434929 0.003703495842 0.001176626647 0.001349491756 5.454636617e-05
|
||||
178 4 73.74433679 -46.4388625 -46.426499 0.003090875895 0.001072266841 0.001248937949 5.553437534e-05
|
||||
179 4 74.14770713 -46.45110145 -46.437025 0.003519111637 0.0007601929639 0.000938418883 6.871857646e-05
|
||||
180 4 73.80957625 -46.44091488 -46.428937 0.002994470545 0.001060607401 0.001286352984 7.2762261e-05
|
||||
181 4 74.32407369 -46.45577946 -46.442516 0.003315864517 0.0006130126198 0.00094855469 0.0001237589752
|
||||
182 4 73.84764949 -46.44267435 -46.428736 0.003484586658 0.0009114051058 0.001424321593 0.0001319991106
|
||||
183 4 73.97111028 -46.44621408 -46.433359 0.003213769843 0.001054983475 0.001276381604 6.67936474e-05
|
||||
184 4 74.25298337 -46.45429983 -46.438799 0.003875207653 0.0007658804804 0.0008186940821 3.523360132e-05
|
||||
185 4 74.36513571 -46.45635746 -46.441993 0.003591113969 0.0008209061886 0.001887735151 0.0002392272687
|
||||
186 4 74.14572274 -46.45131062 -46.439033 0.003069403991 0.0007583547125 0.000821568013 4.304382184e-05
|
||||
187 4 74.11964094 -46.45043541 -46.436967 0.003367101873 0.0009904274689 0.001482323514 0.0001528507492
|
||||
188 4 73.76706483 -46.43970043 -46.427245 0.003113856835 0.001008693047 0.001293885621 8.257978381e-05
|
||||
189 4 74.21830016 -46.45309069 -46.438046 0.003761172827 0.00116354854 0.001627288542 0.0001286952583
|
||||
190 4 73.51075683 -46.43047578 -46.420083 0.00259819585 0.001334826131 0.002395244873 0.0003392003683
|
||||
191 4 74.62704502 -46.46197961 -46.445247 0.004183151461 0.0008490345633 0.001219330964 8.984638543e-05
|
||||
192 4 74.54172989 -46.46048301 -46.446044 0.003609751612 0.0008018136666 0.001305329077 0.0001126246298
|
||||
193 4 74.05152275 -46.4491333 -46.434472 0.003665324806 0.0008288481706 0.0008323340675 5.797426995e-05
|
||||
194 4 74.415732 -46.45806324 -46.44458 0.003370810956 0.0006130004847 0.0009744208536 6.665443495e-05
|
||||
195 4 74.3298536 -46.45570744 -46.441776 0.003482860273 0.001025864906 0.001339231869 0.0001026437813
|
||||
196 4 74.14951222 -46.45110489 -46.436389 0.003678973505 0.00117751644 0.001786741168 0.0001566147507
|
||||
197 4 74.58621137 -46.46129862 -46.446416 0.003720653765 0.0006013410942 0.0006588778339 4.718503395e-05
|
||||
198 4 74.93791818 -46.4668018 -46.449806 0.00424894914 0.001116402603 0.002135055034 0.0002754987197
|
||||
199 4 73.6789527 -46.43686767 -46.427189 0.002419668309 0.0009202462101 0.001050788276 3.832148023e-05
|
||||
200 4 73.72666848 -46.43838466 -46.427857 0.002631914057 0.000916598926 0.001487666629 0.0001502215435
|
||||
201 4 74.38554824 -46.45730744 -46.44004 0.004316858848 0.0006147077527 0.000757202747 3.915525299e-05
|
||||
202 4 74.09024992 -46.45025082 -46.437214 0.003259204623 0.000823112906 0.001505586265 0.0001621804833
|
||||
203 4 73.60013606 -46.433967 -46.422628 0.002834751082 0.0008553071125 0.001601713458 0.000233732131
|
||||
204 4 74.47827164 -46.45874769 -46.443535 0.00380317303 0.001150644704 0.001590304373 0.0001312331936
|
||||
205 4 74.22558703 -46.45321801 -46.439922 0.003324001852 0.001030412749 0.001530493385 0.0001208769886
|
||||
206 4 74.15291432 -46.45141844 -46.437675 0.003435859942 0.001323881965 0.002440246094 0.000351523644
|
||||
207 4 74.50981896 -46.45987915 -46.445558 0.003580287949 0.0008016583891 0.00113392416 9.087921501e-05
|
||||
208 4 74.19814905 -46.45309789 -46.439106 0.003497972207 0.001159709328 0.001830731002 0.0002004464824
|
||||
209 4 74.51720313 -46.45968457 -46.443073 0.004152892794 0.0005327789399 0.0005766870902 1.911195046e-05
|
||||
210 4 74.29924604 -46.45529068 -46.4397 0.003897668752 0.0008203202583 0.001204174406 8.707934353e-05
|
||||
211 4 74.09425795 -46.45003681 -46.436374 0.003415701915 0.0008937039936 0.001461656594 0.0001906816478
|
||||
212 4 73.73717548 -46.43887502 -46.426557 0.003079503833 0.0008473432438 0.001359624213 0.0001078467328
|
||||
213 4 73.99983876 -46.44675075 -46.434009 0.00318543858 0.0009993979373 0.001391131194 0.000126864771
|
||||
214 4 74.07916779 -46.4492147 -46.436262 0.003238173905 0.0012911873 0.002503347159 0.0002946038716
|
||||
215 4 73.94744484 -46.44611874 -46.434505 0.0029034362 0.0009930846846 0.001041637173 1.44560542e-05
|
||||
216 4 74.2021224 -46.45267242 -46.438768 0.003476105557 0.0009790325482 0.001098285027 5.900684038e-05
|
||||
217 4 74.20389194 -46.45287404 -46.440254 0.003155011025 0.0005440222637 0.0006069892915 4.917760806e-05
|
||||
218 4 73.66782167 -46.43682196 -46.42286 0.003490490208 0.0005521691303 0.0007365242698 6.657586723e-05
|
||||
219 4 73.46349993 -46.42843317 -46.418078 0.002588792975 0.001215695483 0.002028412187 0.0002117690174
|
||||
220 4 74.30307454 -46.45509879 -46.440513 0.003646448628 0.0008205757569 0.001158189967 0.000110036346
|
||||
221 4 73.21819832 -46.41838058 -46.409824 0.002139145869 0.000869266353 0.001759573812 0.0002125030952
|
||||
222 4 74.35772636 -46.45658501 -46.440329 0.004064003047 0.0006179175264 0.0009534044263 8.737057714e-05
|
||||
223 4 74.17615527 -46.45177345 -46.43773 0.003510862689 0.0007631781991 0.000926180328 6.446679043e-05
|
||||
224 4 73.43860935 -46.4277585 -46.416525 0.002808375906 0.0006623119965 0.0007573664899 4.251239635e-05
|
||||
225 4 74.31356506 -46.45553467 -46.440293 0.003810416894 0.0008201864367 0.0007725386722 1.244767351e-05
|
||||
226 4 74.25452523 -46.45450406 -46.43839 0.004028515986 0.000624431309 0.0005612022808 1.898088401e-05
|
||||
227 4 74.27331932 -46.45546024 -46.438916 0.004136060657 0.0008098609869 0.001650878554 0.0001889274693
|
||||
# GSF_110.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
228 24 -278.7403996 -279.068761 0.01368172569 2.282668754 1.756353161 0.0474563559
|
||||
229 24 -279.902595 -279.784296 0.004929123882 0.9479314831 0.9057668891 0.02403120774
|
||||
230 24 -279.9942014 -279.901657 0.003856015841 0.2795933118 0.001565946359 0.01120665859
|
||||
231 24 -279.6335344 -279.584238 0.002054016531 1.573004204 1.035572248 0.05514377891
|
||||
232 24 -279.9025974 -279.784283 0.004929767703 0.947921084 0.9056396189 0.02406018404
|
||||
233 24 -279.1817177 -279.302158 0.005018345952 2.388096516 1.771965137 0.06275542538
|
||||
234 24 -279.5900705 -279.55564 0.001434605813 1.950503627 1.405626506 0.05370441115
|
||||
235 24 -279.0106063 -279.246939 0.00984719392 1.577003357 0.4813964151 0.08190583543
|
||||
236 24 -279.1817217 -279.302157 0.005018138375 2.388094324 1.771953347 0.06275588675
|
||||
237 24 -279.0107548 -279.246935 0.009840841347 1.576191869 0.4809484798 0.0819682416
|
||||
238 24 -279.9941671 -279.896025 0.004089255845 0.2809227604 0.01060549839 0.01118927817
|
||||
239 24 -279.6337951 -279.584237 0.002064919631 1.571895405 1.035836121 0.05510997377
|
||||
240 24 -278.8616595 -279.124427 0.0109486445 2.383512182 1.809545887 0.06232801199
|
||||
241 24 -279.2927133 -279.379366 0.003610531084 1.779238829 0.8982692706 0.07658702105
|
||||
242 24 -279.292656 -279.37937 0.003613082676 1.779203263 0.898081355 0.0765940488
|
||||
243 24 -278.8616573 -279.124427 0.01094873842 2.383511745 1.809523374 0.06232387507
|
||||
244 24 -279.9942014 -279.901657 0.003856015842 0.27959331 0.001570374478 0.01120603916
|
||||
245 24 -279.9072278 -279.79264 0.004774491325 0.8361247356 0.8392614852 0.02418251879
|
||||
246 24 -279.9941671 -279.896025 0.004089255843 0.2809227622 0.01060243293 0.01118973247
|
||||
247 24 -278.8973689 -279.206496 0.01288029691 1.390234609 0.005326518563 0.06648378416
|
||||
248 24 -279.590075 -279.55564 0.001434791018 1.950495712 1.4056319 0.05370353355
|
||||
249 24 -279.9072386 -279.79264 0.004774943229 0.8361385582 0.8392625708 0.02418484015
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
228 24 828.0362386 -278.8410589 -279.068761 0.009487586046 2.726148177 1.756353161 0.06344241374
|
||||
229 24 828.0362386 -280.0438878 -279.784296 0.01081632552 1.025836691 0.9057668891 0.03431923408
|
||||
230 24 828.0362386 -280.1389453 -279.901657 0.009887011104 0.3820870056 0.001565946359 0.02063932212
|
||||
231 24 828.0362386 -279.7578636 -279.584238 0.007234400289 1.646483877 1.035572248 0.06317254006
|
||||
232 24 828.0362386 -280.0438905 -279.784283 0.01081698125 1.025825697 0.9056396189 0.03433377902
|
||||
233 24 828.0362386 -279.2779929 -279.302158 0.001006879708 2.597392642 1.771965137 0.07498219236
|
||||
234 24 828.0362386 -279.7119341 -279.55564 0.006512252548 2.085996302 1.405626506 0.06414553539
|
||||
235 24 828.0362386 -279.1342144 -279.246939 0.004696857796 1.7145726 0.4813964151 0.09091186796
|
||||
236 24 828.0362386 -279.2779974 -279.302157 0.001006650079 2.59739139 1.771953347 0.07498197018
|
||||
237 24 828.0362386 -279.1342234 -279.246935 0.004696316576 1.714140427 0.4809484798 0.09087969403
|
||||
238 24 828.0362386 -280.1388645 -279.896025 0.01011831143 0.3833172699 0.01060549839 0.0205724723
|
||||
239 24 828.0362386 -279.7581378 -279.584237 0.007245866604 1.645952103 1.035836121 0.06318595533
|
||||
240 24 828.0362386 -278.9562357 -279.124427 0.007007972259 2.699607205 1.809545887 0.07438804482
|
||||
241 24 828.0362386 -279.4052861 -279.379366 0.00108000439 1.874556392 0.8982692706 0.08646596743
|
||||
242 24 828.0362386 -279.4051598 -279.37937 0.001074574944 1.874858028 0.898081355 0.08649971418
|
||||
243 24 828.0362386 -278.9562334 -279.124427 0.007008065732 2.699608673 1.809523374 0.07438947193
|
||||
244 24 828.0362386 -280.1389453 -279.901657 0.009887011104 0.382087008 0.001570374478 0.02063718463
|
||||
245 24 828.0362386 -280.0482205 -279.79264 0.01064918897 0.9069086057 0.8392614852 0.03243659951
|
||||
246 24 828.0362386 -280.1388645 -279.896025 0.01011831143 0.3833172675 0.01060243293 0.02057250032
|
||||
247 24 828.0362386 -279.0366628 -279.206496 0.007076382361 1.638514407 0.005326518563 0.08048168704
|
||||
248 24 828.0362386 -279.7119391 -279.55564 0.006512460902 2.085987992 1.4056319 0.06414586851
|
||||
249 24 828.0362386 -280.0482407 -279.79264 0.01065002958 0.9067922986 0.8392625708 0.03242814224
|
||||
# GSF_112.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
250 30 -345.1428414 -345.175835 0.001099787279 2.717783384 1.057395322 0.1393371019
|
||||
251 30 -346.8213325 -346.361714 0.01532061701 1.6320981 1.220284939 0.1010819808
|
||||
252 30 -346.3061373 -345.795524 0.01702044399 2.435031121 2.112860875 0.1171529224
|
||||
253 30 -344.8834516 -345.164602 0.009371679668 3.314987489 1.765832199 0.1576958872
|
||||
254 30 -346.9668291 -346.593523 0.01244353764 1.327935537 0.01148867129 0.08670065177
|
||||
255 30 -346.7938009 -346.396186 0.01325383111 1.743989434 0.9954683928 0.09783463277
|
||||
256 30 -345.0939055 -345.319406 0.007516682784 3.756566851 1.772040852 0.1806000978
|
||||
257 30 -345.6468551 -345.594794 0.001735368441 3.432645857 1.516014157 0.1670589876
|
||||
258 30 -346.2843474 -345.98566 0.00995624537 2.709563559 1.406252265 0.1356658489
|
||||
259 30 -345.7058793 -345.383994 0.01072951129 2.464665654 0.963574308 0.13389942
|
||||
260 30 -346.9664564 -346.582564 0.01279641284 1.32870642 0.0126740587 0.08670344939
|
||||
261 30 -345.3305431 -345.452139 0.004053195139 4.515828739 2.787719406 0.1519418929
|
||||
262 30 -346.966836 -346.593523 0.01244376534 1.327919807 0.01148834 0.08669988209
|
||||
263 30 -345.5935851 -345.281949 0.01038786965 2.922665543 1.873142686 0.1300383724
|
||||
264 30 -346.157169 -345.928661 0.007616932828 3.42803556 2.100874472 0.1330089569
|
||||
265 30 -344.6836135 -345.111657 0.01426811685 4.87813643 3.358068319 0.1517605656
|
||||
266 30 -346.8140968 -346.367123 0.01489912587 1.700448289 1.335797131 0.1014030448
|
||||
267 30 -346.9664062 -346.582565 0.0127947081 1.328695393 0.01254743735 0.08670444025
|
||||
268 30 -344.5284456 -344.91356 0.012837147 4.30679737 3.441834403 0.1293440404
|
||||
269 30 -346.3471173 -345.836703 0.01701381162 2.177883948 1.608769148 0.1178087924
|
||||
270 30 -344.9135302 -344.984307 0.002359225816 3.517317775 2.542628782 0.122092966
|
||||
271 30 -346.7846048 -346.393931 0.01302245877 1.941770224 1.211680725 0.09898842713
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
250 30 1075.650827 -344.9605863 -345.175835 0.007174958242 2.758670703 1.057395322 0.1516335449
|
||||
251 30 1075.650827 -346.7372372 -346.361714 0.01251744041 1.674795336 1.220284939 0.09596889278
|
||||
252 30 1075.650827 -346.1686186 -345.795524 0.0124364868 2.551456187 2.112860875 0.1075528655
|
||||
253 30 1075.650827 -344.7305027 -345.164602 0.01446997708 3.364761651 1.765832199 0.1653996104
|
||||
254 30 1075.650827 -346.8954513 -346.593523 0.01006427628 1.339499001 0.01148867129 0.08728299447
|
||||
255 30 1075.650827 -346.7069529 -346.396186 0.01035889705 1.846653887 0.9954683928 0.09979294451
|
||||
256 30 1075.650827 -344.9126927 -345.319406 0.01355711006 3.783666815 1.772040852 0.1835364962
|
||||
257 30 1075.650827 -345.4584504 -345.594794 0.004544785139 3.694055398 1.516014157 0.1747792869
|
||||
258 30 1075.650827 -346.1486771 -345.98566 0.005433903845 2.934925394 1.406252265 0.1397537934
|
||||
259 30 1075.650827 -345.5181007 -345.383994 0.00447022439 2.558293398 0.963574308 0.1353120293
|
||||
260 30 1075.650827 -346.8950741 -346.582564 0.01041700207 1.340303074 0.0126740587 0.08735503715
|
||||
261 30 1075.650827 -345.1232455 -345.452139 0.01096311715 4.843836394 2.787719406 0.158731815
|
||||
262 30 1075.650827 -346.8954617 -346.593523 0.01006462208 1.339471584 0.01148834 0.08728175252
|
||||
263 30 1075.650827 -345.3878123 -345.281949 0.003528777779 3.04388336 1.873142686 0.1266226401
|
||||
264 30 1075.650827 -346.0211337 -345.928661 0.003082422836 3.704012447 2.100874472 0.1385926656
|
||||
265 30 1075.650827 -344.4666474 -345.111657 0.0215003205 5.060940978 3.358068319 0.1556709723
|
||||
266 30 1075.650827 -346.731384 -346.367123 0.01214203185 1.743704774 1.335797131 0.0964003512
|
||||
267 30 1075.650827 -346.8950084 -346.582565 0.0104147809 1.34025766 0.01254743735 0.08735400875
|
||||
268 30 1075.650827 -344.3283906 -344.91356 0.01950564575 4.516603649 3.441834403 0.1385132929
|
||||
269 30 1075.650827 -346.2085633 -345.836703 0.01239534254 2.265804409 1.608769148 0.108126121
|
||||
270 30 1075.650827 -344.700705 -344.984307 0.009453398382 3.625655349 2.542628782 0.1276641348
|
||||
271 30 1075.650827 -346.7005545 -346.393931 0.01022078221 2.065166442 1.211680725 0.1018842071
|
||||
# Liquid.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
272 100 -1104.74829 -1105.601723 0.008534329546 31.13590643 31.39853886 0.5826598142
|
||||
273 100 -1099.007356 -1099.673012 0.006656557481 34.30763539 32.03167218 0.6355970492
|
||||
274 100 -1123.744375 -1121.31506 0.0242931528 23.69463257 20.81076453 0.4843518851
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
272 100 2002.996789 -1105.503318 -1105.601723 0.0009840495195 33.67286942 31.39853886 0.5196524511
|
||||
273 100 2002.996789 -1100.916702 -1099.673012 0.01243689799 34.89745034 32.03167218 0.569788481
|
||||
274 100 2002.996789 -1125.248108 -1121.31506 0.03933048075 23.1042808 20.81076453 0.4236223924
|
||||
# Surface.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
275 24 -279.9941674 -279.911828 0.003430809358 0.2809230274 0.002753093533 0.01155715982
|
||||
276 48 -551.0953781 -555.359452 0.08883487284 6.541312712 0.003020630398 0.1949601982
|
||||
277 40 -458.209131 -459.216162 0.02517577443 5.605061426 5.0461364 0.1098503638
|
||||
278 40 -459.8554229 -461.144076 0.03221632783 2.691145822 0.005582740008 0.0817493
|
||||
279 24 -279.8970746 -279.635146 0.01091369091 1.238573481 1.288799837 0.008644383713
|
||||
280 30 -346.9668295 -346.592525 0.01247681774 1.32793475 0.008446203407 0.08664452133
|
||||
281 30 -345.8871537 -345.744506 0.004754921864 3.992236552 3.124961367 0.08594721633
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
275 24 828.0362197 -280.1388649 -279.911828 0.009459870394 0.3833165637 0.002753093533 0.0209958793
|
||||
276 48 1756.536679 -551.9765065 -555.359452 0.07047803038 5.695770431 0.003020630398 0.1710474815
|
||||
277 40 1394.433693 -457.8965908 -459.216162 0.03298927919 6.47605009 5.0461364 0.1141155284
|
||||
278 40 1394.433693 -459.4317427 -461.144076 0.04280833158 2.948762022 0.005582740008 0.1122771088
|
||||
279 24 828.0362197 -279.9357878 -279.635146 0.01252674323 2.282528363 1.288799837 0.0489285834
|
||||
280 30 1075.65076 -346.8954518 -346.592525 0.01009756105 1.339498529 0.008446203407 0.08713647389
|
||||
281 30 1075.65076 -345.7511061 -345.744506 0.0002200037964 4.894457614 3.124961367 0.1246204459
|
||||
# Volume_A15.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
282 8 -66.46788051 -66.990732 0.06535643627 8.928342366e-15 0 1.501728429e-15
|
||||
283 8 -72.67646146 -72.957807 0.03516819273 3.04869178e-14 0 5.1001593e-15
|
||||
284 8 -94.20621366 -94.145745 0.00755858243 1.880283026e-14 0 2.444387059e-15
|
||||
285 8 -94.43981933 -94.554682 0.01435783313 5.684495802e-15 0 8.992080697e-16
|
||||
286 8 -79.39814886 -79.438363 0.005026767696 1.186991025e-14 0 1.998979685e-15
|
||||
287 8 -69.38946962 -69.627817 0.02979342197 5.582708452e-15 0 9.058870552e-16
|
||||
288 8 -83.05531805 -82.604907 0.05630138147 5.067400154e-15 0 8.060681752e-16
|
||||
289 8 14.36690687 14.89048 0.0654466408 7.096605716e-14 0 9.778491674e-15
|
||||
290 8 -94.13472519 -94.367599 0.02910922586 1.767991013e-14 0 2.1395518e-15
|
||||
291 8 -89.38757156 -89.248227 0.01741807051 8.884610804e-15 0 1.30769238e-15
|
||||
292 8 -87.49741165 -87.211997 0.03567683079 8.006170389e-15 0 1.152290069e-15
|
||||
293 8 -93.42285179 -93.66897 0.03076477666 2.280172604e-15 0 3.891032311e-16
|
||||
294 8 -8.05187323 -7.989166 0.007838403785 7.482512497e-14 0 1.195728177e-14
|
||||
295 8 -85.3779751 -84.982834 0.04939263793 3.220622406e-15 0 4.863008144e-16
|
||||
296 8 -92.37490481 -92.536373 0.0201835236 1.673164165e-14 0 2.290124109e-15
|
||||
297 8 -26.56925158 -26.77612 0.02585855302 4.751528484e-14 0 7.423756449e-15
|
||||
298 8 -77.90929192 -77.544107 0.04564811452 4.617032687e-15 0 7.294873617e-16
|
||||
299 8 -80.55632181 -80.114217 0.05526310126 8.324980615e-15 0 1.201946528e-15
|
||||
300 8 -41.83202596 -42.143041 0.03887688062 3.384606082e-14 0 5.356279237e-15
|
||||
301 8 -91.02235339 -91.040671 0.002289700675 3.337550263e-15 0 5.490399801e-16
|
||||
302 8 -84.76781055 -84.499231 0.03357244376 3.246108052e-14 0 5.927694678e-15
|
||||
303 8 -60.71236154 -61.825173 0.1391014324 7.918599116e-15 0 1.30776466e-15
|
||||
304 8 -91.5794594 -91.156873 0.05282330009 3.642169681e-15 0 5.988997276e-16
|
||||
305 8 -54.28408457 -54.658744 0.04683242815 8.878350559e-14 0 1.511496461e-14
|
||||
306 8 -72.29317827 -72.277255 0.00199040924 2.467731222e-15 0 3.339523392e-16
|
||||
307 8 -75.14428628 -74.923334 0.02761903549 3.575872549e-15 0 5.510457542e-16
|
||||
308 8 -64.41647714 -64.798066 0.04769860741 1.525236831e-14 0 2.48556962e-15
|
||||
309 8 -93.29905733 -93.048342 0.03133941583 1.463792794e-14 0 2.408158856e-15
|
||||
310 8 -63.56375833 -64.38702 0.1029077093 2.897725758e-15 0 5.108399236e-16
|
||||
311 8 -88.81067445 -88.352871 0.05722543104 1.077500255e-14 0 1.707889472e-15
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
282 8 300.763 -66.50302875 -66.990732 0.06096290674 1.941277332e-14 0 3.37325783e-15
|
||||
283 8 97.336 -72.75000964 -72.957807 0.0259746695 1.351006698e-13 0 2.177344384e-14
|
||||
284 8 140.608 -94.15533163 -94.145745 0.001198328985 4.044529328e-14 0 6.693247629e-15
|
||||
285 8 148.877 -94.40707977 -94.554682 0.01845027858 6.513916874e-14 0 1.052717644e-14
|
||||
286 8 103.823 -79.45083178 -79.438363 0.001558598047 1.722214314e-13 0 2.77785865e-14
|
||||
287 8 287.496 -69.43914664 -69.627817 0.02358379473 1.869801108e-14 0 2.486725909e-15
|
||||
288 8 226.981 -83.07759076 -82.604907 0.05908546939 1.580586786e-14 0 2.506150792e-15
|
||||
289 8 64 14.38834339 14.89048 0.06276707625 3.142551462e-13 0 4.611672661e-14
|
||||
290 8 157.464 -94.121065 -94.367599 0.03081674996 4.627906691e-14 0 7.060581015e-15
|
||||
291 8 195.112 -89.39236133 -89.248227 0.01801679107 2.992297744e-14 0 4.401789389e-15
|
||||
292 8 205.379 -87.50415023 -87.211997 0.03651915426 2.29993221e-14 0 3.752044138e-15
|
||||
293 8 166.375 -93.42125038 -93.66897 0.03096495278 2.907694533e-14 0 4.724788551e-15
|
||||
294 8 68.921 -8.019333034 -7.989166 0.003770879216 3.356694228e-13 0 6.09434176e-14
|
||||
295 8 216 -85.39060668 -84.982834 0.0509715856 9.263122354e-15 0 1.424782104e-15
|
||||
296 8 175.616 -92.37850178 -92.536373 0.01973390211 3.567976799e-14 0 6.038472675e-15
|
||||
297 8 74.088 -26.52314912 -26.77612 0.03162135966 2.830510779e-13 0 4.116147259e-14
|
||||
298 8 250.047 -77.95455874 -77.544107 0.05130646772 1.722828231e-14 0 2.531351199e-15
|
||||
299 8 238.328 -80.59031991 -80.114217 0.05951286389 1.790178605e-14 0 2.961270842e-15
|
||||
300 8 79.507 -41.81723354 -42.143041 0.04072593188 2.017987815e-13 0 3.254206583e-14
|
||||
301 8 185.193 -91.02736742 -91.040671 0.001662947812 2.413722535e-14 0 4.098218376e-15
|
||||
302 8 110.592 -84.77992099 -84.499231 0.035086249 6.257383276e-14 0 9.730565054e-15
|
||||
303 8 328.509 -60.69292469 -61.825173 0.1415310384 2.336487667e-14 0 4.192320181e-15
|
||||
304 8 125 -91.53133052 -91.156873 0.04680718995 4.580314378e-14 0 7.417918736e-15
|
||||
305 8 85.184 -54.31160005 -54.658744 0.04339299436 2.081820808e-13 0 3.494754179e-14
|
||||
306 8 274.625 -72.34854762 -72.277255 0.008911577286 3.722472678e-15 0 6.21411631e-16
|
||||
307 8 262.144 -75.19753913 -74.923334 0.03427564069 1.368884593e-14 0 2.258168709e-15
|
||||
308 8 91.125 -64.47776048 -64.798066 0.04003818964 1.208370656e-13 0 1.995060684e-14
|
||||
309 8 132.651 -93.2347704 -93.048342 0.02330355033 5.798970328e-14 0 9.670321353e-15
|
||||
310 8 314.432 -63.5755377 -64.38702 0.1014352879 7.556804155e-15 0 1.29652209e-15
|
||||
311 8 117.649 -88.79067694 -88.352871 0.05472574302 7.470145864e-14 0 1.29226998e-14
|
||||
# Volume_BCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
312 2 -16.38936242 -16.763625 0.1871312901 5.164700352e-16 0 1.827242061e-16
|
||||
313 2 16.19675433 16.314145 0.05869533666 6.530646709e-14 0 1.921032777e-14
|
||||
314 2 -21.24238574 -21.209071 0.01665736942 1.908874745e-15 0 7.170229344e-16
|
||||
315 2 -15.80560502 -15.780524 0.01254051029 3.122816732e-14 0 1.231252513e-14
|
||||
316 2 -19.05526774 -19.002205 0.02653137194 7.555287577e-15 0 2.037557095e-15
|
||||
317 2 -22.67434567 -22.620568 0.02688883674 1.349360652e-15 0 4.857225733e-16
|
||||
318 2 4.04311049 4.096885 0.02688725502 1.772872048e-14 0 6.601201067e-15
|
||||
319 2 56.2105911 56.26276 0.02608445186 1.377801077e-13 0 4.795418557e-14
|
||||
320 2 -22.55797904 -22.585113 0.01356697915 3.380715703e-15 0 1.276756478e-15
|
||||
321 2 -21.75972417 -21.795501 0.0178884163 1.168374574e-15 0 4.533410684e-16
|
||||
322 2 33.30678917 33.110078 0.09835558332 3.387360342e-14 0 9.173217741e-15
|
||||
323 2 -20.82125169 -20.885998 0.0323731563 9.918492908e-16 0 3.654484123e-16
|
||||
324 2 -23.55239721 -23.601336 0.02446939304 2.356479148e-15 0 7.090682208e-16
|
||||
325 2 -23.17147126 -23.207313 0.01792086946 1.448170847e-15 0 4.901445524e-16
|
||||
326 2 -19.78146338 -19.898089 0.05831281177 7.349099448e-15 0 2.984880861e-15
|
||||
327 2 -23.45038238 -23.405474 0.02245418985 2.124472575e-15 0 7.6356745e-16
|
||||
328 2 -4.653232293 -4.781324 0.06404585371 1.121589994e-14 0 3.980033895e-15
|
||||
329 2 -18.67517238 -18.864936 0.09488180756 4.972820174e-16 0 1.896631e-16
|
||||
330 2 -17.53439276 -17.813086 0.1393466189 8.350923499e-16 0 3.215020842e-16
|
||||
331 2 -11.04889659 -11.197201 0.07415220345 1.822150476e-14 0 6.092637968e-15
|
||||
332 2 -23.68489671 -23.696705 0.00590414498 1.240124986e-15 0 4.153217122e-16
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
312 2 74.088 -16.41904746 -16.763625 0.172288768 8.881784197e-16 0 2.960594732e-16
|
||||
313 2 13.824 16.2292442 16.314145 0.04245040205 6.132313711e-13 0 2.290852693e-13
|
||||
314 2 27 -21.2109771 -21.209071 0.0009530502432 1.123466673e-14 0 3.552712694e-15
|
||||
315 2 21.952 -15.82599793 -15.780524 0.02273696393 2.538428743e-13 0 1.020665034e-13
|
||||
316 2 24.389 -19.01309058 -19.002205 0.005442789013 7.306210466e-15 0 2.50031477e-15
|
||||
317 2 29.791 -22.67048776 -22.620568 0.02495988117 2.031435111e-14 0 8.215650382e-15
|
||||
318 2 15.625 4.095802366 4.096885 0.0005413171271 6.359497134e-14 0 2.069640755e-14
|
||||
319 2 10.648 56.21520101 56.26276 0.0237794968 6.137452342e-13 0 2.262703913e-13
|
||||
320 2 46.656 -22.54194179 -22.585113 0.02158560454 1.006819876e-14 0 3.996802889e-15
|
||||
321 2 50.653 -21.73865048 -21.795501 0.0284252602 1.776356839e-15 0 5.921189465e-16
|
||||
322 2 12.167 33.26085588 33.110078 0.0753889407 1.720476052e-13 0 4.707345624e-14
|
||||
323 2 54.872 -20.80030783 -20.885998 0.04284508708 1.538370149e-15 0 5.921189465e-16
|
||||
324 2 39.304 -23.54386901 -23.601336 0.02873349282 4.528839094e-15 0 1.480297366e-15
|
||||
325 2 42.875 -23.16144784 -23.207313 0.02293258231 2.082963029e-15 0 7.401486831e-16
|
||||
326 2 59.319 -19.76694674 -19.898089 0.06557112796 4.389974022e-14 0 1.776356839e-14
|
||||
327 2 32.768 -23.46365391 -23.405474 0.0290899572 1.331156944e-14 0 5.403085387e-15
|
||||
328 2 17.576 -4.6700202 -4.781324 0.05565189983 4.987657631e-14 0 1.465494393e-14
|
||||
329 2 64 -18.67254286 -18.864936 0.09619657243 8.881784197e-16 0 2.960594732e-16
|
||||
330 2 68.921 -17.54726713 -17.813086 0.1329094363 1.371024298e-15 0 4.440892099e-16
|
||||
331 2 19.683 -11.12327165 -11.197201 0.03696467615 4.343228798e-14 0 1.539509261e-14
|
||||
332 2 35.937 -23.68985458 -23.696705 0.003425208911 8.588276581e-15 0 2.812564996e-15
|
||||
# Volume_FCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
333 4 -19.13390887 -19.075994 0.01447871809 1.022152812e-14 0 2.293587909e-15
|
||||
334 4 -35.26038882 -34.873619 0.0966924543 1.299038035e-15 0 3.09937261e-16
|
||||
335 4 -43.93272346 -43.950003 0.004319884816 1.839067075e-15 0 3.483902981e-16
|
||||
336 4 -41.03733831 -40.991909 0.01135732773 4.481141716e-15 0 9.930207698e-16
|
||||
337 4 -43.4228254 -43.453929 0.007775899668 3.563251054e-14 0 1.025252039e-14
|
||||
338 4 -42.67289278 -42.686077 0.003296053998 3.08362874e-15 0 8.245357522e-16
|
||||
339 4 -33.58842759 -33.224653 0.09094364633 7.806891681e-16 0 2.054201716e-16
|
||||
340 4 -27.01189372 -26.862709 0.03729618105 6.429823751e-15 0 1.469359846e-15
|
||||
341 4 -25.59030438 -25.519883 0.01760534598 1.262126674e-15 0 3.031429274e-16
|
||||
342 4 3.441093749 3.463071 0.005494312714 2.222300041e-14 0 5.686075706e-15
|
||||
343 4 -31.9073245 -31.59595 0.07784362479 8.772505365e-16 0 2.178523565e-16
|
||||
344 4 -45.06068744 -45.100466 0.009944641012 2.844345405e-15 0 6.141228113e-16
|
||||
345 4 -46.03981427 -46.052258 0.0031109323 3.085311895e-15 0 7.534482297e-16
|
||||
346 4 -30.24326213 -30.001189 0.06051828302 1.033301257e-15 0 2.648344507e-16
|
||||
347 4 -22.957351 -22.8504 0.02673775024 1.649470508e-15 0 4.625206468e-16
|
||||
348 4 -9.130654755 -9.164691 0.008509061334 1.441769296e-14 0 2.967949237e-15
|
||||
349 4 -24.21746226 -24.150343 0.01677981454 9.080179666e-16 0 2.344767898e-16
|
||||
350 4 -46.44761241 -46.426795 0.005204351765 1.356833237e-15 0 3.249715312e-16
|
||||
351 4 -28.62111495 -28.451145 0.04249248833 8.73448718e-15 0 2.511662753e-15
|
||||
352 4 40.31615798 40.341566 0.006352005142 4.072809775e-14 0 8.11641299e-15
|
||||
353 4 19.51151427 19.617912 0.02659943252 2.395447746e-14 0 5.536534686e-15
|
||||
354 4 -27.06356399 -26.954384 0.02729499736 7.989451601e-16 0 1.662443331e-16
|
||||
355 4 -46.3678929 -46.323696 0.01104922394 3.225354336e-15 0 8.604228441e-16
|
||||
356 4 -45.87221055 -45.828947 0.01081588677 3.654195723e-15 0 9.691321819e-16
|
||||
357 4 -38.47076405 -38.16029 0.0776185126 1.743572283e-15 0 4.628820475e-16
|
||||
358 4 -33.06813795 -32.919741 0.03709923634 1.476523661e-14 0 4.182418301e-15
|
||||
359 4 -41.34431995 -41.272675 0.01791123821 3.354385367e-15 0 9.014870014e-16
|
||||
360 4 -39.95757678 -39.753322 0.05106369446 1.803308855e-15 0 4.257287097e-16
|
||||
361 4 -37.66252943 -37.547435 0.02877360828 4.901403086e-15 0 1.0480621e-15
|
||||
362 4 -36.89659259 -36.52595 0.09266064636 2.659569984e-15 0 6.744460314e-16
|
||||
363 4 -45.03250721 -45.016087 0.004105053075 1.580168365e-15 0 3.385601984e-16
|
||||
config # atoms volume energy DFT energy energy error force DFT force force error
|
||||
333 4 39.304 -19.04121551 -19.075994 0.008694621404 9.324046941e-14 0 2.550216982e-14
|
||||
334 4 140.608 -35.2532829 -34.873619 0.09491597439 7.957989483e-17 0 1.134599845e-17
|
||||
335 4 97.336 -43.90903851 -43.950003 0.01024112333 9.677895068e-15 0 2.24135791e-15
|
||||
336 4 54.872 -41.05446227 -40.991909 0.01563831765 1.98280496e-14 0 4.875440329e-15
|
||||
337 4 59.319 -43.40999789 -43.453929 0.01098277702 9.570074295e-14 0 2.719164593e-14
|
||||
338 4 103.823 -42.63532355 -42.686077 0.01268836179 2.539930576e-15 0 4.806204543e-16
|
||||
339 4 148.877 -33.58964546 -33.224653 0.09124811554 2.796923066e-17 0 3.296205444e-18
|
||||
340 4 42.875 -26.8499756 -26.862709 0.003183350784 4.824942051e-14 0 1.148213469e-14
|
||||
341 4 195.112 -25.5782856 -25.519883 0.01460065124 2.683808864e-16 0 5.477307421e-17
|
||||
342 4 32.768 3.274215348 3.463071 0.04721391298 1.751484723e-13 0 4.608697683e-14
|
||||
343 4 157.464 -31.91218763 -31.59595 0.07905940659 3.590442267e-17 0 4.231376791e-18
|
||||
344 4 64 -45.05473725 -45.100466 0.01143218825 7.235555613e-15 0 1.620123306e-15
|
||||
345 4 68.921 -46.04331302 -46.052258 0.002236244179 5.893206675e-15 0 1.299708229e-15
|
||||
346 4 166.375 -30.2468098 -30.001189 0.06140519937 2.820758891e-16 0 5.580616674e-17
|
||||
347 4 216 -22.95485577 -22.8504 0.02611394167 1.164554524e-16 0 2.312964635e-17
|
||||
348 4 35.937 -9.215415964 -9.164691 0.01268124103 4.893101434e-14 0 1.156092005e-14
|
||||
349 4 205.379 -24.20645978 -24.150343 0.01402919404 2.781506505e-18 0 3.278036852e-19
|
||||
350 4 74.088 -46.44951294 -46.426795 0.005679484598 2.411816735e-15 0 4.763070257e-16
|
||||
351 4 175.616 -28.61960857 -28.451145 0.04211589328 1.078338842e-14 0 3.09506759e-15
|
||||
352 4 27 40.45415396 40.341566 0.02814698887 1.556900619e-13 0 3.789568123e-14
|
||||
353 4 29.791 19.42166568 19.617912 0.04906157941 1.398773649e-13 0 3.335786504e-14
|
||||
354 4 185.193 -27.05578105 -26.954384 0.02534926276 2.758936733e-16 0 5.630535877e-17
|
||||
355 4 79.507 -46.36425384 -46.323696 0.01013945879 2.152124725e-15 0 4.437884935e-16
|
||||
356 4 85.184 -45.86352273 -45.828947 0.008643933117 3.448840532e-14 0 9.539924949e-15
|
||||
357 4 125 -38.44027502 -38.16029 0.06999625463 1.884407826e-15 0 4.44194105e-16
|
||||
358 4 46.656 -32.97168631 -32.919741 0.01298632653 1.142146022e-13 0 2.894877625e-14
|
||||
359 4 110.592 -41.29864314 -41.272675 0.006492033936 3.342024128e-14 0 9.358862094e-15
|
||||
360 4 117.649 -39.91686354 -39.753322 0.04088538603 7.303704341e-15 0 1.704201263e-15
|
||||
361 4 50.653 -37.65718147 -37.547435 0.02743661628 2.105764443e-14 0 5.292352205e-15
|
||||
362 4 132.651 -36.87810682 -36.52595 0.08803920465 3.379802923e-17 0 3.983135944e-18
|
||||
363 4 91.125 -45.01844387 -45.016087 0.0005892174087 1.081458604e-14 0 2.513809578e-15
|
||||
|
||||
@ -2,19 +2,19 @@
|
||||
---------------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Displaced_A15.xyz 9 576 0.011286 0.011334 0.113353 0.141650
|
||||
Displaced_BCC.xyz 9 486 0.012178 0.014005 0.240613 0.312191
|
||||
Displaced_FCC.xyz 9 432 0.001445 0.001591 0.082688 0.103800
|
||||
Elastic_BCC.xyz 100 200 0.004452 0.004783 0.000010 0.000013
|
||||
Elastic_FCC.xyz 100 400 0.002865 0.002923 0.000146 0.000207
|
||||
GSF_110.xyz 22 528 0.005804 0.006853 0.047276 0.097819
|
||||
GSF_112.xyz 22 660 0.010588 0.011555 0.123342 0.191090
|
||||
Liquid.xyz 3 300 0.013161 0.015355 0.567536 0.757847
|
||||
Surface.xyz 7 236 0.025400 0.037555 0.096121 0.295623
|
||||
Volume_A15.xyz 30 240 0.039281 0.048678 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.049766 0.067554 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.030056 0.041738 0.000000 0.000000
|
||||
Displaced_A15.xyz 9 576 0.015324 0.015365 0.140594 0.184797
|
||||
Displaced_BCC.xyz 9 486 0.009486 0.011643 0.249983 0.320375
|
||||
Displaced_FCC.xyz 9 432 0.000686 0.000880 0.091420 0.113585
|
||||
Elastic_BCC.xyz 100 200 0.003796 0.004379 0.000015 0.000020
|
||||
Elastic_FCC.xyz 100 400 0.003332 0.003372 0.000122 0.000178
|
||||
GSF_110.xyz 22 528 0.007027 0.007797 0.057637 0.115638
|
||||
GSF_112.xyz 22 660 0.010396 0.011347 0.125237 0.198553
|
||||
Liquid.xyz 3 300 0.017584 0.023822 0.504354 0.660300
|
||||
Surface.xyz 7 236 0.025511 0.034302 0.107190 0.285034
|
||||
Volume_A15.xyz 30 240 0.038624 0.048355 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.044423 0.061685 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.030062 0.041271 0.000000 0.000000
|
||||
---------------------------------------------------------------------------------------------------
|
||||
All files 363 4224 0.012917 0.025797 0.122473 0.260052
|
||||
All files 363 4224 0.012618 0.024806 0.125879 0.247229
|
||||
---------------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
|
||||
@ -1,5 +1 @@
|
||||
# Demonstrate fitpod for POD potential
|
||||
|
||||
units metal
|
||||
fitpod Ta_param.pod Ta_data.pod
|
||||
|
||||
|
||||
@ -44,4 +44,3 @@ velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
|
||||
|
||||
|
||||
52
examples/PACKAGES/pod/Ta/in.pod.compute
Normal file
52
examples/PACKAGES/pod/Ta/in.pod.compute
Normal file
@ -0,0 +1,52 @@
|
||||
# Demonstrate bispectrum computes
|
||||
|
||||
# initialize simulation
|
||||
|
||||
variable nsteps index 0
|
||||
variable nrep equal 2
|
||||
variable a equal 2.0
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable ny equal ${nrep}
|
||||
variable nz equal ${nrep}
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_modify map hash
|
||||
lattice bcc $a
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
create_box 2 box
|
||||
create_atoms 2 box
|
||||
|
||||
mass * 180.88
|
||||
|
||||
displace_atoms all random 0.1 0.1 0.1 123456
|
||||
|
||||
# set up dummy potential to satisfy cutoff
|
||||
variable rcutfac equal 6.0
|
||||
pair_style zero ${rcutfac}
|
||||
pair_coeff * *
|
||||
|
||||
# set up per-atom computes
|
||||
|
||||
compute ld all pod/atom Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
compute dd all podd/atom Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
|
||||
# set up compute snap generating global array
|
||||
|
||||
compute gdd all pod/global Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
#fix gdd all ave/time 1 1 1 c_gdd[*] file pod.gdd.dat mode vector
|
||||
|
||||
compute ldd all pod/local Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
#fix ldd all ave/time 1 1 1 c_ldd[*] file pod.ldd.dat mode vector
|
||||
|
||||
#dump mydump_ld all custom 1000 dump_ld id c_ld[*]
|
||||
#dump mydump_dd all custom 1000 dump_dd id c_dd[*]
|
||||
|
||||
variable sample_ld1 equal C_ld[1][10] # Arbitrary local descriptor
|
||||
fix ldprint all print 1 "${sample_ld1}"
|
||||
|
||||
run ${nsteps}
|
||||
@ -1,32 +1,37 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-177-g86abf4f680-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate fitpod for POD potential
|
||||
|
||||
units metal
|
||||
fitpod Ta_param.pod Ta_data.pod
|
||||
Reading potential file Ta_param.pod with DATE: 2022-11-30
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body potential: 3 6 6
|
||||
three-body potential: 3 6 5 5
|
||||
four-body SNAP potential: 0 0
|
||||
quadratic POD potential: 0
|
||||
number of basis functions for one-body potential: 1
|
||||
number of basis functions for two-body potential: 6
|
||||
number of basis functions for three-body potential: 25
|
||||
number of basis functions for four-body potential: 0
|
||||
number of descriptors for one-body potential: 1
|
||||
number of descriptors for two-body potential: 6
|
||||
number of descriptors for three-body potential: 25
|
||||
number of descriptors for four-body potential: 0
|
||||
number of descriptors for quadratic POD potential: 0
|
||||
total number of descriptors for all potentials: 32
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Data File ****************
|
||||
@ -34,6 +39,8 @@ file format: extxyz
|
||||
file extension: xyz
|
||||
path to training data set: XYZ
|
||||
path to test data set: XYZ
|
||||
path to environment configuration set: XYZ
|
||||
basename for output files: Ta
|
||||
training fraction: 1
|
||||
test fraction: 1
|
||||
randomize training data set: 1
|
||||
@ -45,7 +52,8 @@ energy/force calculation for test data set: 0
|
||||
fitting weight for energy: 100
|
||||
fitting weight for force: 1
|
||||
fitting weight for stress: 0
|
||||
fitting regularization parameter: 1e-10
|
||||
save pod descriptors: 0
|
||||
compute pod descriptors: 0
|
||||
**************** End of Data File ****************
|
||||
**************** Begin of Training Data Set ****************
|
||||
---------------------------------------------------------------
|
||||
@ -74,8 +82,7 @@ maximum number of atoms: 100
|
||||
maximum number of atoms in periodic domain: 100
|
||||
maximum number of atoms in extended domain: 2700
|
||||
maximum number of neighbors in extended domain: 270000
|
||||
size of double memory: 223201
|
||||
size of int memory: 14709
|
||||
size of double memory: 232128
|
||||
size of descriptor matrix: 32 x 32
|
||||
**************** End of Memory Allocation ****************
|
||||
**************** Begin of Least-Squares Fitting ****************
|
||||
@ -83,7 +90,6 @@ Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
**************** End of Least-Squares Fitting ****************
|
||||
**************** Begin of Error Calculation ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
@ -94,21 +100,20 @@ Configuration: # 301
|
||||
---------------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Displaced_A15.xyz 9 576 0.011286 0.011334 0.113353 0.141650
|
||||
Displaced_BCC.xyz 9 486 0.012178 0.014005 0.240613 0.312191
|
||||
Displaced_FCC.xyz 9 432 0.001445 0.001591 0.082688 0.103800
|
||||
Elastic_BCC.xyz 100 200 0.004452 0.004783 0.000010 0.000013
|
||||
Elastic_FCC.xyz 100 400 0.002865 0.002923 0.000146 0.000207
|
||||
GSF_110.xyz 22 528 0.005804 0.006853 0.047276 0.097819
|
||||
GSF_112.xyz 22 660 0.010588 0.011555 0.123342 0.191090
|
||||
Liquid.xyz 3 300 0.013161 0.015355 0.567536 0.757847
|
||||
Surface.xyz 7 236 0.025400 0.037555 0.096121 0.295623
|
||||
Volume_A15.xyz 30 240 0.039281 0.048678 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.049766 0.067554 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.030056 0.041738 0.000000 0.000000
|
||||
Displaced_A15.xyz 9 576 0.015324 0.015365 0.140594 0.184797
|
||||
Displaced_BCC.xyz 9 486 0.009486 0.011643 0.249983 0.320375
|
||||
Displaced_FCC.xyz 9 432 0.000686 0.000880 0.091420 0.113585
|
||||
Elastic_BCC.xyz 100 200 0.003796 0.004379 0.000015 0.000020
|
||||
Elastic_FCC.xyz 100 400 0.003332 0.003372 0.000122 0.000178
|
||||
GSF_110.xyz 22 528 0.007027 0.007797 0.057637 0.115638
|
||||
GSF_112.xyz 22 660 0.010396 0.011347 0.125237 0.198553
|
||||
Liquid.xyz 3 300 0.017584 0.023822 0.504354 0.660300
|
||||
Surface.xyz 7 236 0.025511 0.034302 0.107190 0.285034
|
||||
Volume_A15.xyz 30 240 0.038624 0.048355 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.044423 0.061685 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.030062 0.041271 0.000000 0.000000
|
||||
---------------------------------------------------------------------------------------------------
|
||||
All files 363 4224 0.012917 0.025797 0.122473 0.260052
|
||||
All files 363 4224 0.012618 0.024806 0.125879 0.247229
|
||||
---------------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
|
||||
Total wall time: 0:00:00
|
||||
@ -1,32 +1,37 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-177-g86abf4f680-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate fitpod for POD potential
|
||||
|
||||
units metal
|
||||
fitpod Ta_param.pod Ta_data.pod
|
||||
Reading potential file Ta_param.pod with DATE: 2022-11-30
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body potential: 3 6 6
|
||||
three-body potential: 3 6 5 5
|
||||
four-body SNAP potential: 0 0
|
||||
quadratic POD potential: 0
|
||||
number of basis functions for one-body potential: 1
|
||||
number of basis functions for two-body potential: 6
|
||||
number of basis functions for three-body potential: 25
|
||||
number of basis functions for four-body potential: 0
|
||||
number of descriptors for one-body potential: 1
|
||||
number of descriptors for two-body potential: 6
|
||||
number of descriptors for three-body potential: 25
|
||||
number of descriptors for four-body potential: 0
|
||||
number of descriptors for quadratic POD potential: 0
|
||||
total number of descriptors for all potentials: 32
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Data File ****************
|
||||
@ -34,6 +39,8 @@ file format: extxyz
|
||||
file extension: xyz
|
||||
path to training data set: XYZ
|
||||
path to test data set: XYZ
|
||||
path to environment configuration set: XYZ
|
||||
basename for output files: Ta
|
||||
training fraction: 1
|
||||
test fraction: 1
|
||||
randomize training data set: 1
|
||||
@ -45,7 +52,8 @@ energy/force calculation for test data set: 0
|
||||
fitting weight for energy: 100
|
||||
fitting weight for force: 1
|
||||
fitting weight for stress: 0
|
||||
fitting regularization parameter: 1e-10
|
||||
save pod descriptors: 0
|
||||
compute pod descriptors: 0
|
||||
**************** End of Data File ****************
|
||||
**************** Begin of Training Data Set ****************
|
||||
---------------------------------------------------------------
|
||||
@ -74,8 +82,7 @@ maximum number of atoms: 100
|
||||
maximum number of atoms in periodic domain: 100
|
||||
maximum number of atoms in extended domain: 2700
|
||||
maximum number of neighbors in extended domain: 270000
|
||||
size of double memory: 223201
|
||||
size of int memory: 14709
|
||||
size of double memory: 232128
|
||||
size of descriptor matrix: 32 x 32
|
||||
**************** End of Memory Allocation ****************
|
||||
**************** Begin of Least-Squares Fitting ****************
|
||||
@ -83,7 +90,6 @@ Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
**************** End of Least-Squares Fitting ****************
|
||||
**************** Begin of Error Calculation ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
@ -94,21 +100,20 @@ Configuration: # 301
|
||||
---------------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Displaced_A15.xyz 9 576 0.011286 0.011334 0.113353 0.141650
|
||||
Displaced_BCC.xyz 9 486 0.012178 0.014005 0.240613 0.312191
|
||||
Displaced_FCC.xyz 9 432 0.001445 0.001591 0.082688 0.103800
|
||||
Elastic_BCC.xyz 100 200 0.004452 0.004783 0.000010 0.000013
|
||||
Elastic_FCC.xyz 100 400 0.002865 0.002923 0.000146 0.000207
|
||||
GSF_110.xyz 22 528 0.005804 0.006853 0.047276 0.097819
|
||||
GSF_112.xyz 22 660 0.010588 0.011555 0.123342 0.191090
|
||||
Liquid.xyz 3 300 0.013161 0.015355 0.567536 0.757847
|
||||
Surface.xyz 7 236 0.025400 0.037555 0.096121 0.295623
|
||||
Volume_A15.xyz 30 240 0.039281 0.048678 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.049766 0.067554 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.030056 0.041738 0.000000 0.000000
|
||||
Displaced_A15.xyz 9 576 0.015324 0.015365 0.140594 0.184797
|
||||
Displaced_BCC.xyz 9 486 0.009486 0.011643 0.249983 0.320375
|
||||
Displaced_FCC.xyz 9 432 0.000686 0.000880 0.091420 0.113585
|
||||
Elastic_BCC.xyz 100 200 0.003796 0.004379 0.000015 0.000020
|
||||
Elastic_FCC.xyz 100 400 0.003332 0.003372 0.000122 0.000178
|
||||
GSF_110.xyz 22 528 0.007027 0.007797 0.057637 0.115638
|
||||
GSF_112.xyz 22 660 0.010396 0.011347 0.125237 0.198553
|
||||
Liquid.xyz 3 300 0.017584 0.023822 0.504354 0.660300
|
||||
Surface.xyz 7 236 0.025511 0.034302 0.107190 0.285034
|
||||
Volume_A15.xyz 30 240 0.038624 0.048355 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.044423 0.061685 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.030062 0.041271 0.000000 0.000000
|
||||
---------------------------------------------------------------------------------------------------
|
||||
All files 363 4224 0.012917 0.025797 0.122473 0.260052
|
||||
All files 363 4224 0.012618 0.024806 0.125879 0.247229
|
||||
---------------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
|
||||
Total wall time: 0:00:01
|
||||
Total wall time: 0:00:00
|
||||
293
examples/PACKAGES/pod/Ta/log.22May24.pod.compute.g++.1
Normal file
293
examples/PACKAGES/pod/Ta/log.22May24.pod.compute.g++.1
Normal file
@ -0,0 +1,293 @@
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-177-g86abf4f680-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate bispectrum computes
|
||||
|
||||
# initialize simulation
|
||||
|
||||
variable nsteps index 0
|
||||
variable nrep equal 2
|
||||
variable a equal 2.0
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 2
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 2
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 2
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_modify map hash
|
||||
lattice bcc $a
|
||||
lattice bcc 2
|
||||
Lattice spacing in x,y,z = 2 2 2
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 2 0 ${ny} 0 ${nz}
|
||||
region box block 0 2 0 2 0 ${nz}
|
||||
region box block 0 2 0 2 0 2
|
||||
create_box 2 box
|
||||
Created orthogonal box = (0 0 0) to (4 4 4)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 2 box
|
||||
Created 16 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (4 4 4)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
mass * 180.88
|
||||
|
||||
displace_atoms all random 0.1 0.1 0.1 123456
|
||||
Displacing atoms ...
|
||||
|
||||
# set up dummy potential to satisfy cutoff
|
||||
variable rcutfac equal 6.0
|
||||
pair_style zero ${rcutfac}
|
||||
pair_style zero 6
|
||||
pair_coeff * *
|
||||
|
||||
# set up per-atom computes
|
||||
|
||||
compute ld all pod/atom Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
compute dd all podd/atom Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
|
||||
# set up compute snap generating global array
|
||||
|
||||
compute gdd all pod/gdd Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
#fix gdd all ave/time 1 1 1 c_gdd[*] file pod.gdd.dat mode vector
|
||||
|
||||
compute ldd all pod/ldd Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
#fix ldd all ave/time 1 1 1 c_ldd[*] file pod.ldd.dat mode vector
|
||||
|
||||
#dump mydump_ld all custom 1000 dump_ld id c_ld[*]
|
||||
#dump mydump_dd all custom 1000 dump_dd id c_dd[*]
|
||||
|
||||
variable sample_ld1 equal C_ld[1][10] # Arbitrary local descriptor
|
||||
fix ldprint all print 1 "${sample_ld1}"
|
||||
|
||||
run ${nsteps}
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: More than one compute pod (src/ML-POD/compute_pod_atom.cpp:87)
|
||||
WARNING: More than one compute pod (src/ML-POD/compute_podd_atom.cpp:87)
|
||||
WARNING: More than one compute pod (src/ML-POD/compute_pod_global.cpp:87)
|
||||
WARNING: More than one compute pod (src/ML-POD/compute_pod_local.cpp:89)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 8
|
||||
ghost atom cutoff = 8
|
||||
binsize = 4, bins = 1 1 1
|
||||
5 neighbor lists, perpetual/occasional/extra = 1 4 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) compute pod/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(3) compute podd/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(4) compute pod/gdd, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(5) compute pod/ldd, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
0.344594831165384
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.326 | 6.326 | 6.326 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 0 0 0 0
|
||||
Loop time of 1.207e-06 on 1 procs for 0 steps with 16 atoms
|
||||
|
||||
165.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.207e-06 | | |100.00
|
||||
|
||||
Nlocal: 16 ave 16 max 16 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1984 ave 1984 max 1984 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 4311 ave 4311 max 4311 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 8623 ave 8623 max 8623 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 8623
|
||||
Ave neighs/atom = 538.9375
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
155
examples/PACKAGES/pod/Ta/log.22May24.pod.g++.1
Normal file
155
examples/PACKAGES/pod/Ta/log.22May24.pod.g++.1
Normal file
@ -0,0 +1,155 @@
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-177-g86abf4f680-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate POD Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.316
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice bcc 3.316
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * Ta_param.pod Ta_coeff.pod Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pod, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.207 | 3.207 | 3.207 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.842971 0 -11.804496 -24843.054
|
||||
10 296.87227 -11.84257 0 -11.804496 -24609.859
|
||||
20 287.65971 -11.841388 0 -11.804496 -23926.722
|
||||
30 272.87511 -11.839492 0 -11.804496 -22841.672
|
||||
40 253.34724 -11.836988 0 -11.804496 -21429.268
|
||||
50 230.17169 -11.834015 0 -11.804496 -19782.77
|
||||
60 204.64408 -11.830741 0 -11.804496 -18004.755
|
||||
70 178.17888 -11.827347 0 -11.804495 -16197.482
|
||||
80 152.21769 -11.824017 0 -11.804495 -14454.425
|
||||
90 128.13189 -11.820928 0 -11.804495 -12854.075
|
||||
100 107.12666 -11.818234 0 -11.804495 -11456.437
|
||||
Loop time of 0.394952 on 1 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 10.938 ns/day, 2.194 hours/ns, 253.196 timesteps/s, 32.409 katom-step/s
|
||||
97.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 | 0.39249 | 0.39249 | 0.39249 | 0.0 | 99.38
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00087496 | 0.00087496 | 0.00087496 | 0.0 | 0.22
|
||||
Output | 0.00030885 | 0.00030885 | 0.00030885 | 0.0 | 0.08
|
||||
Modify | 0.00053218 | 0.00053218 | 0.00053218 | 0.0 | 0.13
|
||||
Other | | 0.0007481 | | | 0.19
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 727 ave 727 max 727 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 7424 ave 7424 max 7424 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7424
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
155
examples/PACKAGES/pod/Ta/log.22May24.pod.g++.4
Normal file
155
examples/PACKAGES/pod/Ta/log.22May24.pod.g++.4
Normal file
@ -0,0 +1,155 @@
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-177-g86abf4f680-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate POD Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.316
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice bcc 3.316
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * Ta_param.pod Ta_coeff.pod Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pod, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.187 | 3.187 | 3.187 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.842971 0 -11.804496 -24843.054
|
||||
10 296.87227 -11.84257 0 -11.804496 -24609.859
|
||||
20 287.65971 -11.841388 0 -11.804496 -23926.722
|
||||
30 272.87511 -11.839492 0 -11.804496 -22841.672
|
||||
40 253.34724 -11.836988 0 -11.804496 -21429.268
|
||||
50 230.17169 -11.834015 0 -11.804496 -19782.77
|
||||
60 204.64408 -11.830741 0 -11.804496 -18004.755
|
||||
70 178.17888 -11.827347 0 -11.804495 -16197.482
|
||||
80 152.21769 -11.824017 0 -11.804495 -14454.425
|
||||
90 128.13189 -11.820928 0 -11.804495 -12854.075
|
||||
100 107.12666 -11.818234 0 -11.804495 -11456.437
|
||||
Loop time of 0.153961 on 4 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 28.059 ns/day, 0.855 hours/ns, 649.516 timesteps/s, 83.138 katom-step/s
|
||||
96.2% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.1281 | 0.12977 | 0.1312 | 0.3 | 84.29
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.01967 | 0.021169 | 0.022796 | 0.8 | 13.75
|
||||
Output | 0.00045049 | 0.00053796 | 0.00078459 | 0.0 | 0.35
|
||||
Modify | 0.00039544 | 0.0004393 | 0.00048043 | 0.0 | 0.29
|
||||
Other | | 0.002049 | | | 1.33
|
||||
|
||||
Nlocal: 32 ave 32 max 32 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 431 ave 431 max 431 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1856 ave 1856 max 1856 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7424
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
Total wall time: 0:00:00
|
||||
@ -1,39 +1,46 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-179-g353121c942-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate fitpod for POD potential
|
||||
|
||||
units metal
|
||||
fitpod Ta_param.pod Ta_data.pod
|
||||
Reading potential file Ta_param.pod with DATE: 2022-11-30
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body potential: 3 6 6
|
||||
three-body potential: 3 6 5 5
|
||||
four-body SNAP potential: 0 0
|
||||
quadratic POD potential: 1
|
||||
number of basis functions for one-body potential: 1
|
||||
number of basis functions for two-body potential: 6
|
||||
number of basis functions for three-body potential: 25
|
||||
number of basis functions for four-body potential: 0
|
||||
number of descriptors for one-body potential: 1
|
||||
number of descriptors for two-body potential: 6
|
||||
number of descriptors for three-body potential: 25
|
||||
number of descriptors for four-body potential: 0
|
||||
number of descriptors for quadratic POD potential: 150
|
||||
total number of descriptors for all potentials: 182
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Data File ****************
|
||||
file format: extxyz
|
||||
file extension: xyz
|
||||
path to training data set: ../Ta/XYZ
|
||||
path to test data set: ../Ta/XYZ
|
||||
path to training data set: XYZ
|
||||
path to test data set: XYZ
|
||||
path to environment configuration set: XYZ
|
||||
basename for output files: Ta
|
||||
training fraction: 1
|
||||
test fraction: 1
|
||||
randomize training data set: 1
|
||||
@ -45,7 +52,8 @@ energy/force calculation for test data set: 0
|
||||
fitting weight for energy: 100
|
||||
fitting weight for force: 1
|
||||
fitting weight for stress: 0
|
||||
fitting regularization parameter: 1e-10
|
||||
save pod descriptors: 0
|
||||
compute pod descriptors: 0
|
||||
**************** End of Data File ****************
|
||||
**************** Begin of Training Data Set ****************
|
||||
---------------------------------------------------------------
|
||||
@ -74,16 +82,14 @@ maximum number of atoms: 100
|
||||
maximum number of atoms in periodic domain: 100
|
||||
maximum number of atoms in extended domain: 2700
|
||||
maximum number of neighbors in extended domain: 270000
|
||||
size of double memory: 223201
|
||||
size of int memory: 14709
|
||||
size of descriptor matrix: 182 x 182
|
||||
size of double memory: 232128
|
||||
size of descriptor matrix: 32 x 32
|
||||
**************** End of Memory Allocation ****************
|
||||
**************** Begin of Least-Squares Fitting ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
**************** End of Least-Squares Fitting ****************
|
||||
**************** Begin of Error Calculation ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
@ -94,21 +100,20 @@ Configuration: # 301
|
||||
---------------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Displaced_A15.xyz 9 576 0.000554 0.000680 0.066393 0.083014
|
||||
Displaced_BCC.xyz 9 486 0.004724 0.005103 0.108253 0.139461
|
||||
Displaced_FCC.xyz 9 432 0.001704 0.001900 0.077531 0.097471
|
||||
Elastic_BCC.xyz 100 200 0.000444 0.000446 0.000001 0.000002
|
||||
Elastic_FCC.xyz 100 400 0.000273 0.000327 0.000110 0.000163
|
||||
GSF_110.xyz 22 528 0.001852 0.002260 0.027302 0.044765
|
||||
GSF_112.xyz 22 660 0.001839 0.002404 0.051415 0.080350
|
||||
Liquid.xyz 3 300 0.000674 0.000758 0.217921 0.276109
|
||||
Surface.xyz 7 236 0.009115 0.011661 0.047949 0.105123
|
||||
Volume_A15.xyz 30 240 0.001407 0.001693 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.001497 0.002077 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.000870 0.001139 0.000000 0.000000
|
||||
Displaced_A15.xyz 9 576 0.015324 0.015365 0.140594 0.184797
|
||||
Displaced_BCC.xyz 9 486 0.009486 0.011643 0.249983 0.320375
|
||||
Displaced_FCC.xyz 9 432 0.000686 0.000880 0.091420 0.113585
|
||||
Elastic_BCC.xyz 100 200 0.003796 0.004379 0.000015 0.000020
|
||||
Elastic_FCC.xyz 100 400 0.003332 0.003372 0.000122 0.000178
|
||||
GSF_110.xyz 22 528 0.007027 0.007797 0.057637 0.115638
|
||||
GSF_112.xyz 22 660 0.010396 0.011347 0.125237 0.198553
|
||||
Liquid.xyz 3 300 0.017584 0.023822 0.504354 0.660300
|
||||
Surface.xyz 7 236 0.025511 0.034302 0.107190 0.285034
|
||||
Volume_A15.xyz 30 240 0.038624 0.048355 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.044423 0.061685 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.030062 0.041271 0.000000 0.000000
|
||||
---------------------------------------------------------------------------------------------------
|
||||
All files 363 4224 0.001053 0.002171 0.059051 0.106960
|
||||
All files 363 4224 0.012618 0.024806 0.125879 0.247229
|
||||
---------------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
|
||||
Total wall time: 0:00:00
|
||||
293
examples/PACKAGES/pod/Ta/log.24June24.pod.compute.g++.1
Normal file
293
examples/PACKAGES/pod/Ta/log.24June24.pod.compute.g++.1
Normal file
@ -0,0 +1,293 @@
|
||||
LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-179-g353121c942-modified)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate bispectrum computes
|
||||
|
||||
# initialize simulation
|
||||
|
||||
variable nsteps index 0
|
||||
variable nrep equal 2
|
||||
variable a equal 2.0
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 2
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 2
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 2
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_modify map hash
|
||||
lattice bcc $a
|
||||
lattice bcc 2
|
||||
Lattice spacing in x,y,z = 2 2 2
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 2 0 ${ny} 0 ${nz}
|
||||
region box block 0 2 0 2 0 ${nz}
|
||||
region box block 0 2 0 2 0 2
|
||||
create_box 2 box
|
||||
Created orthogonal box = (0 0 0) to (4 4 4)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 2 box
|
||||
Created 16 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (4 4 4)
|
||||
create_atoms CPU = 0.001 seconds
|
||||
|
||||
mass * 180.88
|
||||
|
||||
displace_atoms all random 0.1 0.1 0.1 123456
|
||||
Displacing atoms ...
|
||||
|
||||
# set up dummy potential to satisfy cutoff
|
||||
variable rcutfac equal 6.0
|
||||
pair_style zero ${rcutfac}
|
||||
pair_style zero 6
|
||||
pair_coeff * *
|
||||
|
||||
# set up per-atom computes
|
||||
|
||||
compute ld all pod/atom Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
compute dd all podd/atom Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
|
||||
# set up compute snap generating global array
|
||||
|
||||
compute gdd all pod/global Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
#fix gdd all ave/time 1 1 1 c_gdd[*] file pod.gdd.dat mode vector
|
||||
|
||||
compute ldd all pod/local Ta_param.pod Ta_coefficients.pod Ta Ta
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
number of environment clusters: 1
|
||||
number of principal compoments: 2
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body radial basis functions: 6
|
||||
three-body radial basis functions: 5
|
||||
three-body angular degree: 4
|
||||
four-body radial basis functions: 0
|
||||
four-body angular degree: 0
|
||||
five-body radial basis functions: 0
|
||||
five-body angular degree: 0
|
||||
six-body radial basis functions: 0
|
||||
six-body angular degree: 0
|
||||
seven-body radial basis functions: 0
|
||||
seven-body angular degree: 0
|
||||
number of local descriptors per element for one-body potential: 1
|
||||
number of local descriptors per element for two-body potential: 6
|
||||
number of local descriptors per element for three-body potential: 25
|
||||
number of local descriptors per element for four-body potential: 0
|
||||
number of local descriptors per element for five-body potential: 0
|
||||
number of local descriptors per element for six-body potential: 0
|
||||
number of local descriptors per element for seven-body potential: 0
|
||||
number of local descriptors per element for all potentials: 32
|
||||
number of global descriptors: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Model Coefficients ****************
|
||||
total number of coefficients for POD potential: 32
|
||||
total number of elements for PCA projection matrix: 0
|
||||
total number of elements for PCA centroids: 0
|
||||
**************** End of Model Coefficients ****************
|
||||
|
||||
#fix ldd all ave/time 1 1 1 c_ldd[*] file pod.ldd.dat mode vector
|
||||
|
||||
#dump mydump_ld all custom 1000 dump_ld id c_ld[*]
|
||||
#dump mydump_dd all custom 1000 dump_dd id c_dd[*]
|
||||
|
||||
variable sample_ld1 equal C_ld[1][10] # Arbitrary local descriptor
|
||||
fix ldprint all print 1 "${sample_ld1}"
|
||||
|
||||
run ${nsteps}
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: More than one compute pod (src/ML-POD/compute_pod_atom.cpp:87)
|
||||
WARNING: More than one compute pod (src/ML-POD/compute_podd_atom.cpp:87)
|
||||
WARNING: More than one compute pod (src/ML-POD/compute_pod_global.cpp:87)
|
||||
WARNING: More than one compute pod (src/ML-POD/compute_pod_local.cpp:89)
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 8
|
||||
ghost atom cutoff = 8
|
||||
binsize = 4, bins = 1 1 1
|
||||
5 neighbor lists, perpetual/occasional/extra = 1 4 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) compute pod/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(3) compute podd/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(4) compute pod/global, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(5) compute pod/local, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
0.344594831165384
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.326 | 6.326 | 6.326 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 0 0 0 0
|
||||
Loop time of 1.23e-06 on 1 procs for 0 steps with 16 atoms
|
||||
|
||||
243.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.23e-06 | | |100.00
|
||||
|
||||
Nlocal: 16 ave 16 max 16 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1984 ave 1984 max 1984 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 4311 ave 4311 max 4311 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 8623 ave 8623 max 8623 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 8623
|
||||
Ave neighs/atom = 538.9375
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
@ -1,142 +0,0 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate POD Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.316
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice bcc 3.316
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * Ta_param.pod Ta_coeff.pod Ta
|
||||
Reading potential file Ta_param.pod with DATE: 2022-11-30
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body potential: 3 6 6
|
||||
three-body potential: 3 6 5 5
|
||||
four-body SNAP potential: 0 0
|
||||
quadratic POD potential: 0
|
||||
number of basis functions for one-body potential: 1
|
||||
number of basis functions for two-body potential: 6
|
||||
number of basis functions for three-body potential: 25
|
||||
number of basis functions for four-body potential: 0
|
||||
number of descriptors for one-body potential: 1
|
||||
number of descriptors for two-body potential: 6
|
||||
number of descriptors for three-body potential: 25
|
||||
number of descriptors for four-body potential: 0
|
||||
number of descriptors for quadratic POD potential: 0
|
||||
total number of descriptors for all potentials: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pod, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.082 | 3.082 | 3.082 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.841512 0 -11.803037 -15933.622
|
||||
10 296.91721 -11.841117 0 -11.803037 -15691.904
|
||||
20 287.83555 -11.839952 0 -11.803037 -14982.977
|
||||
30 273.25574 -11.838082 0 -11.803037 -13853.44
|
||||
40 253.98821 -11.835611 0 -11.803037 -12375.459
|
||||
50 231.10664 -11.832676 0 -11.803037 -10639.774
|
||||
60 205.8844 -11.829441 0 -11.803037 -8747.2222
|
||||
70 179.71599 -11.826085 0 -11.803037 -6799.8371
|
||||
80 154.02711 -11.822791 0 -11.803037 -4892.7805
|
||||
90 130.17821 -11.819732 0 -11.803036 -3108.1226
|
||||
100 109.36842 -11.817063 0 -11.803036 -1510.9592
|
||||
Loop time of 1.51641 on 1 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 2.849 ns/day, 8.425 hours/ns, 65.945 timesteps/s, 8.441 katom-step/s
|
||||
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.5158 | 1.5158 | 1.5158 | 0.0 | 99.96
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.00023616 | 0.00023616 | 0.00023616 | 0.0 | 0.02
|
||||
Output | 0.00010779 | 0.00010779 | 0.00010779 | 0.0 | 0.01
|
||||
Modify | 9.7284e-05 | 9.7284e-05 | 9.7284e-05 | 0.0 | 0.01
|
||||
Other | | 0.0001254 | | | 0.01
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 727 ave 727 max 727 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 7424 ave 7424 max 7424 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7424
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:01
|
||||
@ -1,142 +0,0 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate POD Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.316
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice bcc 3.316
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * Ta_param.pod Ta_coeff.pod Ta
|
||||
Reading potential file Ta_param.pod with DATE: 2022-11-30
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body potential: 3 6 6
|
||||
three-body potential: 3 6 5 5
|
||||
four-body SNAP potential: 0 0
|
||||
quadratic POD potential: 0
|
||||
number of basis functions for one-body potential: 1
|
||||
number of basis functions for two-body potential: 6
|
||||
number of basis functions for three-body potential: 25
|
||||
number of basis functions for four-body potential: 0
|
||||
number of descriptors for one-body potential: 1
|
||||
number of descriptors for two-body potential: 6
|
||||
number of descriptors for three-body potential: 25
|
||||
number of descriptors for four-body potential: 0
|
||||
number of descriptors for quadratic POD potential: 0
|
||||
total number of descriptors for all potentials: 32
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pod, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.062 | 3.062 | 3.062 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.841512 0 -11.803037 -15933.622
|
||||
10 296.91721 -11.841117 0 -11.803037 -15691.904
|
||||
20 287.83555 -11.839952 0 -11.803037 -14982.977
|
||||
30 273.25574 -11.838082 0 -11.803037 -13853.44
|
||||
40 253.98821 -11.835611 0 -11.803037 -12375.459
|
||||
50 231.10664 -11.832676 0 -11.803037 -10639.774
|
||||
60 205.8844 -11.829441 0 -11.803037 -8747.2222
|
||||
70 179.71599 -11.826085 0 -11.803037 -6799.8371
|
||||
80 154.02711 -11.822791 0 -11.803037 -4892.7805
|
||||
90 130.17821 -11.819732 0 -11.803036 -3108.1226
|
||||
100 109.36842 -11.817063 0 -11.803036 -1510.9592
|
||||
Loop time of 0.437423 on 4 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 9.876 ns/day, 2.430 hours/ns, 228.612 timesteps/s, 29.262 katom-step/s
|
||||
98.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.41133 | 0.41882 | 0.42464 | 0.7 | 95.75
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.011279 | 0.017302 | 0.024975 | 3.7 | 3.96
|
||||
Output | 0.00012956 | 0.00029493 | 0.00077991 | 0.0 | 0.07
|
||||
Modify | 4.2093e-05 | 4.7838e-05 | 5.3039e-05 | 0.0 | 0.01
|
||||
Other | | 0.0009598 | | | 0.22
|
||||
|
||||
Nlocal: 32 ave 32 max 32 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 431 ave 431 max 431 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1856 ave 1856 max 1856 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7424
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
@ -1,183 +0,0 @@
|
||||
POD_coefficients: 182
|
||||
-4.35182
|
||||
3.57837
|
||||
2.25497
|
||||
4.84612
|
||||
-2.06319
|
||||
-1.17070
|
||||
-0.23842
|
||||
9.17160
|
||||
36.02366
|
||||
16.65304
|
||||
-141.18403
|
||||
37.17722
|
||||
0.46028
|
||||
-9.76148
|
||||
-0.03681
|
||||
15.64520
|
||||
2.29791
|
||||
0.02143
|
||||
2.69735
|
||||
-0.35336
|
||||
0.51108
|
||||
-2.36290
|
||||
0.18617
|
||||
-0.13079
|
||||
1.02666
|
||||
0.21514
|
||||
0.08075
|
||||
-0.28347
|
||||
-0.45059
|
||||
-0.24762
|
||||
-1.13671
|
||||
-0.30577
|
||||
0.60504
|
||||
0.31285
|
||||
-0.10639
|
||||
-0.06957
|
||||
0.21961
|
||||
-0.10426
|
||||
0.80318
|
||||
-11.41460
|
||||
-10.26102
|
||||
-0.03887
|
||||
-18.86071
|
||||
-4.47372
|
||||
-1.76858
|
||||
-0.92503
|
||||
0.42654
|
||||
0.35849
|
||||
0.56611
|
||||
-0.79354
|
||||
5.65136
|
||||
8.75283
|
||||
-6.22283
|
||||
-4.34623
|
||||
10.20031
|
||||
6.53360
|
||||
7.16688
|
||||
2.19236
|
||||
5.90789
|
||||
3.52173
|
||||
7.97264
|
||||
0.21104
|
||||
-0.01015
|
||||
0.01023
|
||||
0.03088
|
||||
0.10222
|
||||
0.05366
|
||||
-0.08037
|
||||
-3.17612
|
||||
-3.45669
|
||||
-0.79282
|
||||
-2.38323
|
||||
-0.69797
|
||||
-1.44780
|
||||
-0.03351
|
||||
-0.05645
|
||||
0.01901
|
||||
-0.01923
|
||||
0.05401
|
||||
-0.02095
|
||||
1.45651
|
||||
1.58812
|
||||
1.41188
|
||||
2.18122
|
||||
3.04893
|
||||
1.09294
|
||||
3.03781
|
||||
1.07249
|
||||
0.50262
|
||||
0.81150
|
||||
0.35997
|
||||
0.64602
|
||||
-0.04245
|
||||
0.00113
|
||||
-0.02894
|
||||
0.04382
|
||||
-0.06556
|
||||
0.00052
|
||||
4.67541
|
||||
0.11812
|
||||
1.52428
|
||||
-0.17075
|
||||
0.20231
|
||||
0.36857
|
||||
0.61744
|
||||
0.20190
|
||||
-0.00816
|
||||
0.16194
|
||||
-0.12948
|
||||
-0.02136
|
||||
-2.19271
|
||||
0.62510
|
||||
0.20030
|
||||
-0.27621
|
||||
-0.58116
|
||||
-0.21792
|
||||
-1.82295
|
||||
-0.32166
|
||||
-0.64550
|
||||
-0.11580
|
||||
-0.02438
|
||||
-0.08057
|
||||
0.19538
|
||||
0.04119
|
||||
0.00323
|
||||
0.06530
|
||||
-0.02547
|
||||
-0.01404
|
||||
0.22336
|
||||
-0.48191
|
||||
-0.10715
|
||||
-0.25685
|
||||
-0.65069
|
||||
-0.31428
|
||||
-0.06947
|
||||
0.11924
|
||||
0.05467
|
||||
0.12105
|
||||
-0.03980
|
||||
-0.00295
|
||||
-2.14413
|
||||
0.82345
|
||||
0.23083
|
||||
-0.24925
|
||||
-0.36678
|
||||
-0.16709
|
||||
1.20410
|
||||
-0.47756
|
||||
-0.11104
|
||||
0.09587
|
||||
0.03722
|
||||
0.00309
|
||||
-0.29879
|
||||
-0.06463
|
||||
-0.10236
|
||||
-0.02276
|
||||
-0.06012
|
||||
-0.02985
|
||||
12.06876
|
||||
-3.39995
|
||||
0.85590
|
||||
-0.77481
|
||||
-1.13392
|
||||
-0.40511
|
||||
-0.08005
|
||||
-0.07162
|
||||
-0.05978
|
||||
-0.02407
|
||||
-0.06031
|
||||
-0.02307
|
||||
-10.24105
|
||||
2.49356
|
||||
-1.14052
|
||||
0.70453
|
||||
0.99988
|
||||
0.33862
|
||||
2.43469
|
||||
-1.16557
|
||||
-0.23708
|
||||
0.03482
|
||||
-0.05280
|
||||
-0.02735
|
||||
@ -1,33 +0,0 @@
|
||||
# DATE: 2022-11-30 UNITS: metal CONTRIBUTOR: Ngoc Cuong Nguyen, exapde@gmail.com CITATION: https://arxiv.org/abs/2209.02362
|
||||
# chemical element symbols
|
||||
species Ta
|
||||
|
||||
# periodic boundary conditions
|
||||
pbc 1 1 1
|
||||
|
||||
# inner cut-off radius
|
||||
rin 1.0
|
||||
|
||||
# outer cut-off radius
|
||||
rcut 5.0
|
||||
|
||||
# polynomial degrees for radial basis functions
|
||||
bessel_polynomial_degree 3
|
||||
inverse_polynomial_degree 6
|
||||
|
||||
# one-body potential
|
||||
onebody 1
|
||||
|
||||
# two-body linear POD potential
|
||||
twobody_number_radial_basis_functions 6
|
||||
|
||||
# three-body linear POD potential
|
||||
threebody_number_radial_basis_functions 5
|
||||
threebody_number_angular_basis_functions 5
|
||||
|
||||
# four-body linear SNAP potential
|
||||
fourbody_snap_twojmax 0
|
||||
|
||||
# quadratic POD potential
|
||||
quadratic_pod_potential 1
|
||||
|
||||
@ -1,387 +0,0 @@
|
||||
# Displaced_A15.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
1 64 -754.2481469 -754.220443 0.0004328739544 8.011514562 8.398670477 0.06376624845
|
||||
2 64 -753.8045629 -753.865255 0.0009483144042 9.036674821 9.134430545 0.07283326238
|
||||
3 64 -754.1013214 -754.0221 0.001237834258 8.637024088 9.017261102 0.06364800593
|
||||
4 64 -754.2847414 -754.279613 8.013173542e-05 8.107730622 8.381725092 0.06510174353
|
||||
5 64 -753.8382044 -753.777209 0.0009530527364 9.104258904 9.478314477 0.07200164536
|
||||
6 64 -754.0793448 -754.048643 0.0004797149286 8.152198894 8.465317938 0.06707941365
|
||||
7 64 -754.3310528 -754.317603 0.0002101531052 7.9440922 8.127690491 0.05987172107
|
||||
8 64 -754.0070856 -753.969161 0.0005925720361 9.179443805 9.425464952 0.06695320222
|
||||
9 64 -754.1450602 -754.141988 4.800358611e-05 8.574170786 8.821346913 0.06628506232
|
||||
# Displaced_BCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
10 54 -630.8081935 -631.019667 0.003916175555 15.97497534 16.625876 0.1021118679
|
||||
11 54 -631.4580134 -631.719595 0.004844103559 15.24068949 15.58666626 0.1043856792
|
||||
12 54 -631.1667566 -631.386255 0.004064785931 15.46091788 15.92378883 0.1062824093
|
||||
13 54 -632.3004944 -632.575826 0.005098733346 14.4261974 14.55977162 0.0983914465
|
||||
14 54 -630.089475 -630.450212 0.006680315456 16.78432947 16.96340726 0.1085102316
|
||||
15 54 -631.3402507 -631.669379 0.006094968558 15.8289421 16.05757315 0.1000888617
|
||||
16 54 -632.0447348 -632.431277 0.007158189539 14.73098416 14.69810718 0.09621569386
|
||||
17 54 -630.7186536 -630.960068 0.004470636457 15.62236511 15.99073148 0.1063789621
|
||||
18 54 -623.3884977 -623.378198 0.0001907343232 23.9739298 24.67640432 0.1519105596
|
||||
# Displaced_FCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
19 48 -556.0112403 -555.899463 0.002328692864 5.300795546 6.084617063 0.07215982294
|
||||
20 48 -555.9884377 -555.922478 0.001374159425 5.509767245 6.297071211 0.08438730171
|
||||
21 48 -555.8765558 -555.800269 0.001589309295 5.420812146 6.021098636 0.07404418561
|
||||
22 48 -556.2511475 -556.196151 0.001145760427 4.541854917 5.127955094 0.06609455537
|
||||
23 48 -555.6590668 -555.488929 0.003544536845 6.087063152 7.050223459 0.09107542897
|
||||
24 48 -556.1020655 -556.027926 0.001544573067 5.048523277 5.611881174 0.06751584111
|
||||
25 48 -556.0607474 -555.968399 0.001923924855 5.209756732 5.979217189 0.08024047849
|
||||
26 48 -556.0598015 -556.047132 0.0002639485133 4.995519804 5.544452585 0.07745361595
|
||||
27 48 -555.8256424 -555.747848 0.00162071731 5.762702675 6.47892568 0.08480576837
|
||||
# Elastic_BCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
28 2 -23.69025375 -23.689367 0.0004433751768 0.0006229111456 0.0006222748589 9.850534294e-07
|
||||
29 2 -23.690768 -23.689888 0.0004399996606 0.0006181832344 0.0006166052222 1.005063831e-06
|
||||
30 2 -23.69082186 -23.689996 0.0004129292199 0.0008798076914 0.0008810425642 1.748431771e-06
|
||||
31 2 -23.69166748 -23.690957 0.0003552395228 1.000599546e-06 0 4.011214433e-07
|
||||
32 2 -23.69137648 -23.690521 0.0004277406839 0.0005992884516 0.0005982273815 7.219402767e-07
|
||||
33 2 -23.69120607 -23.69038 0.000413036746 0.000594795449 0.0005925723585 9.949794864e-07
|
||||
34 2 -23.6900782 -23.689202 0.000438099978 0.0006263336007 0.0006279363025 1.111474332e-06
|
||||
35 2 -23.69121642 -23.690482 0.0003672088475 0.00086350893 0.0008640138888 1.400551425e-06
|
||||
36 2 -23.69074792 -23.689902 0.0004229601404 0.0006176589245 0.0006152154094 9.894995842e-07
|
||||
37 2 -23.6914111 -23.690563 0.0004240514006 0.0006052368582 0.0006038725031 4.148713688e-07
|
||||
38 2 -23.69095105 -23.690207 0.0003720253444 0.001071999394 0.00107369735 7.195087511e-07
|
||||
39 2 -23.69007856 -23.689285 0.0003967806815 0.0008875291033 0.000890013483 1.187797446e-06
|
||||
40 2 -23.69061639 -23.689768 0.0004241940528 0.00107874486 0.001080249045 1.09850755e-06
|
||||
41 2 -23.69064479 -23.68968 0.0004823957182 0.0008702114429 0.0008680034562 8.482668094e-07
|
||||
42 2 -23.6910243 -23.690074 0.0004751495365 0.001368926593 0.001373818765 2.351835771e-06
|
||||
43 2 -23.68910107 -23.688108 0.0004965341502 0.0006334704764 0.0006336134468 5.990110163e-07
|
||||
44 2 -23.69003986 -23.689241 0.0003994287496 0.0008886654529 0.0008880101351 1.319380731e-06
|
||||
45 2 -23.69042994 -23.68952 0.0004549677771 0.0008868888968 0.0008860011287 4.688590432e-07
|
||||
46 2 -23.68738487 -23.686278 0.0005534329248 0.0006426681164 0.0006406777661 9.718938063e-07
|
||||
47 2 -23.69095089 -23.690097 0.0004269463837 0.0008409065407 0.0008410160522 1.331153983e-06
|
||||
48 2 -23.69158161 -23.690811 0.0003853032969 0.0008464480591 0.0008500070588 1.611890257e-06
|
||||
49 2 -23.69114597 -23.690266 0.0004399838162 0.001039354626 0.001044322747 3.354760892e-06
|
||||
50 2 -23.6914223 -23.690597 0.0004126524984 0.001045529019 0.001050833003 2.164890519e-06
|
||||
51 2 -23.69157045 -23.690673 0.000448723371 0.0006045419676 0.0006038907186 7.138092253e-07
|
||||
52 2 -23.69135377 -23.690551 0.0004013838132 0.0008554941993 0.0008590064028 1.199818147e-06
|
||||
53 2 -23.6914855 -23.690693 0.0003962481391 0.0008561040807 0.0008590110593 1.062310127e-06
|
||||
54 2 -23.69110782 -23.69021 0.0004489100066 0.0008699576152 0.0008730051546 1.100920756e-06
|
||||
55 2 -23.68987142 -23.688943 0.0004642105928 0.0008789741194 0.0008800306813 8.92018913e-07
|
||||
56 2 -23.69108099 -23.690136 0.0004724937378 0.0005971006713 0.000593996633 9.809423198e-07
|
||||
57 2 -23.6884849 -23.687444 0.0005204491042 0.000904649919 0.000903059245 1.159812589e-06
|
||||
58 2 -23.69061659 -23.689801 0.0004077963743 0.0008734822906 0.0008740011442 2.825876968e-07
|
||||
59 2 -23.69129673 -23.690408 0.0004443659273 8.294238722e-07 0 3.094976672e-07
|
||||
60 2 -23.69128183 -23.690362 0.0004599146039 0.0006083806397 0.0006067503605 7.610598464e-07
|
||||
61 2 -23.68992958 -23.688881 0.0005242884644 0.000821029922 0.0008250054545 1.71686782e-06
|
||||
62 2 -23.6913441 -23.690515 0.0004145518648 0.001475621399 0.001475779794 2.84677577e-06
|
||||
63 2 -23.69141171 -23.690551 0.0004303564504 0.0005957866015 0.0005996599036 1.20514709e-06
|
||||
64 2 -23.69029628 -23.689487 0.0004046403158 0.0006212225944 0.0006194384554 9.873937532e-07
|
||||
65 2 -23.69072139 -23.68986 0.0004306945962 0.0008858828979 0.0008860124153 5.860284088e-07
|
||||
66 2 -23.69018379 -23.689288 0.0004478949008 0.001400963016 0.001396479144 1.244329984e-06
|
||||
67 2 -23.69129611 -23.690457 0.0004195546182 0.0005914019669 0.0005939831647 1.147186262e-06
|
||||
68 2 -23.69084551 -23.689792 0.0005267528672 0.0008274902414 0.0008340587509 2.923475453e-06
|
||||
69 2 -23.69101454 -23.690006 0.0005042723904 0.0005874526839 0.0005897694465 1.183912924e-06
|
||||
70 2 -23.69137638 -23.690571 0.000402691994 0.0005935054979 0.0005939781141 8.884918862e-07
|
||||
71 2 -23.69114123 -23.690213 0.0004641143201 0.001085937193 0.001084315452 6.623820068e-07
|
||||
72 2 -23.69146017 -23.690617 0.0004215869658 0.0005980165481 0.0006024682564 1.268404944e-06
|
||||
73 2 -23.69063494 -23.689761 0.0004369696294 0.0008787872001 0.0008790688255 2.274049375e-06
|
||||
74 2 -23.69116059 -23.69027 0.0004452958397 6.913233052e-07 0 2.060281613e-07
|
||||
75 2 -23.69134793 -23.690599 0.0003744660576 0.0006108390866 0.0006137752031 6.96527736e-07
|
||||
76 2 -23.69149586 -23.69061 0.0004429283645 9.198413091e-07 0 3.754401369e-07
|
||||
77 2 -23.69139951 -23.690603 0.0003982565418 0.0008543320292 0.0008590331775 1.578633627e-06
|
||||
78 2 -23.68884519 -23.687908 0.0004685934904 0.0009053957054 0.0009010105438 1.657834627e-06
|
||||
79 2 -23.69142551 -23.690688 0.0003687527847 0.0008461959647 0.0008470064935 1.246502358e-06
|
||||
80 2 -23.69088798 -23.689988 0.0004499883039 0.0006191457459 0.0006194465272 7.974697206e-07
|
||||
81 2 -23.69054504 -23.689613 0.0004660181693 0.0008740608763 0.0008740732235 7.595219281e-07
|
||||
82 2 -23.69150291 -23.690678 0.0004124547512 0.000610815565 0.0006123757017 8.071847352e-07
|
||||
83 2 -23.69107508 -23.69017 0.0004525405781 0.0008712164372 0.0008750051428 1.391960695e-06
|
||||
84 2 -23.68888774 -23.687892 0.0004978720826 0.001115255323 0.001112070142 1.300271383e-06
|
||||
85 2 -23.69100617 -23.690132 0.0004370853773 0.0008623539978 0.000868018433 1.989797184e-06
|
||||
86 2 -23.69156961 -23.690843 0.0003633026522 0.0006034844173 0.0006081134763 1.367563513e-06
|
||||
87 2 -23.6914135 -23.690598 0.0004077495027 0.001205622469 0.001217674833 4.139579599e-06
|
||||
88 2 -23.69152569 -23.690656 0.0004348453461 0.0005982210923 0.0006024765556 1.339909066e-06
|
||||
89 2 -23.69122964 -23.690254 0.00048782182 0.001039614512 0.001043496047 2.818899799e-06
|
||||
90 2 -23.69160573 -23.690694 0.0004558641588 0.0006005238032 0.0006010740387 4.468144277e-07
|
||||
91 2 -23.69097667 -23.690097 0.0004398327929 0.0008742196236 0.0008730234819 9.401054078e-07
|
||||
92 2 -23.68931978 -23.688402 0.000458891277 0.0006323492378 0.000632180354 2.788895255e-07
|
||||
93 2 -23.68957636 -23.688669 0.0004536814608 0.001093068336 0.001092474256 1.597403354e-06
|
||||
94 2 -23.69136079 -23.690538 0.0004113951269 0.0008559692215 0.0008610145179 1.717480332e-06
|
||||
95 2 -23.69064046 -23.689722 0.0004592296819 0.0006203235661 0.0006251287867 1.466428815e-06
|
||||
96 2 -23.69148677 -23.690581 0.0004528827615 7.127210559e-07 0 2.255863159e-07
|
||||
97 2 -23.68967251 -23.688755 0.0004587561741 0.0006269092047 0.0006251143895 8.456044924e-07
|
||||
98 2 -23.69038245 -23.689312 0.0005352258985 0.0008260738577 0.0008290597083 1.434578094e-06
|
||||
99 2 -23.6885155 -23.687388 0.000563750435 0.001127068066 0.001120237475 2.790106364e-06
|
||||
100 2 -23.69147138 -23.690664 0.0004036883861 0.0006101343713 0.0006109402589 2.333308226e-07
|
||||
101 2 -23.69059185 -23.68941 0.0005909264985 0.0005851627979 0.0005883553348 1.578359791e-06
|
||||
102 2 -23.69082355 -23.690035 0.0003942730081 0.0008795919888 0.0008810062429 8.322915827e-07
|
||||
103 2 -23.69101815 -23.690015 0.0005015766298 0.0008420116739 0.0008450195264 1.339928081e-06
|
||||
104 2 -23.6915919 -23.690752 0.0004199497676 0.0005974770628 0.0005996415596 9.70808844e-07
|
||||
105 2 -23.69060481 -23.689825 0.0003899065755 0.0008774617579 0.0008800215906 1.681761199e-06
|
||||
106 2 -23.69149834 -23.690562 0.0004681676 0.0008527074936 0.0008560011682 1.11226924e-06
|
||||
107 2 -23.69145561 -23.690622 0.0004168050595 0.0008363624298 0.0008390017878 8.930611273e-07
|
||||
108 2 -23.68965306 -23.688764 0.0004445297309 0.0008936263738 0.0008910185183 1.309339573e-06
|
||||
109 2 -23.69077552 -23.690011 0.0003822592712 0.0006203793746 0.0006194287691 3.133550229e-07
|
||||
110 2 -23.68867102 -23.687696 0.0004875100015 0.001086068328 0.001087589996 1.327020171e-06
|
||||
111 2 -23.69172933 -23.691019 0.0003551646935 0.000852013148 0.0008540035129 9.847230007e-07
|
||||
112 2 -23.68991099 -23.689025 0.000442996005 6.46227386e-07 0 2.557212911e-07
|
||||
113 2 -23.69080506 -23.689952 0.0004265318142 7.012777671e-07 0 2.758977769e-07
|
||||
114 2 -23.69152793 -23.69061 0.0004589654148 0.0008542966264 0.0008580011655 1.338482046e-06
|
||||
115 2 -23.69153556 -23.690595 0.0004702783823 0.000867974804 0.0008680069124 6.687384672e-07
|
||||
116 2 -23.69117399 -23.690231 0.000471493636 0.0005924023762 0.0005925892338 1.259776007e-07
|
||||
117 2 -23.69139497 -23.690469 0.0004629856458 0.0008486906688 0.0008500294113 6.344879116e-07
|
||||
118 2 -23.69122801 -23.690482 0.0003730070077 0.0008734801582 0.0008740102974 2.172190141e-07
|
||||
119 2 -23.69055118 -23.689613 0.0004690919274 0.0008237358825 0.0008320192305 2.927942421e-06
|
||||
120 2 -23.68847553 -23.687426 0.0005247657372 0.001093739709 0.00109577735 8.307823424e-07
|
||||
121 2 -23.69041353 -23.689562 0.000425762889 0.0006210724415 0.0006265237426 1.574752432e-06
|
||||
122 2 -23.69137916 -23.6904 0.0004895814578 3.712921801e-07 0 1.509058252e-07
|
||||
123 2 -23.69152029 -23.690561 0.0004796427403 0.0005964911748 0.0005982273815 1.201511775e-06
|
||||
124 2 -23.69012377 -23.689107 0.0005083837539 0.0008124995989 0.0008180073349 1.97846325e-06
|
||||
125 2 -23.69112303 -23.690145 0.000489014125 0.0008742245309 0.0008740766557 1.981010569e-06
|
||||
126 2 -23.6913827 -23.690482 0.00045035056 0.0005944563316 0.0005939983165 2.227151791e-07
|
||||
127 2 -23.69071568 -23.689864 0.0004258388591 0.0008855411376 0.0008860124153 7.974985004e-07
|
||||
# Elastic_FCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
128 4 -46.43709855 -46.437936 0.0002093617328 0.0008950059332 0.001265949446 0.0001464529791
|
||||
129 4 -46.4407039 -46.438504 0.0005499744469 0.0009975948265 0.001492549497 0.0001384062515
|
||||
130 4 -46.43497365 -46.436378 0.0003510867184 0.0005521282525 0.000810592376 9.989141969e-05
|
||||
131 4 -46.44077415 -46.441551 0.0001942123898 0.001132197907 0.001283675193 6.296966657e-05
|
||||
132 4 -46.41517164 -46.416957 0.0004463408133 0.000917990147 0.001186145859 8.226324971e-05
|
||||
133 4 -46.43849879 -46.440495 0.0004990529713 0.001000780113 0.001212440514 6.935590465e-05
|
||||
134 4 -46.43777706 -46.437972 4.873595839e-05 0.001389269665 0.002358226452 0.0002414827518
|
||||
135 4 -46.44772061 -46.44586 0.0004651524929 0.00136379307 0.002033949852 0.0001874009366
|
||||
136 4 -46.43566097 -46.435744 2.075858871e-05 0.0009531675039 0.001690849491 0.0002499304712
|
||||
137 4 -46.4397151 -46.438209 0.0003765248409 0.0008871611703 0.001160049999 6.827992039e-05
|
||||
138 4 -46.42609455 -46.42629 4.886349894e-05 0.0005556350766 0.0005297018029 1.21651498e-05
|
||||
139 4 -46.44149051 -46.443301 0.0004526223375 0.001132510738 0.001818421568 0.0001734412988
|
||||
140 4 -46.43896893 -46.439002 8.267473937e-06 0.001179879164 0.001416973535 6.937478941e-05
|
||||
141 4 -46.43123555 -46.432438 0.0003006112875 0.001147766739 0.001010469198 6.008540236e-05
|
||||
142 4 -46.41017485 -46.412654 0.0006197883649 0.001371501311 0.001801959766 0.0001610014112
|
||||
143 4 -46.44246774 -46.443231 0.0001908144167 0.0008879088126 0.001691590967 0.0001867981938
|
||||
144 4 -46.43057135 -46.431513 0.0002354128564 0.001455115574 0.001680544852 7.970584502e-05
|
||||
145 4 -46.43314849 -46.435608 0.0006148766383 0.000895665005 0.0009593039143 1.661569891e-05
|
||||
146 4 -46.43895751 -46.437689 0.0003171270659 0.001001644887 0.001217708504 8.864745791e-05
|
||||
147 4 -46.4271122 -46.428447 0.0003336990143 0.001053852574 0.002060081552 0.0002791878204
|
||||
148 4 -46.43182739 -46.432255 0.000106902789 0.0007125255966 0.0006274201144 7.371627608e-05
|
||||
149 4 -46.44177161 -46.442315 0.0001358463057 0.001140463867 0.002424436842 0.0003371037421
|
||||
150 4 -46.43717254 -46.436613 0.000139884251 0.0005515470124 0.0005321240457 4.25980675e-05
|
||||
151 4 -46.43004027 -46.430825 0.0001961823592 0.001008902912 0.001399987143 0.0001075255834
|
||||
152 4 -46.43208405 -46.43312 0.0002589881882 0.0005518528033 0.0007272771136 5.274203147e-05
|
||||
153 4 -46.43371444 -46.434347 0.000158140244 0.0008969169177 0.001284451634 0.000116451331
|
||||
154 4 -46.42879982 -46.430573 0.0004432948912 0.0009069765322 0.001315746176 0.0001014266222
|
||||
155 4 -46.44729799 -46.445665 0.0004082485341 0.001210137892 0.00180789159 0.0001638465464
|
||||
156 4 -46.43544342 -46.435898 0.0001136447769 0.0008978231434 0.001869300939 0.0002335504461
|
||||
157 4 -46.44021163 -46.442107 0.0004738424917 0.0007064270827 0.0006020930161 3.471655618e-05
|
||||
158 4 -46.43498956 -46.434432 0.0001393896227 0.0009533481605 0.001092982159 7.242855265e-05
|
||||
159 4 -46.43803608 -46.436308 0.0004320210529 0.001263659168 0.001839150891 0.0001727461868
|
||||
160 4 -46.42268734 -46.423938 0.0003126642441 0.001014412719 0.001463463016 0.0001717552709
|
||||
161 4 -46.42662921 -46.428115 0.0003714482928 0.0007136207063 0.0008584497656 6.405723837e-05
|
||||
162 4 -46.42531434 -46.4269 0.0003964160099 0.001206355349 0.001845719914 0.0002046485876
|
||||
163 4 -46.42224822 -46.421142 0.00027655517 0.001156356408 0.001309150106 4.994079618e-05
|
||||
164 4 -46.4302643 -46.432233 0.0004921743842 0.0007882966199 0.0007253109678 2.466489974e-05
|
||||
165 4 -46.43017473 -46.429408 0.0001916835518 0.000899021915 0.001068327665 6.208651635e-05
|
||||
166 4 -46.44541887 -46.445145 6.846642975e-05 0.001028604344 0.001776038288 0.0001975509563
|
||||
167 4 -46.43410132 -46.435868 0.0004416698523 0.00126629641 0.002376074704 0.0003279007933
|
||||
168 4 -46.43919494 -46.439663 0.0001170158831 0.0005441672792 0.001119403413 0.0001039537827
|
||||
169 4 -46.42584101 -46.428287 0.0006114968909 0.001286554794 0.001277000392 3.606396056e-05
|
||||
170 4 -46.42254993 -46.424584 0.000508517271 0.0007166928246 0.0008032957114 3.058246984e-05
|
||||
171 4 -46.41053526 -46.413045 0.0006274344802 0.001077488731 0.001248322074 4.395073797e-05
|
||||
172 4 -46.43440112 -46.436994 0.0006482191497 0.0009567631962 0.001331939188 0.0001491134491
|
||||
173 4 -46.44377744 -46.443604 4.335911262e-05 0.0009956173287 0.001177046303 8.761456142e-05
|
||||
174 4 -46.44028269 -46.439718 0.0001411716593 9.067044161e-07 0 2.475504855e-07
|
||||
175 4 -46.43723548 -46.435527 0.0004271206705 0.001133620344 0.0009338393866 8.014312499e-05
|
||||
176 4 -46.43396161 -46.434787 0.0002063465503 0.001150111339 0.00117329195 4.934565354e-05
|
||||
177 4 -46.43612253 -46.434929 0.0002983823621 0.001267526966 0.001349491756 5.093502218e-05
|
||||
178 4 -46.42638491 -46.426499 2.852244117e-05 0.001164859691 0.001248937949 4.347949244e-05
|
||||
179 4 -46.43717201 -46.437025 3.675245971e-05 0.0007725496777 0.000938418883 6.831038049e-05
|
||||
180 4 -46.4281895 -46.428937 0.0001868757356 0.001151243959 0.001286352984 4.994282406e-05
|
||||
181 4 -46.44116364 -46.442516 0.0003380892793 0.0007032387465 0.00094855469 0.0001088604201
|
||||
182 4 -46.42978258 -46.428736 0.0002616440103 0.001009629916 0.001424321593 0.0001089615662
|
||||
183 4 -46.43305551 -46.433359 7.587361447e-05 0.001156682853 0.001276381604 4.128766832e-05
|
||||
184 4 -46.44006475 -46.438799 0.0003164382753 0.0007752996065 0.0008186940821 3.548756745e-05
|
||||
185 4 -46.44169053 -46.441993 7.561864672e-05 0.0008970969052 0.001887735151 0.0002223397932
|
||||
186 4 -46.43727222 -46.439033 0.0004401954936 0.0007708721088 0.000821568013 4.107007018e-05
|
||||
187 4 -46.43632517 -46.436967 0.0001604574289 0.001052390296 0.001482323514 0.0001388091482
|
||||
188 4 -46.42718259 -46.427245 1.560352526e-05 0.001072419721 0.001293885621 7.709435507e-05
|
||||
189 4 -46.43874841 -46.438046 0.0001756024201 0.001260671216 0.001627288542 0.0001002074435
|
||||
190 4 -46.41877429 -46.420083 0.0003271768634 0.00142160315 0.002395244873 0.0003233098312
|
||||
191 4 -46.44621445 -46.445247 0.0002418615665 0.0009904374428 0.001219330964 5.687306262e-05
|
||||
192 4 -46.44511464 -46.446044 0.0002323410927 0.0008790838348 0.001305329077 0.0001107509197
|
||||
193 4 -46.43564394 -46.434472 0.0002929851777 0.000890378693 0.0008323340675 4.743679034e-05
|
||||
194 4 -46.44317175 -46.44458 0.0003520619573 0.0007034014662 0.0009744208536 5.172015881e-05
|
||||
195 4 -46.44087095 -46.441776 0.0002262624122 0.00113922313 0.001339231869 8.765052415e-05
|
||||
196 4 -46.43719326 -46.436389 0.0002010659177 0.001277508928 0.001786741168 0.0001303767454
|
||||
197 4 -46.44563996 -46.446416 0.0001940097871 0.0007007387602 0.0006588778339 5.645487424e-05
|
||||
198 4 -46.44980864 -46.449806 6.606823266e-07 0.001232826529 0.002135055034 0.0002384857832
|
||||
199 4 -46.42466674 -46.427189 0.0006305654832 0.001011828255 0.001050788276 2.797047454e-05
|
||||
200 4 -46.42588993 -46.427857 0.000491766418 0.001010915484 0.001487666629 0.0001398462887
|
||||
201 4 -46.44273693 -46.44004 0.0006742317456 0.0007050795233 0.000757202747 2.506458135e-05
|
||||
202 4 -46.43659247 -46.437214 0.0001553829854 0.0008924045914 0.001505586265 0.0001475571029
|
||||
203 4 -46.42189527 -46.422628 0.0001831835233 0.0009120248848 0.001601713458 0.0002207350143
|
||||
204 4 -46.44387014 -46.443535 8.378431277e-05 0.001253187495 0.001590304373 0.0001006147174
|
||||
205 4 -46.4386991 -46.439922 0.0003057254875 0.001138308324 0.001530493385 0.0001018467819
|
||||
206 4 -46.43732669 -46.437675 8.707637653e-05 0.00144833639 0.002440246094 0.0003149341193
|
||||
207 4 -46.44459348 -46.445558 0.0002411303465 0.0008716893522 0.00113392416 7.56134454e-05
|
||||
208 4 -46.43888136 -46.439106 5.615896373e-05 0.001259801268 0.001830731002 0.0001709222499
|
||||
209 4 -46.44452218 -46.443073 0.000362294488 0.0005355233492 0.0005766870902 1.79131844e-05
|
||||
210 4 -46.44072829 -46.4397 0.0002570727366 0.0008912594074 0.001204174406 7.190949652e-05
|
||||
211 4 -46.43632905 -46.436374 1.123701302e-05 0.00100454144 0.001461656594 0.0001640759619
|
||||
212 4 -46.42622449 -46.426557 8.312836801e-05 0.0009090508417 0.001359624213 9.618645017e-05
|
||||
213 4 -46.43334095 -46.434009 0.0001670117853 0.001064727099 0.001391131194 0.0001118380718
|
||||
214 4 -46.43528491 -46.436262 0.0002442735765 0.001381671175 0.002503347159 0.0002862586192
|
||||
215 4 -46.43302209 -46.434505 0.0003707286996 0.001050895795 0.001041637173 1.894959196e-05
|
||||
216 4 -46.43866543 -46.438768 2.564354619e-05 0.001038218613 0.001098285027 4.514351427e-05
|
||||
217 4 -46.43867092 -46.440254 0.000395771139 0.0005510961745 0.0006069892915 4.783705107e-05
|
||||
218 4 -46.42481603 -46.42286 0.0004890086715 0.0005673661918 0.0007365242698 6.506184883e-05
|
||||
219 4 -46.41707211 -46.418078 0.0002514715464 0.001292943265 0.002028412187 0.0002017017408
|
||||
220 4 -46.44058128 -46.440513 1.706961588e-05 0.0008917162415 0.001158189967 9.459271337e-05
|
||||
221 4 -46.40786735 -46.409824 0.000489161666 0.000915995593 0.001759573812 0.0002027400318
|
||||
222 4 -46.44176165 -46.440329 0.0003581615225 0.0007050784001 0.0009534044263 7.330945846e-05
|
||||
223 4 -46.43764613 -46.43773 2.096761683e-05 0.000774718051 0.000926180328 6.358620287e-05
|
||||
224 4 -46.41646676 -46.416525 1.456068592e-05 0.0007183862165 0.0007573664899 3.367541267e-05
|
||||
225 4 -46.44086814 -46.440293 0.0001437843048 0.0008909024924 0.0007725386722 2.803785114e-05
|
||||
226 4 -46.44027213 -46.43839 0.0004705337314 0.000707862011 0.0005612022808 3.305821092e-05
|
||||
227 4 -46.44117428 -46.438916 0.0005645706045 0.0008843758872 0.001650878554 0.0001728226219
|
||||
# GSF_110.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
228 24 -278.9717069 -279.068761 0.004043919984 1.716820818 1.756353161 0.02195804808
|
||||
229 24 -279.8354387 -279.784296 0.002130947227 0.8360148085 0.9057668891 0.02306494198
|
||||
230 24 -279.920921 -279.901657 0.0008026661363 0.2958425997 0.001565946359 0.01411644584
|
||||
231 24 -279.6113309 -279.584238 0.001128870276 1.136927478 1.035572248 0.0268109436
|
||||
232 24 -279.8354404 -279.784283 0.002131557004 0.8360112083 0.9056396189 0.02305363685
|
||||
233 24 -279.302435 -279.302158 1.154096848e-05 1.736732738 1.771965137 0.03376130194
|
||||
234 24 -279.5958843 -279.55564 0.001676844981 1.457718936 1.405626506 0.02601748107
|
||||
235 24 -279.1575825 -279.246939 0.003723187357 0.7701803397 0.4813964151 0.04047323625
|
||||
236 24 -279.3024375 -279.302157 1.168852836e-05 1.736736025 1.771953347 0.03376039536
|
||||
237 24 -279.1575946 -279.246935 0.003722518226 0.7692677843 0.4809484798 0.04044520421
|
||||
238 24 -279.9208868 -279.896025 0.001035907873 0.2963184571 0.01060549839 0.01410249844
|
||||
239 24 -279.6115695 -279.584237 0.001138852664 1.13770573 1.035836121 0.02686761528
|
||||
240 24 -279.064529 -279.124427 0.002495750967 1.76375665 1.809545887 0.03536482035
|
||||
241 24 -279.3562359 -279.379366 0.000963755899 1.070359933 0.8982692706 0.03586365384
|
||||
242 24 -279.3561337 -279.37937 0.0009681791432 1.070187041 0.898081355 0.03582334182
|
||||
243 24 -279.0645273 -279.124427 0.002495818902 1.763753116 1.809523374 0.03536507377
|
||||
244 24 -279.920921 -279.901657 0.0008026661364 0.295842601 0.001570374478 0.01411415473
|
||||
245 24 -279.835369 -279.79264 0.001780376182 0.7694168746 0.8392614852 0.02365583077
|
||||
246 24 -279.9208868 -279.896025 0.001035907873 0.2963184557 0.01060243293 0.01410273421
|
||||
247 24 -279.0819585 -279.206496 0.005189061107 0.548788431 0.005326518563 0.03225764062
|
||||
248 24 -279.5958869 -279.55564 0.001676956181 1.457719116 1.4056319 0.02601845486
|
||||
249 24 -279.8353874 -279.79264 0.001781141415 0.7694021079 0.8392625708 0.0236575616
|
||||
# GSF_112.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
250 30 -345.1958147 -345.175835 0.0006659888828 1.417827685 1.057395322 0.04924259711
|
||||
251 30 -346.4091654 -346.361714 0.001581712645 1.014644886 1.220284939 0.04659093523
|
||||
252 30 -345.9623042 -345.795524 0.005559340233 1.678459906 2.112860875 0.06265040874
|
||||
253 30 -345.1047773 -345.164602 0.001994157897 1.817583015 1.765832199 0.05258058387
|
||||
254 30 -346.5687925 -346.593523 0.0008243492414 0.5266160053 0.01148867129 0.03755504848
|
||||
255 30 -346.4165137 -346.396186 0.0006775885975 1.101956458 0.9954683928 0.04399110332
|
||||
256 30 -345.2521553 -345.319406 0.00224168982 2.024011434 1.772040852 0.05936118376
|
||||
257 30 -345.5898528 -345.594794 0.0001647082757 2.048144835 1.516014157 0.06040121307
|
||||
258 30 -346.0297765 -345.98566 0.001470549283 1.767327791 1.406252265 0.05243702855
|
||||
259 30 -345.5053828 -345.383994 0.004046292585 1.336428571 0.963574308 0.05104895348
|
||||
260 30 -346.5686342 -346.582564 0.0004643258311 0.5264214865 0.0126740587 0.03760971825
|
||||
261 30 -345.4208872 -345.452139 0.001041727499 3.011665478 2.787719406 0.06345649484
|
||||
262 30 -346.5687922 -346.593523 0.000824358736 0.5266293188 0.01148834 0.03755660424
|
||||
263 30 -345.4303122 -345.281949 0.004945440141 1.947208063 1.873142686 0.05337069289
|
||||
264 30 -345.95932 -345.928661 0.001021967701 2.362723976 2.100874472 0.05002108374
|
||||
265 30 -345.0137677 -345.111657 0.003262976998 3.19378163 3.358068319 0.06536423133
|
||||
266 30 -346.4078756 -346.367123 0.001358420679 1.085591236 1.335797131 0.04639235845
|
||||
267 30 -346.5685864 -346.582565 0.0004659529893 0.5264879505 0.01254743735 0.03760890253
|
||||
268 30 -344.8663405 -344.91356 0.001573984549 2.930408919 3.441834403 0.06926998065
|
||||
269 30 -345.9709087 -345.836703 0.004473521714 1.391835251 1.608769148 0.0557054003
|
||||
270 30 -345.0229891 -344.984307 0.001289401895 2.372016819 2.542628782 0.05571749983
|
||||
271 30 -346.4089445 -346.393931 0.0005004501598 1.297845976 1.211680725 0.04319349672
|
||||
# Liquid.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
272 100 -1105.559726 -1105.601723 0.0004199683753 30.70196346 31.39853886 0.2273901869
|
||||
273 100 -1099.629534 -1099.673012 0.0004347802829 31.98646736 32.03167218 0.2226202775
|
||||
274 100 -1121.43168 -1121.31506 0.001166195007 21.23863202 20.81076453 0.2037539309
|
||||
# Surface.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
275 24 -279.9208871 -279.911828 0.0003774634676 0.2963192975 0.002753093533 0.01433131958
|
||||
276 48 -554.241479 -555.359452 0.02329110353 1.363109446 0.003020630398 0.0573825018
|
||||
277 40 -459.5808398 -459.216162 0.009116945293 3.33149843 5.0461364 0.07877996461
|
||||
278 40 -460.5932467 -461.144076 0.01377073163 0.8854479197 0.005582740008 0.03813349763
|
||||
279 24 -279.8214986 -279.635146 0.007764693427 0.982012045 1.288799837 0.01857540863
|
||||
280 30 -346.5687933 -346.592525 0.000791056775 0.5266154723 0.008446203407 0.03726637101
|
||||
281 30 -346.0051971 -345.744506 0.008689702509 2.266739618 3.124961367 0.06591070739
|
||||
# Volume_A15.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
282 8 -67.00264003 -66.990732 0.001488503243 8.978495355e-15 0 1.554167674e-15
|
||||
283 8 -72.95775645 -72.957807 6.318335608e-06 6.173563626e-14 0 9.086337007e-15
|
||||
284 8 -94.15079079 -94.145745 0.0006307242955 1.257001279e-14 0 1.651353601e-15
|
||||
285 8 -94.55576971 -94.554682 0.0001359640227 7.864226848e-15 0 1.351609702e-15
|
||||
286 8 -79.41650989 -79.438363 0.002731638712 2.922311383e-14 0 4.6112564e-15
|
||||
287 8 -69.6319055 -69.627817 0.0005110626381 3.131450246e-15 0 5.512083845e-16
|
||||
288 8 -82.6140242 -82.604907 0.001139650038 1.015341342e-14 0 1.573105072e-15
|
||||
289 8 14.8871533 14.89048 0.0004158371788 2.179622647e-13 0 3.718594804e-14
|
||||
290 8 -94.35602701 -94.367599 0.001446498413 1.681327296e-14 0 2.430951383e-15
|
||||
291 8 -89.2494361 -89.248227 0.0001511372198 1.602695388e-14 0 2.27566808e-15
|
||||
292 8 -87.22359357 -87.211997 0.001449571359 5.891018761e-15 0 1.023486851e-15
|
||||
293 8 -93.64917633 -93.66897 0.002474209194 1.737070481e-15 0 2.726891929e-16
|
||||
294 8 -7.974970896 -7.989166 0.001774387948 5.346466786e-13 0 7.317740119e-14
|
||||
295 8 -84.99735697 -84.982834 0.001815371577 1.628985705e-15 0 2.68014777e-16
|
||||
296 8 -92.51696442 -92.536373 0.002426072159 3.702813287e-14 0 5.965135793e-15
|
||||
297 8 -26.79883523 -26.77612 0.002839403163 2.314654929e-13 0 3.768467838e-14
|
||||
298 8 -77.53738473 -77.544107 0.0008402842141 2.975839122e-15 0 5.1405639e-16
|
||||
299 8 -80.11476757 -80.114217 6.882064461e-05 9.414427891e-15 0 1.325473296e-15
|
||||
300 8 -42.12903262 -42.143041 0.001751047533 2.610061598e-13 0 3.565304919e-14
|
||||
301 8 -91.02990946 -91.040671 0.001345192241 8.368513177e-15 0 1.310872707e-15
|
||||
302 8 -84.50933121 -84.499231 0.001262526145 5.714110441e-14 0 1.066782658e-14
|
||||
303 8 -61.79844789 -61.825173 0.003340638518 6.62953849e-15 0 1.015391475e-15
|
||||
304 8 -91.13057644 -91.156873 0.003287069749 4.719369293e-15 0 6.76336609e-16
|
||||
305 8 -54.64916677 -54.658744 0.001197153514 1.464956394e-13 0 2.113576767e-14
|
||||
306 8 -72.27319255 -72.277255 0.0005078062019 8.658199332e-16 0 1.410908427e-16
|
||||
307 8 -74.9147183 -74.923334 0.001076962465 4.434219242e-15 0 6.615078855e-16
|
||||
308 8 -64.81833247 -64.798066 0.002533308735 3.748412002e-14 0 5.576268614e-15
|
||||
309 8 -93.03489726 -93.048342 0.001680592822 1.857310674e-14 0 2.604235054e-15
|
||||
310 8 -64.39098013 -64.38702 0.0004950167019 5.001001166e-15 0 5.722057666e-16
|
||||
311 8 -88.36401125 -88.352871 0.001392531574 1.47982807e-14 0 2.645507511e-15
|
||||
# Volume_BCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
312 2 -16.76594323 -16.763625 0.0011591154 3.058627912e-16 0 7.979727989e-17
|
||||
313 2 16.31372699 16.314145 0.0002090027274 8.186542193e-13 0 2.624717573e-13
|
||||
314 2 -21.21034402 -21.209071 0.000636508568 6.029606478e-15 0 1.688464572e-15
|
||||
315 2 -15.7845968 -15.780524 0.002036397536 5.051396178e-14 0 1.863971217e-14
|
||||
316 2 -18.99841038 -19.002205 0.001897311189 3.70201696e-14 0 1.247006253e-14
|
||||
317 2 -22.6245193 -22.620568 0.001975650815 3.866866338e-15 0 1.424786215e-15
|
||||
318 2 4.098164527 4.096885 0.0006397634862 6.334293648e-14 0 2.151519703e-14
|
||||
319 2 56.26275599 56.26276 2.005221472e-06 2.247995559e-12 0 7.580021273e-13
|
||||
320 2 -22.58944012 -22.585113 0.002163562406 1.113168148e-15 0 3.747002708e-16
|
||||
321 2 -21.79724015 -21.795501 0.0008695760695 1.09344287e-15 0 3.700743415e-16
|
||||
322 2 33.11015633 33.110078 3.916354612e-05 4.904232742e-13 0 1.492139745e-13
|
||||
323 2 -20.88315873 -20.885998 0.001419634185 1.859416424e-15 0 7.401486831e-16
|
||||
324 2 -23.59568898 -23.601336 0.002823509954 1.486164289e-15 0 4.916167932e-16
|
||||
325 2 -23.20858071 -23.207313 0.0006338528204 8.900302643e-16 0 3.147520853e-16
|
||||
326 2 -19.89310507 -19.898089 0.002491965758 8.784897284e-16 0 3.064678141e-16
|
||||
327 2 -23.40543384 -23.405474 2.007854096e-05 9.04864091e-16 0 2.55004351e-16
|
||||
328 2 -4.783890314 -4.781324 0.00128315718 1.026901322e-13 0 2.670433319e-14
|
||||
329 2 -18.86311291 -18.864936 0.0009115426716 2.305551267e-16 0 7.864079758e-17
|
||||
330 2 -17.81642588 -17.813086 0.001669937839 1.716587549e-16 0 6.245004514e-17
|
||||
331 2 -11.19369732 -11.197201 0.001751842379 6.247077482e-14 0 2.245483891e-14
|
||||
332 2 -23.6830862 -23.696705 0.006809399945 1.843658888e-15 0 7.087971703e-16
|
||||
# Volume_FCC.xyz
|
||||
config # atoms energy DFT energy energy error force DFT force force error
|
||||
333 4 -19.07363592 -19.075994 0.0005895202867 4.838977351e-14 0 1.162785146e-14
|
||||
334 4 -34.87911157 -34.873619 0.001373142448 2.834773835e-16 0 5.955883934e-17
|
||||
335 4 -43.95312208 -43.950003 0.0007797711561 2.246784353e-15 0 4.928060275e-16
|
||||
336 4 -40.99484531 -40.991909 0.0007340763059 8.408019466e-15 0 2.017013582e-15
|
||||
337 4 -43.44688587 -43.453929 0.001760782795 1.105978561e-14 0 2.960654589e-15
|
||||
338 4 -42.69057259 -42.686077 0.001123896575 2.15077979e-15 0 5.053466326e-16
|
||||
339 4 -33.22567657 -33.224653 0.0002558935333 6.71927174e-16 0 1.601728009e-16
|
||||
340 4 -26.86518979 -26.862709 0.0006201969912 3.31529179e-14 0 7.652202346e-15
|
||||
341 4 -25.52095377 -25.519883 0.0002676922193 3.655453829e-16 0 7.199102425e-17
|
||||
342 4 3.462101367 3.463071 0.0002424081278 1.816025861e-13 0 4.023864575e-14
|
||||
343 4 -31.5932268 -31.59595 0.0006807997919 3.628185658e-16 0 8.557969148e-17
|
||||
344 4 -45.10086835 -45.100466 0.0001005873411 2.465692424e-15 0 5.323999453e-16
|
||||
345 4 -46.05341345 -46.052258 0.0002888629271 8.511696107e-16 0 1.9963776e-16
|
||||
346 4 -29.99832749 -30.001189 0.0007153784531 3.847020655e-16 0 1.014813233e-16
|
||||
347 4 -22.85257327 -22.8504 0.0005433170403 7.603433695e-16 0 2.026735261e-16
|
||||
348 4 -9.165925377 -9.164691 0.0003085942037 6.355991568e-14 0 1.496321874e-14
|
||||
349 4 -24.14844545 -24.150343 0.0004743875843 4.762376771e-16 0 9.887923813e-17
|
||||
350 4 -46.43546878 -46.426795 0.002168445654 2.389854689e-15 0 6.508104241e-16
|
||||
351 4 -28.45126723 -28.451145 3.055783253e-05 7.811231556e-15 0 2.246466901e-15
|
||||
352 4 40.34134283 40.341566 5.579164045e-05 4.392900751e-13 0 1.047052708e-13
|
||||
353 4 19.618876 19.617912 0.0002409995917 2.653013854e-13 0 4.82657932e-14
|
||||
354 4 -26.95747287 -26.954384 0.0007722170381 5.063966549e-16 0 1.225871256e-16
|
||||
355 4 -46.33491981 -46.323696 0.002805953551 3.211950954e-15 0 8.731441496e-16
|
||||
356 4 -45.83316791 -45.828947 0.001055227438 1.228572267e-14 0 3.512236798e-15
|
||||
357 4 -38.16058675 -38.16029 7.418651586e-05 1.457184241e-15 0 3.625572065e-16
|
||||
358 4 -32.91257363 -32.919741 0.001791843199 5.73065335e-14 0 1.529158744e-14
|
||||
359 4 -41.2675262 -41.272675 0.001287199354 7.138843467e-15 0 2.027950471e-15
|
||||
360 4 -39.74460494 -39.753322 0.002179265661 7.861049173e-16 0 1.651275908e-16
|
||||
361 4 -37.55548161 -37.547435 0.002011652753 1.155947671e-14 0 2.497062164e-15
|
||||
362 4 -36.53186908 -36.52595 0.001479769423 3.660718685e-16 0 9.51206706e-17
|
||||
363 4 -45.01550153 -45.016087 0.0001463673621 1.766214736e-15 0 4.760370339e-16
|
||||
@ -1,20 +0,0 @@
|
||||
**************** Begin of Error Analysis for the Training Data Set ****************
|
||||
---------------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Displaced_A15.xyz 9 576 0.000554 0.000680 0.066393 0.083014
|
||||
Displaced_BCC.xyz 9 486 0.004724 0.005103 0.108253 0.139461
|
||||
Displaced_FCC.xyz 9 432 0.001704 0.001900 0.077531 0.097471
|
||||
Elastic_BCC.xyz 100 200 0.000444 0.000446 0.000001 0.000002
|
||||
Elastic_FCC.xyz 100 400 0.000273 0.000327 0.000110 0.000163
|
||||
GSF_110.xyz 22 528 0.001852 0.002260 0.027303 0.044765
|
||||
GSF_112.xyz 22 660 0.001839 0.002404 0.051415 0.080350
|
||||
Liquid.xyz 3 300 0.000674 0.000758 0.217921 0.276109
|
||||
Surface.xyz 7 236 0.009115 0.011661 0.047949 0.105123
|
||||
Volume_A15.xyz 30 240 0.001407 0.001693 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.001497 0.002077 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.000870 0.001139 0.000000 0.000000
|
||||
---------------------------------------------------------------------------------------------------
|
||||
All files 363 4224 0.001053 0.002171 0.059051 0.106960
|
||||
---------------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
@ -1,5 +0,0 @@
|
||||
# Demonstrate fitpod for POD potential
|
||||
|
||||
units metal
|
||||
fitpod Ta_param.pod Ta_data.pod
|
||||
|
||||
@ -1,114 +0,0 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate fitpod for POD potential
|
||||
|
||||
units metal
|
||||
fitpod Ta_param.pod Ta_data.pod
|
||||
Reading potential file Ta_param.pod with DATE: 2022-11-30
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body potential: 3 6 6
|
||||
three-body potential: 3 6 5 5
|
||||
four-body SNAP potential: 0 0
|
||||
quadratic POD potential: 1
|
||||
number of basis functions for one-body potential: 1
|
||||
number of basis functions for two-body potential: 6
|
||||
number of basis functions for three-body potential: 25
|
||||
number of basis functions for four-body potential: 0
|
||||
number of descriptors for one-body potential: 1
|
||||
number of descriptors for two-body potential: 6
|
||||
number of descriptors for three-body potential: 25
|
||||
number of descriptors for four-body potential: 0
|
||||
number of descriptors for quadratic POD potential: 150
|
||||
total number of descriptors for all potentials: 182
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
**************** Begin of Data File ****************
|
||||
file format: extxyz
|
||||
file extension: xyz
|
||||
path to training data set: ../Ta/XYZ
|
||||
path to test data set: ../Ta/XYZ
|
||||
training fraction: 1
|
||||
test fraction: 1
|
||||
randomize training data set: 1
|
||||
randomize test data set: 1
|
||||
error analysis for training data set: 1
|
||||
error analysis for test data set: 0
|
||||
energy/force calculation for training data set: 0
|
||||
energy/force calculation for test data set: 0
|
||||
fitting weight for energy: 100
|
||||
fitting weight for force: 1
|
||||
fitting weight for stress: 0
|
||||
fitting regularization parameter: 1e-10
|
||||
**************** End of Data File ****************
|
||||
**************** Begin of Training Data Set ****************
|
||||
---------------------------------------------------------------
|
||||
data file | number of configurations | number of atoms
|
||||
---------------------------------------------------------------
|
||||
Displaced_A15.xyz | 9 | 576
|
||||
Displaced_BCC.xyz | 9 | 486
|
||||
Displaced_FCC.xyz | 9 | 432
|
||||
Elastic_BCC.xyz | 100 | 200
|
||||
Elastic_FCC.xyz | 100 | 400
|
||||
GSF_110.xyz | 22 | 528
|
||||
GSF_112.xyz | 22 | 660
|
||||
Liquid.xyz | 3 | 300
|
||||
Surface.xyz | 7 | 236
|
||||
Volume_A15.xyz | 30 | 240
|
||||
Volume_BCC.xyz | 21 | 42
|
||||
Volume_FCC.xyz | 31 | 124
|
||||
---------------------------------------------------------------
|
||||
number of files: 12
|
||||
number of configurations in all files: 363
|
||||
number of atoms in all files: 4224
|
||||
minimum number of atoms: 2
|
||||
maximum number of atoms: 100
|
||||
**************** End of Training Data Set ****************
|
||||
**************** Begin of Memory Allocation ****************
|
||||
maximum number of atoms in periodic domain: 100
|
||||
maximum number of atoms in extended domain: 2700
|
||||
maximum number of neighbors in extended domain: 270000
|
||||
size of double memory: 223201
|
||||
size of int memory: 14709
|
||||
size of descriptor matrix: 182 x 182
|
||||
**************** End of Memory Allocation ****************
|
||||
**************** Begin of Least-Squares Fitting ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
**************** End of Least-Squares Fitting ****************
|
||||
**************** Begin of Error Calculation ****************
|
||||
Configuration: # 1
|
||||
Configuration: # 101
|
||||
Configuration: # 201
|
||||
Configuration: # 301
|
||||
**************** End of Error Calculation ****************
|
||||
**************** Begin of Error Analysis for the Training Data Set ****************
|
||||
---------------------------------------------------------------------------------------------------
|
||||
File | # configs | # atoms | MAE energy | RMSE energy | MAE force | RMSE force
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Displaced_A15.xyz 9 576 0.000554 0.000680 0.066393 0.083014
|
||||
Displaced_BCC.xyz 9 486 0.004724 0.005103 0.108253 0.139461
|
||||
Displaced_FCC.xyz 9 432 0.001704 0.001900 0.077531 0.097471
|
||||
Elastic_BCC.xyz 100 200 0.000444 0.000446 0.000001 0.000002
|
||||
Elastic_FCC.xyz 100 400 0.000273 0.000327 0.000110 0.000163
|
||||
GSF_110.xyz 22 528 0.001852 0.002260 0.027303 0.044765
|
||||
GSF_112.xyz 22 660 0.001839 0.002404 0.051415 0.080350
|
||||
Liquid.xyz 3 300 0.000674 0.000758 0.217921 0.276109
|
||||
Surface.xyz 7 236 0.009115 0.011661 0.047949 0.105123
|
||||
Volume_A15.xyz 30 240 0.001407 0.001693 0.000000 0.000000
|
||||
Volume_BCC.xyz 21 42 0.001497 0.002077 0.000000 0.000000
|
||||
Volume_FCC.xyz 31 124 0.000870 0.001139 0.000000 0.000000
|
||||
---------------------------------------------------------------------------------------------------
|
||||
All files 363 4224 0.001053 0.002171 0.059051 0.106960
|
||||
---------------------------------------------------------------------------------------------------
|
||||
**************** End of Error Analysis for the Training Data Set ****************
|
||||
|
||||
Total wall time: 0:00:01
|
||||
@ -1,142 +0,0 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate POD Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.316
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice bcc 3.316
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * Ta_param.pod Ta_coefficients.pod Ta
|
||||
Reading potential file Ta_param.pod with DATE: 2022-11-30
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body potential: 3 6 6
|
||||
three-body potential: 3 6 5 5
|
||||
four-body SNAP potential: 0 0
|
||||
quadratic POD potential: 1
|
||||
number of basis functions for one-body potential: 1
|
||||
number of basis functions for two-body potential: 6
|
||||
number of basis functions for three-body potential: 25
|
||||
number of basis functions for four-body potential: 0
|
||||
number of descriptors for one-body potential: 1
|
||||
number of descriptors for two-body potential: 6
|
||||
number of descriptors for three-body potential: 25
|
||||
number of descriptors for four-body potential: 0
|
||||
number of descriptors for quadratic POD potential: 150
|
||||
total number of descriptors for all potentials: 182
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pod, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.082 | 3.082 | 3.082 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.847697 0 -11.809222 13502.169
|
||||
10 296.47494 -11.847245 0 -11.809222 13529.584
|
||||
20 286.0918 -11.845913 0 -11.809222 13613.884
|
||||
30 269.42275 -11.843776 0 -11.809222 13759.746
|
||||
40 247.39423 -11.84095 0 -11.809222 13972.073
|
||||
50 221.23976 -11.837596 0 -11.809222 14253.202
|
||||
60 192.43252 -11.833901 0 -11.809222 14600.367
|
||||
70 162.59874 -11.830075 0 -11.809221 15004.156
|
||||
80 133.41531 -11.826332 0 -11.809221 15448.418
|
||||
90 106.49785 -11.82288 0 -11.809221 15911.638
|
||||
100 83.288219 -11.819903 0 -11.809221 16369.373
|
||||
Loop time of 1.51781 on 1 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 2.846 ns/day, 8.432 hours/ns, 65.884 timesteps/s, 8.433 katom-step/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.5172 | 1.5172 | 1.5172 | 0.0 | 99.96
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.0002542 | 0.0002542 | 0.0002542 | 0.0 | 0.02
|
||||
Output | 0.00013308 | 0.00013308 | 0.00013308 | 0.0 | 0.01
|
||||
Modify | 0.00012159 | 0.00012159 | 0.00012159 | 0.0 | 0.01
|
||||
Other | | 0.0001446 | | | 0.01
|
||||
|
||||
Nlocal: 128 ave 128 max 128 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 727 ave 727 max 727 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 7424 ave 7424 max 7424 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7424
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:01
|
||||
@ -1,142 +0,0 @@
|
||||
LAMMPS (22 Dec 2022)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Demonstrate POD Ta potential
|
||||
|
||||
# Initialize simulation
|
||||
|
||||
variable nsteps index 100
|
||||
variable nrep equal 4
|
||||
variable a equal 3.316
|
||||
units metal
|
||||
|
||||
# generate the box and atom positions using a BCC lattice
|
||||
|
||||
variable nx equal ${nrep}
|
||||
variable nx equal 4
|
||||
variable ny equal ${nrep}
|
||||
variable ny equal 4
|
||||
variable nz equal ${nrep}
|
||||
variable nz equal 4
|
||||
|
||||
boundary p p p
|
||||
|
||||
lattice bcc $a
|
||||
lattice bcc 3.316
|
||||
Lattice spacing in x,y,z = 3.316 3.316 3.316
|
||||
region box block 0 ${nx} 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 ${ny} 0 ${nz}
|
||||
region box block 0 4 0 4 0 ${nz}
|
||||
region box block 0 4 0 4 0 4
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 128 atoms
|
||||
using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264)
|
||||
create_atoms CPU = 0.000 seconds
|
||||
|
||||
mass 1 180.88
|
||||
|
||||
|
||||
# POD potential
|
||||
pair_style pod
|
||||
pair_coeff * * Ta_param.pod Ta_coefficients.pod Ta
|
||||
Reading potential file Ta_param.pod with DATE: 2022-11-30
|
||||
**************** Begin of POD Potentials ****************
|
||||
species: Ta
|
||||
periodic boundary conditions: 1 1 1
|
||||
inner cut-off radius: 1
|
||||
outer cut-off radius: 5
|
||||
bessel polynomial degree: 3
|
||||
inverse polynomial degree: 6
|
||||
one-body potential: 1
|
||||
two-body potential: 3 6 6
|
||||
three-body potential: 3 6 5 5
|
||||
four-body SNAP potential: 0 0
|
||||
quadratic POD potential: 1
|
||||
number of basis functions for one-body potential: 1
|
||||
number of basis functions for two-body potential: 6
|
||||
number of basis functions for three-body potential: 25
|
||||
number of basis functions for four-body potential: 0
|
||||
number of descriptors for one-body potential: 1
|
||||
number of descriptors for two-body potential: 6
|
||||
number of descriptors for three-body potential: 25
|
||||
number of descriptors for four-body potential: 0
|
||||
number of descriptors for quadratic POD potential: 150
|
||||
total number of descriptors for all potentials: 182
|
||||
**************** End of POD Potentials ****************
|
||||
|
||||
|
||||
# Setup output
|
||||
|
||||
thermo 10
|
||||
thermo_modify norm yes
|
||||
|
||||
# Set up NVE run
|
||||
|
||||
timestep 0.5e-3
|
||||
neighbor 1.0 bin
|
||||
neigh_modify once no every 1 delay 0 check yes
|
||||
|
||||
# Run MD
|
||||
|
||||
velocity all create 300.0 4928459 loop geom
|
||||
fix 1 all nve
|
||||
run ${nsteps}
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 6
|
||||
ghost atom cutoff = 6
|
||||
binsize = 3, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair pod, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.062 | 3.062 | 3.062 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 300 -11.847697 0 -11.809222 13502.169
|
||||
10 296.47494 -11.847245 0 -11.809222 13529.584
|
||||
20 286.0918 -11.845913 0 -11.809222 13613.884
|
||||
30 269.42275 -11.843776 0 -11.809222 13759.746
|
||||
40 247.39423 -11.84095 0 -11.809222 13972.073
|
||||
50 221.23976 -11.837596 0 -11.809222 14253.202
|
||||
60 192.43252 -11.833901 0 -11.809222 14600.367
|
||||
70 162.59874 -11.830075 0 -11.809221 15004.156
|
||||
80 133.41531 -11.826332 0 -11.809221 15448.418
|
||||
90 106.49785 -11.82288 0 -11.809221 15911.638
|
||||
100 83.288219 -11.819903 0 -11.809221 16369.373
|
||||
Loop time of 0.427448 on 4 procs for 100 steps with 128 atoms
|
||||
|
||||
Performance: 10.106 ns/day, 2.375 hours/ns, 233.947 timesteps/s, 29.945 katom-step/s
|
||||
97.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.40622 | 0.40946 | 0.419 | 0.9 | 95.79
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.0071192 | 0.016995 | 0.020439 | 4.4 | 3.98
|
||||
Output | 0.00012904 | 0.0002071 | 0.00043132 | 0.0 | 0.05
|
||||
Modify | 3.905e-05 | 4.8089e-05 | 5.5714e-05 | 0.0 | 0.01
|
||||
Other | | 0.0007341 | | | 0.17
|
||||
|
||||
Nlocal: 32 ave 32 max 32 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 431 ave 431 max 431 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1856 ave 1856 max 1856 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 7424
|
||||
Ave neighs/atom = 58
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:00
|
||||
@ -1,33 +1,33 @@
|
||||
POD_coefficients: 32
|
||||
-4.44242
|
||||
4.10219
|
||||
2.36987
|
||||
3.92184
|
||||
-0.83796
|
||||
-0.79457
|
||||
-0.26230
|
||||
-21.24294
|
||||
-15.38460
|
||||
-38.44056
|
||||
8.29872
|
||||
-42.54514
|
||||
2.79976
|
||||
3.76109
|
||||
5.23499
|
||||
0.04878
|
||||
2.96006
|
||||
0.09101
|
||||
-0.19257
|
||||
-0.24326
|
||||
-0.16735
|
||||
0.53738
|
||||
0.02236
|
||||
-0.00154
|
||||
0.02488
|
||||
-0.00565
|
||||
0.07672
|
||||
-0.05894
|
||||
-0.05604
|
||||
-0.12664
|
||||
0.11723
|
||||
0.00262
|
||||
model_coefficients: 32 0 0
|
||||
-4.45745
|
||||
29.40034
|
||||
-13.69439
|
||||
-0.32907
|
||||
-0.14786
|
||||
-1.35221
|
||||
-0.59315
|
||||
-26.30409
|
||||
-33.37233
|
||||
162.42473
|
||||
144.67248
|
||||
-149.50021
|
||||
1.78603
|
||||
2.49026
|
||||
-11.04768
|
||||
-11.14333
|
||||
12.40537
|
||||
0.48284
|
||||
0.39345
|
||||
-2.25812
|
||||
-1.38908
|
||||
1.31551
|
||||
0.02974
|
||||
-0.05094
|
||||
-0.21177
|
||||
0.12127
|
||||
0.23170
|
||||
0.02426
|
||||
-0.15305
|
||||
-0.10803
|
||||
0.25628
|
||||
0.01291
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
# DATE: 2022-11-30 UNITS: metal CONTRIBUTOR: Ngoc Cuong Nguyen, exapde@gmail.com CITATION: https://arxiv.org/abs/2209.02362
|
||||
# chemical element symbols
|
||||
species Ta
|
||||
|
||||
@ -11,28 +10,37 @@ rin 1.0
|
||||
# outer cut-off radius
|
||||
rcut 5.0
|
||||
|
||||
# use only for enviroment-adaptive potentials
|
||||
number_of_environment_clusters 1
|
||||
|
||||
# principal_components of local descriptors
|
||||
number_of_principal_components 2
|
||||
|
||||
# polynomial degrees for radial basis functions
|
||||
bessel_polynomial_degree 3
|
||||
inverse_polynomial_degree 6
|
||||
|
||||
# one-body potential
|
||||
onebody 1
|
||||
|
||||
# two-body linear POD potential
|
||||
twobody_number_radial_basis_functions 6
|
||||
|
||||
# three-body linear POD potential
|
||||
threebody_number_radial_basis_functions 5
|
||||
threebody_number_angular_basis_functions 5
|
||||
threebody_angular_degree 4
|
||||
|
||||
# four-body linear SNAP potential
|
||||
fourbody_snap_twojmax 0
|
||||
# four-body linear POD potential
|
||||
fourbody_number_radial_basis_functions 0
|
||||
fourbody_angular_degree 0
|
||||
|
||||
# quadratic POD potential
|
||||
quadratic_pod_potential 0
|
||||
# five-body linear POD potential
|
||||
fivebody_number_radial_basis_functions 0
|
||||
fivebody_angular_degree 0
|
||||
|
||||
# six-body linear POD potential
|
||||
sixbody_number_radial_basis_functions 0
|
||||
sixbody_angular_degree 0
|
||||
|
||||
# seven-body linear POD potential
|
||||
sevenbody_number_radial_basis_functions 0
|
||||
sevenbody_angular_degree 0
|
||||
|
||||
# Add the following basename to the name of output files
|
||||
basename_for_output_files Ta
|
||||
|
||||
# number of digits after the decimal point
|
||||
precision_for_pod_coefficients 5
|
||||
|
||||
10
src/.gitignore
vendored
10
src/.gitignore
vendored
@ -109,6 +109,8 @@
|
||||
|
||||
/pair_pod.cpp
|
||||
/pair_pod.h
|
||||
/eapod.cpp
|
||||
/eapod.h
|
||||
/fitpod_command.cpp
|
||||
/fitpod_command.h
|
||||
/mlpod.cpp
|
||||
@ -249,6 +251,14 @@
|
||||
/compute_grid.h
|
||||
/compute_grid_local.cpp
|
||||
/compute_grid_local.h
|
||||
/compute_pod_atom.cpp
|
||||
/compute_pod_atom.h
|
||||
/compute_pod_global.cpp
|
||||
/compute_pod_global.h
|
||||
/compute_pod_local.cpp
|
||||
/compute_pod_local.h
|
||||
/compute_podd_atom.cpp
|
||||
/compute_podd_atom.h
|
||||
/compute_sna_atom.cpp
|
||||
/compute_sna_atom.h
|
||||
/compute_snad_atom.cpp
|
||||
|
||||
@ -185,6 +185,10 @@ if (test $1 = "ML-PACE") then
|
||||
depend KOKKOS
|
||||
fi
|
||||
|
||||
if (test $1 = "ML-POD") then
|
||||
depend KOKKOS
|
||||
fi
|
||||
|
||||
if (test $1 = "ML-SNAP") then
|
||||
depend ML-IAP
|
||||
depend KOKKOS
|
||||
|
||||
@ -92,9 +92,9 @@ FixAdaptFEP::FixAdaptFEP(LAMMPS *lmp, int narg, char **arg) :
|
||||
adapt[nadapt].pstyle = utils::strdup(arg[iarg+1]);
|
||||
adapt[nadapt].pparam = utils::strdup(arg[iarg+2]);
|
||||
utils::bounds_typelabel(FLERR, arg[iarg+3], 1, atom->ntypes,
|
||||
adapt[nadapt].ilo, adapt[nadapt].ihi, error, lmp, Atom::ATOM);
|
||||
adapt[nadapt].ilo, adapt[nadapt].ihi, lmp, Atom::ATOM);
|
||||
utils::bounds_typelabel(FLERR, arg[iarg+4], 1, atom->ntypes,
|
||||
adapt[nadapt].jlo, adapt[nadapt].jhi, error, lmp, Atom::ATOM);
|
||||
adapt[nadapt].jlo, adapt[nadapt].jhi, lmp, Atom::ATOM);
|
||||
|
||||
// switch i,j if i > j, if wildcards were not used
|
||||
|
||||
@ -131,7 +131,7 @@ FixAdaptFEP::FixAdaptFEP(LAMMPS *lmp, int narg, char **arg) :
|
||||
chgflag = 1;
|
||||
} else error->all(FLERR,"Illegal fix adapt/fep command");
|
||||
utils::bounds_typelabel(FLERR, arg[iarg+2], 1, atom->ntypes,
|
||||
adapt[nadapt].ilo, adapt[nadapt].ihi, error, lmp, Atom::ATOM);
|
||||
adapt[nadapt].ilo, adapt[nadapt].ihi, lmp, Atom::ATOM);
|
||||
if (utils::strmatch(arg[iarg+3],"^v_")) {
|
||||
adapt[nadapt].var = utils::strdup(arg[iarg+3]+2);
|
||||
} else error->all(FLERR,"Illegal fix adapt/fep command");
|
||||
|
||||
@ -703,7 +703,7 @@ void FixPour::pre_exchange()
|
||||
// rebuild atom map
|
||||
|
||||
if (atom->map_style != Atom::MAP_NONE) {
|
||||
if (success) atom->map_init();
|
||||
atom->map_init();
|
||||
atom->map_set();
|
||||
}
|
||||
|
||||
|
||||
@ -26,6 +26,7 @@
|
||||
#include "memory.h"
|
||||
#include "modify.h"
|
||||
#include "neighbor.h"
|
||||
#include "respa.h"
|
||||
#include "update.h"
|
||||
|
||||
#include <cmath>
|
||||
@ -335,8 +336,13 @@ void FixNHIntel::reset_dt()
|
||||
|
||||
// If using respa, then remap is performed in innermost level
|
||||
|
||||
if (utils::strmatch(update->integrate_style,"^respa"))
|
||||
if (utils::strmatch(update->integrate_style,"^respa")) {
|
||||
auto respa_ptr = dynamic_cast<Respa *>(update->integrate);
|
||||
if (!respa_ptr) error->all(FLERR, "Failure to access Respa style {}", update->integrate_style);
|
||||
nlevels_respa = respa_ptr->nlevels;
|
||||
step_respa = respa_ptr->step;
|
||||
dto = 0.5*step_respa[0];
|
||||
}
|
||||
|
||||
if (pstat_flag)
|
||||
pdrag_factor = 1.0 - (update->dt * p_freq_max * drag / nc_pchain);
|
||||
|
||||
@ -358,6 +358,8 @@ action pair_multi_lucy_rx_kokkos.cpp pair_multi_lucy_rx.cpp
|
||||
action pair_multi_lucy_rx_kokkos.h pair_multi_lucy_rx.h
|
||||
action pair_pace_extrapolation_kokkos.cpp pair_pace_extrapolation.cpp
|
||||
action pair_pace_extrapolation_kokkos.h pair_pace_extrapolation.h
|
||||
action pair_pod_kokkos.cpp pair_pod.cpp
|
||||
action pair_pod_kokkos.h pair_pod.h
|
||||
action pair_pace_kokkos.cpp pair_pace.cpp
|
||||
action pair_pace_kokkos.h pair_pace.h
|
||||
action pair_reaxff_kokkos.cpp pair_reaxff.cpp
|
||||
|
||||
@ -138,9 +138,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairBuckKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT r6inv = r2inv*r2inv*r2inv;
|
||||
const F_FLOAT r = sqrt(rsq);
|
||||
@ -157,9 +155,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairBuckKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT r6inv = r2inv*r2inv*r2inv;
|
||||
const F_FLOAT r = sqrt(rsq);
|
||||
|
||||
@ -155,10 +155,8 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJClass2CoulCutKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j,
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &,
|
||||
const int &itype, const int &jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT rinv = sqrt(r2inv);
|
||||
const F_FLOAT r3inv = r2inv*rinv;
|
||||
|
||||
@ -160,10 +160,8 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJClass2CoulLongKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j,
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &,
|
||||
const int &itype, const int &jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT rinv = sqrt(r2inv);
|
||||
const F_FLOAT r3inv = r2inv*rinv;
|
||||
|
||||
@ -139,9 +139,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJClass2Kokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT rinv = sqrt(r2inv);
|
||||
const F_FLOAT r3inv = r2inv*rinv;
|
||||
@ -159,9 +157,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJClass2Kokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT rinv = sqrt(r2inv);
|
||||
const F_FLOAT r3inv = r2inv*rinv;
|
||||
|
||||
@ -133,9 +133,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJCutKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT r6inv = r2inv*r2inv*r2inv;
|
||||
|
||||
@ -150,9 +148,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJCutKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT r6inv = r2inv*r2inv*r2inv;
|
||||
|
||||
|
||||
@ -138,39 +138,13 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJSPICAKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const int ljt = (STACKPARAMS?m_params[itype][jtype].lj_type:params(itype,jtype).lj_type);
|
||||
|
||||
const F_FLOAT lj_1 = (STACKPARAMS?m_params[itype][jtype].lj1:params(itype,jtype).lj1);
|
||||
const F_FLOAT lj_2 = (STACKPARAMS?m_params[itype][jtype].lj2:params(itype,jtype).lj2);
|
||||
|
||||
/*if (ljt == LJ12_4) {
|
||||
|
||||
const F_FLOAT r4inv=r2inv*r2inv;
|
||||
return r4inv*(lj_1*r4inv*r4inv - lj_2) * r2inv;
|
||||
|
||||
} else if (ljt == LJ9_6) {
|
||||
|
||||
const F_FLOAT r3inv = r2inv*sqrt(r2inv);
|
||||
const F_FLOAT r6inv = r3inv*r3inv;
|
||||
return r6inv*(lj_1*r3inv - lj_2) * r2inv;
|
||||
|
||||
} else if (ljt == LJ12_6) {
|
||||
|
||||
const double r6inv = r2inv*r2inv*r2inv;
|
||||
return r6inv*(lj_1*r6inv - lj_2) * r2inv;
|
||||
|
||||
} else if (ljt == LJ12_5) {
|
||||
|
||||
const F_FLOAT r5inv = r2inv*r2inv*sqrt(r2inv);
|
||||
const F_FLOAT r7inv = r5inv*r2inv;
|
||||
return r5inv*(lj_1*r7inv - lj_2) * r2inv;
|
||||
|
||||
}
|
||||
if (ljt!=LJ12_4 && ljt!=LJ9_6 && ljt!=LJ12_6 && ljt!=LJ12_5) return 0.0;*/
|
||||
const F_FLOAT r4inv=r2inv*r2inv;
|
||||
const F_FLOAT r6inv=r2inv*r4inv;
|
||||
const F_FLOAT a = ljt==LJ12_4?r4inv:(ljt==LJ12_5?r4inv*sqrt(r2inv):r6inv);
|
||||
@ -182,9 +156,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJSPICAKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const int ljt = (STACKPARAMS?m_params[itype][jtype].lj_type:params(itype,jtype).lj_type);
|
||||
|
||||
|
||||
@ -140,9 +140,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairMorseKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT rr = sqrt(rsq);
|
||||
const F_FLOAT r0 = STACKPARAMS ? m_params[itype][jtype].r0 : params(itype,jtype).r0;
|
||||
const F_FLOAT d0 = STACKPARAMS ? m_params[itype][jtype].d0 : params(itype,jtype).d0;
|
||||
@ -162,9 +160,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairMorseKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT rr = sqrt(rsq);
|
||||
const F_FLOAT r0 = STACKPARAMS ? m_params[itype][jtype].r0 : params(itype,jtype).r0;
|
||||
const F_FLOAT d0 = STACKPARAMS ? m_params[itype][jtype].d0 : params(itype,jtype).d0;
|
||||
|
||||
1852
src/KOKKOS/pair_pod_kokkos.cpp
Normal file
1852
src/KOKKOS/pair_pod_kokkos.cpp
Normal file
File diff suppressed because it is too large
Load Diff
226
src/KOKKOS/pair_pod_kokkos.h
Normal file
226
src/KOKKOS/pair_pod_kokkos.h
Normal file
@ -0,0 +1,226 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
// clang-format off
|
||||
PairStyle(pod/kk,PairPODKokkos<LMPDeviceType>);
|
||||
PairStyle(pod/kk/device,PairPODKokkos<LMPDeviceType>);
|
||||
PairStyle(pod/kk/host,PairPODKokkos<LMPHostType>);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
// clang-format off
|
||||
#ifndef LMP_PAIR_POD_KOKKOS_H
|
||||
#define LMP_PAIR_POD_KOKKOS_H
|
||||
|
||||
#include "pair_pod.h"
|
||||
#include "kokkos_type.h"
|
||||
#include "pair_kokkos.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
template<class DeviceType>
|
||||
class PairPODKokkos : public PairPOD {
|
||||
public:
|
||||
typedef DeviceType device_type;
|
||||
typedef ArrayTypes<DeviceType> AT;
|
||||
|
||||
PairPODKokkos(class LAMMPS *);
|
||||
~PairPODKokkos() override;
|
||||
|
||||
void compute(int, int) override;
|
||||
void coeff(int, char **) override;
|
||||
void init_style() override;
|
||||
double init_one(int, int) override;
|
||||
|
||||
int inum, maxneigh;
|
||||
int host_flag;
|
||||
|
||||
int eflag, vflag;
|
||||
int neighflag;
|
||||
|
||||
typename AT::t_neighbors_2d d_neighbors;
|
||||
typename AT::t_int_1d d_ilist;
|
||||
typename AT::t_int_1d d_numneigh;
|
||||
|
||||
DAT::tdual_efloat_1d k_eatom;
|
||||
DAT::tdual_virial_array k_vatom;
|
||||
typename AT::t_efloat_1d d_eatom;
|
||||
typename AT::t_virial_array d_vatom;
|
||||
|
||||
typename AT::t_x_array_randomread x;
|
||||
typename AT::t_f_array f;
|
||||
typename AT::t_int_1d_randomread type;
|
||||
|
||||
typedef Kokkos::DualView<F_FLOAT**, DeviceType> tdual_fparams;
|
||||
tdual_fparams k_cutsq, k_scale;
|
||||
typedef Kokkos::View<F_FLOAT**, DeviceType> t_fparams;
|
||||
t_fparams d_cutsq, d_scale;
|
||||
typename AT::t_int_1d d_map;
|
||||
|
||||
friend void pair_virial_fdotr_compute<PairPODKokkos>(PairPODKokkos*);
|
||||
|
||||
void grow(int, int);
|
||||
void copy_from_pod_class(EAPOD *podptr);
|
||||
void divideInterval(int *intervals, int N, int M);
|
||||
int calculateNumberOfIntervals(int N, int intervalSize);
|
||||
void grow_atoms(int Ni);
|
||||
void grow_pairs(int Nij);
|
||||
|
||||
void allocate() override;
|
||||
double memory_usage() override;
|
||||
|
||||
typedef Kokkos::View<int*, DeviceType> t_pod_1i;
|
||||
typedef Kokkos::View<double*, DeviceType> t_pod_1d;
|
||||
// typedef Kokkos::View<int**, DeviceType> t_pod_2i;
|
||||
// typedef Kokkos::View<double**, DeviceType> t_pod_2d;
|
||||
// typedef Kokkos::View<double**[3], DeviceType> t_pod_3d3;
|
||||
|
||||
int atomBlockSize; // size of each atom block
|
||||
int nAtomBlocks; // number of atoms blocks
|
||||
int atomBlocks[101]; // atom blocks
|
||||
double comptime[100];
|
||||
int timing;
|
||||
|
||||
int ni; // number of atoms i in the current atom block
|
||||
int nij; // number of pairs (i,j) in the current atom block
|
||||
int nimax; // maximum number of atoms i
|
||||
int nijmax; // maximum number of pairs (i,j)
|
||||
|
||||
int nelements; // number of elements
|
||||
int onebody; // one-body descriptors
|
||||
int besseldegree; // degree of Bessel functions
|
||||
int inversedegree; // degree of inverse functions
|
||||
int nbesselpars; // number of Bessel parameters
|
||||
int nCoeffPerElement; // number of coefficients per element = (nl1 + Mdesc*nClusters)
|
||||
int ns; // number of snapshots for radial basis functions
|
||||
int nl1, nl2, nl3, nl4, nl23, nl33, nl34, nl44, nl; // number of local descriptors
|
||||
int nrbf2, nrbf3, nrbf4, nrbfmax; // number of radial basis functions
|
||||
int nabf3, nabf4; // number of angular basis functions
|
||||
int K3, K4, Q4; // number of monomials
|
||||
|
||||
// environmental variables
|
||||
int nClusters; // number of environment clusters
|
||||
int nComponents; // number of principal components
|
||||
int Mdesc; // number of base descriptors
|
||||
|
||||
double rin; // inner cut-off radius
|
||||
double rcut; // outer cut-off radius
|
||||
double rmax; // rcut - rin
|
||||
double rcutsq;
|
||||
|
||||
t_pod_1d rij; // (xj - xi) for all pairs (I, J)
|
||||
t_pod_1d fij; // force for all pairs (I, J)
|
||||
t_pod_1d ei; // energy for each atom I
|
||||
t_pod_1i typeai; // types of atoms I only
|
||||
t_pod_1i numij; // number of pairs (I, J) for each atom I
|
||||
t_pod_1i idxi; // storing linear indices of atom I for all pairs (I, J)
|
||||
t_pod_1i ai; // IDs of atoms I for all pairs (I, J)
|
||||
t_pod_1i aj; // IDs of atoms J for all pairs (I, J)
|
||||
t_pod_1i ti; // types of atoms I for all pairs (I, J)
|
||||
t_pod_1i tj; // types of atoms J for all pairs (I, J)
|
||||
|
||||
t_pod_1d besselparams;
|
||||
t_pod_1d Phi; // eigenvectors matrix ns x ns
|
||||
t_pod_1d rbf; // radial basis functions nij x nrbfmax
|
||||
t_pod_1d rbfx; // x-derivatives of radial basis functions nij x nrbfmax
|
||||
t_pod_1d rbfy; // y-derivatives of radial basis functions nij x nrbfmax
|
||||
t_pod_1d rbfz; // z-derivatives of radial basis functions nij x nrbfmax
|
||||
t_pod_1d abf; // angular basis functions nij x K3
|
||||
t_pod_1d abfx; // x-derivatives of angular basis functions nij x K3
|
||||
t_pod_1d abfy; // y-derivatives of angular basis functions nij x K3
|
||||
t_pod_1d abfz; // z-derivatives of angular basis functions nij x K3
|
||||
t_pod_1d sumU; // sum of radial basis functions ni x K3 x nrbfmax x nelements
|
||||
t_pod_1d forcecoeff; // force coefficients ni x K3 x nrbfmax x nelements
|
||||
t_pod_1d Proj; // PCA Projection matrix
|
||||
t_pod_1d Centroids; // centroids of the clusters
|
||||
t_pod_1d bd; // base descriptors ni x Mdesc
|
||||
t_pod_1d cb; // force coefficients for base descriptors ni x Mdesc
|
||||
t_pod_1d pd; // environment probability descriptors ni x (1 + nComponents + 3*nClusters)
|
||||
t_pod_1d coefficients; // coefficients nCoeffPerElement x nelements
|
||||
t_pod_1i pq3, pn3, pc3; // arrays to compute 3-body angular basis functions
|
||||
t_pod_1i pa4, pb4, pc4; // arrays to compute 4-body angular basis functions
|
||||
t_pod_1i ind33l, ind33r; // nl33
|
||||
t_pod_1i ind34l, ind34r; // nl34
|
||||
t_pod_1i ind44l, ind44r; // nl44
|
||||
t_pod_1i elemindex;
|
||||
|
||||
void set_array_to_zero(t_pod_1d a, int N);
|
||||
|
||||
int NeighborCount(t_pod_1i, double, int, int);
|
||||
|
||||
void NeighborList(t_pod_1d l_rij, t_pod_1i l_numij, t_pod_1i l_typeai, t_pod_1i l_idxi,
|
||||
t_pod_1i l_ai, t_pod_1i l_aj, t_pod_1i l_ti, t_pod_1i l_tj, double l_rcutsq, int gi1, int Ni);
|
||||
|
||||
void radialbasis(t_pod_1d rbft, t_pod_1d rbftx, t_pod_1d rbfty, t_pod_1d rbftz,
|
||||
t_pod_1d rij, t_pod_1d l_besselparams, double l_rin, double l_rmax, int l_besseldegree,
|
||||
int l_inversedegree, int l_nbesselpars, int Nij);
|
||||
|
||||
void matrixMultiply(t_pod_1d a, t_pod_1d b, t_pod_1d c, int r1, int c1, int c2);
|
||||
|
||||
void angularbasis(t_pod_1d l_abf, t_pod_1d l_abfx, t_pod_1d l_abfy, t_pod_1d l_abfz,
|
||||
t_pod_1d l_rij, t_pod_1i l_pq3, int l_K3, int N);
|
||||
|
||||
void radialangularsum(t_pod_1d l_sumU, t_pod_1d l_rbf, t_pod_1d l_abf, t_pod_1i l_tj,
|
||||
t_pod_1i l_numij, const int l_nelements, const int l_nrbf3, const int l_K3, const int Ni, const int Nij);
|
||||
|
||||
void twobodydesc(t_pod_1d d2, t_pod_1d l_rbf, t_pod_1i l_idxi, t_pod_1i l_tj, int l_nrbf2, const int Ni, const int Nij);
|
||||
|
||||
void threebodydesc(t_pod_1d d3, t_pod_1d l_sumU, t_pod_1i l_pc3, t_pod_1i l_pn3,
|
||||
int l_nelements, int l_nrbf3, int l_nabf3, int l_K3, const int Ni);
|
||||
|
||||
void fourbodydesc(t_pod_1d d4, t_pod_1d l_sumU, t_pod_1i l_pa4, t_pod_1i l_pb4, t_pod_1i l_pc4,
|
||||
int l_nelements, int l_nrbf3, int l_nrbf4, int l_nabf4, int l_K3, int l_Q4, int Ni);
|
||||
|
||||
void crossdesc(t_pod_1d d12, t_pod_1d d1, t_pod_1d d2, t_pod_1i ind1, t_pod_1i ind2, int n12, int Ni);
|
||||
|
||||
void crossdesc_reduction(t_pod_1d cb1, t_pod_1d cb2, t_pod_1d c12, t_pod_1d d1,
|
||||
t_pod_1d d2, t_pod_1i ind1, t_pod_1i ind2, int n12, int Ni);
|
||||
void blockatom_base_descriptors(t_pod_1d bd, int Ni, int Nij);
|
||||
void blockatom_base_coefficients(t_pod_1d ei, t_pod_1d cb, t_pod_1d B, int Ni);
|
||||
void blockatom_environment_descriptors(t_pod_1d ei, t_pod_1d cb, t_pod_1d B, int Ni);
|
||||
|
||||
void twobody_forces(t_pod_1d fij, t_pod_1d cb2, t_pod_1d l_rbfx, t_pod_1d l_rbfy, t_pod_1d l_rbfz,
|
||||
t_pod_1i l_idxi, t_pod_1i l_tj, int l_nrbf2, const int Ni, const int Nij);
|
||||
void threebody_forces(t_pod_1d fij, t_pod_1d cb3, t_pod_1d l_rbf, t_pod_1d l_rbfx,
|
||||
t_pod_1d l_rbfy, t_pod_1d l_rbfz, t_pod_1d l_abf, t_pod_1d l_abfx, t_pod_1d l_abfy, t_pod_1d l_abfz,
|
||||
t_pod_1d l_sumU, t_pod_1i l_idxi, t_pod_1i l_tj, t_pod_1i l_pc3, t_pod_1i l_pn3, t_pod_1i l_elemindex,
|
||||
int l_nelements, int l_nrbf3, int l_nabf3, int l_K3, int Ni, int Nij);
|
||||
void fourbody_forces(t_pod_1d fij, t_pod_1d cb4, t_pod_1d l_rbf, t_pod_1d l_rbfx, t_pod_1d l_rbfy,
|
||||
t_pod_1d l_rbfz, t_pod_1d l_abf, t_pod_1d l_abfx, t_pod_1d l_abfy, t_pod_1d l_abfz, t_pod_1d l_sumU,
|
||||
t_pod_1i l_idxi, t_pod_1i l_tj, t_pod_1i l_pa4, t_pod_1i l_pb4, t_pod_1i l_pc4,
|
||||
int l_nelements, int l_nrbf3, int l_nrbf4, int l_nabf4, int l_K3, int l_Q4, int Ni, int Nij);
|
||||
|
||||
void threebody_forcecoeff(t_pod_1d fb3, t_pod_1d cb3, t_pod_1d l_sumU, t_pod_1i l_pc3,
|
||||
t_pod_1i l_pn3, t_pod_1i l_elemindex, int l_nelements, int l_nrbf3, int l_nabf3, int l_K3, int Ni);
|
||||
|
||||
void fourbody_forcecoeff(t_pod_1d fb4, t_pod_1d cb4, t_pod_1d l_sumU, t_pod_1i l_pa4,
|
||||
t_pod_1i l_pb4, t_pod_1i l_pc4, int l_nelements, int l_nrbf3, int l_nrbf4, int l_nabf4, int l_K3, int l_Q4, int Ni);
|
||||
|
||||
void allbody_forces(t_pod_1d fij, t_pod_1d l_forcecoeff, t_pod_1d l_rbf, t_pod_1d l_rbfx,
|
||||
t_pod_1d l_rbfy, t_pod_1d l_rbfz, t_pod_1d l_abf, t_pod_1d l_abfx, t_pod_1d l_abfy, t_pod_1d l_abfz,
|
||||
t_pod_1i l_idxi, t_pod_1i l_tj, int l_nelements, int l_nrbf3, int l_K3, int Nij);
|
||||
|
||||
void blockatom_energyforce(t_pod_1d l_ei, t_pod_1d l_fij, int Ni, int Nij);
|
||||
void tallyenergy(t_pod_1d l_ei, int istart, int Ni);
|
||||
void tallyforce(t_pod_1d l_fij, t_pod_1i l_ai, t_pod_1i l_aj, int Nij);
|
||||
void tallystress(t_pod_1d l_fij, t_pod_1d l_rij, t_pod_1i l_ai, t_pod_1i l_aj, int Nij);
|
||||
|
||||
void savematrix2binfile(std::string filename, t_pod_1d d_A, int nrows, int ncols);
|
||||
void saveintmatrix2binfile(std::string filename, t_pod_1i d_A, int nrows, int ncols);
|
||||
void savedatafordebugging();
|
||||
};
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
#endif
|
||||
@ -135,16 +135,14 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairSoftKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
compute_fpair(const F_FLOAT& rsq, const int &, const int &, const int& itype, const int& jtype) const {
|
||||
const F_FLOAT r = sqrt(rsq);
|
||||
const F_FLOAT cut_ij = STACKPARAMS?m_params[itype][jtype].cut:params(itype,jtype).cut;
|
||||
const F_FLOAT prefactor_ij = STACKPARAMS?m_params[itype][jtype].prefactor:params(itype,jtype).prefactor;
|
||||
const F_FLOAT arg = MY_PI*r/cut_ij;
|
||||
|
||||
F_FLOAT fpair = 0.0;
|
||||
if (r > 0.0) fpair = prefactor_ij *
|
||||
sin(arg) * MY_PI/cut_ij/r;
|
||||
if (r > 0.0) fpair = prefactor_ij * sin(arg) * MY_PI/cut_ij/r;
|
||||
|
||||
return fpair;
|
||||
}
|
||||
@ -153,8 +151,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairSoftKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
compute_evdwl(const F_FLOAT& rsq, const int &, const int &, const int& itype, const int& jtype) const {
|
||||
const F_FLOAT r = sqrt(rsq);
|
||||
const F_FLOAT cut_ij = STACKPARAMS?m_params[itype][jtype].cut:params(itype,jtype).cut;
|
||||
const F_FLOAT prefactor_ij = STACKPARAMS?m_params[itype][jtype].prefactor:params(itype,jtype).prefactor;
|
||||
|
||||
@ -202,9 +202,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairTableKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
union_int_float_t rsq_lookup;
|
||||
double fpair;
|
||||
const int tidx = d_table_const.tabindex(itype,jtype);
|
||||
@ -236,9 +234,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairTableKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
double evdwl;
|
||||
union_int_float_t rsq_lookup;
|
||||
const int tidx = d_table_const.tabindex(itype,jtype);
|
||||
|
||||
@ -218,8 +218,6 @@ KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairYukawaColloidKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT &rsq, const int &i, const int &j,
|
||||
const int &itype, const int &jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
const F_FLOAT radi = radius[i];
|
||||
const F_FLOAT radj = radius[j];
|
||||
const F_FLOAT rr = sqrt(rsq);
|
||||
@ -244,8 +242,6 @@ KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairYukawaColloidKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &i, const int &j,
|
||||
const int &itype, const int &jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
const F_FLOAT radi = radius[i];
|
||||
const F_FLOAT radj = radius[j];
|
||||
const F_FLOAT rr = sqrt(rsq);
|
||||
|
||||
@ -215,10 +215,8 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairYukawaKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j,
|
||||
compute_fpair(const F_FLOAT &rsq, const int &, const int &,
|
||||
const int &itype, const int &jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
const F_FLOAT rr = sqrt(rsq);
|
||||
// Fetch the params either off the stack or from some mapped memory?
|
||||
const F_FLOAT aa = STACKPARAMS ? m_params[itype][jtype].a
|
||||
@ -241,10 +239,8 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairYukawaKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j,
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &, const int &,
|
||||
const int &itype, const int &jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
const F_FLOAT rr = sqrt(rsq);
|
||||
const F_FLOAT aa = STACKPARAMS ? m_params[itype][jtype].a
|
||||
: params(itype,jtype).a;
|
||||
|
||||
@ -184,9 +184,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairZBLKokkos<DeviceType>::
|
||||
compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_fpair(const F_FLOAT& rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r = sqrt(rsq);
|
||||
F_FLOAT fpair = dzbldr(r, itype, jtype);
|
||||
|
||||
@ -205,9 +203,7 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairZBLKokkos<DeviceType>::
|
||||
compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const {
|
||||
(void) i;
|
||||
(void) j;
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &, const int &, const int &itype, const int &jtype) const {
|
||||
const F_FLOAT r = sqrt(rsq);
|
||||
F_FLOAT evdwl = e_zbl(r, itype, jtype);
|
||||
evdwl += d_sw5(itype,jtype);
|
||||
|
||||
277
src/ML-POD/compute_pod_atom.cpp
Normal file
277
src/ML-POD/compute_pod_atom.cpp
Normal file
@ -0,0 +1,277 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "compute_pod_atom.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "modify.h"
|
||||
#include "neigh_list.h"
|
||||
#include "neighbor.h"
|
||||
#include "pair.h"
|
||||
#include "update.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "eapod.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
enum { SCALAR, VECTOR, ARRAY };
|
||||
|
||||
ComputePODAtom::ComputePODAtom(LAMMPS *lmp, int narg, char **arg) :
|
||||
Compute(lmp, narg, arg), list(nullptr), podptr(nullptr), pod(nullptr), tmpmem(nullptr),
|
||||
rij(nullptr), elements(nullptr), map(nullptr)
|
||||
{
|
||||
int nargmin = 6;
|
||||
|
||||
if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style);
|
||||
if (comm->nprocs > 1) error->all(FLERR, "compute command does not support multi processors");
|
||||
|
||||
std::string pod_file = std::string(arg[3]); // pod input file
|
||||
std::string coeff_file = std::string(arg[4]); // coefficient input file
|
||||
podptr = new EAPOD(lmp, pod_file, coeff_file);
|
||||
|
||||
int ntypes = atom->ntypes;
|
||||
memory->create(map, ntypes + 1, "compute_pod_global:map");
|
||||
map_element2type(narg - 5, arg + 5, podptr->nelements);
|
||||
|
||||
cutmax = podptr->rcut;
|
||||
|
||||
nmax = 0;
|
||||
nijmax = 0;
|
||||
pod = nullptr;
|
||||
elements = nullptr;
|
||||
|
||||
size_peratom_cols = podptr->Mdesc * podptr->nClusters;
|
||||
peratom_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ComputePODAtom::~ComputePODAtom()
|
||||
{
|
||||
memory->destroy(map);
|
||||
memory->destroy(pod);
|
||||
delete podptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODAtom::init()
|
||||
{
|
||||
if (force->pair == nullptr)
|
||||
error->all(FLERR,"Compute pod requires a pair style be defined");
|
||||
|
||||
if (cutmax > force->pair->cutforce)
|
||||
error->all(FLERR,"Compute pod cutoff is longer than pairwise cutoff");
|
||||
|
||||
// need an occasional full neighbor list
|
||||
|
||||
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
|
||||
|
||||
if (modify->get_compute_by_style("pod").size() > 1 && comm->me == 0)
|
||||
error->warning(FLERR,"More than one compute pod");
|
||||
}
|
||||
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODAtom::init_list(int /*id*/, NeighList *ptr)
|
||||
{
|
||||
list = ptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODAtom::compute_peratom()
|
||||
{
|
||||
invoked_peratom = update->ntimestep;
|
||||
|
||||
// grow pod array if necessary
|
||||
|
||||
if (atom->natoms > nmax) {
|
||||
memory->destroy(pod);
|
||||
nmax = atom->natoms;
|
||||
int numdesc = podptr->Mdesc * podptr->nClusters;
|
||||
memory->create(pod, nmax, numdesc,"sna/atom:sna");
|
||||
array_atom = pod;
|
||||
}
|
||||
|
||||
for (int i = 0; i < atom->natoms; i++)
|
||||
for (int icoeff = 0; icoeff < size_peratom_cols; icoeff++) {
|
||||
pod[i][icoeff] = 0.0;
|
||||
}
|
||||
|
||||
// invoke full neighbor list (will copy or build if necessary)
|
||||
|
||||
neighbor->build_one(list);
|
||||
|
||||
double **x = atom->x;
|
||||
int **firstneigh = list->firstneigh;
|
||||
int *numneigh = list->numneigh;
|
||||
int *type = atom->type;
|
||||
int *ilist = list->ilist;
|
||||
int inum = list->inum;
|
||||
int nClusters = podptr->nClusters;
|
||||
int Mdesc = podptr->Mdesc;
|
||||
double rcutsq = podptr->rcut*podptr->rcut;
|
||||
|
||||
for (int ii = 0; ii < inum; ii++) {
|
||||
int i = ilist[ii];
|
||||
int jnum = numneigh[i];
|
||||
|
||||
// allocate temporary memory
|
||||
if (nijmax < jnum) {
|
||||
nijmax = MAX(nijmax, jnum);
|
||||
podptr->free_temp_memory();
|
||||
podptr->allocate_temp_memory(nijmax);
|
||||
}
|
||||
|
||||
rij = &podptr->tmpmem[0];
|
||||
tmpmem = &podptr->tmpmem[3*nijmax];
|
||||
ai = &podptr->tmpint[0];
|
||||
aj = &podptr->tmpint[nijmax];
|
||||
ti = &podptr->tmpint[2*nijmax];
|
||||
tj = &podptr->tmpint[3*nijmax];
|
||||
|
||||
// get neighbor list for atom i
|
||||
lammpsNeighborList(x, firstneigh, atom->tag, type, numneigh, rcutsq, i);
|
||||
|
||||
if (nij > 0) {
|
||||
// peratom base descriptors
|
||||
double *bd = &podptr->bd[0];
|
||||
double *bdd = &podptr->bdd[0];
|
||||
podptr->peratombase_descriptors(bd, bdd, rij, tmpmem, tj, nij);
|
||||
|
||||
if (nClusters>1) {
|
||||
// peratom env descriptors
|
||||
double *pd = &podptr->pd[0];
|
||||
double *pdd = &podptr->pdd[0];
|
||||
podptr->peratomenvironment_descriptors(pd, pdd, bd, bdd, tmpmem, ti[0] - 1, nij);
|
||||
for (int k = 0; k < nClusters; k++)
|
||||
for (int m = 0; m < Mdesc; m++) {
|
||||
int mk = m + Mdesc*k;
|
||||
pod[i][mk] = pd[k]*bd[m];
|
||||
// for (int n=0; n<nij; n++) {
|
||||
// int ain = 3*ai[n];
|
||||
// int ajn = 3*aj[n];
|
||||
// int nm = 3*n + 3*nij*m;
|
||||
// int nk = 3*n + 3*nij*k;
|
||||
// pod[1 + ain][imk] += bdd[0 + nm]*pd[k] + bd[m]*pdd[0+nk];
|
||||
// pod[2 + ain][imk] += bdd[1 + nm]*pd[k] + bd[m]*pdd[1+nk];
|
||||
// pod[3 + ain][imk] += bdd[2 + nm]*pd[k] + bd[m]*pdd[2+nk];
|
||||
// pod[1 + ajn][imk] -= bdd[0 + nm]*pd[k] + bd[m]*pdd[0+nk];
|
||||
// pod[2 + ajn][imk] -= bdd[1 + nm]*pd[k] + bd[m]*pdd[1+nk];
|
||||
// pod[3 + ajn][imk] -= bdd[2 + nm]*pd[k] + bd[m]*pdd[2+nk];
|
||||
// }
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int m = 0; m < Mdesc; m++) {
|
||||
pod[i][m] = bd[m];
|
||||
// for (int n=0; n<nij; n++) {
|
||||
// int ain = 3*ai[n];
|
||||
// int ajn = 3*aj[n];
|
||||
// int nm = 3*n + 3*nij*m;
|
||||
// pod[1 + ain][im] += bdd[0 + nm];
|
||||
// pod[2 + ain][im] += bdd[1 + nm];
|
||||
// pod[3 + ain][im] += bdd[2 + nm];
|
||||
// pod[1 + ajn][im] -= bdd[0 + nm];
|
||||
// pod[2 + ajn][im] -= bdd[1 + nm];
|
||||
// pod[3 + ajn][im] -= bdd[2 + nm];
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
memory usage
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double ComputePODAtom::memory_usage()
|
||||
{
|
||||
double bytes = 0.0;
|
||||
|
||||
return bytes;
|
||||
}
|
||||
|
||||
void ComputePODAtom::lammpsNeighborList(double **x, int **firstneigh, tagint *atomid, int *atomtypes,
|
||||
int *numneigh, double rcutsq, int gi)
|
||||
{
|
||||
nij = 0;
|
||||
int itype = map[atomtypes[gi]] + 1;
|
||||
int m = numneigh[gi];
|
||||
ti[nij] = itype;
|
||||
for (int l = 0; l < m; l++) { // loop over each atom around atom i
|
||||
int gj = firstneigh[gi][l]; // atom j
|
||||
double delx = x[gj][0] - x[gi][0]; // xj - xi
|
||||
double dely = x[gj][1] - x[gi][1]; // xj - xi
|
||||
double delz = x[gj][2] - x[gi][2]; // xj - xi
|
||||
double rsq = delx * delx + dely * dely + delz * delz;
|
||||
if (rsq < rcutsq && rsq > 1e-20) {
|
||||
rij[nij * 3 + 0] = delx;
|
||||
rij[nij * 3 + 1] = dely;
|
||||
rij[nij * 3 + 2] = delz;
|
||||
ai[nij] = atomid[gi]-1;
|
||||
aj[nij] = atomid[gj]-1;
|
||||
ti[nij] = itype;
|
||||
tj[nij] = map[atomtypes[gj]] + 1;
|
||||
nij++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ComputePODAtom::map_element2type(int narg, char **arg, int nelements)
|
||||
{
|
||||
int i,j;
|
||||
const int ntypes = atom->ntypes;
|
||||
|
||||
// read args that map atom types to elements in potential file
|
||||
// map[i] = which element the Ith atom type is, -1 if "NULL"
|
||||
// nelements = # of unique elements
|
||||
// elements = list of element names
|
||||
|
||||
if (narg != ntypes)
|
||||
error->all(FLERR, "Number of element to type mappings does not match number of atom types");
|
||||
|
||||
if (elements) {
|
||||
for (i = 0; i < nelements; i++) delete[] elements[i];
|
||||
delete[] elements;
|
||||
}
|
||||
elements = new char*[ntypes];
|
||||
for (i = 0; i < ntypes; i++) elements[i] = nullptr;
|
||||
|
||||
nelements = 0;
|
||||
map[0] = -1;
|
||||
for (i = 1; i <= narg; i++) {
|
||||
std::string entry = arg[i-1];
|
||||
if (entry == "NULL") {
|
||||
map[i] = -1;
|
||||
continue;
|
||||
}
|
||||
for (j = 0; j < nelements; j++)
|
||||
if (entry == elements[j]) break;
|
||||
map[i] = j;
|
||||
if (j == nelements) {
|
||||
elements[j] = utils::strdup(entry);
|
||||
nelements++;
|
||||
}
|
||||
}
|
||||
}
|
||||
61
src/ML-POD/compute_pod_atom.h
Normal file
61
src/ML-POD/compute_pod_atom.h
Normal file
@ -0,0 +1,61 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef COMPUTE_CLASS
|
||||
// clang-format off
|
||||
ComputeStyle(pod/atom,ComputePODAtom);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef LMP_COMPUTE_POD_ATOM_H
|
||||
#define LMP_COMPUTE_POD_ATOM_H
|
||||
|
||||
#include "compute.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class ComputePODAtom : public Compute {
|
||||
public:
|
||||
ComputePODAtom(class LAMMPS *, int, char **);
|
||||
~ComputePODAtom() override;
|
||||
void init() override;
|
||||
void init_list(int, class NeighList *) override;
|
||||
void compute_peratom() override;
|
||||
double memory_usage() override;
|
||||
void lammpsNeighborList(double **x, int **firstneigh, tagint *atomid, int *atomtype,
|
||||
int *numneigh, double rcutsq, int i);
|
||||
void map_element2type(int narg, char **arg, int nelements);
|
||||
|
||||
private:
|
||||
class NeighList *list;
|
||||
class EAPOD *podptr;
|
||||
double **pod;
|
||||
double cutmax;
|
||||
int nmax;
|
||||
int nij;
|
||||
int nijmax;
|
||||
|
||||
double *tmpmem; // temporary memory
|
||||
double *rij; // (xj - xi) for all pairs (I, J)
|
||||
char **elements;
|
||||
int *map;
|
||||
int *ai; // IDs of atoms I for all pairs (I, J)
|
||||
int *aj; // IDs of atoms J for all pairs (I, J)
|
||||
int *ti; // types of atoms I for all pairs (I, J)
|
||||
int *tj; // types of atoms J for all pairs (I, J)
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
#endif
|
||||
283
src/ML-POD/compute_pod_global.cpp
Normal file
283
src/ML-POD/compute_pod_global.cpp
Normal file
@ -0,0 +1,283 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "compute_pod_global.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "modify.h"
|
||||
#include "neigh_list.h"
|
||||
#include "neighbor.h"
|
||||
#include "pair.h"
|
||||
#include "update.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "eapod.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
enum { SCALAR, VECTOR, ARRAY };
|
||||
|
||||
ComputePODGlobal::ComputePODGlobal(LAMMPS *lmp, int narg, char **arg) :
|
||||
Compute(lmp, narg, arg), list(nullptr), podptr(nullptr), pod(nullptr), tmpmem(nullptr),
|
||||
rij(nullptr), elements(nullptr), map(nullptr), ai(nullptr), aj(nullptr), ti(nullptr),
|
||||
tj(nullptr)
|
||||
{
|
||||
array_flag = 1;
|
||||
extarray = 0;
|
||||
|
||||
int nargmin = 6;
|
||||
|
||||
if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style);
|
||||
if (comm->nprocs > 1) error->all(FLERR, "compute command does not support multi processors");
|
||||
|
||||
std::string pod_file = std::string(arg[3]); // pod input file
|
||||
std::string coeff_file = std::string(arg[4]); // coefficient input file
|
||||
podptr = new EAPOD(lmp, pod_file, coeff_file);
|
||||
|
||||
int ntypes = atom->ntypes;
|
||||
memory->create(map, ntypes + 1, "compute_pod_global:map");
|
||||
map_element2type(narg - 5, arg + 5, podptr->nelements);
|
||||
|
||||
size_array_rows = 1 + 3*atom->natoms;
|
||||
size_array_cols = podptr->nCoeffAll;
|
||||
cutmax = podptr->rcut;
|
||||
|
||||
nijmax = 0;
|
||||
pod = nullptr;
|
||||
elements = nullptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ComputePODGlobal::~ComputePODGlobal()
|
||||
{
|
||||
memory->destroy(map);
|
||||
memory->destroy(pod);
|
||||
delete podptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODGlobal::init()
|
||||
{
|
||||
if (force->pair == nullptr)
|
||||
error->all(FLERR,"Compute pod requires a pair style be defined");
|
||||
|
||||
if (cutmax > force->pair->cutforce)
|
||||
error->all(FLERR,"Compute pod cutoff is longer than pairwise cutoff");
|
||||
|
||||
// need an occasional full neighbor list
|
||||
|
||||
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
|
||||
|
||||
if (modify->get_compute_by_style("pod").size() > 1 && comm->me == 0)
|
||||
error->warning(FLERR,"More than one compute pod");
|
||||
|
||||
// allocate memory for global array
|
||||
memory->create(pod,size_array_rows,size_array_cols,
|
||||
"compute_pod_global:pod");
|
||||
array = pod;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODGlobal::init_list(int /*id*/, NeighList *ptr)
|
||||
{
|
||||
list = ptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODGlobal::compute_array()
|
||||
{
|
||||
// int ntotal = atom->nlocal + atom->nghost;
|
||||
invoked_peratom = update->ntimestep;
|
||||
|
||||
// clear global array
|
||||
|
||||
for (int irow = 0; irow < size_array_rows; irow++)
|
||||
for (int icoeff = 0; icoeff < size_array_cols; icoeff++)
|
||||
pod[irow][icoeff] = 0.0;
|
||||
|
||||
// invoke full neighbor list (will copy or build if necessary)
|
||||
|
||||
neighbor->build_one(list);
|
||||
|
||||
double **x = atom->x;
|
||||
int **firstneigh = list->firstneigh;
|
||||
int *numneigh = list->numneigh;
|
||||
int *type = atom->type;
|
||||
int *ilist = list->ilist;
|
||||
int inum = list->inum;
|
||||
int nClusters = podptr->nClusters;
|
||||
int Mdesc = podptr->Mdesc;
|
||||
int nCoeffPerElement = podptr->nCoeffPerElement;
|
||||
|
||||
double rcutsq = podptr->rcut*podptr->rcut;
|
||||
|
||||
for (int ii = 0; ii < inum; ii++) {
|
||||
int i = ilist[ii];
|
||||
int jnum = numneigh[i];
|
||||
|
||||
// allocate temporary memory
|
||||
if (nijmax < jnum) {
|
||||
nijmax = MAX(nijmax, jnum);
|
||||
podptr->free_temp_memory();
|
||||
podptr->allocate_temp_memory(nijmax);
|
||||
}
|
||||
|
||||
rij = &podptr->tmpmem[0];
|
||||
tmpmem = &podptr->tmpmem[3*nijmax];
|
||||
ai = &podptr->tmpint[0];
|
||||
aj = &podptr->tmpint[nijmax];
|
||||
ti = &podptr->tmpint[2*nijmax];
|
||||
tj = &podptr->tmpint[3*nijmax];
|
||||
|
||||
// get neighbor list for atom i
|
||||
lammpsNeighborList(x, firstneigh, atom->tag, type, numneigh, rcutsq, i);
|
||||
|
||||
if (nij > 0) {
|
||||
// peratom base descriptors
|
||||
double *bd = &podptr->bd[0];
|
||||
double *bdd = &podptr->bdd[0];
|
||||
podptr->peratombase_descriptors(bd, bdd, rij, tmpmem, tj, nij);
|
||||
|
||||
pod[0][nCoeffPerElement*(ti[0]-1)] += 1.0; // one-body descriptor
|
||||
|
||||
if (nClusters>1) {
|
||||
// peratom env descriptors
|
||||
double *pd = &podptr->pd[0];
|
||||
double *pdd = &podptr->pdd[0];
|
||||
podptr->peratomenvironment_descriptors(pd, pdd, bd, bdd, tmpmem, ti[0] - 1, nij);
|
||||
|
||||
for (int j = 0; j < nClusters; j++) {
|
||||
for (int m=0; m<Mdesc; m++) {
|
||||
int k = nCoeffPerElement*(ti[0]-1) + 1 + m + j*Mdesc; // increment by 1 because of the one-body descriptor
|
||||
pod[0][k] += pd[j]*bd[m];
|
||||
for (int n=0; n<nij; n++) {
|
||||
int ain = 3*ai[n];
|
||||
int ajn = 3*aj[n];
|
||||
int nm = 3*n + 3*nij*m;
|
||||
int nj = 3*n + 3*nij*j;
|
||||
pod[1+ain][k] += bdd[0 + nm]*pd[j] + bd[m]*pdd[0 + nj];
|
||||
pod[2+ain][k] += bdd[1 + nm]*pd[j] + bd[m]*pdd[1 + nj];
|
||||
pod[3+ain][k] += bdd[2 + nm]*pd[j] + bd[m]*pdd[2 + nj];
|
||||
pod[1+ajn][k] -= bdd[0 + nm]*pd[j] + bd[m]*pdd[0 + nj];
|
||||
pod[2+ajn][k] -= bdd[1 + nm]*pd[j] + bd[m]*pdd[1 + nj];
|
||||
pod[3+ajn][k] -= bdd[2 + nm]*pd[j] + bd[m]*pdd[2 + nj];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int m=0; m<Mdesc; m++) {
|
||||
int k = nCoeffPerElement*(ti[0]-1) + 1 + m; // increment by 1 because of the one-body descriptor
|
||||
pod[0][k] += bd[m];
|
||||
for (int n=0; n<nij; n++) {
|
||||
int ain = 3*ai[n];
|
||||
int ajn = 3*aj[n];
|
||||
int nm = 3*n + 3*nij*m;
|
||||
pod[1+ain][k] += bdd[0 + nm];
|
||||
pod[2+ain][k] += bdd[1 + nm];
|
||||
pod[3+ain][k] += bdd[2 + nm];
|
||||
pod[1+ajn][k] -= bdd[0 + nm];
|
||||
pod[2+ajn][k] -= bdd[1 + nm];
|
||||
pod[3+ajn][k] -= bdd[2 + nm];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
memory usage
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double ComputePODGlobal::memory_usage()
|
||||
{
|
||||
double bytes = 0.0;
|
||||
|
||||
return bytes;
|
||||
}
|
||||
|
||||
|
||||
void ComputePODGlobal::lammpsNeighborList(double **x, int **firstneigh, tagint *atomid, int *atomtypes,
|
||||
int *numneigh, double rcutsq, int gi)
|
||||
{
|
||||
nij = 0;
|
||||
int itype = map[atomtypes[gi]] + 1;
|
||||
ti[nij] = itype;
|
||||
int m = numneigh[gi];
|
||||
for (int l = 0; l < m; l++) { // loop over each atom around atom i
|
||||
int gj = firstneigh[gi][l]; // atom j
|
||||
double delx = x[gj][0] - x[gi][0]; // xj - xi
|
||||
double dely = x[gj][1] - x[gi][1]; // xj - xi
|
||||
double delz = x[gj][2] - x[gi][2]; // xj - xi
|
||||
double rsq = delx * delx + dely * dely + delz * delz;
|
||||
if (rsq < rcutsq && rsq > 1e-20) {
|
||||
rij[nij * 3 + 0] = delx;
|
||||
rij[nij * 3 + 1] = dely;
|
||||
rij[nij * 3 + 2] = delz;
|
||||
ai[nij] = atomid[gi]-1;
|
||||
aj[nij] = atomid[gj]-1;
|
||||
ti[nij] = itype;
|
||||
tj[nij] = map[atomtypes[gj]] + 1;
|
||||
nij++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ComputePODGlobal::map_element2type(int narg, char **arg, int nelements)
|
||||
{
|
||||
int i,j;
|
||||
const int ntypes = atom->ntypes;
|
||||
|
||||
// read args that map atom types to elements in potential file
|
||||
// map[i] = which element the Ith atom type is, -1 if "NULL"
|
||||
// nelements = # of unique elements
|
||||
// elements = list of element names
|
||||
|
||||
if (narg != ntypes)
|
||||
error->all(FLERR, "Number of element to type mappings does not match number of atom types");
|
||||
|
||||
if (elements) {
|
||||
for (i = 0; i < nelements; i++) delete[] elements[i];
|
||||
delete[] elements;
|
||||
}
|
||||
elements = new char*[ntypes];
|
||||
for (i = 0; i < ntypes; i++) elements[i] = nullptr;
|
||||
|
||||
nelements = 0;
|
||||
map[0] = -1;
|
||||
for (i = 1; i <= narg; i++) {
|
||||
std::string entry = arg[i-1];
|
||||
if (entry == "NULL") {
|
||||
map[i] = -1;
|
||||
continue;
|
||||
}
|
||||
for (j = 0; j < nelements; j++)
|
||||
if (entry == elements[j]) break;
|
||||
map[i] = j;
|
||||
if (j == nelements) {
|
||||
elements[j] = utils::strdup(entry);
|
||||
nelements++;
|
||||
}
|
||||
}
|
||||
}
|
||||
60
src/ML-POD/compute_pod_global.h
Normal file
60
src/ML-POD/compute_pod_global.h
Normal file
@ -0,0 +1,60 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef COMPUTE_CLASS
|
||||
// clang-format off
|
||||
ComputeStyle(pod/global,ComputePODGlobal);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef LMP_COMPUTE_POD_GLOBAL_H
|
||||
#define LMP_COMPUTE_POD_GLOBAL_H
|
||||
|
||||
#include "compute.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class ComputePODGlobal : public Compute {
|
||||
public:
|
||||
ComputePODGlobal(class LAMMPS *, int, char **);
|
||||
~ComputePODGlobal() override;
|
||||
void init() override;
|
||||
void init_list(int, class NeighList *) override;
|
||||
void compute_array() override;
|
||||
double memory_usage() override;
|
||||
void lammpsNeighborList(double **x, int **firstneigh, tagint *atomid, int *atomtype,
|
||||
int *numneigh, double rcutsq, int i);
|
||||
void map_element2type(int narg, char **arg, int nelements);
|
||||
|
||||
private:
|
||||
class NeighList *list;
|
||||
class EAPOD *podptr;
|
||||
double **pod;
|
||||
double cutmax;
|
||||
int nij;
|
||||
int nijmax;
|
||||
|
||||
double *tmpmem; // temporary memory
|
||||
double *rij; // (xj - xi) for all pairs (I, J)
|
||||
char **elements;
|
||||
int *map;
|
||||
int *ai; // IDs of atoms I for all pairs (I, J)
|
||||
int *aj; // IDs of atoms J for all pairs (I, J)
|
||||
int *ti; // types of atoms I for all pairs (I, J)
|
||||
int *tj; // types of atoms J for all pairs (I, J)
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
#endif
|
||||
280
src/ML-POD/compute_pod_local.cpp
Normal file
280
src/ML-POD/compute_pod_local.cpp
Normal file
@ -0,0 +1,280 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "compute_pod_local.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "modify.h"
|
||||
#include "neigh_list.h"
|
||||
#include "neighbor.h"
|
||||
#include "pair.h"
|
||||
#include "update.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "eapod.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
enum { SCALAR, VECTOR, ARRAY };
|
||||
|
||||
ComputePODLocal::ComputePODLocal(LAMMPS *lmp, int narg, char **arg) :
|
||||
Compute(lmp, narg, arg), list(nullptr), podptr(nullptr), pod(nullptr), tmpmem(nullptr),
|
||||
rij(nullptr), elements(nullptr), map(nullptr), ai(nullptr), aj(nullptr), ti(nullptr),
|
||||
tj(nullptr)
|
||||
{
|
||||
array_flag = 1;
|
||||
extarray = 0;
|
||||
|
||||
int nargmin = 6;
|
||||
|
||||
if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style);
|
||||
if (comm->nprocs > 1) error->all(FLERR, "compute command does not support multi processors");
|
||||
|
||||
std::string pod_file = std::string(arg[3]); // pod input file
|
||||
std::string coeff_file = std::string(arg[4]); // coefficient input file
|
||||
podptr = new EAPOD(lmp, pod_file, coeff_file);
|
||||
|
||||
int ntypes = atom->ntypes;
|
||||
memory->create(map, ntypes + 1, "compute_pod_local:map");
|
||||
|
||||
map_element2type(narg - 5, arg + 5, podptr->nelements);
|
||||
|
||||
int numdesc = podptr->Mdesc * podptr->nClusters;
|
||||
size_array_rows = 1 + 3*atom->natoms;
|
||||
size_array_cols = atom->natoms*numdesc;
|
||||
cutmax = podptr->rcut;
|
||||
|
||||
nijmax = 0;
|
||||
pod = nullptr;
|
||||
elements = nullptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ComputePODLocal::~ComputePODLocal()
|
||||
{
|
||||
memory->destroy(map);
|
||||
memory->destroy(pod);
|
||||
delete podptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODLocal::init()
|
||||
{
|
||||
if (force->pair == nullptr)
|
||||
error->all(FLERR,"Compute pod requires a pair style be defined");
|
||||
|
||||
if (cutmax > force->pair->cutforce)
|
||||
error->all(FLERR,"Compute pod cutoff is longer than pairwise cutoff");
|
||||
|
||||
// need an occasional full neighbor list
|
||||
|
||||
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
|
||||
|
||||
if (modify->get_compute_by_style("pod").size() > 1 && comm->me == 0)
|
||||
error->warning(FLERR,"More than one compute pod");
|
||||
|
||||
// allocate memory for global array
|
||||
memory->create(pod,size_array_rows,size_array_cols,
|
||||
"compute_pod_local:pod");
|
||||
array = pod;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODLocal::init_list(int /*id*/, NeighList *ptr)
|
||||
{
|
||||
list = ptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODLocal::compute_array()
|
||||
{
|
||||
// int ntotal = atom->nlocal + atom->nghost;
|
||||
invoked_peratom = update->ntimestep;
|
||||
|
||||
// clear global array
|
||||
|
||||
for (int irow = 0; irow < size_array_rows; irow++)
|
||||
for (int icoeff = 0; icoeff < size_array_cols; icoeff++)
|
||||
pod[irow][icoeff] = 0.0;
|
||||
|
||||
// invoke full neighbor list (will copy or build if necessary)
|
||||
|
||||
neighbor->build_one(list);
|
||||
|
||||
double **x = atom->x;
|
||||
int **firstneigh = list->firstneigh;
|
||||
int *numneigh = list->numneigh;
|
||||
int *type = atom->type;
|
||||
int *ilist = list->ilist;
|
||||
int inum = list->inum;
|
||||
int nClusters = podptr->nClusters;
|
||||
int Mdesc = podptr->Mdesc;
|
||||
|
||||
double rcutsq = podptr->rcut*podptr->rcut;
|
||||
|
||||
for (int ii = 0; ii < inum; ii++) {
|
||||
int i = ilist[ii];
|
||||
int jnum = numneigh[i];
|
||||
|
||||
// allocate temporary memory
|
||||
if (nijmax < jnum) {
|
||||
nijmax = MAX(nijmax, jnum);
|
||||
podptr->free_temp_memory();
|
||||
podptr->allocate_temp_memory(nijmax);
|
||||
}
|
||||
|
||||
rij = &podptr->tmpmem[0];
|
||||
tmpmem = &podptr->tmpmem[3*nijmax];
|
||||
ai = &podptr->tmpint[0];
|
||||
aj = &podptr->tmpint[nijmax];
|
||||
ti = &podptr->tmpint[2*nijmax];
|
||||
tj = &podptr->tmpint[3*nijmax];
|
||||
|
||||
// get neighbor list for atom i
|
||||
lammpsNeighborList(x, firstneigh, atom->tag, type, numneigh, rcutsq, i);
|
||||
|
||||
if (nij > 0) {
|
||||
// peratom base descriptors
|
||||
double *bd = &podptr->bd[0];
|
||||
double *bdd = &podptr->bdd[0];
|
||||
podptr->peratombase_descriptors(bd, bdd, rij, tmpmem, tj, nij);
|
||||
|
||||
if (nClusters>1) {
|
||||
// peratom env descriptors
|
||||
double *pd = &podptr->pd[0];
|
||||
double *pdd = &podptr->pdd[0];
|
||||
podptr->peratomenvironment_descriptors(pd, pdd, bd, bdd, tmpmem, ti[0] - 1, nij);
|
||||
for (int k = 0; k < nClusters; k++)
|
||||
for (int m = 0; m < Mdesc; m++) {
|
||||
int imk = m + Mdesc*k + Mdesc*nClusters*i;
|
||||
pod[0][imk] = pd[k]*bd[m];
|
||||
for (int n=0; n<nij; n++) {
|
||||
int ain = 3*ai[n];
|
||||
int ajn = 3*aj[n];
|
||||
int nm = 3*n + 3*nij*m;
|
||||
int nk = 3*n + 3*nij*k;
|
||||
pod[1 + ain][imk] += bdd[0 + nm]*pd[k] + bd[m]*pdd[0+nk];
|
||||
pod[2 + ain][imk] += bdd[1 + nm]*pd[k] + bd[m]*pdd[1+nk];
|
||||
pod[3 + ain][imk] += bdd[2 + nm]*pd[k] + bd[m]*pdd[2+nk];
|
||||
pod[1 + ajn][imk] -= bdd[0 + nm]*pd[k] + bd[m]*pdd[0+nk];
|
||||
pod[2 + ajn][imk] -= bdd[1 + nm]*pd[k] + bd[m]*pdd[1+nk];
|
||||
pod[3 + ajn][imk] -= bdd[2 + nm]*pd[k] + bd[m]*pdd[2+nk];
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int m = 0; m < Mdesc; m++) {
|
||||
int im = m + Mdesc*i;
|
||||
pod[0][im] = bd[m];
|
||||
for (int n=0; n<nij; n++) {
|
||||
int ain = 3*ai[n];
|
||||
int ajn = 3*aj[n];
|
||||
int nm = 3*n + 3*nij*m;
|
||||
pod[1 + ain][im] += bdd[0 + nm];
|
||||
pod[2 + ain][im] += bdd[1 + nm];
|
||||
pod[3 + ain][im] += bdd[2 + nm];
|
||||
pod[1 + ajn][im] -= bdd[0 + nm];
|
||||
pod[2 + ajn][im] -= bdd[1 + nm];
|
||||
pod[3 + ajn][im] -= bdd[2 + nm];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
memory usage
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double ComputePODLocal::memory_usage()
|
||||
{
|
||||
double bytes = 0.0;
|
||||
|
||||
return bytes;
|
||||
}
|
||||
|
||||
|
||||
void ComputePODLocal::lammpsNeighborList(double **x, int **firstneigh, tagint *atomid, int *atomtypes,
|
||||
int *numneigh, double rcutsq, int gi)
|
||||
{
|
||||
nij = 0;
|
||||
int itype = map[atomtypes[gi]] + 1;
|
||||
ti[nij] = itype;
|
||||
int m = numneigh[gi];
|
||||
for (int l = 0; l < m; l++) { // loop over each atom around atom i
|
||||
int gj = firstneigh[gi][l]; // atom j
|
||||
double delx = x[gj][0] - x[gi][0]; // xj - xi
|
||||
double dely = x[gj][1] - x[gi][1]; // xj - xi
|
||||
double delz = x[gj][2] - x[gi][2]; // xj - xi
|
||||
double rsq = delx * delx + dely * dely + delz * delz;
|
||||
if (rsq < rcutsq && rsq > 1e-20) {
|
||||
rij[nij * 3 + 0] = delx;
|
||||
rij[nij * 3 + 1] = dely;
|
||||
rij[nij * 3 + 2] = delz;
|
||||
ai[nij] = atomid[gi]-1;
|
||||
aj[nij] = atomid[gj]-1;
|
||||
ti[nij] = itype;
|
||||
tj[nij] = map[atomtypes[gj]] + 1;
|
||||
nij++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ComputePODLocal::map_element2type(int narg, char **arg, int nelements)
|
||||
{
|
||||
int i,j;
|
||||
const int ntypes = atom->ntypes;
|
||||
|
||||
// read args that map atom types to elements in potential file
|
||||
// map[i] = which element the Ith atom type is, -1 if "NULL"
|
||||
// nelements = # of unique elements
|
||||
// elements = list of element names
|
||||
|
||||
if (narg != ntypes)
|
||||
error->all(FLERR, "Number of element to type mappings does not match number of atom types");
|
||||
|
||||
if (elements) {
|
||||
for (i = 0; i < nelements; i++) delete[] elements[i];
|
||||
delete[] elements;
|
||||
}
|
||||
elements = new char*[ntypes];
|
||||
for (i = 0; i < ntypes; i++) elements[i] = nullptr;
|
||||
|
||||
nelements = 0;
|
||||
map[0] = -1;
|
||||
for (i = 1; i <= narg; i++) {
|
||||
std::string entry = arg[i-1];
|
||||
if (entry == "NULL") {
|
||||
map[i] = -1;
|
||||
continue;
|
||||
}
|
||||
for (j = 0; j < nelements; j++)
|
||||
if (entry == elements[j]) break;
|
||||
map[i] = j;
|
||||
if (j == nelements) {
|
||||
elements[j] = utils::strdup(entry);
|
||||
nelements++;
|
||||
}
|
||||
}
|
||||
}
|
||||
60
src/ML-POD/compute_pod_local.h
Normal file
60
src/ML-POD/compute_pod_local.h
Normal file
@ -0,0 +1,60 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef COMPUTE_CLASS
|
||||
// clang-format off
|
||||
ComputeStyle(pod/local,ComputePODLocal);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef LMP_COMPUTE_POD_LOCAL_H
|
||||
#define LMP_COMPUTE_POD_LOCAL_H
|
||||
|
||||
#include "compute.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class ComputePODLocal : public Compute {
|
||||
public:
|
||||
ComputePODLocal(class LAMMPS *, int, char **);
|
||||
~ComputePODLocal() override;
|
||||
void init() override;
|
||||
void init_list(int, class NeighList *) override;
|
||||
void compute_array() override;
|
||||
double memory_usage() override;
|
||||
void lammpsNeighborList(double **x, int **firstneigh, tagint *atomid, int *atomtype,
|
||||
int *numneigh, double rcutsq, int i);
|
||||
void map_element2type(int narg, char **arg, int nelements);
|
||||
|
||||
private:
|
||||
class NeighList *list;
|
||||
class EAPOD *podptr;
|
||||
double **pod;
|
||||
double cutmax;
|
||||
int nij;
|
||||
int nijmax;
|
||||
|
||||
double *tmpmem; // temporary memory
|
||||
double *rij; // (xj - xi) for all pairs (I, J)
|
||||
char **elements;
|
||||
int *map;
|
||||
int *ai; // IDs of atoms I for all pairs (I, J)
|
||||
int *aj; // IDs of atoms J for all pairs (I, J)
|
||||
int *ti; // types of atoms I for all pairs (I, J)
|
||||
int *tj; // types of atoms J for all pairs (I, J)
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
#endif
|
||||
282
src/ML-POD/compute_podd_atom.cpp
Normal file
282
src/ML-POD/compute_podd_atom.cpp
Normal file
@ -0,0 +1,282 @@
|
||||
// clang-format off
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
LAMMPS development team: developers@lammps.org
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
the GNU General Public License.
|
||||
|
||||
See the README file in the top-level LAMMPS directory.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#include "compute_podd_atom.h"
|
||||
|
||||
#include "atom.h"
|
||||
#include "comm.h"
|
||||
#include "error.h"
|
||||
#include "force.h"
|
||||
#include "memory.h"
|
||||
#include "modify.h"
|
||||
#include "neigh_list.h"
|
||||
#include "neighbor.h"
|
||||
#include "pair.h"
|
||||
#include "update.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "eapod.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
|
||||
enum { SCALAR, VECTOR, ARRAY };
|
||||
|
||||
ComputePODDAtom::ComputePODDAtom(LAMMPS *lmp, int narg, char **arg) :
|
||||
Compute(lmp, narg, arg), list(nullptr), podptr(nullptr), pod(nullptr), tmpmem(nullptr),
|
||||
rij(nullptr), elements(nullptr), map(nullptr), ai(nullptr), aj(nullptr), ti(nullptr),
|
||||
tj(nullptr)
|
||||
{
|
||||
int nargmin = 6;
|
||||
|
||||
if (narg < nargmin) error->all(FLERR, "Illegal compute {} command", style);
|
||||
if (comm->nprocs > 1) error->all(FLERR, "compute command does not support multi processors");
|
||||
|
||||
std::string pod_file = std::string(arg[3]); // pod input file
|
||||
std::string coeff_file = std::string(arg[4]); // coefficient input file
|
||||
podptr = new EAPOD(lmp, pod_file, coeff_file);
|
||||
|
||||
int ntypes = atom->ntypes;
|
||||
memory->create(map, ntypes + 1, "compute_pod_global:map");
|
||||
map_element2type(narg - 5, arg + 5, podptr->nelements);
|
||||
|
||||
cutmax = podptr->rcut;
|
||||
|
||||
nmax = 0;
|
||||
nijmax = 0;
|
||||
pod = nullptr;
|
||||
elements = nullptr;
|
||||
|
||||
if (((((MAXBIGINT*3.0)*atom->natoms)*podptr->nClusters)*podptr->Mdesc) > (MAXSMALLINT*1.0))
|
||||
error->all(FLERR, "Per-atom data too large");
|
||||
size_peratom_cols = 3 * atom->natoms * podptr->Mdesc * podptr->nClusters;
|
||||
peratom_flag = 1;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
ComputePODDAtom::~ComputePODDAtom()
|
||||
{
|
||||
memory->destroy(map);
|
||||
memory->destroy(pod);
|
||||
delete podptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODDAtom::init()
|
||||
{
|
||||
if (force->pair == nullptr)
|
||||
error->all(FLERR,"Compute pod requires a pair style be defined");
|
||||
|
||||
if (cutmax > force->pair->cutforce)
|
||||
error->all(FLERR,"Compute pod cutoff is longer than pairwise cutoff");
|
||||
|
||||
// need an occasional full neighbor list
|
||||
|
||||
neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL);
|
||||
|
||||
if (modify->get_compute_by_style("pod").size() > 1 && comm->me == 0)
|
||||
error->warning(FLERR,"More than one compute pod");
|
||||
}
|
||||
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODDAtom::init_list(int /*id*/, NeighList *ptr)
|
||||
{
|
||||
list = ptr;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void ComputePODDAtom::compute_peratom()
|
||||
{
|
||||
invoked_peratom = update->ntimestep;
|
||||
|
||||
// grow pod array if necessary
|
||||
|
||||
if (atom->natoms > nmax) {
|
||||
memory->destroy(pod);
|
||||
nmax = atom->natoms;
|
||||
if (((((MAXBIGINT*3.0)*atom->natoms)*podptr->nClusters)*podptr->Mdesc) > (MAXSMALLINT*1.0))
|
||||
error->all(FLERR, "Per-atom data too large");
|
||||
int numdesc = 3 * atom->natoms * podptr->Mdesc * podptr->nClusters;
|
||||
memory->create(pod, nmax, numdesc,"podd/atom:pod");
|
||||
array_atom = pod;
|
||||
}
|
||||
|
||||
for (int i = 0; i < atom->natoms; i++)
|
||||
for (int icoeff = 0; icoeff < size_peratom_cols; icoeff++) {
|
||||
pod[i][icoeff] = 0.0;
|
||||
}
|
||||
|
||||
// invoke full neighbor list (will copy or build if necessary)
|
||||
|
||||
neighbor->build_one(list);
|
||||
|
||||
double **x = atom->x;
|
||||
int **firstneigh = list->firstneigh;
|
||||
int *numneigh = list->numneigh;
|
||||
int *type = atom->type;
|
||||
int *ilist = list->ilist;
|
||||
int inum = list->inum;
|
||||
int nClusters = podptr->nClusters;
|
||||
int Mdesc = podptr->Mdesc;
|
||||
double rcutsq = podptr->rcut*podptr->rcut;
|
||||
|
||||
for (int ii = 0; ii < inum; ii++) {
|
||||
int i = ilist[ii];
|
||||
int jnum = numneigh[i];
|
||||
|
||||
// allocate temporary memory
|
||||
if (nijmax < jnum) {
|
||||
nijmax = MAX(nijmax, jnum);
|
||||
podptr->free_temp_memory();
|
||||
podptr->allocate_temp_memory(nijmax);
|
||||
}
|
||||
|
||||
rij = &podptr->tmpmem[0];
|
||||
tmpmem = &podptr->tmpmem[3*nijmax];
|
||||
ai = &podptr->tmpint[0];
|
||||
aj = &podptr->tmpint[nijmax];
|
||||
ti = &podptr->tmpint[2*nijmax];
|
||||
tj = &podptr->tmpint[3*nijmax];
|
||||
|
||||
// get neighbor list for atom i
|
||||
lammpsNeighborList(x, firstneigh, atom->tag, type, numneigh, rcutsq, i);
|
||||
|
||||
if (nij > 0) {
|
||||
// peratom base descriptors
|
||||
double *bd = &podptr->bd[0];
|
||||
double *bdd = &podptr->bdd[0];
|
||||
podptr->peratombase_descriptors(bd, bdd, rij, tmpmem, tj, nij);
|
||||
|
||||
if (nClusters>1) {
|
||||
// peratom env descriptors
|
||||
double *pd = &podptr->pd[0];
|
||||
double *pdd = &podptr->pdd[0];
|
||||
podptr->peratomenvironment_descriptors(pd, pdd, bd, bdd, tmpmem, ti[0] - 1, nij);
|
||||
for (int n=0; n<nij; n++) {
|
||||
int ain = 3*ai[n];
|
||||
int ajn = 3*aj[n];
|
||||
for (int k = 0; k < nClusters; k++) {
|
||||
for (int m = 0; m < Mdesc; m++) {
|
||||
int mk = m + Mdesc*k;
|
||||
int nm = 3*n + 3*nij*m;
|
||||
int nk = 3*n + 3*nij*k;
|
||||
pod[i][mk + Mdesc*nClusters*0 + Mdesc*nClusters*ain] += bdd[0 + nm]*pd[k] + bd[m]*pdd[0+nk];
|
||||
pod[i][mk + Mdesc*nClusters*1 + Mdesc*nClusters*ain] += bdd[1 + nm]*pd[k] + bd[m]*pdd[1+nk];
|
||||
pod[i][mk + Mdesc*nClusters*2 + Mdesc*nClusters*ain] += bdd[2 + nm]*pd[k] + bd[m]*pdd[2+nk];
|
||||
pod[i][mk + Mdesc*nClusters*0 + Mdesc*nClusters*ajn] -= bdd[0 + nm]*pd[k] + bd[m]*pdd[0+nk];
|
||||
pod[i][mk + Mdesc*nClusters*1 + Mdesc*nClusters*ajn] -= bdd[1 + nm]*pd[k] + bd[m]*pdd[1+nk];
|
||||
pod[i][mk + Mdesc*nClusters*2 + Mdesc*nClusters*ajn] -= bdd[2 + nm]*pd[k] + bd[m]*pdd[2+nk];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (int n=0; n<nij; n++) {
|
||||
int ain = 3*ai[n];
|
||||
int ajn = 3*aj[n];
|
||||
for (int m = 0; m < Mdesc; m++) {
|
||||
int nm = 3*n + 3*nij*m; // d D_im/ d R_j, m = 1, ..., M, i = 1, ..., N, j = 1, ..., N
|
||||
pod[i][m + Mdesc*0 + Mdesc*ain] += bdd[0 + nm];
|
||||
pod[i][m + Mdesc*1 + Mdesc*ain] += bdd[1 + nm];
|
||||
pod[i][m + Mdesc*2 + Mdesc*ain] += bdd[2 + nm];
|
||||
pod[i][m + Mdesc*0 + Mdesc*ajn] -= bdd[0 + nm];
|
||||
pod[i][m + Mdesc*1 + Mdesc*ajn] -= bdd[1 + nm];
|
||||
pod[i][m + Mdesc*2 + Mdesc*ajn] -= bdd[2 + nm];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
memory usage
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
double ComputePODDAtom::memory_usage()
|
||||
{
|
||||
double bytes = 0.0;
|
||||
|
||||
return bytes;
|
||||
}
|
||||
|
||||
|
||||
void ComputePODDAtom::lammpsNeighborList(double **x, int **firstneigh, tagint *atomid, int *atomtypes,
|
||||
int *numneigh, double rcutsq, int gi)
|
||||
{
|
||||
nij = 0;
|
||||
int itype = map[atomtypes[gi]] + 1;
|
||||
ti[nij] = itype;
|
||||
int m = numneigh[gi];
|
||||
for (int l = 0; l < m; l++) { // loop over each atom around atom i
|
||||
int gj = firstneigh[gi][l]; // atom j
|
||||
double delx = x[gj][0] - x[gi][0]; // xj - xi
|
||||
double dely = x[gj][1] - x[gi][1]; // xj - xi
|
||||
double delz = x[gj][2] - x[gi][2]; // xj - xi
|
||||
double rsq = delx * delx + dely * dely + delz * delz;
|
||||
if (rsq < rcutsq && rsq > 1e-20) {
|
||||
rij[nij * 3 + 0] = delx;
|
||||
rij[nij * 3 + 1] = dely;
|
||||
rij[nij * 3 + 2] = delz;
|
||||
ai[nij] = atomid[gi]-1;
|
||||
aj[nij] = atomid[gj]-1;
|
||||
ti[nij] = itype;
|
||||
tj[nij] = map[atomtypes[gj]] + 1;
|
||||
nij++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ComputePODDAtom::map_element2type(int narg, char **arg, int nelements)
|
||||
{
|
||||
int i,j;
|
||||
const int ntypes = atom->ntypes;
|
||||
|
||||
// read args that map atom types to elements in potential file
|
||||
// map[i] = which element the Ith atom type is, -1 if "NULL"
|
||||
// nelements = # of unique elements
|
||||
// elements = list of element names
|
||||
|
||||
if (narg != ntypes)
|
||||
error->all(FLERR, "Number of element to type mappings does not match number of atom types");
|
||||
|
||||
if (elements) {
|
||||
for (i = 0; i < nelements; i++) delete[] elements[i];
|
||||
delete[] elements;
|
||||
}
|
||||
elements = new char*[ntypes];
|
||||
for (i = 0; i < ntypes; i++) elements[i] = nullptr;
|
||||
|
||||
nelements = 0;
|
||||
map[0] = -1;
|
||||
for (i = 1; i <= narg; i++) {
|
||||
std::string entry = arg[i-1];
|
||||
if (entry == "NULL") {
|
||||
map[i] = -1;
|
||||
continue;
|
||||
}
|
||||
for (j = 0; j < nelements; j++)
|
||||
if (entry == elements[j]) break;
|
||||
map[i] = j;
|
||||
if (j == nelements) {
|
||||
elements[j] = utils::strdup(entry);
|
||||
nelements++;
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user