Merge branch 'develop' into next-release
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
|
||||
|
||||
@ -52,8 +52,8 @@ set(WIN_PACKAGES
|
||||
ORIENT
|
||||
PERI
|
||||
PHONON
|
||||
POEMS
|
||||
PLUGIN
|
||||
POEMS
|
||||
PTM
|
||||
QEQ
|
||||
QTB
|
||||
|
||||
@ -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>`
|
||||
|
||||
@ -154,7 +154,7 @@ i-PI tool
|
||||
.. 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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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``
|
||||
|
||||
@ -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``.
|
||||
|
||||
|
||||
.. warnings::
|
||||
|
||||
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
|
||||
|
||||
@ -25,7 +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
|
||||
|
||||
@ -178,10 +178,7 @@ command for more details.
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style dpd <pair_dpd>`, :doc:`pair_style coul/slater/long
|
||||
:doc:<pair_coul_slater>`, `pair_coeff <pair_coeff>`, :doc:`fix nvt
|
||||
:doc:<fix_nh>`, :doc:`fix langevin <fix_langevin>`, `pair_style srp
|
||||
:doc:<pair_srp>`, :doc:`fix mvv/dpd <fix_mvv_dpd>`.
|
||||
:doc:`pair_style dpd <pair_dpd>`, :doc:`pair_style coul/slater/long <pair_coul_slater>`,
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -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).
|
||||
|
||||
@ -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
|
||||
|
||||
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
|
||||
@ -247,6 +249,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");
|
||||
|
||||
@ -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,
|
||||
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;
|
||||
@ -178,9 +176,9 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJClass2CoulCutKokkos<DeviceType>::
|
||||
compute_fcoul(const F_FLOAT& rsq, const int& /*i*/, const int&j,
|
||||
const int& /*itype*/, const int& /*jtype*/,
|
||||
const F_FLOAT& factor_coul, const F_FLOAT& qtmp) const {
|
||||
compute_fcoul(const F_FLOAT &rsq, const int &/*i*/, const int &j,
|
||||
const int &/*itype*/, const int &/*jtype*/,
|
||||
const F_FLOAT &factor_coul, const F_FLOAT &qtmp) const {
|
||||
const F_FLOAT r2inv = 1.0/rsq;
|
||||
const F_FLOAT rinv = sqrt(r2inv);
|
||||
F_FLOAT forcecoul;
|
||||
|
||||
@ -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,
|
||||
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;
|
||||
@ -183,9 +181,9 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
F_FLOAT PairLJClass2CoulLongKokkos<DeviceType>::
|
||||
compute_fcoul(const F_FLOAT& rsq, const int& /*i*/, const int&j,
|
||||
const int& /*itype*/, const int& /*jtype*/,
|
||||
const F_FLOAT& factor_coul, const F_FLOAT& qtmp) const {
|
||||
compute_fcoul(const F_FLOAT &rsq, const int &/*i*/, const int &j,
|
||||
const int &/*itype*/, const int &/*jtype*/,
|
||||
const F_FLOAT &factor_coul, const F_FLOAT &qtmp) const {
|
||||
if (Specialisation::DoTable && rsq > tabinnersq) {
|
||||
union_int_float_t rsq_lookup;
|
||||
rsq_lookup.f = rsq;
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -216,10 +216,8 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
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;
|
||||
compute_fpair(const F_FLOAT &rsq, const int &i, const int &j,
|
||||
const int &itype, const int &jtype) const {
|
||||
const F_FLOAT radi = radius[i];
|
||||
const F_FLOAT radj = radius[j];
|
||||
const F_FLOAT rr = sqrt(rsq);
|
||||
@ -242,10 +240,8 @@ template<class DeviceType>
|
||||
template<bool STACKPARAMS, class Specialisation>
|
||||
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;
|
||||
compute_evdwl(const F_FLOAT &rsq, const int &i, const int &j,
|
||||
const int &itype, const int &jtype) const {
|
||||
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,
|
||||
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);
|
||||
// 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,
|
||||
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 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 = podptr->Mdesc * podptr->nClusters*3*atom->natoms;
|
||||
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 = podptr->Mdesc * podptr->nClusters * 3 * atom->natoms;
|
||||
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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
61
src/ML-POD/compute_podd_atom.h
Normal file
61
src/ML-POD/compute_podd_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(podd/atom,ComputePODDAtom);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef LMP_COMPUTE_PODD_ATOM_H
|
||||
#define LMP_COMPUTE_PODD_ATOM_H
|
||||
|
||||
#include "compute.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class ComputePODDAtom : public Compute {
|
||||
public:
|
||||
ComputePODDAtom(class LAMMPS *, int, char **);
|
||||
~ComputePODDAtom() 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
|
||||
4733
src/ML-POD/eapod.cpp
Normal file
4733
src/ML-POD/eapod.cpp
Normal file
File diff suppressed because it is too large
Load Diff
239
src/ML-POD/eapod.h
Normal file
239
src/ML-POD/eapod.h
Normal file
@ -0,0 +1,239 @@
|
||||
/* -*- 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.
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef LMP_EAPOD_H
|
||||
#define LMP_EAPOD_H
|
||||
|
||||
#include "pointers.h"
|
||||
|
||||
#define DDOT ddot_
|
||||
#define DGEMV dgemv_
|
||||
#define DGEMM dgemm_
|
||||
#define DGETRF dgetrf_
|
||||
#define DGETRI dgetri_
|
||||
#define DSYEV dsyev_
|
||||
#define DPOSV dposv_
|
||||
|
||||
extern "C" {
|
||||
double DDOT(int *, double *, int *, double *, int *);
|
||||
void DGEMV(char *, int *, int *, double *, double *, int *, double *, int *, double *, double *,
|
||||
int *);
|
||||
void DGEMM(char *, char *, int *, int *, int *, double *, double *, int *, double *, int *,
|
||||
double *, double *, int *);
|
||||
void DGETRF(int *, int *, double *, int *, int *, int *);
|
||||
void DGETRI(int *, double *, int *, int *, double *, int *, int *);
|
||||
void DSYEV(char *, char *, int *, double *, int *, double *, double *, int *, int *);
|
||||
void DPOSV(char *, int *, int *, double *, int *, double *, int *, int *);
|
||||
}
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class EAPOD : protected Pointers {
|
||||
private:
|
||||
int indexmap3(int *indx, int n1, int n2, int n3, int N1, int N2);
|
||||
int crossindices(int *dabf1, int nabf1, int nrbf1, int nebf1, int *dabf2, int nabf2, int nrbf2,
|
||||
int nebf2, int dabf12, int nrbf12);
|
||||
int crossindices(int *ind1, int *ind2, int *dabf1, int nabf1, int nrbf1, int nebf1, int *dabf2,
|
||||
int nabf2, int nrbf2, int nebf2, int dabf12, int nrbf12);
|
||||
|
||||
void init3bodyarray(int *np, int *pq, int *pc, int Pa3);
|
||||
|
||||
void init4bodyarray(int *pa4, int *pb4, int *pc4, int Pa4);
|
||||
|
||||
void init2body();
|
||||
|
||||
void init3body(int Pa3);
|
||||
|
||||
void init4body(int Pa4);
|
||||
|
||||
void snapshots(double *rbf, double *xij, int N);
|
||||
|
||||
void eigenvaluedecomposition(double *Phi, double *Lambda, int N);
|
||||
|
||||
void myneighbors(double *rij, double *x, int *ai, int *aj, int *ti, int *tj, int *jlist,
|
||||
int *pairnumsum, int *atomtype, int *alist, int i);
|
||||
|
||||
void radialbasis(double *rbf, double *rbfx, double *rbfy, double *rbfz, double *rij,
|
||||
double *besselparams, double rin, double rmax, int besseldegree,
|
||||
int inversedegree, int nbesselpars, int N);
|
||||
|
||||
void angularbasis(double *abf, double *abfx, double *abfy, double *abfz, double *rij, double *tm,
|
||||
int *pq, int N, int K);
|
||||
|
||||
void radialangularbasis(double *sumU, double *U, double *Ux, double *Uy, double *Uz, double *rbf,
|
||||
double *rbfx, double *rbfy, double *rbfz, double *abf, double *abfx,
|
||||
double *abfy, double *abfz, int *atomtype, int N, int K, int M, int Ne);
|
||||
|
||||
void MatMul(double *c, double *a, double *b, int r1, int c1, int c2);
|
||||
|
||||
void scalarproduct(double *d, double c, int N);
|
||||
|
||||
double dotproduct(double *c, double *d, int ndesc);
|
||||
|
||||
void mvproduct(double *fij, double *c, double *dd, int N, int ndesc);
|
||||
|
||||
public:
|
||||
std::vector<std::string> species;
|
||||
|
||||
double rin;
|
||||
double rcut;
|
||||
int true4BodyDesc;
|
||||
|
||||
int nelements; // number of elements
|
||||
int pbc[3];
|
||||
int *elemindex;
|
||||
|
||||
int onebody; // one-body descriptors
|
||||
int besseldegree;
|
||||
int inversedegree;
|
||||
int pdegree[2];
|
||||
int nbesselpars;
|
||||
int timing;
|
||||
double comptime[20];
|
||||
double besselparams[3];
|
||||
double *Phi; // eigenvectors
|
||||
double *Lambda; // eigenvalues
|
||||
double *coeff; // coefficients
|
||||
//double *newcoeff ; // coefficients
|
||||
double *tmpmem;
|
||||
|
||||
// environmental variables
|
||||
int nClusters; // number of environment clusters
|
||||
int nComponents; // number of principal components
|
||||
//int nNeighbors; // numbe of neighbors
|
||||
int Mdesc; // number of base descriptors
|
||||
|
||||
double *Proj; // PCA Projection matrix
|
||||
double *Centroids; // centroids of the clusters
|
||||
double *bd; // base descriptors
|
||||
double *bdd; // derivatives of the base descriptors with respect to the atomic positions
|
||||
double *pd; // multi-environment descriptors
|
||||
double *
|
||||
pdd; // derivative of the multi-environment descriptors with respect to the atomic positions
|
||||
|
||||
int nproj; // number of elements in projection matrix (nComponents * Mdesc * nelements)
|
||||
int ncentroids; // number of centroids (nComponents * nClusters * nelements)
|
||||
|
||||
int Njmax;
|
||||
int nCoeffPerElement; // number of coefficients per element = (nl1 + Mdesc*nClusters)
|
||||
int nCoeffAll; // number of coefficients for all elements = (nl1 + Mdesc*nClusters)*nelements
|
||||
int ncoeff; // number of coefficients in the input file
|
||||
int ns; // number of snapshots for radial basis functions
|
||||
int nd1, nd2, nd3, nd4, nd5, nd6, nd7, nd; // number of global descriptors
|
||||
int nl1, nl2, nl3, nl4, nl5, nl6, nl7, nl; // number of local descriptors
|
||||
int nrbf2, nrbf3, nrbf4, nrbfmax; // number of radial basis functions
|
||||
int nabf3, nabf4; // number of angular basis functions
|
||||
int P3, P4; // angular polynomial degrees
|
||||
int K3, K4, Q4; // number of monomials
|
||||
int *pn3, *pq3, *pc3; // arrays to compute 3-body angular basis functions
|
||||
int *pq4, *pa4, *pb4, *pc4; // arrays to compute 3-body angular basis functions
|
||||
int *tmpint;
|
||||
int nintmem; // number of integers in tmpint array
|
||||
int ndblmem; // number of doubles in tmpmem array
|
||||
|
||||
// four-body descriptors
|
||||
int *ind23, *ind32, nrbf23, nabf23, P23, n23, n32, nl23, nd23;
|
||||
|
||||
// five-body descriptors
|
||||
int *ind33, nrbf33, nabf33, P33, n33, nl33, nd33;
|
||||
|
||||
// six-body descriptors
|
||||
int *ind34, *ind43, nrbf34, nabf34, nabf43, P34, n34, n43, nl34, nd34;
|
||||
|
||||
// seven-body descriptors
|
||||
int *ind44, nrbf44, nabf44, P44, n44, nl44, nd44;
|
||||
|
||||
int nld33, nld34, nld44, ngd33, ngd34, ngd44;
|
||||
int *ind33l, *ind33r, *ind34l, *ind34r, *ind44l, *ind44r;
|
||||
|
||||
EAPOD(LAMMPS *, const std::string &pod_file, const std::string &coeff_file);
|
||||
|
||||
EAPOD(LAMMPS *lmp) : Pointers(lmp){};
|
||||
~EAPOD() override;
|
||||
|
||||
void read_pod_file(std::string pod_file);
|
||||
void read_model_coeff_file(std::string coeff_file);
|
||||
int read_coeff_file(std::string coeff_file);
|
||||
int read_projection_matrix(std::string proj_file);
|
||||
int read_centroids(std::string centroids_file);
|
||||
|
||||
int estimate_temp_memory(int Nj);
|
||||
void free_temp_memory();
|
||||
void allocate_temp_memory(int Nj);
|
||||
|
||||
//void mknewcoeff();
|
||||
|
||||
void mknewcoeff(double *c, int nc);
|
||||
|
||||
void twobodydesc(double *d2, double *rbf, int *tj, int N);
|
||||
void twobodydescderiv(double *d2, double *dd2, double *rbf, double *rbfx, double *rbfy,
|
||||
double *rbfz, int *tj, int N);
|
||||
void twobody_forces(double *fij, double *cb2, double *rbfx, double *rbfy, double *rbfz, int *tj,
|
||||
int Nj);
|
||||
|
||||
void threebodydesc(double *d3, double *sumU);
|
||||
void threebodydescderiv(double *dd3, double *sumU, double *Ux, double *Uy, double *Uz,
|
||||
int *atomtype, int N);
|
||||
void threebody_forcecoeff(double *fb3, double *cb3, double *sumU);
|
||||
|
||||
void fourbodydesc(double *d4, double *sumU);
|
||||
void fourbodydescderiv(double *d4, double *dd4, double *sumU, double *Ux, double *Uy, double *Uz,
|
||||
int *atomtype, int N);
|
||||
void fourbody_forcecoeff(double *fb4, double *cb4, double *sumU);
|
||||
|
||||
void allbody_forces(double *fij, double *forcecoeff, double *rbf, double *rbfx, double *rbfy,
|
||||
double *rbfz, double *abf, double *abfx, double *abfy, double *abfz, int *tj,
|
||||
int Nj);
|
||||
void allbody_forces(double *fij, double *forcecoeff, double *Ux, double *Uy, double *Uz, int *tj,
|
||||
int Nj);
|
||||
|
||||
void descriptors(double *gd, double *gdd, double *basedesc, double *probdesc, double *x,
|
||||
int *atomtype, int *alist, int *jlist, int *pairnumsum, int natom);
|
||||
|
||||
void descriptors(double *gd, double *gdd, double *basedesc, double *x, int *atomtype, int *alist,
|
||||
int *jlist, int *pairnumsum, int natom);
|
||||
|
||||
void peratombase_descriptors(double *bd, double *bdd, double *rij, double *temp, int *tj, int Nj);
|
||||
double peratombase_coefficients(double *cb, double *bd, int *ti);
|
||||
double peratom_environment_descriptors(double *cb, double *bd, double *tm, int *ti);
|
||||
|
||||
void peratomenvironment_descriptors(double *P, double *dP_dR, double *B, double *dB_dR,
|
||||
double *tmp, int elem, int nNeighbors);
|
||||
|
||||
void base_descriptors(double *basedesc, double *x, int *atomtype, int *alist, int *jlist,
|
||||
int *pairnumsum, int natom);
|
||||
|
||||
void descriptors(double *basedesc, double *probdesc, double *x, int *atomtype, int *alist,
|
||||
int *jlist, int *pairnumsum, int natom);
|
||||
|
||||
double peratomenergyforce(double *fij, double *rij, double *temp, int *ti, int *tj, int Nj);
|
||||
double peratomenergyforce2(double *fij, double *rij, double *temp, int *ti, int *tj, int Nj);
|
||||
|
||||
double energyforce(double *force, double *x, int *atomtype, int *alist, int *jlist,
|
||||
int *pairnumsum, int natom);
|
||||
|
||||
void tallyforce(double *force, double *fij, int *ai, int *aj, int N);
|
||||
|
||||
void fourbodydesc23(double *d23, double *d2, double *d3);
|
||||
void fourbodydescderiv23(double *dd23, double *d2, double *d3, double *dd2, double *dd3, int N);
|
||||
|
||||
void crossdesc(double *d12, double *d1, double *d2, int *ind1, int *ind2, int n12);
|
||||
void crossdescderiv(double *dd12, double *d1, double *d2, double *dd1, double *dd2, int *ind1,
|
||||
int *ind2, int n12, int N);
|
||||
void crossdesc_reduction(double *cb1, double *cb2, double *c12, double *d1, double *d2, int *ind1,
|
||||
int *ind2, int n12);
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@ -21,6 +21,7 @@ CommandStyle(fitpod,FitPOD);
|
||||
#define LMP_FITPOD_COMMAND_H
|
||||
|
||||
#include "command.h"
|
||||
#include <unordered_map>
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
@ -31,12 +32,17 @@ class FitPOD : public Command {
|
||||
|
||||
private:
|
||||
struct datastruct {
|
||||
std::string file_format = "extxyz";
|
||||
std::string file_extension = "xyz";
|
||||
datastruct();
|
||||
void copydatainfo(datastruct &data) const;
|
||||
|
||||
std::string file_format;
|
||||
std::string file_extension;
|
||||
std::string data_path;
|
||||
std::vector<std::string> data_files;
|
||||
std::vector<std::string> data_files; // sorted file names
|
||||
std::vector<std::string> group_names; // sorted group names
|
||||
std::vector<std::string> filenames;
|
||||
std::string filenametag = "pod";
|
||||
std::string filenametag;
|
||||
std::string group_weight_type;
|
||||
|
||||
std::vector<int> num_atom;
|
||||
std::vector<int> num_atom_cumsum;
|
||||
@ -54,49 +60,35 @@ class FitPOD : public Command {
|
||||
double *position;
|
||||
double *force;
|
||||
int *atomtype;
|
||||
// Group weights will have same size as energy.
|
||||
double *we;
|
||||
double *wf;
|
||||
|
||||
int training = 1;
|
||||
int normalizeenergy = 1;
|
||||
int training_analysis = 1;
|
||||
int test_analysis = 1;
|
||||
int training_calculation = 0;
|
||||
int test_calculation = 0;
|
||||
int randomize = 1;
|
||||
int precision = 8;
|
||||
double fraction = 1.0;
|
||||
int training;
|
||||
int normalizeenergy;
|
||||
int training_analysis;
|
||||
int test_analysis;
|
||||
int training_calculation;
|
||||
int test_calculation;
|
||||
int randomize;
|
||||
int precision;
|
||||
double fraction;
|
||||
|
||||
double fitting_weights[12] = {100.0, 1.0, 0.0, 1, 1, 0, 0, 1, 1, 1, 1, 1e-10};
|
||||
std::unordered_map<std::string, double> we_map;
|
||||
std::unordered_map<std::string, double> wf_map;
|
||||
|
||||
void copydatainfo(datastruct &data) const
|
||||
{
|
||||
data.data_path = data_path;
|
||||
data.file_format = file_format;
|
||||
data.file_extension = file_extension;
|
||||
data.data_files = data_files;
|
||||
data.filenametag = filenametag;
|
||||
data.filenames = filenames;
|
||||
data.training_analysis = training_analysis;
|
||||
data.test_analysis = test_analysis;
|
||||
data.training_calculation = training_calculation;
|
||||
data.test_calculation = test_calculation;
|
||||
data.fraction = fraction;
|
||||
data.randomize = randomize;
|
||||
data.precision = precision;
|
||||
data.training = training;
|
||||
data.normalizeenergy = normalizeenergy;
|
||||
for (int i = 0; i < 12; i++) data.fitting_weights[i] = fitting_weights[i];
|
||||
}
|
||||
double fitting_weights[12];
|
||||
};
|
||||
|
||||
struct neighborstruct {
|
||||
neighborstruct();
|
||||
|
||||
int *alist;
|
||||
int *pairnum;
|
||||
int *pairnum_cumsum;
|
||||
int *pairlist;
|
||||
double *y;
|
||||
|
||||
int natom;
|
||||
int nalist;
|
||||
int natom_max;
|
||||
int sze;
|
||||
int sza;
|
||||
@ -105,27 +97,30 @@ class FitPOD : public Command {
|
||||
};
|
||||
|
||||
struct descriptorstruct {
|
||||
descriptorstruct();
|
||||
|
||||
double *bd; // base descriptors
|
||||
double *pd; // multi-environment descriptors (probabilities)
|
||||
double *gd; // global descriptors
|
||||
double *gdd; // derivatives of global descriptors and peratom descriptors
|
||||
double *A; // least-square matrix for all descriptors
|
||||
double *b; // least-square vector for all descriptors
|
||||
double *c; // coefficents of descriptors
|
||||
int *tmpint;
|
||||
int szd;
|
||||
int szi;
|
||||
int nCoeffAll; // number of global descriptors
|
||||
int nClusters; // number of environment clusters
|
||||
};
|
||||
|
||||
int save_descriptors;
|
||||
int compute_descriptors;
|
||||
datastruct traindata;
|
||||
datastruct testdata;
|
||||
datastruct envdata;
|
||||
descriptorstruct desc;
|
||||
neighborstruct nb;
|
||||
class MLPOD *podptr;
|
||||
class EAPOD *fastpodptr;
|
||||
|
||||
// functions for collecting/collating arrays
|
||||
|
||||
void print_matrix(const char *desc, int m, int n, int *a, int lda);
|
||||
void print_matrix(const char *desc, int m, int n, double *a, int lda);
|
||||
void print_matrix(const char *desc, int m, int n, double **a, int lda);
|
||||
void podCumsum(int *output, int *input, int length);
|
||||
double podArrayNorm(double *a, int n);
|
||||
double podArrayErrorNorm(double *a, double *b, int n);
|
||||
@ -144,23 +139,40 @@ class FitPOD : public Command {
|
||||
void matrix33_multiplication(double *xrot, double *Rmat, double *x, int natom);
|
||||
void matrix33_inverse(double *invA, double *A1, double *A2, double *A3);
|
||||
|
||||
double squareDistance(const double *a, const double *b, int DIMENSIONS);
|
||||
void assignPointsToClusters(double *points, double *centroids, int *assignments,
|
||||
int *clusterSizes, int NUM_POINTS, int NUM_CLUSTERS, int DIMENSION);
|
||||
void updateCentroids(double *points, double *centroids, int *assignments, int *clusterSizes,
|
||||
int NUM_POINTS, int NUM_CLUSTERS, int DIMENSIONS);
|
||||
void KmeansClustering(double *points, double *centroids, int *assignments, int *clusterSizes,
|
||||
int NUM_POINTS, int NUM_CLUSTERS, int DIMENSIONS, int MAX_ITER);
|
||||
|
||||
void savedata2textfile(std::string filename, std::string text, double *A, int n, int m, int dim);
|
||||
void savematrix2binfile(std::string filename, double *A, int nrows, int ncols);
|
||||
void saveintmatrix2binfile(std::string filename, int *A, int nrows, int ncols);
|
||||
|
||||
// functions for reading input files and fitting
|
||||
|
||||
int read_data_file(double *fitting_weights, std::string &file_format, std::string &file_extension,
|
||||
std::string &test_path, std::string &training_path, std::string &filenametag,
|
||||
const std::string &data_file);
|
||||
void get_exyz_files(std::vector<std::string> &, const std::string &, const std::string &);
|
||||
std::string &env_path, std::string &test_path, std::string &training_path,
|
||||
std::string &filenametag, const std::string &data_file,
|
||||
std::string &group_weight_type,
|
||||
std::unordered_map<std::string, double> &we_map,
|
||||
std::unordered_map<std::string, double> &wf_map);
|
||||
void get_exyz_files(std::vector<std::string> &, std::vector<std::string> &, const std::string &,
|
||||
const std::string &);
|
||||
int get_number_atom_exyz(std::vector<int> &num_atom, int &num_atom_sum, std::string file);
|
||||
int get_number_atoms(std::vector<int> &num_atom, std::vector<int> &num_atom_sum,
|
||||
std::vector<int> &num_config, std::vector<std::string> training_files);
|
||||
void read_exyz_file(double *lattice, double *stress, double *energy, double *pos, double *forces,
|
||||
int *atomtype, std::string file, std::vector<std::string> species);
|
||||
void get_data(datastruct &data, const std::vector<std::string>& species);
|
||||
void read_exyz_file(double *lattice, double *stress, double *energy, double *we, double *wf,
|
||||
double *pos, double *forces, int *atomtype, std::string file,
|
||||
std::vector<std::string> species, double we_group, double wf_group);
|
||||
void get_data(datastruct &data, const std::vector<std::string> &species);
|
||||
std::vector<int> linspace(int start_in, int end_in, int num_in);
|
||||
std::vector<int> shuffle(int start_in, int end_in, int num_in);
|
||||
std::vector<int> select(int n, double fraction, int randomize);
|
||||
void select_data(datastruct &newdata, const datastruct &data);
|
||||
void read_data_files(const std::string& data_file, const std::vector<std::string>& species);
|
||||
void read_data_files(const std::string &data_file, const std::vector<std::string> &species);
|
||||
int latticecoords(double *y, int *alist, double *x, double *a1, double *a2, double *a3,
|
||||
double rcut, int *pbc, int nx);
|
||||
int podneighborlist(int *neighlist, int *numneigh, double *r, double rcutsq, int nx, int N,
|
||||
@ -168,19 +180,21 @@ class FitPOD : public Command {
|
||||
int podfullneighborlist(double *y, int *alist, int *neighlist, int *numneigh, int *numneighsum,
|
||||
double *x, double *a1, double *a2, double *a3, double rcut, int *pbc,
|
||||
int nx);
|
||||
void allocate_memory(const datastruct &data);
|
||||
void linear_descriptors(const datastruct &data, int ci);
|
||||
void quadratic_descriptors(const datastruct &data, int ci);
|
||||
void cubic_descriptors(const datastruct &data, int ci);
|
||||
void estimate_memory_neighborstruct(const datastruct &data, int *pbc, double rcut, int nelements);
|
||||
void allocate_memory_neighborstruct();
|
||||
void allocate_memory_descriptorstruct(int nd);
|
||||
void estimate_memory_fastpod(const datastruct &data);
|
||||
void local_descriptors_fastpod(const datastruct &data, int ci);
|
||||
void base_descriptors_fastpod(const datastruct &data, int ci);
|
||||
void least_squares_matrix(const datastruct &data, int ci);
|
||||
void least_squares_fit(const datastruct &data);
|
||||
void descriptors_calculation(const datastruct &data);
|
||||
void environment_cluster_calculation(const datastruct &data);
|
||||
void print_analysis(const datastruct &data, double *outarray, double *errors);
|
||||
void error_analysis(const datastruct &data, double *coeff);
|
||||
double energyforce_calculation(double *force, double *coeff, const datastruct &data, int ci);
|
||||
void energyforce_calculation(const datastruct &data, double *coeff);
|
||||
double energyforce_calculation_fastpod(double *force, const datastruct &data, int ci);
|
||||
void energyforce_calculation(const datastruct &data);
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
3714
src/ML-POD/mlpod.cpp
3714
src/ML-POD/mlpod.cpp
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user