Merge branch 'lammps:develop' into fortran-further-tinkering
This commit is contained in:
30
SECURITY.md
30
SECURITY.md
@ -14,14 +14,14 @@ and tested by the LAMMPS developers, so it is easy to import bad
|
||||
behavior from calling functions in one of those libraries.
|
||||
|
||||
Thus is is quite easy to crash LAMMPS through malicious input and do all
|
||||
kinds of filesystem manipulations. And because of that LAMMPS should
|
||||
kinds of file system manipulations. And because of that LAMMPS should
|
||||
**NEVER** be compiled or **run** as superuser, either from a "root" or
|
||||
"administrator" account directly or indirectly via "sudo" or "su".
|
||||
|
||||
Therefore what could be seen as a security vulnerability is usually
|
||||
either a user mistake or a bug in the code. Bugs can be reported in
|
||||
the LAMMPS project
|
||||
[issue tracker on GitHub](https://github.com/lammps/lammps/issues).
|
||||
either a user mistake or a bug in the code. Bugs can be reported in the
|
||||
LAMMPS project [issue tracker on
|
||||
GitHub](https://github.com/lammps/lammps/issues).
|
||||
|
||||
To mitigate issues with using homoglyphs or bidirectional reordering in
|
||||
unicode, which have been demonstrated as a vector to obfuscate and hide
|
||||
@ -30,10 +30,18 @@ for unicode characters and only all-ASCII source code is accepted.
|
||||
|
||||
# Version Updates
|
||||
|
||||
LAMMPS follows continuous release development model. We aim to keep all
|
||||
release versions (stable or patch) fully functional and employ a variety
|
||||
of automatic testing procedures to detect failures of existing
|
||||
functionality from adding new features before releases are made. Thus
|
||||
bugfixes and updates are only integrated into the current development
|
||||
branch and thus the next (patch) release and users are recommended to
|
||||
update regularly.
|
||||
LAMMPS follows continuous release development model. We aim to keep to
|
||||
keep the development version (develop branch) always fully functional
|
||||
and employ a variety of automatic testing procedures to detect failures
|
||||
of existing functionality from adding or modifying features. Most of
|
||||
those tests are run on pull requests *before* merging to the development
|
||||
branch. The develop branch is protected, so all changes *must* be
|
||||
submitted as a pull request and thus cannot avoid the automated tests.
|
||||
|
||||
Additional tests are run *after* merging. Before releases are made
|
||||
*all* tests must have cleared. Then a release tag is applied and the
|
||||
release branch fast-forwarded to that tag. Bug fixes and updates are
|
||||
applied to the current development branch and thus will be available in
|
||||
the next (patch) release. For stable releases, selected bug fixes are
|
||||
back-ported and occasionally published as update releases. There are
|
||||
only updates to the latest stable release.
|
||||
|
||||
@ -314,7 +314,7 @@ Bibliography
|
||||
Espanol, Revenga, Physical Review E, 67, 026705 (2003).
|
||||
|
||||
**(Espanol1997)**
|
||||
Espanol, Europhys Lett, 40(6): 631-636 (1997). DOI: 10.1209/epl/i1997-00515-8
|
||||
Espanol, Europhys Lett, 40(6): 631-636 (1997). DOI:10.1209/epl/i1997-00515-8
|
||||
|
||||
**(Evans and Morriss)**
|
||||
Evans and Morriss, Phys Rev A, 30, 1528 (1984).
|
||||
@ -368,7 +368,7 @@ Bibliography
|
||||
Frenkel and Smit, Understanding Molecular Simulation, Academic Press, London, 2002.
|
||||
|
||||
**(GLE4MD)**
|
||||
`http://gle4md.org/ <http://gle4md.org/>`_
|
||||
`https://gle4md.org/ <https://gle4md.org/>`_
|
||||
|
||||
**(Gao)**
|
||||
Gao and Weber, Nuclear Instruments and Methods in Physics Research B 191 (2012) 504.
|
||||
@ -401,13 +401,13 @@ Bibliography
|
||||
Hayre, and Farago, Comp Phys Comm, 185, 524 (2014)
|
||||
|
||||
**(Groot)**
|
||||
Groot and Warren, J Chem Phys, 107: 4423-4435 (1997). DOI: 10.1063/1.474784
|
||||
Groot and Warren, J Chem Phys, 107: 4423-4435 (1997). DOI:10.1063/1.474784
|
||||
|
||||
**(Guenole)**
|
||||
Guenole, Noehring, Vaid, Houlle, Xie, Prakash, Bitzek, Comput Mater Sci, 175, 109584 (2020).
|
||||
|
||||
**(Gullet)**
|
||||
Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003).
|
||||
Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). DOI:10.2172/918395
|
||||
|
||||
**(Guo)**
|
||||
Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996).
|
||||
@ -461,7 +461,7 @@ Bibliography
|
||||
Hunt, Mol Simul, 42, 347 (2016).
|
||||
|
||||
**(IPI)**
|
||||
`http://epfl-cosmo.github.io/gle4md/index.html?page=ipi <http://epfl-cosmo.github.io/gle4md/index.html?page=ipi>`_
|
||||
`https://ipi-code.org/ <https://ipi-code.org/>`
|
||||
|
||||
**(IPI-CPC)**
|
||||
Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, 1019-1026 (2014).
|
||||
@ -605,16 +605,16 @@ Bibliography
|
||||
I.\ Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016).
|
||||
|
||||
**(Li2013_POF)**
|
||||
Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). DOI: 10.1063/1.4812366.
|
||||
Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). DOI:10.1063/1.4812366.
|
||||
|
||||
**(Li2014_JCP)**
|
||||
Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, 265: 113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003.
|
||||
Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, 265: 113-127 (2014). DOI:10.1016/j.jcp.2014.02.003.
|
||||
|
||||
**(Li2015_CC)**
|
||||
Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 (2015). DOI: 10.1039/C5CC01684C.
|
||||
Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 (2015). DOI:10.1039/C5CC01684C.
|
||||
|
||||
**(Li2015_JCP)**
|
||||
Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: 014101 (2015). DOI: 10.1063/1.4923254.
|
||||
Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: 014101 (2015). DOI:10.1063/1.4923254.
|
||||
|
||||
**(Lisal)**
|
||||
M.\ Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics at isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.",
|
||||
@ -733,8 +733,8 @@ Bibliography
|
||||
**(Mishin)**
|
||||
Mishin, Mehl, and Papaconstantopoulos, Acta Mater, 53, 4029 (2005).
|
||||
|
||||
**(Mitchell and Finchham)**
|
||||
Mitchell, Finchham, J Phys Condensed Matter, 5, 1031-1038 (1993).
|
||||
**(Mitchell and Fincham)**
|
||||
Mitchell, Fincham, J Phys Condensed Matter, 5, 1031-1038 (1993).
|
||||
|
||||
**(Mitchell2011)**
|
||||
Mitchell. A non-local, ordinary-state-based viscoelasticity model for peridynamics. Sandia National Lab Report, 8064:1-28 (2011).
|
||||
@ -875,7 +875,7 @@ Bibliography
|
||||
G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
|
||||
|
||||
**(Paquay)**
|
||||
Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
||||
Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
|
||||
|
||||
**(Park)**
|
||||
Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004)
|
||||
|
||||
@ -140,7 +140,7 @@ of the LAMMPS project on GitHub.
|
||||
The unit testing facility is integrated into the CMake build process
|
||||
of the LAMMPS source code distribution itself. It can be enabled by
|
||||
setting ``-D ENABLE_TESTING=on`` during the CMake configuration step.
|
||||
It requires the `YAML <http://pyyaml.org/>`_ library and development
|
||||
It requires the `YAML <https://pyyaml.org/>`_ library and development
|
||||
headers (if those are not found locally a recent version will be
|
||||
downloaded and compiled along with LAMMPS and the test program) to
|
||||
compile and will download and compile a specific recent version of the
|
||||
|
||||
@ -314,7 +314,7 @@ detailed information is available at:
|
||||
|
||||
In addition to installing the KIM API, it is also necessary to install the
|
||||
library of KIM models (interatomic potentials).
|
||||
See `Obtaining KIM Models <http://openkim.org/doc/usage/obtaining-models>`_ to
|
||||
See `Obtaining KIM Models <https://openkim.org/doc/usage/obtaining-models>`_ to
|
||||
learn how to install a pre-build binary of the OpenKIM Repository of Models.
|
||||
See the list of all KIM models here: https://openkim.org/browse/models
|
||||
|
||||
@ -432,7 +432,7 @@ Enabling the extra unit tests have some requirements,
|
||||
``EAM_Dynamo_MendelevAckland_2007v3_Zr__MO_004835508849_000``,
|
||||
``EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005``, and
|
||||
``LennardJones612_UniversalShifted__MO_959249795837_003`` KIM models.
|
||||
See `Obtaining KIM Models <http://openkim.org/doc/usage/obtaining-models>`_
|
||||
See `Obtaining KIM Models <https://openkim.org/doc/usage/obtaining-models>`_
|
||||
to learn how to install a pre-built binary of the OpenKIM Repository of
|
||||
Models or see
|
||||
`Installing KIM Models <https://openkim.org/doc/usage/obtaining-models/#installing_models>`_
|
||||
@ -1053,7 +1053,7 @@ VORONOI package
|
||||
-----------------------------
|
||||
|
||||
To build with this package, you must download and build the
|
||||
`Voro++ library <http://math.lbl.gov/voro++>`_ or install a
|
||||
`Voro++ library <https://math.lbl.gov/voro++>`_ or install a
|
||||
binary package provided by your operating system.
|
||||
|
||||
.. tabs::
|
||||
|
||||
@ -176,7 +176,7 @@ math expressions transparently into embedded images.
|
||||
For converting the generated ePUB file to a MOBI format file (for e-book
|
||||
readers, like Kindle, that cannot read ePUB), you also need to have the
|
||||
``ebook-convert`` tool from the "calibre" software
|
||||
installed. `http://calibre-ebook.com/ <http://calibre-ebook.com/>`_
|
||||
installed. `https://calibre-ebook.com/ <https://calibre-ebook.com/>`_
|
||||
Typing ``make mobi`` will first create the ePUB file and then convert
|
||||
it. On the Kindle readers in particular, you also have support for PDF
|
||||
files, so you could download and view the PDF version as an alternative.
|
||||
|
||||
@ -111,26 +111,25 @@ LAMMPS can use them if they are available on your system.
|
||||
files in its default search path. You must specify ``FFT_LIB``
|
||||
with the appropriate FFT libraries to include in the link.
|
||||
|
||||
The `KISS FFT library <http://kissfft.sf.net>`_ is included in the LAMMPS
|
||||
distribution. It is portable across all platforms. Depending on the size
|
||||
of the FFTs and the number of processors used, the other libraries listed
|
||||
here can be faster.
|
||||
The `KISS FFT library <https://github.com/mborgerding/kissfft>`_ is
|
||||
included in the LAMMPS distribution. It is portable across all
|
||||
platforms. Depending on the size of the FFTs and the number of
|
||||
processors used, the other libraries listed here can be faster.
|
||||
|
||||
However, note that long-range Coulombics are only a portion of the
|
||||
per-timestep CPU cost, FFTs are only a portion of long-range
|
||||
Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel
|
||||
communication can be costly). A breakdown of these timings is printed
|
||||
to the screen at the end of a run when using the
|
||||
:doc:`kspace_style pppm <kspace_style>` command. The
|
||||
:doc:`Screen and logfile output <Run_output>`
|
||||
page gives more details. A more detailed (and time consuming)
|
||||
report of the FFT performance is generated with the
|
||||
per-timestep CPU cost, FFTs are only a portion of long-range Coulombics,
|
||||
and 1d FFTs are only a portion of the FFT cost (parallel communication
|
||||
can be costly). A breakdown of these timings is printed to the screen
|
||||
at the end of a run when using the :doc:`kspace_style pppm
|
||||
<kspace_style>` command. The :doc:`Screen and logfile output
|
||||
<Run_output>` page gives more details. A more detailed (and time
|
||||
consuming) report of the FFT performance is generated with the
|
||||
:doc:`kspace_modify fftbench yes <kspace_modify>` command.
|
||||
|
||||
FFTW is a fast, portable FFT library that should also work on any
|
||||
platform and can be faster than the KISS FFT library. You can
|
||||
download it from `www.fftw.org <http://www.fftw.org>`_. LAMMPS requires
|
||||
version 3.X; the legacy version 2.1.X is no longer supported.
|
||||
platform and can be faster than the KISS FFT library. You can download
|
||||
it from `www.fftw.org <https://www.fftw.org>`_. LAMMPS requires version
|
||||
3.X; the legacy version 2.1.X is no longer supported.
|
||||
|
||||
Building FFTW for your box should be as simple as ``./configure; make;
|
||||
make install``. The install command typically requires root privileges
|
||||
|
||||
@ -75,7 +75,7 @@ Using the GDB debugger to get a stack trace
|
||||
There are two options to use the GDB debugger for identifying the origin
|
||||
of the segmentation fault or similar crash. The GDB debugger has many
|
||||
more features and options, as can be seen for example its `online
|
||||
documentation <http://sourceware.org/gdb/current/onlinedocs/gdb/>`_.
|
||||
documentation <https://sourceware.org/gdb/current/onlinedocs/gdb/>`_.
|
||||
|
||||
Run LAMMPS from within the debugger
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@ -85,6 +85,7 @@ Packages howto
|
||||
Howto_coreshell
|
||||
Howto_drude
|
||||
Howto_drude2
|
||||
Howto_peri
|
||||
Howto_manifold
|
||||
Howto_spins
|
||||
|
||||
|
||||
@ -281,7 +281,7 @@ Here is more information about the extended XYZ format defined and
|
||||
used by Tinker, and links to programs that convert standard PDB files
|
||||
to the extended XYZ format:
|
||||
|
||||
* `http://openbabel.org/docs/current/FileFormats/Tinker_XYZ_format.html <http://openbabel.org/docs/current/FileFormats/Tinker_XYZ_format.html>`_
|
||||
* `https://openbabel.org/docs/current/FileFormats/Tinker_XYZ_format.html <https://openbabel.org/docs/current/FileFormats/Tinker_XYZ_format.html>`_
|
||||
* `https://github.com/emleddin/pdbxyz-xyzpdb <https://github.com/emleddin/pdbxyz-xyzpdb>`_
|
||||
* `https://github.com/TinkerTools/tinker/blob/release/source/pdbxyz.f <https://github.com/TinkerTools/tinker/blob/release/source/pdbxyz.f>`_
|
||||
|
||||
|
||||
@ -3,24 +3,20 @@ CHARMM, AMBER, COMPASS, and DREIDING force fields
|
||||
|
||||
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 in the CHARMM, AMBER, COMPASS, and DREIDING force fields. Setting
|
||||
formulas implemented in LAMMPS that correspond to formulas commonly used
|
||||
in the CHARMM, AMBER, COMPASS, and DREIDING force fields. Setting
|
||||
coefficients is done either from special sections in an input data file
|
||||
via the :doc:`read_data <read_data>` command or in the input script with
|
||||
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.
|
||||
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.
|
||||
|
||||
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: http://www.scripps.edu/brooks
|
||||
|
||||
.. _amber: http://amber.scripps.edu
|
||||
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.
|
||||
|
||||
The interaction styles listed below compute force field formulas that
|
||||
are consistent with common options in CHARMM or AMBER. See each
|
||||
@ -41,9 +37,10 @@ command's documentation for the formula it computes.
|
||||
|
||||
.. note::
|
||||
|
||||
For CHARMM, newer *charmmfsw* or *charmmfsh* styles were released
|
||||
in March 2017. We recommend they be used instead of the older *charmm*
|
||||
styles. See discussion of the differences on the :doc:`pair charmm <pair_charmm>` and :doc:`dihedral charmm <dihedral_charmm>` doc
|
||||
For CHARMM, newer *charmmfsw* or *charmmfsh* styles were released in
|
||||
March 2017. We recommend they be used instead of the older *charmm*
|
||||
styles. See discussion of the differences on the :doc:`pair charmm
|
||||
<pair_charmm>` and :doc:`dihedral charmm <dihedral_charmm>` doc
|
||||
pages.
|
||||
|
||||
COMPASS is a general force field for atomistic simulation of common
|
||||
|
||||
@ -10,7 +10,7 @@ changes or additions you have made to LAMMPS into the official LAMMPS
|
||||
distribution. It uses the process of updating this very tutorial as an
|
||||
example to describe the individual steps and options. You need to be
|
||||
familiar with git and you may want to have a look at the `git book
|
||||
<http://git-scm.com/book/>`_ to familiarize yourself with some of the
|
||||
<https://git-scm.com/book/>`_ to familiarize yourself with some of the
|
||||
more advanced git features used below.
|
||||
|
||||
As of fall 2016, submitting contributions to LAMMPS via pull requests
|
||||
|
||||
@ -47,4 +47,4 @@ to the relevant fixes.
|
||||
.. _Paquay1:
|
||||
|
||||
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
||||
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
||||
preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
|
||||
|
||||
1078
doc/src/Howto_peri.rst
Normal file
1078
doc/src/Howto_peri.rst
Normal file
File diff suppressed because it is too large
Load Diff
@ -38,7 +38,7 @@ the partial charge assignments change:
|
||||
See the :ref:`(Berendsen) <howto-Berendsen>` reference for more details on both
|
||||
the SPC and SPC/E models.
|
||||
|
||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
||||
Wikipedia also has a nice article on `water models <https://en.wikipedia.org/wiki/Water_model>`_.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -49,7 +49,7 @@ details:
|
||||
| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}`
|
||||
|
|
||||
|
||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
||||
Wikipedia also has a nice article on `water models <https://en.wikipedia.org/wiki/Water_model>`_.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -97,7 +97,7 @@ This leads to slightly larger cost for the long-range calculation, so
|
||||
you can test the trade-off for your model. The OM distance and the LJ
|
||||
and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj_cut_tip4p>` command.
|
||||
|
||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
||||
Wikipedia also has a nice article on `water models <https://en.wikipedia.org/wiki/Water_model>`_.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -17,9 +17,10 @@ formats. See the :doc:`Tools <Tools>` page for details.
|
||||
|
||||
A Python-based toolkit distributed by our group can read native LAMMPS
|
||||
dump files, including custom dump files with additional columns of
|
||||
user-specified atom information, and convert them to various formats
|
||||
or pipe them into visualization software directly. See the `Pizza.py WWW site <pizza_>`_ for details. Specifically, Pizza.py can convert
|
||||
LAMMPS dump files into PDB, XYZ, `EnSight <ensight_>`_, and VTK formats.
|
||||
user-specified atom information, and convert them to various formats or
|
||||
pipe them into visualization software directly. See the `Pizza.py WWW
|
||||
site <pizza_>`_ for details. Specifically, Pizza.py can convert LAMMPS
|
||||
dump files into PDB, XYZ, `EnSight <ensight_>`_, and VTK formats.
|
||||
Pizza.py can pipe LAMMPS dump files directly into the Raster3d and
|
||||
RasMol visualization programs. Pizza.py has tools that do interactive
|
||||
3d OpenGL visualization and one that creates SVG images of dump file
|
||||
|
||||
@ -5,7 +5,7 @@ Binaries are available for MacOS or Linux via `Conda <conda_>`_.
|
||||
|
||||
First, one must setup the Conda package manager on your system. Follow the
|
||||
instructions to install `Miniconda <mini_conda_install_>`_, then create a conda
|
||||
environment (named `my-lammps-env` or whatever you prefer) for your lammps
|
||||
environment (named `my-lammps-env` or whatever you prefer) for your LAMMPS
|
||||
install:
|
||||
|
||||
.. code-block:: bash
|
||||
@ -13,7 +13,7 @@ install:
|
||||
% conda config --add channels conda-forge
|
||||
% conda create -n my-lammps-env
|
||||
|
||||
Then, you can install lammps on your system with the following command:
|
||||
Then, you can install LAMMPS on your system with the following command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ Windows system can be downloaded from this site:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
`http://packages.lammps.org/windows.html <http://packages.lammps.org/windows.html>`_
|
||||
`https://packages.lammps.org/windows.html <https://packages.lammps.org/windows.html>`_
|
||||
|
||||
Note that each installer package has a date in its name, which
|
||||
corresponds to the LAMMPS version of the same date. Installers for
|
||||
|
||||
@ -4,13 +4,13 @@ Authors of LAMMPS
|
||||
The primary LAMMPS developers are at Sandia National Labs and Temple
|
||||
University:
|
||||
|
||||
* `Steve Plimpton <sjp_>`_, sjplimp at sandia.gov
|
||||
* `Steve Plimpton <sjp_>`_, sjplimp at gmail.com
|
||||
* Aidan Thompson, athomps at sandia.gov
|
||||
* Stan Moore, stamoor at sandia.gov
|
||||
* Axel Kohlmeyer, akohlmey at gmail.com
|
||||
* Richard Berger, richard.berger at outlook.com
|
||||
|
||||
.. _sjp: http://www.cs.sandia.gov/~sjplimp
|
||||
.. _sjp: https://sjplimp.github.io
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
Past developers include Paul Crozier and Mark Stevens, both at Sandia,
|
||||
|
||||
@ -27,7 +27,7 @@ namely https://www.lammps.org.
|
||||
The original publication describing the parallel algorithms used in the
|
||||
initial versions of LAMMPS is:
|
||||
|
||||
`S. Plimpton, Fast Parallel Algorithms for Short-Range Molecular Dynamics, J Comp Phys, 117, 1-19 (1995). <http://www.sandia.gov/~sjplimp/papers/jcompphys95.pdf>`_
|
||||
`S. Plimpton, Fast Parallel Algorithms for Short-Range Molecular Dynamics, J Comp Phys, 117, 1-19 (1995). <https://doi.org/10.1006/jcph.1995.1039>`_
|
||||
|
||||
|
||||
DOI for the LAMMPS source code
|
||||
|
||||
@ -95,7 +95,7 @@ commands)
|
||||
* metal-organic framework potentials (QuickFF, MO-FF)
|
||||
* implicit solvent potentials: hydrodynamic lubrication, Debye
|
||||
* force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
|
||||
* access to the `OpenKIM Repository <http://openkim.org>`_ of potentials via :doc:`kim command <kim_commands>`
|
||||
* access to the `OpenKIM Repository <https://openkim.org>`_ of potentials via the :doc:`kim command <kim_commands>`
|
||||
* hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
|
||||
* overlaid potentials: superposition of multiple pair potentials (including many-body) with optional scale factor
|
||||
|
||||
@ -205,7 +205,7 @@ Pre- and post-processing
|
||||
|
||||
.. _pizza: https://lammps.github.io/pizza
|
||||
|
||||
.. _python: http://www.python.org
|
||||
.. _python: https://www.python.org
|
||||
|
||||
.. _special:
|
||||
|
||||
|
||||
@ -33,7 +33,7 @@ Here are suggestions on how to perform these tasks:
|
||||
linear bead-spring polymer chains. The moltemplate program is a true
|
||||
molecular builder that will generate complex molecular models. See
|
||||
the :doc:`Tools <Tools>` page for details on tools packaged with
|
||||
LAMMPS. The `Pre/post processing page <http:/www.lammps.org/prepost.html>`_ of the LAMMPS website
|
||||
LAMMPS. The `Pre/post processing page <https:/www.lammps.org/prepost.html>`_ of the LAMMPS website
|
||||
describes a variety of third party tools for this task. Furthermore,
|
||||
some LAMMPS internal commands allow to reconstruct, or selectively add
|
||||
topology information, as well as provide the option to insert molecule
|
||||
@ -80,5 +80,5 @@ Here are suggestions on how to perform these tasks:
|
||||
`Pizza.py <https://lammps.github.io/pizza>`_ which can do certain kinds of
|
||||
setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS
|
||||
simulations. It thus provides some functionality for several of the
|
||||
above bullets. Pizza.py is written in `Python <http://www.python.org>`_
|
||||
and is available for download from `this page <http://www.cs.sandia.gov/~sjplimp/download.html>`_.
|
||||
above bullets. Pizza.py is written in `Python <https://www.python.org>`_
|
||||
and is available for download from `this page <https://sjplimp.github.io/download.html>`_.
|
||||
|
||||
@ -23,9 +23,9 @@ applies to LAMMPS is in the LICENSE file included in the LAMMPS distribution.
|
||||
|
||||
.. _lgpl: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
|
||||
|
||||
.. _gnuorg: http://www.gnu.org
|
||||
.. _gnuorg: https://www.gnu.org
|
||||
|
||||
.. _opensource: http://www.opensource.org
|
||||
.. _opensource: https://www.opensource.org
|
||||
|
||||
Here is a more specific summary of what the GPL means for LAMMPS users:
|
||||
|
||||
|
||||
BIN
doc/src/JPG/dump.peri.2000.png
Normal file
BIN
doc/src/JPG/dump.peri.2000.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 200 KiB |
BIN
doc/src/JPG/dump.peri.300.png
Normal file
BIN
doc/src/JPG/dump.peri.300.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 144 KiB |
BIN
doc/src/JPG/dump.peri.600.png
Normal file
BIN
doc/src/JPG/dump.peri.600.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 157 KiB |
BIN
doc/src/JPG/ovito-peri-snap.png
Normal file
BIN
doc/src/JPG/ovito-peri-snap.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 494 KiB |
BIN
doc/src/JPG/pdlammps_fig1.png
Normal file
BIN
doc/src/JPG/pdlammps_fig1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 160 KiB |
BIN
doc/src/JPG/pdlammps_fig2.png
Normal file
BIN
doc/src/JPG/pdlammps_fig2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 MiB |
@ -134,6 +134,8 @@ commands to write and read data using the ADIOS library.
|
||||
|
||||
**Authors:** Norbert Podhorszki (ORNL) from the ADIOS developer team.
|
||||
|
||||
.. versionadded:: 28Feb2019
|
||||
|
||||
**Install:**
|
||||
|
||||
This package has :ref:`specific installation instructions <adios>` on the :doc:`Build extras <Build_extras>` page.
|
||||
@ -364,6 +366,8 @@ and also support self-propelled particles.
|
||||
**Authors:** Sam Cameron (University of Bristol),
|
||||
Stefan Paquay (while at Brandeis University) (initial version of fix propel/self)
|
||||
|
||||
.. versionadded:: 14May2021
|
||||
|
||||
Example inputs are in the examples/PACKAGES/brownian folder.
|
||||
|
||||
----------
|
||||
@ -592,6 +596,8 @@ To use this package, also the :ref:`KSPACE <PKG-KSPACE>` and
|
||||
|
||||
**Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U)
|
||||
|
||||
.. versionadded:: 2Jul2021
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/DIELECTRIC: filenames -> commands
|
||||
@ -1071,7 +1077,7 @@ H5MD is a format for molecular simulations, built on top of HDF5.
|
||||
This package implements a :doc:`dump h5md <dump_h5md>` command to output
|
||||
LAMMPS snapshots in this format.
|
||||
|
||||
.. _HDF5: http://www.hdfgroup.org/HDF5
|
||||
.. _HDF5: https://www.hdfgroup.org/solutions/hdf5
|
||||
|
||||
To use this package you must have the HDF5 library available on your
|
||||
system.
|
||||
@ -1512,6 +1518,8 @@ workflows via the `MolSSI Driver Interface
|
||||
|
||||
**Author:** Taylor Barnes - MolSSI, taylor.a.barnes at gmail.com
|
||||
|
||||
.. versionadded:: 14May2021
|
||||
|
||||
**Install:**
|
||||
|
||||
This package has :ref:`specific installation instructions <mdi>` on
|
||||
@ -1596,6 +1604,8 @@ of Alabama), Leonid V. Zhigilei (University of Virginia)
|
||||
**Author of the *mesocnt* styles:**
|
||||
Philipp Kloza (U Cambridge)
|
||||
|
||||
.. versionadded:: 15Jun2020
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/MESONT: filenames -> commands
|
||||
@ -1688,6 +1698,8 @@ compiled on your system.
|
||||
|
||||
**Author:** Andreas Singraber
|
||||
|
||||
.. versionadded:: 27May2021
|
||||
|
||||
**Install:**
|
||||
|
||||
This package has :ref:`specific installation instructions <ml-hdnnp>` on the
|
||||
@ -1722,6 +1734,10 @@ must be installed.
|
||||
|
||||
**Author:** Aidan Thompson (Sandia), Nicholas Lubbers (LANL).
|
||||
|
||||
.. versionadded:: 30Jun2020
|
||||
|
||||
.. versionadded:: 30Jun2020
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/ML-IAP: filenames -> commands
|
||||
@ -1766,6 +1782,8 @@ Aidan Thompson^3, Gabor Csanyi^2, Christoph Ortner^4, Ralf Drautz^1.
|
||||
|
||||
^4: University of British Columbia, Vancouver, BC, Canada
|
||||
|
||||
.. versionadded:: 14May2021
|
||||
|
||||
**Install:**
|
||||
|
||||
This package has :ref:`specific installation instructions <ml-pace>` on the
|
||||
@ -1829,6 +1847,8 @@ of a neural network.
|
||||
This package was written by Christopher Barrett
|
||||
with contributions by Doyl Dickel, Mississippi State University.
|
||||
|
||||
.. versionadded:: 27May2021
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/ML-RANN: filenames -> commands
|
||||
@ -1954,7 +1974,7 @@ support for new file formats can be added to LAMMPS (or VMD or other
|
||||
programs that use them) without having to re-compile the application
|
||||
itself. More information about the VMD molfile plugins can be found
|
||||
at
|
||||
`http://www.ks.uiuc.edu/Research/vmd/plugins/molfile <http://www.ks.uiuc.edu/Research/vmd/plugins/molfile>`_.
|
||||
`https://www.ks.uiuc.edu/Research/vmd/plugins/molfile <https://www.ks.uiuc.edu/Research/vmd/plugins/molfile>`_.
|
||||
|
||||
**Author:** Axel Kohlmeyer (Temple U).
|
||||
|
||||
@ -2045,7 +2065,7 @@ NETCDF package
|
||||
Dump styles for writing NetCDF formatted dump files. NetCDF is a
|
||||
portable, binary, self-describing file format developed on top of
|
||||
HDF5. The file contents follow the AMBER NetCDF trajectory conventions
|
||||
(http://ambermd.org/netcdf/nctraj.xhtml), but include extensions.
|
||||
(https://ambermd.org/netcdf/nctraj.xhtml), but include extensions.
|
||||
|
||||
To use this package you must have the NetCDF library available on your
|
||||
system.
|
||||
@ -2056,7 +2076,7 @@ tools:
|
||||
* `Ovito <ovito_>`_ (Ovito supports the AMBER convention and the extensions mentioned above)
|
||||
* `VMD <vmd-home_>`_
|
||||
|
||||
.. _ovito: http://www.ovito.org
|
||||
.. _ovito: https://www.ovito.org
|
||||
|
||||
.. _vmd-home: https://www.ks.uiuc.edu/Research/vmd/
|
||||
|
||||
@ -2200,6 +2220,7 @@ Foster (UTSA).
|
||||
**Supporting info:**
|
||||
|
||||
* src/PERI: filenames -> commands
|
||||
* :doc:`Peridynamics Howto <Howto_peri>`
|
||||
* `doc/PDF/PDLammps_overview.pdf <PDF/PDLammps_overview.pdf>`_
|
||||
* `doc/PDF/PDLammps_EPS.pdf <PDF/PDLammps_EPS.pdf>`_
|
||||
* `doc/PDF/PDLammps_VES.pdf <PDF/PDLammps_VES.pdf>`_
|
||||
@ -2264,6 +2285,8 @@ try to load the contained plugins automatically at start-up.
|
||||
|
||||
**Authors:** Axel Kohlmeyer (Temple U)
|
||||
|
||||
.. versionadded:: 8Apr2021
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/PLUGIN: filenames -> commands
|
||||
@ -2417,7 +2440,7 @@ A :doc:`fix qmmm <fix_qmmm>` command which allows LAMMPS to be used as
|
||||
the MM code in a QM/MM simulation. This is currently only available
|
||||
in combination with the `Quantum ESPRESSO <espresso_>`_ package.
|
||||
|
||||
.. _espresso: http://www.quantum-espresso.org
|
||||
.. _espresso: https://www.quantum-espresso.org
|
||||
|
||||
To use this package you must have Quantum ESPRESSO (QE) available on
|
||||
your system and include its coupling library in the compilation and
|
||||
@ -2829,7 +2852,7 @@ collection of atoms by wrapping the `Voro++ library <voro-home_>`_. This
|
||||
can be used to calculate the local volume or each atoms or its near
|
||||
neighbors.
|
||||
|
||||
.. _voro-home: http://math.lbl.gov/voro++
|
||||
.. _voro-home: https://math.lbl.gov/voro++
|
||||
|
||||
To use this package you must have the Voro++ library available on your
|
||||
system.
|
||||
@ -2863,9 +2886,9 @@ A :doc:`dump vtk <dump_vtk>` command which outputs snapshot info in the
|
||||
`VTK format <vtk_>`_, enabling visualization by `Paraview <paraview_>`_ or
|
||||
other visualization packages.
|
||||
|
||||
.. _vtk: http://www.vtk.org
|
||||
.. _vtk: https://www.vtk.org
|
||||
|
||||
.. _paraview: http://www.paraview.org
|
||||
.. _paraview: https://www.paraview.org
|
||||
|
||||
To use this package you must have VTK library available on your
|
||||
system.
|
||||
@ -2902,11 +2925,13 @@ which discuss the `QuickFF <quickff_>`_ methodology.
|
||||
|
||||
.. _vanduyfhuys2015: https://doi.org/10.1002/jcc.23877
|
||||
.. _vanduyfhuys2018: https://doi.org/10.1002/jcc.25173
|
||||
.. _quickff: http://molmod.github.io/QuickFF
|
||||
.. _quickff: https://molmod.github.io/QuickFF
|
||||
.. _yaff: https://github.com/molmod/yaff
|
||||
|
||||
**Author:** Steven Vandenbrande.
|
||||
|
||||
.. versionadded:: 1Feb2019
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/YAFF/README
|
||||
|
||||
@ -43,26 +43,18 @@ Note that for AtomEye, you need version 3, and there is a line in the
|
||||
scripts that specifies the path and name of the executable. See the
|
||||
AtomEye web pages for more details:
|
||||
|
||||
* `http://li.mit.edu/Archive/Graphics/A/ <atomeye_>`_
|
||||
* `http://li.mit.edu/Archive/Graphics/A3/A3.html <atomeye3_>`_
|
||||
* `http://li.mit.edu/Archive/Graphics/A/ <http://li.mit.edu/Archive/Graphics/A/>`_
|
||||
* `http://li.mit.edu/Archive/Graphics/A3/A3.html <http://li.mit.edu/Archive/Graphics/A3/A3.html>`_
|
||||
|
||||
.. _atomeye: http://li.mit.edu/Archive/Graphics/A/
|
||||
|
||||
.. _atomeye3: http://li.mit.edu/Archive/Graphics/A3/A3.html
|
||||
|
||||
The latter link is to AtomEye 3 which has the scripting
|
||||
capability needed by these Python scripts.
|
||||
The latter link is to AtomEye 3 which has the scripting capability
|
||||
needed by these Python scripts.
|
||||
|
||||
Note that for PyMol, you need to have built and installed the
|
||||
open-source version of PyMol in your Python, so that you can import it
|
||||
from a Python script. See the PyMol web pages for more details:
|
||||
|
||||
* `https://www.pymol.org <pymolhome_>`_
|
||||
* `https://github.com/schrodinger/pymol-open-source <pymolopen_>`_
|
||||
|
||||
.. _pymolhome: https://www.pymol.org
|
||||
|
||||
.. _pymolopen: https://github.com/schrodinger/pymol-open-source
|
||||
* `https://www.pymol.org <https://www.pymol.org>`_
|
||||
* `https://github.com/schrodinger/pymol-open-source <https://github.com/schrodinger/pymol-open-source>`_
|
||||
|
||||
The latter link is to the open-source version.
|
||||
|
||||
|
||||
@ -18,17 +18,17 @@ together.
|
||||
Python_error
|
||||
Python_trouble
|
||||
|
||||
If you are not familiar with `Python <http://www.python.org>`_, it is a
|
||||
If you are not familiar with `Python <https://www.python.org>`_, it is a
|
||||
powerful scripting and programming language which can do almost
|
||||
everything that compiled languages like C, C++, or Fortran can do in
|
||||
fewer lines of code. It also comes with a large collection of add-on
|
||||
modules for many purposes (either bundled or easily installed from
|
||||
Python code repositories). The major drawback is slower execution speed
|
||||
of the script code compared to compiled programming languages. But when
|
||||
the script code is interfaced to optimized compiled code, performance can
|
||||
be on par with a standalone executable, for as long as the scripting is
|
||||
restricted to high-level operations. Thus Python is also convenient to
|
||||
use as a "glue" language to "drive" a program through its library
|
||||
the script code is interfaced to optimized compiled code, performance
|
||||
can be on par with a standalone executable, for as long as the scripting
|
||||
is restricted to high-level operations. Thus Python is also convenient
|
||||
to use as a "glue" language to "drive" a program through its library
|
||||
interface, or to hook multiple pieces of software together, such as a
|
||||
simulation code and a visualization tool, or to run a coupled
|
||||
multi-scale or multi-physics model.
|
||||
|
||||
@ -25,8 +25,8 @@ in parallel, follow these steps.
|
||||
|
||||
Download and install a compatible MPI library binary package:
|
||||
|
||||
* for 32-bit Windows: `mpich2-1.4.1p1-win-ia32.msi <http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi>`_
|
||||
* for 64-bit Windows: `mpich2-1.4.1p1-win-x86-64.msi <http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi>`_
|
||||
* for 32-bit Windows: `mpich2-1.4.1p1-win-ia32.msi <https://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi>`_
|
||||
* for 64-bit Windows: `mpich2-1.4.1p1-win-x86-64.msi <https://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi>`_
|
||||
|
||||
The LAMMPS Windows installer packages will automatically adjust your
|
||||
path for the default location of this MPI package. After the
|
||||
|
||||
@ -39,7 +39,7 @@ toolkit software on your system (this is only tested on Linux
|
||||
and unsupported on Windows):
|
||||
|
||||
* Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/\*/information
|
||||
* Go to http://www.nvidia.com/object/cuda_get.html
|
||||
* Go to https://developer.nvidia.com/cuda-downloads
|
||||
* Install a driver and toolkit appropriate for your system (SDK is not necessary)
|
||||
* Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to
|
||||
list supported devices and properties
|
||||
|
||||
@ -537,5 +537,5 @@ References
|
||||
""""""""""
|
||||
|
||||
* Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakkar, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS", in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann.
|
||||
* Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. `Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. <http://dl.acm.org/citation.cfm?id=3014915>`_ 2016 High Performance Computing, Networking, Storage and Analysis, SC16: International Conference (pp. 82-95).
|
||||
* Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. `Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. <https://dl.acm.org/citation.cfm?id=3014915>`_ 2016 High Performance Computing, Networking, Storage and Analysis, SC16: International Conference (pp. 82-95).
|
||||
* Brown, W.M., Carrillo, J.-M.Y., Gavhane, N., Thakkar, F.M., Plimpton, S.J. Optimizing Legacy Molecular Dynamics Software with Directive-Based Offload. Computer Physics Communications. 2015. 195: p. 95-101.
|
||||
|
||||
@ -97,7 +97,7 @@ sub-section.
|
||||
|
||||
A description of the multi-threading strategy used in the OPENMP
|
||||
package and some performance examples are
|
||||
`presented here <http://sites.google.com/site/akohlmey/software/lammps-icms/lammps-icms-tms2011-talk.pdf?attredirects=0&d=1>`_.
|
||||
`presented here <https://drive.google.com/file/d/1d1gLK6Ru6aPYB50Ld2tO10Li8zgPVNB8/view?usp=sharing>`_.
|
||||
|
||||
Guidelines for best performance
|
||||
"""""""""""""""""""""""""""""""
|
||||
|
||||
@ -205,6 +205,7 @@ scripts are available:
|
||||
whitespace.py # detects TAB characters and trailing whitespace
|
||||
homepage.py # detects outdated LAMMPS homepage URLs (pointing to sandia.gov instead of lammps.org)
|
||||
errordocs.py # detects deprecated error docs in header files
|
||||
versiontags.py # detects .. versionadded:: or .. versionchanged:: with pending version date
|
||||
|
||||
The tools need to be given the main folder of the LAMMPS distribution
|
||||
or individual file names as argument and will by default check them
|
||||
@ -397,7 +398,7 @@ ipp tool
|
||||
------------------
|
||||
|
||||
The tools/ipp directory contains a Perl script ipp which can be used
|
||||
to facilitate the creation of a complicated file (say, a lammps input
|
||||
to facilitate the creation of a complicated file (say, a LAMMPS input
|
||||
script or tools/createatoms input file) using a template file.
|
||||
|
||||
ipp was created and is maintained by Reese Jones (Sandia), rjones at
|
||||
@ -512,8 +513,8 @@ with an ``.inputrc`` file in the home directory. For application
|
||||
specific customization, the LAMMPS shell uses the name "lammps-shell".
|
||||
For more information about using and customizing an application using
|
||||
readline, please see the available documentation at:
|
||||
`http://www.gnu.org/s/readline/#Documentation
|
||||
<http://www.gnu.org/s/readline/#Documentation>`_
|
||||
https://www.gnu.org/software/readline/
|
||||
|
||||
|
||||
Additional commands
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
@ -715,7 +716,7 @@ See the README.pdf file for more information.
|
||||
These scripts were written by Arun Subramaniyan at Purdue Univ
|
||||
(asubrama at purdue.edu).
|
||||
|
||||
.. _matlabhome: http://www.mathworks.com
|
||||
.. _matlabhome: https://www.mathworks.com
|
||||
|
||||
----------
|
||||
|
||||
@ -1046,7 +1047,7 @@ the binary file. This usually is a so-called little endian hardware
|
||||
SWIG interface
|
||||
--------------
|
||||
|
||||
The `SWIG tool <http://swig.org>`_ offers a mostly automated way to
|
||||
The `SWIG tool <https://swig.org>`_ offers a mostly automated way to
|
||||
incorporate compiled code modules into scripting languages. It
|
||||
processes the function prototypes in C and generates wrappers for a wide
|
||||
variety of scripting languages from it. Thus it can also be applied to
|
||||
@ -1126,7 +1127,7 @@ data passed or returned as pointers are included in the ``lammps.i``
|
||||
file. So most of the functionality of the library interface should be
|
||||
accessible. What works and what does not depends a bit on the
|
||||
individual language for which the wrappers are built and how well SWIG
|
||||
supports those. The `SWIG documentation <http://swig.org/doc.html>`_
|
||||
supports those. The `SWIG documentation <https://swig.org/doc.html>`_
|
||||
has very detailed instructions and recommendations.
|
||||
|
||||
Usage examples
|
||||
|
||||
@ -35,6 +35,8 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: 7Jan2022
|
||||
|
||||
Define a computation that calculates the local mass density and
|
||||
temperature for each atom based on its neighbors inside a spherical
|
||||
cutoff. If an atom has :math:`M` neighbors, then its local mass density is
|
||||
|
||||
@ -24,16 +24,17 @@ Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that calculates the per-atom damage for each atom
|
||||
in a group. This is a quantity relevant for :doc:`Peridynamics models <pair_peri>`. See `this document <PDF/PDLammps_overview.pdf>`_
|
||||
for an overview of LAMMPS commands for Peridynamics modeling.
|
||||
in a group. This is a quantity relevant for :doc:`Peridynamics models
|
||||
<pair_peri>`. See `this document <PDF/PDLammps_overview.pdf>`_ for an
|
||||
overview of LAMMPS commands for Peridynamics modeling.
|
||||
|
||||
The "damage" of a Peridynamics particles is based on the bond breakage
|
||||
between the particle and its neighbors. If all the bonds are broken
|
||||
the particle is considered to be fully damaged.
|
||||
|
||||
See the `PDLAMMPS user guide <http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf>`_ for a formal
|
||||
definition of "damage" and more details about Peridynamics as it is
|
||||
implemented in LAMMPS.
|
||||
See the :doc:`Peridynamics Howto <Howto_peri>` for a formal definition
|
||||
of "damage" and more details about Peridynamics as it is implemented in
|
||||
LAMMPS.
|
||||
|
||||
This command can be used with all the Peridynamic pair styles.
|
||||
|
||||
@ -53,8 +54,9 @@ The per-atom vector values are unitless numbers (damage) :math:`\ge 0.0`.
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This compute is part of the PERI package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
||||
This compute is part of the PERI package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -24,7 +24,8 @@ Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that calculates the per-atom dilatation for each
|
||||
atom in a group. This is a quantity relevant for :doc:`Peridynamics models <pair_peri>`. See `this document <PDF/PDLammps_overview.pdf>`_
|
||||
atom in a group. This is a quantity relevant for :doc:`Peridynamics
|
||||
models <pair_peri>`. See `this document <PDF/PDLammps_overview.pdf>`_
|
||||
for an overview of LAMMPS commands for Peridynamics modeling.
|
||||
|
||||
For small deformation, dilatation of is the measure of the volumetric
|
||||
@ -32,13 +33,14 @@ strain.
|
||||
|
||||
The dilatation :math:`\theta` for each peridynamic particle :math:`i` is
|
||||
calculated as a sum over its neighbors with unbroken bonds, where the
|
||||
contribution of the :math:`ij` pair is a function of the change in bond length
|
||||
(versus the initial length in the reference state), the volume
|
||||
contribution of the :math:`ij` pair is a function of the change in bond
|
||||
length (versus the initial length in the reference state), the volume
|
||||
fraction of the particles and an influence function. See the
|
||||
`PDLAMMPS user guide <http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf>`_ for
|
||||
a formal definition of dilatation.
|
||||
:doc:`Peridynamics Howto <Howto_peri>` for a formal definition of
|
||||
dilatation.
|
||||
|
||||
This command can only be used with a subset of the Peridynamic :doc:`pair styles <pair_peri>`: peri/lps, peri/ves and peri/eps.
|
||||
This command can only be used with a subset of the Peridynamic
|
||||
:doc:`pair styles <pair_peri>`: *peri/lps*, *peri/ves*, and *peri/eps*.
|
||||
|
||||
The dilatation value will be 0.0 for atoms not in the specified
|
||||
compute group.
|
||||
@ -56,9 +58,9 @@ The per-atom vector values are unitless numbers :math:`(\theta \ge 0.0)`.
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This compute is part of the PERI package. It is only enabled if
|
||||
LAMMPS was built with that package. See the
|
||||
:doc:`Build package <Build_package>` page for more info.
|
||||
This compute is part of the PERI package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -34,6 +34,8 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: 4May2022
|
||||
|
||||
Define a computation that calculates the change in the free energy due
|
||||
to a test-area (TA) perturbation :ref:`(Gloor) <Gloor>`. The test-area
|
||||
approach can be used to determine the interfacial tension of the system
|
||||
|
||||
@ -228,18 +228,20 @@ command:
|
||||
See section below on output for a detailed explanation of the data
|
||||
layout in the global array.
|
||||
|
||||
.. versionadded:: 3Aug2022
|
||||
|
||||
The compute *sna/grid* and *sna/grid/local* commands calculate
|
||||
bispectrum components for a regular grid of points.
|
||||
These are calculated from the local density of nearby atoms *i'*
|
||||
around each grid point, as if there was a central atom *i*
|
||||
at the grid point. This is useful for characterizing fine-scale
|
||||
structure in a configuration of atoms, and it is used
|
||||
in the `MALA package <https://github.com/casus/mala>`_
|
||||
to build machine-learning surrogates for finite-temperature Kohn-Sham
|
||||
density functional theory (:ref:`Ellis et al. <Ellis2021>`)
|
||||
Neighbor atoms not in the group do not contribute to the
|
||||
bispectrum components of the grid points. The distance cutoff :math:`R_{ii'}`
|
||||
assumes that *i* has the same type as the neighbor atom *i'*.
|
||||
bispectrum components for a regular grid of points. These are
|
||||
calculated from the local density of nearby atoms *i'* around each grid
|
||||
point, as if there was a central atom *i* at the grid point. This is
|
||||
useful for characterizing fine-scale structure in a configuration of
|
||||
atoms, and it is used in the `MALA package
|
||||
<https://github.com/casus/mala>`_ to build machine-learning surrogates
|
||||
for finite-temperature Kohn-Sham density functional theory (:ref:`Ellis
|
||||
et al. <Ellis2021>`) Neighbor atoms not in the group do not contribute
|
||||
to the bispectrum components of the grid points. The distance cutoff
|
||||
:math:`R_{ii'}` assumes that *i* has the same type as the neighbor atom
|
||||
*i'*.
|
||||
|
||||
Compute *sna/grid* calculates a global array containing bispectrum
|
||||
components for a regular grid of points.
|
||||
|
||||
@ -29,7 +29,7 @@ Description
|
||||
Define a computation that calculates the temperature of a system based
|
||||
on the center-of-mass velocity of atom pairs that are bonded to each
|
||||
other. This compute is designed to be used with the adiabatic
|
||||
core/shell model of :ref:`(Mitchell and Finchham) <MitchellFinchham1>`.
|
||||
core/shell model of :ref:`(Mitchell and Fincham) <MitchellFincham1>`.
|
||||
See the :doc:`Howto coreshell <Howto_coreshell>` page for an overview of
|
||||
the model as implemented in LAMMPS. Specifically, this compute
|
||||
enables correct temperature calculation and thermostatting of
|
||||
@ -127,7 +127,7 @@ none
|
||||
|
||||
----------
|
||||
|
||||
.. _MitchellFinchham1:
|
||||
.. _MitchellFincham1:
|
||||
|
||||
**(Mitchell and Finchham)** Mitchell, Finchham, J Phys Condensed Matter,
|
||||
**(Mitchell and Fincham)** Mitchell, Fincham, J Phys Condensed Matter,
|
||||
5, 1031-1038 (1993).
|
||||
|
||||
@ -154,25 +154,25 @@ which must be installed on your system when building LAMMPS for use
|
||||
with this compute. See instructions on obtaining and installing the
|
||||
Voro++ software in the src/VORONOI/README file.
|
||||
|
||||
.. _voronoi: http://math.lbl.gov/voro++/
|
||||
.. _voronoi: https://math.lbl.gov/voro++/
|
||||
|
||||
.. note::
|
||||
|
||||
The calculation of Voronoi volumes is performed by each
|
||||
processor for the atoms it owns, and includes the effect of ghost
|
||||
atoms stored by the processor. This assumes that the Voronoi cells of
|
||||
owned atoms are not affected by atoms beyond the ghost atom cut-off
|
||||
distance. This is usually a good assumption for liquid and solid
|
||||
systems, but may lead to underestimation of Voronoi volumes in low
|
||||
density systems. By default, the set of ghost atoms stored by each
|
||||
processor is determined by the cutoff used for
|
||||
:doc:`pair_style <pair_style>` interactions. The cutoff can be set
|
||||
explicitly via the :doc:`comm_modify cutoff <comm_modify>` command. The
|
||||
Voronoi cells for atoms adjacent to empty regions will extend into
|
||||
those regions up to the communication cutoff in :math:`x`, :math:`y`, or
|
||||
:math:`z`. In that situation, an exterior face is created at the cutoff
|
||||
distance normal to the :math:`x`, :math:`y`, or :math:`z` direction.
|
||||
For triclinic systems, the exterior face is parallel to the corresponding
|
||||
The calculation of Voronoi volumes is performed by each processor for
|
||||
the atoms it owns, and includes the effect of ghost atoms stored by
|
||||
the processor. This assumes that the Voronoi cells of owned atoms
|
||||
are not affected by atoms beyond the ghost atom cut-off distance.
|
||||
This is usually a good assumption for liquid and solid systems, but
|
||||
may lead to underestimation of Voronoi volumes in low density
|
||||
systems. By default, the set of ghost atoms stored by each processor
|
||||
is determined by the cutoff used for :doc:`pair_style <pair_style>`
|
||||
interactions. The cutoff can be set explicitly via the
|
||||
:doc:`comm_modify cutoff <comm_modify>` command. The Voronoi cells
|
||||
for atoms adjacent to empty regions will extend into those regions up
|
||||
to the communication cutoff in :math:`x`, :math:`y`, or :math:`z`.
|
||||
In that situation, an exterior face is created at the cutoff distance
|
||||
normal to the :math:`x`, :math:`y`, or :math:`z` direction. For
|
||||
triclinic systems, the exterior face is parallel to the corresponding
|
||||
reciprocal lattice vector.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -189,6 +189,10 @@ to the area of that triangle.
|
||||
beneficial to exclude computing interactions between the created
|
||||
particles using :doc:`neigh_modify exclude <neigh_modify>`.
|
||||
|
||||
.. versionchanged:: 2Jun2022
|
||||
|
||||
The *porosity* style has been renamed to *random* with added functionality.
|
||||
|
||||
For the *random* style, *N* particles are added to the system at
|
||||
randomly generated coordinates, which can be useful for generating an
|
||||
amorphous system. The particles are created one by one using the
|
||||
|
||||
@ -116,6 +116,8 @@ must be in both the specified group and region. If *group-ID* = all,
|
||||
there is effectively no group criterion. If *region-ID* is specified
|
||||
as NULL, no region criterion is imposed.
|
||||
|
||||
.. versionadded:: 4May2022
|
||||
|
||||
For style *variable*, all atoms for which the atom-style variable with
|
||||
the given name evaluates to non-zero will be deleted. Additional atoms
|
||||
can be deleted if they are in a molecule for which one or more atoms
|
||||
|
||||
@ -480,7 +480,7 @@ style.
|
||||
----------
|
||||
|
||||
Note that *atom*, *custom*, *dcd*, *xtc*, and *xyz* style dump files
|
||||
can be read directly by `VMD <http://www.ks.uiuc.edu/Research/vmd>`_, a
|
||||
can be read directly by `VMD <https://www.ks.uiuc.edu/Research/vmd>`_, a
|
||||
popular molecular viewing program.
|
||||
|
||||
----------
|
||||
|
||||
@ -64,7 +64,7 @@ stored within the same file by defining several dumps. A dump that
|
||||
refers (via *file_from*) to an already open dump ID and that concerns
|
||||
another particle group must specify *create_group yes*.
|
||||
|
||||
.. _h5md: http://nongnu.org/h5md/
|
||||
.. _h5md: https://nongnu.org/h5md/
|
||||
|
||||
Each data element is written every N\*N_element steps. For *image*, no
|
||||
sub-interval is needed as it must be present at the same interval as
|
||||
@ -113,7 +113,7 @@ the `HDF5 <HDF5-ws_>`_ library installed (C bindings are sufficient) on
|
||||
your system. The library ch5md is compiled with the h5cc wrapper
|
||||
provided by the HDF5 library.
|
||||
|
||||
.. _HDF5-ws: http://www.hdfgroup.org/HDF5/
|
||||
.. _HDF5-ws: https://www.hdfgroup.org/solutions/hdf5/
|
||||
|
||||
----------
|
||||
|
||||
@ -129,4 +129,4 @@ Related commands
|
||||
**(de Buyl)** de Buyl, Colberg and Hofling, H5MD: A structured,
|
||||
efficient, and portable file format for molecular data,
|
||||
Comp. Phys. Comm. 185(6), 1546-1553 (2014) -
|
||||
`[arXiv:1308.6382] <http://arxiv.org/abs/1308.6382/>`_.
|
||||
`[arXiv:1308.6382] <https://arxiv.org/abs/1308.6382/>`_.
|
||||
|
||||
@ -212,7 +212,7 @@ is used.
|
||||
Similarly, the format of the resulting movie is chosen with the
|
||||
*movie* dump style. This is handled by the underlying FFmpeg converter
|
||||
and thus details have to be looked up in the `FFmpeg documentation
|
||||
<http://ffmpeg.org/ffmpeg.html>`_. Typical examples are: .avi, .mpg,
|
||||
<https://ffmpeg.org/ffmpeg.html>`_. Typical examples are: .avi, .mpg,
|
||||
.m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie
|
||||
compression like bitrate and framerate can be set using the
|
||||
dump_modify command as described below.
|
||||
@ -642,7 +642,7 @@ MPEG or other movie file you can use:
|
||||
cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi
|
||||
|
||||
Front ends for FFmpeg exist for multiple platforms. For more
|
||||
information see the `FFmpeg homepage <http://www.ffmpeg.org/>`_
|
||||
information see the `FFmpeg homepage <https://www.ffmpeg.org/>`_
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -881,7 +881,7 @@ levels that sacrifice compression for performance. 0 is the default,
|
||||
positive levels are 1 to 22, with 22 being the most expensive
|
||||
compression. Zstd promises higher compression/decompression speeds for
|
||||
similar compression ratios. For more details see
|
||||
`http://facebook.github.io/zstd/`.
|
||||
`https://facebook.github.io/zstd/`.
|
||||
|
||||
In addition, Zstd compressed files can include a checksum of the
|
||||
entire contents. The Zstd enabled dump styles enable this feature by
|
||||
|
||||
@ -34,7 +34,7 @@ Dump a snapshot of atom coordinates and selected additional quantities
|
||||
to one or more files every N timesteps in one of several formats.
|
||||
Only information for atoms in the specified group is dumped. This
|
||||
specific dump style uses molfile plugins that are bundled with the
|
||||
`VMD <http://www.ks.uiuc.edu/Research/vmd>`_ molecular visualization and
|
||||
`VMD <https://www.ks.uiuc.edu/Research/vmd>`_ molecular visualization and
|
||||
analysis program.
|
||||
|
||||
Unless the filename contains a \* character, the output will be written
|
||||
|
||||
@ -48,21 +48,17 @@ rank.
|
||||
|
||||
NetCDF files can be directly visualized via the following tools:
|
||||
|
||||
Ovito (http://www.ovito.org/). Ovito supports the AMBER convention and
|
||||
all extensions of this dump style.
|
||||
|
||||
* VMD (http://www.ks.uiuc.edu/Research/vmd/).
|
||||
* AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye
|
||||
contains a NetCDF reader that is not present in the standard
|
||||
distribution of AtomEye.
|
||||
* Ovito (https://www.ovito.org/). Ovito supports the AMBER convention and
|
||||
all extensions of this dump style.
|
||||
* VMD (https://www.ks.uiuc.edu/Research/vmd/).
|
||||
|
||||
In addition to per-atom data, :doc:`thermo <thermo>` data can be included in the
|
||||
dump file. The data included in the dump file is identical to the data specified
|
||||
by :doc:`thermo_style <thermo_style>`.
|
||||
|
||||
.. _netcdf-home: http://www.unidata.ucar.edu/software/netcdf/
|
||||
.. _netcdf-home: https://www.unidata.ucar.edu/software/netcdf/
|
||||
|
||||
.. _pnetcdf-home: http://trac.mcs.anl.gov/projects/parallel-netcdf/
|
||||
.. _pnetcdf-home: https://trac.mcs.anl.gov/projects/parallel-netcdf/
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -29,8 +29,9 @@ Description
|
||||
"""""""""""
|
||||
|
||||
Dump a snapshot of atom quantities to one or more files every :math:`N`
|
||||
timesteps in a format readable by the `VTK visualization toolkit <http://www.vtk.org>`_ or other visualization tools that use it,
|
||||
such as `ParaView <http://www.paraview.org>`_. The time steps on which dump
|
||||
timesteps in a format readable by the `VTK visualization toolkit
|
||||
<https://www.vtk.org>`_ or other visualization tools that use it, such
|
||||
as `ParaView <https://www.paraview.org>`_. The time steps on which dump
|
||||
output is written can also be controlled by a variable; see the
|
||||
:doc:`dump_modify every <dump_modify>` command for details.
|
||||
|
||||
@ -38,8 +39,8 @@ This dump style is similar to :doc:`dump_style custom <dump>` but uses
|
||||
the VTK library to write data to VTK simple legacy or XML format,
|
||||
depending on the filename extension specified for the dump file. This
|
||||
can be either *\*.vtk* for the legacy format or *\*.vtp* and *\*.vtu*,
|
||||
respectively, for XML format; see the
|
||||
`VTK homepage <http://www.vtk.org/VTK/img/file-formats.pdf>`_ for a detailed
|
||||
respectively, for XML format; see the `VTK homepage
|
||||
<https://www.vtk.org/VTK/img/file-formats.pdf>`_ for a detailed
|
||||
description of these formats. Since this naming convention conflicts
|
||||
with the way binary output is usually specified (see below), the
|
||||
:doc:`dump_modify binary <dump_modify>` command allows setting of a
|
||||
@ -61,14 +62,15 @@ determine the kind of output.
|
||||
|
||||
.. warning::
|
||||
|
||||
Unless the :doc:`dump_modify sort <dump_modify>` option
|
||||
is invoked, the lines of atom information written to dump files will
|
||||
be in an indeterminate order for each snapshot. This is even true
|
||||
when running on a single processor, if the :doc:`atom_modify sort <atom_modify>` option is on, which it is by default. In this
|
||||
case atoms are re-ordered periodically during a simulation, due to
|
||||
spatial sorting. It is also true when running in parallel, because
|
||||
data for a single snapshot is collected from multiple processors, each
|
||||
of which owns a subset of the atoms.
|
||||
Unless the :doc:`dump_modify sort <dump_modify>` option is invoked,
|
||||
the lines of atom information written to dump files will be in an
|
||||
indeterminate order for each snapshot. This is even true when
|
||||
running on a single processor, if the :doc:`atom_modify sort
|
||||
<atom_modify>` option is on, which it is by default. In this case
|
||||
atoms are re-ordered periodically during a simulation, due to spatial
|
||||
sorting. It is also true when running in parallel, because data for
|
||||
a single snapshot is collected from multiple processors, each of
|
||||
which owns a subset of the atoms.
|
||||
|
||||
For the *vtk* style, sorting is off by default. See the
|
||||
:doc:`dump_modify <dump_modify>` page for details.
|
||||
|
||||
@ -319,6 +319,8 @@ with fix_adapt are
|
||||
|
||||
----------
|
||||
|
||||
.. versionadded:: 4May2022
|
||||
|
||||
The *angle* keyword uses the specified variable to change the value of
|
||||
an angle coefficient over time, very similar to how the *pair* keyword
|
||||
operates. The only difference is that now an angle coefficient for a
|
||||
|
||||
@ -78,7 +78,7 @@ example of how this is done. This sample application performs
|
||||
classical MD using quantum forces computed by a density functional
|
||||
code `Quest <quest_>`_.
|
||||
|
||||
.. _quest: http://dft.sandia.gov/Quest
|
||||
.. _quest: https://dft.sandia.gov/Quest
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -159,7 +159,7 @@ Related commands
|
||||
|
||||
.. _GLE4MD:
|
||||
|
||||
**(GLE4MD)** `http://gle4md.org/ <http://gle4md.org/>`_
|
||||
**(GLE4MD)** `https://gle4md.org/ <https://gle4md.org/>`_
|
||||
|
||||
.. _Ceriotti2:
|
||||
|
||||
|
||||
@ -51,16 +51,11 @@ from the main execution thread and potentially lower the inferred
|
||||
latencies for slow communication links. This feature has only been
|
||||
tested under linux.
|
||||
|
||||
There are example scripts for using this package with LAMMPS in
|
||||
examples/PACKAGES/imd. Additional examples and a driver for use with the
|
||||
Novint Falcon game controller as haptic device can be found at:
|
||||
http://sites.google.com/site/akohlmey/software/vrpn-icms.
|
||||
|
||||
The source code for this fix includes code developed by the
|
||||
Theoretical and Computational Biophysics Group in the Beckman
|
||||
Institute for Advanced Science and Technology at the University of
|
||||
Illinois at Urbana-Champaign. We thank them for providing a software
|
||||
interface that allows codes like LAMMPS to hook to `VMD <VMD_>`_.
|
||||
The source code for this fix includes code developed by the Theoretical
|
||||
and Computational Biophysics Group in the Beckman Institute for Advanced
|
||||
Science and Technology at the University of Illinois at
|
||||
Urbana-Champaign. We thank them for providing a software interface that
|
||||
allows codes like LAMMPS to hook to `VMD <VMD_>`_.
|
||||
|
||||
Upon initialization of the fix, it will open a communication port on
|
||||
the node with MPI task 0 and wait for an incoming connection. As soon
|
||||
@ -117,40 +112,40 @@ VMD are the following:
|
||||
In the Mouse menu of the VMD Main window, select "Mouse -> Force ->
|
||||
Atom". You may alternately select "Residue", or "Fragment" to apply
|
||||
forces to whole residues or fragments. Your mouse can now be used to
|
||||
apply forces to your simulation. Click on an atom, residue, or
|
||||
fragment and drag to apply a force. Click quickly without moving the
|
||||
mouse to turn the force off. You can also use a variety of 3D position
|
||||
trackers to apply forces to your simulation. Game controllers or haptic
|
||||
devices with force-feedback such as the Novint Falcon or Sensable
|
||||
PHANTOM allow you to feel the resistance due to inertia or interactions
|
||||
with neighbors that the atoms experience you are trying to move, as if
|
||||
they were real objects. See the `VMD IMD Homepage <imdvmd_>`_ and the
|
||||
`VRPN-ICMS Homepage <vrpnicms_>`_ for more details.
|
||||
apply forces to your simulation. Click on an atom, residue, or fragment
|
||||
and drag to apply a force. Click quickly without moving the mouse to
|
||||
turn the force off. You can also use a variety of 3D position trackers
|
||||
to apply forces to your simulation. Game controllers or haptic devices
|
||||
with force-feedback such as the Novint Falcon or Sensable PHANTOM allow
|
||||
you to feel the resistance due to inertia or interactions with neighbors
|
||||
that the atoms experience you are trying to move, as if they were real
|
||||
objects. See the `VMD IMD Homepage <imdvmd_>`_ for more details.
|
||||
|
||||
If IMD control messages are received, a line of text describing the
|
||||
message and its effect will be printed to the LAMMPS output screen, if
|
||||
screen output is active.
|
||||
|
||||
.. _VMD: http://www.ks.uiuc.edu/Research/vmd
|
||||
.. _VMD: https://www.ks.uiuc.edu/Research/vmd
|
||||
|
||||
.. _imdvmd: http://www.ks.uiuc.edu/Research/vmd/imd/
|
||||
|
||||
.. _vrpnicms: http://sites.google.com/site/akohlmey/software/vrpn-icms
|
||||
.. _imdvmd: https://www.ks.uiuc.edu/Research/vmd/imd/
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
|
||||
are relevant to this fix. No global scalar or vector or per-atom
|
||||
quantities are stored by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used
|
||||
with the *start/stop* keywords of the :doc:`run <run>` command. This
|
||||
fix is not invoked during :doc:`energy minimization <minimize>`.
|
||||
No information about this fix is written to :doc:`binary restart files
|
||||
<restart>`. None of the :doc:`fix_modify <fix_modify>` options are
|
||||
relevant to this fix. No global scalar or vector or per-atom quantities
|
||||
are stored by this fix for access by various :doc:`output commands
|
||||
<Howto_output>`. No parameter of this fix can be used with the
|
||||
*start/stop* keywords of the :doc:`run <run>` command. This fix is not
|
||||
invoked during :doc:`energy minimization <minimize>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This fix is part of the MISC package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
||||
This fix is part of the MISC package. It is only enabled if LAMMPS was
|
||||
built with that package. See the :doc:`Build package <Build_package>`
|
||||
page for more info.
|
||||
|
||||
When used in combination with VMD, a topology or coordinate file has
|
||||
to be loaded, which matches (in number and ordering of atoms) the
|
||||
|
||||
@ -111,4 +111,4 @@ Related commands
|
||||
.. _ipihome:
|
||||
|
||||
**(IPI)**
|
||||
`http://epfl-cosmo.github.io/gle4md/index.html?page=ipi <http://epfl-cosmo.github.io/gle4md/index.html?page=ipi>`_
|
||||
`https://ipi-code.org <https://ipi-code.org>`_
|
||||
|
||||
@ -81,6 +81,8 @@ The *coulomb* argument is not yet supported by fix latte (as of Sept
|
||||
Coulomb potential as an alternative to LATTE performing the
|
||||
calculation.
|
||||
|
||||
.. versionadded:: 15Sep2022
|
||||
|
||||
The *exclude* argument allows this fix to work in tandem with another
|
||||
fix which may decide to delete one or more atoms of molecules. The
|
||||
specified fixID is the ID of the other fix.
|
||||
|
||||
@ -43,6 +43,8 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: 3Aug2022
|
||||
|
||||
This command enables LAMMPS to act as a client with another server
|
||||
code that will compute the total energy, per-atom forces, and total
|
||||
virial for atom conformations and simulation box size/shapes that
|
||||
|
||||
@ -210,7 +210,8 @@ use :doc:`change_box <change_box>` before invoking the fix.
|
||||
|
||||
.. note::
|
||||
|
||||
When resuming from restart files, you may need to use :doc:`box tilt large <box>` since lammps has internal criteria from lattice
|
||||
When resuming from restart files, you may need to use :doc:`box tilt
|
||||
large <box>` since LAMMPS has internal criteria from lattice
|
||||
reduction that are not the same as the criteria in the numerical
|
||||
lattice reduction algorithm.
|
||||
|
||||
|
||||
@ -25,6 +25,8 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: 17Feb2022
|
||||
|
||||
Calculate the virial stress tensor through a finite difference calculation of
|
||||
energy versus strain. These values can be compared to the analytic virial
|
||||
tensor computed by pair styles, bond styles, etc. This can be useful for
|
||||
|
||||
@ -108,4 +108,4 @@ every = 0, tchain = 3
|
||||
.. _Paquay2:
|
||||
|
||||
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
||||
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
||||
preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
|
||||
|
||||
@ -82,4 +82,4 @@ Related commands
|
||||
.. _Paquay3:
|
||||
|
||||
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
||||
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
||||
preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
|
||||
|
||||
@ -134,7 +134,7 @@ for other systems, *nasr* = 10 is typically sufficient.
|
||||
The *map_file* contains the mapping information between the lattice
|
||||
indices and the atom IDs, which tells the code which atom sits at
|
||||
which lattice point; the lattice indices start from 0. An auxiliary
|
||||
code, `latgen <http://code.google.com/p/latgen>`_, can be employed to
|
||||
code, `latgen <https://code.google.com/p/latgen>`_, can be employed to
|
||||
generate the compatible map file for various crystals.
|
||||
|
||||
In case one simulates a non-periodic system, where the whole simulation
|
||||
@ -143,7 +143,7 @@ that the mapping info will be generated internally and a file is not
|
||||
needed. In this case, the dynamical matrix at only the gamma-point
|
||||
will/can be evaluated. Please keep in mind that fix-phonon is designed
|
||||
for cyrstals, it will be inefficient and even degrade the performance
|
||||
of lammps in case the unit cell is too large.
|
||||
of LAMMPS in case the unit cell is too large.
|
||||
|
||||
The calculated dynamical matrix elements are written out in
|
||||
:doc:`energy/distance\^2/mass <units>` units. The coordinates for *q*
|
||||
|
||||
@ -31,7 +31,7 @@ wave DFT package. Electrostatic coupling is in preparation and the
|
||||
interface has been written in a manner that coupling to other QM codes
|
||||
should be possible without changes to LAMMPS itself.
|
||||
|
||||
.. _espresso: http://www.quantum-espresso.org
|
||||
.. _espresso: https://www.quantum-espresso.org
|
||||
|
||||
The interface code for this is in the lib/qmmm directory of the LAMMPS
|
||||
distribution and is being made available at this early stage of
|
||||
|
||||
@ -58,10 +58,13 @@ Description
|
||||
|
||||
Apply bond and angle constraints to specified bonds and angles in the
|
||||
simulation by either the SHAKE or RATTLE algorithms. This typically
|
||||
enables a longer timestep. The SHAKE or RATTLE algorithms, however, can
|
||||
*only* be applied during molecular dynamics runs. When this fix is used
|
||||
during a minimization, the constraints are *approximated* by strong
|
||||
harmonic restraints.
|
||||
enables a longer timestep. The SHAKE or RATTLE constraint algorithms,
|
||||
however, can *only* be applied during molecular dynamics runs.
|
||||
|
||||
.. versionchanged:: 15Sep2022
|
||||
|
||||
These fixes may still be used during minimization. In that case the
|
||||
constraints are *approximated* by strong harmonic restraints.
|
||||
|
||||
**SHAKE vs RATTLE:**
|
||||
|
||||
|
||||
@ -314,9 +314,10 @@ pressure simulation with MSM will cause the code to run slower.
|
||||
|
||||
----------
|
||||
|
||||
The *scafacos* style is a wrapper on the `ScaFaCoS Coulomb solver library <http://www.scafacos.de>`_ which provides a variety of solver
|
||||
methods which can be used with LAMMPS. The paper by :ref:`(Sutman) <Sutmann2014>`
|
||||
gives an overview of ScaFaCoS.
|
||||
The *scafacos* style is a wrapper on the `ScaFaCoS Coulomb solver
|
||||
library <http://www.scafacos.de>`_ which provides a variety of solver
|
||||
methods which can be used with LAMMPS. The paper by :ref:`(Sutman)
|
||||
<Sutmann2014>` gives an overview of ScaFaCoS.
|
||||
|
||||
ScaFaCoS was developed by a consortium of German research facilities
|
||||
with a BMBF (German Ministry of Science and Education) funded project
|
||||
|
||||
@ -54,7 +54,7 @@ command to specify them.
|
||||
|
||||
**ADP potentials are available from:**
|
||||
|
||||
* The NIST WWW site at http://www.ctcms.nist.gov/potentials.
|
||||
* The NIST WWW site at https://www.ctcms.nist.gov/potentials.
|
||||
Note that ADP potentials obtained from NIST must be converted
|
||||
into the extended DYNAMO *setfl* format discussed below.
|
||||
* The OpenKIM Project at
|
||||
|
||||
@ -110,7 +110,7 @@ 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 <http://www.scripps.edu/brooks>`_ MD code (and
|
||||
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.
|
||||
|
||||
|
||||
@ -114,7 +114,7 @@ Description
|
||||
"""""""""""
|
||||
|
||||
These pair styles are designed to be used with the adiabatic
|
||||
core/shell model of :ref:`(Mitchell and Finchham) <MitchellFinchham2>`. See
|
||||
core/shell model of :ref:`(Mitchell and Fincham) <MitchellFincham3>`. See
|
||||
the :doc:`Howto coreshell <Howto_coreshell>` page for an overview of
|
||||
the model as implemented in LAMMPS.
|
||||
|
||||
@ -196,7 +196,7 @@ none
|
||||
|
||||
----------
|
||||
|
||||
.. _MitchellFinchham2:
|
||||
.. _MitchellFincham3:
|
||||
|
||||
**(Mitchell and Finchham)** Mitchell, Finchham, J Phys Condensed Matter,
|
||||
**(Mitchell and Fincham)** Mitchell, Fincham, J Phys Condensed Matter,
|
||||
5, 1031-1038 (1993).
|
||||
|
||||
@ -122,15 +122,11 @@ are parameterized in terms of LAMMPS :doc:`metal units <units>`.
|
||||
EAM potential files list atomic masses; thus you do not need to use
|
||||
the :doc:`mass <mass>` command to specify them.
|
||||
|
||||
There are several WWW sites that distribute and document EAM
|
||||
potentials stored in DYNAMO or other formats:
|
||||
There are web sites that distribute and document EAM potentials stored
|
||||
in DYNAMO or other formats:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
http://www.ctcms.nist.gov/potentials
|
||||
http://cst-www.nrl.navy.mil/ccm6/ap
|
||||
http://enpub.fulton.asu.edu/cms/potentials/main/main.htm
|
||||
https://openkim.org
|
||||
* https://www.ctcms.nist.gov/potentials
|
||||
* https://openkim.org
|
||||
|
||||
These potentials should be usable with LAMMPS, though the alternate
|
||||
formats would need to be converted to the DYNAMO format used by LAMMPS
|
||||
|
||||
@ -53,7 +53,7 @@ Description
|
||||
The *lj/gromacs* styles compute shifted LJ and Coulombic interactions
|
||||
with an additional switching function S(r) that ramps the energy and force
|
||||
smoothly to zero between an inner and outer cutoff. It is a commonly
|
||||
used potential in the `GROMACS <http://www.gromacs.org>`_ MD code and for
|
||||
used potential in the `GROMACS <https://www.gromacs.org>`_ MD code and for
|
||||
the coarse-grained models of :ref:`(Marrink) <Marrink>`.
|
||||
|
||||
.. math::
|
||||
|
||||
@ -27,6 +27,8 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: 17Feb2022
|
||||
|
||||
Style *harmonic/cut* computes pairwise repulsive-only harmonic interactions with the formula
|
||||
|
||||
.. math::
|
||||
|
||||
@ -32,6 +32,8 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: 17Feb2022
|
||||
|
||||
The *ilp/tmd* style computes the registry-dependent interlayer
|
||||
potential (ILP) potential for transition metal dichalcogenides (TMD)
|
||||
as described in :ref:`(Ouyang7) <Ouyang7>`.
|
||||
|
||||
@ -311,9 +311,9 @@ formulation of the partial electron density function. In recent
|
||||
literature, an extra term is included in the expression for the
|
||||
third-order density in order to make the densities orthogonal (see for
|
||||
example :ref:`(Wang) <Wang2>`, equation 3d); this term is included in the
|
||||
MEAM implementation in lammps. However, in earlier published work
|
||||
MEAM implementation in LAMMPS. However, in earlier published work
|
||||
this term was not included when deriving parameters, including most of
|
||||
those provided in the ``library.meam`` file included with lammps, and to
|
||||
those provided in the ``library.meam`` file included with LAMMPS, and to
|
||||
account for this difference the parameter *t1* must be augmented by
|
||||
3/5\**t3*. If *augt1* = 1, the default, this augmentation is done
|
||||
automatically. When parameter values are fit using the modified
|
||||
@ -321,16 +321,16 @@ density function, as in more recent literature, augt1 should be set to
|
||||
0.
|
||||
|
||||
The *mixture_ref_t* parameter is available to match results with those
|
||||
of previous versions of lammps (before January 2011). Newer versions
|
||||
of lammps, by default, use the single-element values of the *t*
|
||||
of previous versions of LAMMPS (before January 2011). Newer versions
|
||||
of LAMMPS, by default, use the single-element values of the *t*
|
||||
parameters to compute the background reference density. This is the
|
||||
proper way to compute these parameters. Earlier versions of lammps
|
||||
proper way to compute these parameters. Earlier versions of LAMMPS
|
||||
used an alloy mixture averaged value of *t* to compute the background
|
||||
reference density. Setting *mixture_ref_t* = 1 gives the old behavior.
|
||||
WARNING: using *mixture_ref_t* = 1 will give results that are demonstrably
|
||||
incorrect for second-neighbor MEAM, and non-standard for
|
||||
first-neighbor MEAM; this option is included only for matching with
|
||||
previous versions of lammps and should be avoided if possible.
|
||||
previous versions of LAMMPS and should be avoided if possible.
|
||||
|
||||
The parameters *attrac* and *repuls*, along with the integer selection
|
||||
parameter *erose_form*, can be used to modify the Rose energy function
|
||||
@ -361,7 +361,7 @@ recent published MEAM parameter sets, such as :ref:`(Valone) <Valone>`
|
||||
|
||||
The default form of the *erose* expression in LAMMPS was corrected
|
||||
in March 2009. The current version is correct, but may show different
|
||||
behavior compared with earlier versions of lammps with the attrac
|
||||
behavior compared with earlier versions of LAMMPS with the attrac
|
||||
and/or repuls parameters are non-zero. To obtain the previous default
|
||||
form, use *erose_form* = 1 (this form does not seem to appear in the
|
||||
literature). An alternative form (see e.g. :ref:`(Lee2) <Lee2>`) is
|
||||
@ -423,10 +423,8 @@ none
|
||||
|
||||
.. _Gullet:
|
||||
|
||||
**(Gullet)** Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003).
|
||||
This report may be accessed on-line via `this link <sandreport_>`_.
|
||||
|
||||
.. _sandreport: http://infoserve.sandia.gov/sand_doc/2003/038782.pdf
|
||||
**(Gullet)** Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). DOI:10.2172/918395
|
||||
This report may be accessed on-line via `this link <https://download.lammps.org/pdfs/MEAM_report_2003.pdf>`_.
|
||||
|
||||
.. _Lee:
|
||||
|
||||
|
||||
@ -62,6 +62,8 @@ useful to know the gradient or derivative of energy, force, and stress
|
||||
w.r.t. model parameters. This information can be accessed using the
|
||||
related :doc:`compute mliap <compute_mliap>` command.
|
||||
|
||||
.. versionadded:: 2Jun2022
|
||||
|
||||
The descriptor style *so3* is a descriptor that is derived from the
|
||||
the smooth SO(3) power spectrum with the explicit inclusion of a radial
|
||||
basis :ref:`(Bartok) <Bartok2013>` and :ref:`(Zagaceta) <Zagaceta2020>`.
|
||||
|
||||
@ -284,6 +284,8 @@ the *pair* keyword. Use *no* to disable, or *yes* to enable.
|
||||
The "pair_modify pair compute/tally" command must be issued
|
||||
**before** the corresponding compute style is defined.
|
||||
|
||||
.. versionadded:: 3Aug2022
|
||||
|
||||
The *neigh/trim* keyword controls whether an explicit cutoff is set for
|
||||
each neighbor list request issued by individual pair sub-styles when
|
||||
using :doc:`pair hybrid/overlay <pair_hybrid>`. When this keyword is
|
||||
|
||||
@ -51,8 +51,9 @@ Description
|
||||
"""""""""""
|
||||
|
||||
The peridynamic pair styles implement material models that can be used
|
||||
at the mesoscopic and macroscopic scales. See `this document <PDF/PDLammps_overview.pdf>`_ for an overview of LAMMPS commands
|
||||
for Peridynamics modeling.
|
||||
at the mesoscopic and macroscopic scales. See `this document
|
||||
<PDF/PDLammps_overview.pdf>`_ for an overview of LAMMPS commands for
|
||||
Peridynamics modeling.
|
||||
|
||||
Style *peri/pmb* implements the Peridynamic bond-based prototype
|
||||
microelastic brittle (PMB) model.
|
||||
@ -66,26 +67,27 @@ peridynamic viscoelastic solid (VES) model.
|
||||
Style *peri/eps* implements the Peridynamic state-based elastic-plastic
|
||||
solid (EPS) model.
|
||||
|
||||
The canonical papers on Peridynamics are :ref:`(Silling 2000) <Silling2000>`
|
||||
and :ref:`(Silling 2007) <Silling2007>`. The implementation of Peridynamics
|
||||
in LAMMPS is described in :ref:`(Parks) <Parks>`. Also see the `PDLAMMPS user guide <http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf>`_ for
|
||||
more details about its implementation.
|
||||
The canonical papers on Peridynamics are :ref:`(Silling 2000)
|
||||
<Silling2000>` and :ref:`(Silling 2007) <Silling2007>`. The
|
||||
implementation of Peridynamics in LAMMPS is described in :ref:`(Parks)
|
||||
<Parks>`. Also see the :doc:`Peridynamics Howto <Howto_peri>` for more
|
||||
details about its implementation.
|
||||
|
||||
The peridynamic VES and EPS models in PDLAMMPS were implemented by
|
||||
R. Rahman and J. T. Foster at University of Texas at San Antonio. The
|
||||
original VES formulation is described in "(Mitchell2011)" and the
|
||||
original EPS formulation is in "(Mitchell2011a)". Additional PDF docs
|
||||
that describe the VES and EPS implementations are include in the
|
||||
LAMMPS distribution in `doc/PDF/PDLammps_VES.pdf <PDF/PDLammps_VES.pdf>`_ and
|
||||
that describe the VES and EPS implementations are include in the LAMMPS
|
||||
distribution in `doc/PDF/PDLammps_VES.pdf <PDF/PDLammps_VES.pdf>`_ and
|
||||
`doc/PDF/PDLammps_EPS.pdf <PDF/PDLammps_EPS.pdf>`_. For questions
|
||||
regarding the VES and EPS models in LAMMPS you can contact R. Rahman
|
||||
(rezwanur.rahman at utsa.edu).
|
||||
|
||||
The following coefficients must be defined for each pair of atom types
|
||||
via the :doc:`pair_coeff <pair_coeff>` command as in the examples above,
|
||||
or in the data file or restart files read by the
|
||||
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
|
||||
commands, or by mixing as described below.
|
||||
or in the data file or restart files read by the :doc:`read_data
|
||||
<read_data>` or :doc:`read_restart <read_restart>` commands, or by
|
||||
mixing as described below.
|
||||
|
||||
For the *peri/pmb* style:
|
||||
|
||||
@ -96,8 +98,8 @@ For the *peri/pmb* style:
|
||||
|
||||
C is the effectively a spring constant for Peridynamic bonds, the
|
||||
horizon is a cutoff distance for truncating interactions, and s00 and
|
||||
:math:`\alpha` are used as a bond breaking criteria. The units of c are such
|
||||
that c/distance = stiffness/volume\^2, where stiffness is
|
||||
:math:`\alpha` are used as a bond breaking criteria. The units of c are
|
||||
such that c/distance = stiffness/volume\^2, where stiffness is
|
||||
energy/distance\^2 and volume is distance\^3. See the users guide for
|
||||
more details.
|
||||
|
||||
@ -110,8 +112,8 @@ For the *peri/lps* style:
|
||||
* :math:`\alpha` (unitless)
|
||||
|
||||
K is the bulk modulus and G is the shear modulus. The horizon is a
|
||||
cutoff distance for truncating interactions, and s00 and :math:`\alpha` are
|
||||
used as a bond breaking criteria. See the users guide for more
|
||||
cutoff distance for truncating interactions, and s00 and :math:`\alpha`
|
||||
are used as a bond breaking criteria. See the users guide for more
|
||||
details.
|
||||
|
||||
For the *peri/ves* style:
|
||||
@ -125,12 +127,12 @@ For the *peri/ves* style:
|
||||
* m_taubi (unitless)
|
||||
|
||||
K is the bulk modulus and G is the shear modulus. The horizon is a
|
||||
cutoff distance for truncating interactions, and s00 and :math:`\alpha` are
|
||||
used as a bond breaking criteria. m_lambdai and m_taubi are the
|
||||
cutoff distance for truncating interactions, and s00 and :math:`\alpha`
|
||||
are used as a bond breaking criteria. m_lambdai and m_taubi are the
|
||||
viscoelastic relaxation parameter and time constant,
|
||||
respectively. m_lambdai varies within zero to one. For very small
|
||||
values of m_lambdai the viscoelastic model responds very similar to a
|
||||
linear elastic model. For details please see the description in
|
||||
respectively. m_lambdai varies within zero to one. For very small values
|
||||
of m_lambdai the viscoelastic model responds very similar to a linear
|
||||
elastic model. For details please see the description in
|
||||
"(Mitchell2011)".
|
||||
|
||||
For the *peri/eps* style:
|
||||
@ -165,8 +167,9 @@ shift option.
|
||||
The :doc:`pair_modify <pair_modify>` table and tail options are not
|
||||
relevant for these pair styles.
|
||||
|
||||
These pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need
|
||||
to be specified in an input script that reads a restart file.
|
||||
These pair styles write their information to :doc:`binary restart files
|
||||
<restart>`, so pair_style and pair_coeff commands do not need to be
|
||||
specified in an input script that reads a restart file.
|
||||
|
||||
These pair styles can only be used via the *pair* keyword of the
|
||||
:doc:`run_style respa <run_style>` command. They do not support the
|
||||
@ -177,8 +180,9 @@ These pair styles can only be used via the *pair* keyword of the
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
All of these styles are part of the PERI package. They are only
|
||||
enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
||||
All of these styles are part of the PERI 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
|
||||
""""""""""""""""
|
||||
|
||||
@ -49,11 +49,12 @@ A QUIP potential is fully specified by the filename which contains the
|
||||
parameters of the potential in XML format, the initialization string,
|
||||
and the map of atomic numbers.
|
||||
|
||||
GAP potentials can be obtained from the Data repository section of
|
||||
`http://www.libatoms.org <http://www.libatoms.org>`_, where the
|
||||
appropriate initialization strings are also advised. The list of
|
||||
atomic numbers must be matched to the LAMMPS atom types specified in
|
||||
the LAMMPS data file or elsewhere.
|
||||
GAP potentials can be obtained from the `GAP models and databases page
|
||||
on the libAtoms homepage `https://libatoms.github.io
|
||||
<https://libatoms.github.io/GAP/data.html>`_, where the appropriate
|
||||
initialization strings are also advised. The list of atomic numbers must
|
||||
be matched to the LAMMPS atom types specified in the LAMMPS data file or
|
||||
elsewhere.
|
||||
|
||||
Two examples input scripts are provided in the examples/PACKAGES/quip
|
||||
directory.
|
||||
|
||||
@ -32,6 +32,8 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: 17Feb2022
|
||||
|
||||
The *saip/metal* style computes the registry-dependent interlayer
|
||||
potential (ILP) potential for hetero-junctions formed with hexagonal
|
||||
2D materials and metal surfaces, as described in :ref:`(Ouyang6) <Ouyang6>`.
|
||||
|
||||
@ -132,6 +132,8 @@ at the cutoff distance :math:`r_c`.
|
||||
|
||||
----------
|
||||
|
||||
.. versionadded:: 3Aug2022
|
||||
|
||||
Pair style *srp/react* interfaces the pair style *srp* with the
|
||||
bond breaking and formation mechanisms provided by fix *bond/break*
|
||||
and fix *bond/create*, respectively. When using this pair style, whenever a
|
||||
|
||||
@ -130,6 +130,8 @@ terms.
|
||||
so the inconsistency between potential and force can be neglected in
|
||||
actual simulations.
|
||||
|
||||
.. versionadded:: 3Aug2022
|
||||
|
||||
The *threebody* keyword is optional and determines whether or not the
|
||||
three-body term of the potential is calculated. The default value is
|
||||
"on" and it is only available for the plain *sw* pair style variants,
|
||||
|
||||
@ -59,6 +59,8 @@ The *clear* command will unload all currently loaded plugins.
|
||||
.. admonition:: Automatic loading of plugins
|
||||
:class: note
|
||||
|
||||
.. versionadded:: 4May2022
|
||||
|
||||
When the environment variable ``LAMMPS_PLUGIN_PATH`` is set, then
|
||||
LAMMPS will search the directory (or directories) listed in this path
|
||||
for files with names that end in ``plugin.so``
|
||||
|
||||
@ -266,6 +266,8 @@ replace properties of the current system. There are various options
|
||||
for how this is done, determined by the specified fields and optional
|
||||
keywords.
|
||||
|
||||
.. versionchanged:: 3Aug2022
|
||||
|
||||
The timestep of the snapshot becomes the current timestep for the
|
||||
simulation unless the *timestep* keyword is specified with a *no* value
|
||||
(default setting is *yes*). See the :doc:`reset_timestep <reset_timestep>`
|
||||
@ -397,4 +399,4 @@ Default
|
||||
The option defaults are box = yes, timestep = yes, replace = yes, purge = no,
|
||||
trim = no, add = no, scaled = no, wrapped = yes, and format = native.
|
||||
|
||||
.. _vmd: http://www.ks.uiuc.edu/Research/vmd
|
||||
.. _vmd: https://www.ks.uiuc.edu/Research/vmd
|
||||
|
||||
@ -162,6 +162,8 @@ Thus the third example above specifies a cylinder with its axis in the
|
||||
y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and
|
||||
extending in the y-direction from -5.0 to the upper box boundary.
|
||||
|
||||
.. versionadded:: 4May2022
|
||||
|
||||
For style *ellipsoid*, an axis-aligned ellipsoid is defined. The
|
||||
ellipsoid has its center at (x,y,z) and is defined by 3 axis-aligned
|
||||
vectors given by A = (a,0,0); B = (0,b,0); C = (0,0,c). Note that
|
||||
|
||||
@ -1,3 +1,11 @@
|
||||
.math {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.eqno {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.wy-nav-content {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
@ -750,6 +750,7 @@ dirname
|
||||
discoverable
|
||||
discretization
|
||||
discretized
|
||||
discretizing
|
||||
disp
|
||||
dissipative
|
||||
Dissipative
|
||||
@ -918,6 +919,7 @@ emax
|
||||
Emax
|
||||
Embt
|
||||
emi
|
||||
Emmrich
|
||||
emol
|
||||
eN
|
||||
endian
|
||||
@ -1083,7 +1085,6 @@ filesystem
|
||||
filesystems
|
||||
Fily
|
||||
Fincham
|
||||
Finchham
|
||||
Fint
|
||||
fingerprintconstants
|
||||
fingerprintsperelement
|
||||
@ -2128,6 +2129,7 @@ modelled
|
||||
modelling
|
||||
Modelling
|
||||
Modine
|
||||
moduli
|
||||
mofff
|
||||
MOFFF
|
||||
Mohd
|
||||
@ -2143,6 +2145,7 @@ Monaghan
|
||||
Monaghans
|
||||
monodisperse
|
||||
monodispersity
|
||||
monolayer
|
||||
monopole
|
||||
monovalent
|
||||
Montalenti
|
||||
@ -2418,6 +2421,7 @@ normy
|
||||
normz
|
||||
Noskov
|
||||
noslip
|
||||
notational
|
||||
noticable
|
||||
Nout
|
||||
noutcol
|
||||
@ -2778,6 +2782,7 @@ ps
|
||||
Ps
|
||||
pscreen
|
||||
pscrozi
|
||||
Pseudocode
|
||||
pseudodynamics
|
||||
pseudopotential
|
||||
pSp
|
||||
@ -3137,6 +3142,7 @@ sectoring
|
||||
sed
|
||||
segmental
|
||||
Seifert
|
||||
Seleson
|
||||
sellerio
|
||||
Sellerio
|
||||
Semaev
|
||||
@ -3215,7 +3221,7 @@ slategray
|
||||
slater
|
||||
Slepoy
|
||||
Sliozberg
|
||||
sLLG
|
||||
sLL
|
||||
sllod
|
||||
sm
|
||||
smallbig
|
||||
@ -3626,6 +3632,7 @@ unsmoothed
|
||||
unsolvated
|
||||
unsplit
|
||||
unstrained
|
||||
unstretched
|
||||
untar
|
||||
untilted
|
||||
Unwin
|
||||
|
||||
@ -81,6 +81,10 @@ class UCL_Device {
|
||||
/// Return the number of devices that support CUDA
|
||||
inline int num_devices() { return _properties.size(); }
|
||||
|
||||
/// Specify whether profiling (device timers) will be used for the device (yes=true)
|
||||
/** No-op for CUDA and HIP **/
|
||||
inline void configure_profiling(const bool profiling_on) {}
|
||||
|
||||
/// Set the CUDA device to the specified device number
|
||||
/** A context and default command queue will be created for the device
|
||||
* Returns UCL_SUCCESS if successful or UCL_ERROR if the device could not
|
||||
|
||||
@ -95,6 +95,10 @@ class UCL_Device {
|
||||
/// Return the number of devices that support CUDA
|
||||
inline int num_devices() { return _properties.size(); }
|
||||
|
||||
/// Specify whether profiling (device timers) will be used for the device (yes=true)
|
||||
/** No-op for CUDA and HIP **/
|
||||
inline void configure_profiling(const bool profiling_on) {}
|
||||
|
||||
/// Set the CUDA device to the specified device number
|
||||
/** A context and default command queue will be created for the device
|
||||
* Returns UCL_SUCCESS if successful or UCL_ERROR if the device could not
|
||||
@ -305,9 +309,9 @@ class UCL_Device {
|
||||
|
||||
/// For compatability with OCL API
|
||||
inline int auto_set_platform(const enum UCL_DEVICE_TYPE type=UCL_GPU,
|
||||
const std::string vendor="",
|
||||
const int ndevices=-1,
|
||||
const int first_device=-1)
|
||||
const std::string vendor="",
|
||||
const int ndevices=-1,
|
||||
const int first_device=-1)
|
||||
{ return set_platform(0); }
|
||||
|
||||
private:
|
||||
|
||||
@ -99,6 +99,7 @@ struct OCLProperties {
|
||||
int cl_device_version;
|
||||
bool has_subgroup_support;
|
||||
bool has_shuffle_support;
|
||||
bool shared_main_memory;
|
||||
};
|
||||
|
||||
/// Class for looking at data parallel device properties
|
||||
@ -125,6 +126,11 @@ class UCL_Device {
|
||||
/// Return the number of devices that support OpenCL
|
||||
inline int num_devices() { return _num_devices; }
|
||||
|
||||
/// Specify whether profiling (device timers) will be used for the device (yes=true)
|
||||
/** No-op for CUDA and HIP **/
|
||||
inline void configure_profiling(const bool profiling_on)
|
||||
{ _cq_profiling = profiling_on; }
|
||||
|
||||
/// Set the OpenCL device to the specified device number
|
||||
/** A context and default command queue will be created for the device *
|
||||
* Returns UCL_SUCCESS if successful or UCL_ERROR if the device could not
|
||||
@ -169,10 +175,22 @@ class UCL_Device {
|
||||
_cq.push_back(cl_command_queue());
|
||||
|
||||
#ifdef CL_VERSION_2_0
|
||||
cl_queue_properties props[] = {CL_QUEUE_PROPERTIES, CL_QUEUE_PROFILING_ENABLE, 0};
|
||||
_cq.back()=clCreateCommandQueueWithProperties(_context, _cl_device, props, &errorv);
|
||||
if (_cq_profiling) {
|
||||
cl_queue_properties props[] = {CL_QUEUE_PROPERTIES, CL_QUEUE_PROFILING_ENABLE,
|
||||
0};
|
||||
_cq.back()=clCreateCommandQueueWithProperties(_context, _cl_device, props,
|
||||
&errorv);
|
||||
} else {
|
||||
cl_queue_properties props[] = {CL_QUEUE_PROPERTIES, 0};
|
||||
_cq.back()=clCreateCommandQueueWithProperties(_context, _cl_device, props,
|
||||
&errorv);
|
||||
}
|
||||
#else
|
||||
_cq.back()=clCreateCommandQueue(_context, _cl_device, CL_QUEUE_PROFILING_ENABLE, &errorv);
|
||||
if (_cq_profiling)
|
||||
_cq.back()=clCreateCommandQueue(_context, _cl_device, CL_QUEUE_PROFILING_ENABLE,
|
||||
&errorv);
|
||||
else
|
||||
_cq.back()=clCreateCommandQueue(_context, _cl_device, 0, &errorv);
|
||||
#endif
|
||||
if (errorv!=CL_SUCCESS) {
|
||||
std::cerr << "Could not create command queue on device: " << name()
|
||||
@ -209,7 +227,7 @@ class UCL_Device {
|
||||
inline bool shared_memory() { return shared_memory(_device); }
|
||||
/// Returns true if host memory is efficiently addressable from device
|
||||
inline bool shared_memory(const int i)
|
||||
{ return _shared_mem_device(_cl_devices[i]); }
|
||||
{ return _properties[i].shared_main_memory; }
|
||||
|
||||
/// Returns preferred vector width
|
||||
inline int preferred_fp32_width() { return preferred_fp32_width(_device); }
|
||||
@ -370,6 +388,7 @@ class UCL_Device {
|
||||
cl_platform_id _cl_platforms[20]; // OpenCL IDs for all platforms
|
||||
cl_context _context; // Context used for accessing the device
|
||||
std::vector<cl_command_queue> _cq;// The default command queue for this device
|
||||
bool _cq_profiling; // True=create command queues w/ profiling support
|
||||
int _device; // UCL_Device ID for current device
|
||||
cl_device_id _cl_device; // OpenCL ID for current device
|
||||
std::vector<cl_device_id> _cl_devices; // OpenCL IDs for all devices
|
||||
@ -384,6 +403,7 @@ class UCL_Device {
|
||||
// Grabs the properties for all devices
|
||||
UCL_Device::UCL_Device() {
|
||||
_device=-1;
|
||||
_cq_profiling=true;
|
||||
|
||||
// --- Get Number of Platforms
|
||||
cl_uint nplatforms;
|
||||
@ -563,8 +583,9 @@ void UCL_Device::add_properties(cl_device_id device_list) {
|
||||
op.preferred_vector_width64=double_width;
|
||||
|
||||
// Determine if double precision is supported: All bits in the mask must be set.
|
||||
cl_device_fp_config double_mask = (CL_FP_FMA|CL_FP_ROUND_TO_NEAREST|CL_FP_ROUND_TO_ZERO|
|
||||
CL_FP_ROUND_TO_INF|CL_FP_INF_NAN|CL_FP_DENORM);
|
||||
cl_device_fp_config double_mask = (CL_FP_FMA|CL_FP_ROUND_TO_NEAREST|
|
||||
CL_FP_ROUND_TO_ZERO|CL_FP_ROUND_TO_INF|
|
||||
CL_FP_INF_NAN|CL_FP_DENORM);
|
||||
cl_device_fp_config double_avail;
|
||||
CL_SAFE_CALL(clGetDeviceInfo(device_list,CL_DEVICE_DOUBLE_FP_CONFIG,
|
||||
sizeof(double_avail),&double_avail,nullptr));
|
||||
@ -665,6 +686,7 @@ void UCL_Device::add_properties(cl_device_id device_list) {
|
||||
double arch = static_cast<double>(minor)/10+major;
|
||||
if (arch >= 3.0)
|
||||
op.has_shuffle_support=true;
|
||||
op.shared_main_memory=_shared_mem_device(device_list);
|
||||
}
|
||||
delete[] buffer2;
|
||||
#endif
|
||||
|
||||
@ -118,15 +118,19 @@ inline int _host_alloc(mat_type &mat, copy_type &cm, const size_t n,
|
||||
template <class mat_type, class copy_type>
|
||||
inline int _host_view(mat_type &mat, copy_type &cm, const size_t o,
|
||||
const size_t n) {
|
||||
cl_int error_flag;
|
||||
cl_buffer_region subbuffer;
|
||||
subbuffer.origin = o;
|
||||
subbuffer.size = n;
|
||||
mat.cbegin()=clCreateSubBuffer(cm.cbegin(), 0,
|
||||
CL_BUFFER_CREATE_TYPE_REGION, &subbuffer,
|
||||
&error_flag);
|
||||
|
||||
CL_CHECK_ERR(error_flag);
|
||||
// When viewing outside host allocation with discrete main memory on accelerator,
|
||||
// no cl_buffer object is created to avoid unnecessary creation of device allocs
|
||||
if (cm.shared_mem_device()) {
|
||||
cl_int error_flag;
|
||||
cl_buffer_region subbuffer;
|
||||
subbuffer.origin = o;
|
||||
subbuffer.size = n;
|
||||
mat.cbegin()=clCreateSubBuffer(cm.cbegin(), 0,
|
||||
CL_BUFFER_CREATE_TYPE_REGION, &subbuffer,
|
||||
&error_flag);
|
||||
CL_CHECK_ERR(error_flag);
|
||||
} else
|
||||
mat.cbegin()=(cl_mem)0;
|
||||
CL_SAFE_CALL(clRetainCommandQueue(mat.cq()));
|
||||
return UCL_SUCCESS;
|
||||
}
|
||||
@ -170,10 +174,13 @@ inline int _host_alloc(mat_type &mat, UCL_Device &dev, const size_t n,
|
||||
|
||||
template <class mat_type>
|
||||
inline int _host_view(mat_type &mat, UCL_Device &dev, const size_t n) {
|
||||
cl_int error_flag;
|
||||
mat.cbegin()=clCreateBuffer(dev.context(), CL_MEM_USE_HOST_PTR,
|
||||
n,*mat.host_ptr(),&error_flag);
|
||||
CL_CHECK_ERR(error_flag);
|
||||
if (mat.shared_mem_device()) {
|
||||
cl_int error_flag;
|
||||
mat.cbegin()=clCreateBuffer(dev.context(), CL_MEM_USE_HOST_PTR,
|
||||
n,*mat.host_ptr(),&error_flag);
|
||||
CL_CHECK_ERR(error_flag);
|
||||
} else
|
||||
mat.cbegin()=(cl_mem)0;
|
||||
CL_SAFE_CALL(clRetainCommandQueue(mat.cq()));
|
||||
return UCL_SUCCESS;
|
||||
}
|
||||
@ -181,7 +188,10 @@ inline int _host_view(mat_type &mat, UCL_Device &dev, const size_t n) {
|
||||
template <class mat_type>
|
||||
inline void _host_free(mat_type &mat) {
|
||||
if (mat.cols()>0) {
|
||||
CL_DESTRUCT_CALL(clReleaseMemObject(mat.cbegin()));
|
||||
// When viewing outside host allocation with discrete main memory on accelerator,
|
||||
// no cl_buffer object is created to avoid unnecessary creation of device allocs
|
||||
if (mat.cbegin()!=(cl_mem)(0))
|
||||
CL_DESTRUCT_CALL(clReleaseMemObject(mat.cbegin()));
|
||||
CL_DESTRUCT_CALL(clReleaseCommandQueue(mat.cq()));
|
||||
}
|
||||
}
|
||||
|
||||
@ -50,11 +50,15 @@ class UCL_Timer {
|
||||
/** \note init() must be called to reuse timer after a clear() **/
|
||||
inline void clear() {
|
||||
if (_initialized) {
|
||||
if (has_measured_time) {
|
||||
clReleaseEvent(start_event);
|
||||
clReleaseEvent(stop_event);
|
||||
has_measured_time = false;
|
||||
}
|
||||
CL_DESTRUCT_CALL(clReleaseCommandQueue(_cq));
|
||||
_initialized=false;
|
||||
_total_time=0.0;
|
||||
}
|
||||
has_measured_time = false;
|
||||
}
|
||||
|
||||
/// Initialize default command queue for timing
|
||||
@ -71,8 +75,12 @@ class UCL_Timer {
|
||||
|
||||
/// Start timing on default command queue
|
||||
inline void start() {
|
||||
if (has_measured_time) {
|
||||
clReleaseEvent(start_event);
|
||||
clReleaseEvent(stop_event);
|
||||
has_measured_time = false;
|
||||
}
|
||||
UCL_OCL_MARKER(_cq,&start_event);
|
||||
has_measured_time = false;
|
||||
}
|
||||
|
||||
/// Stop timing on default command queue
|
||||
@ -83,8 +91,12 @@ class UCL_Timer {
|
||||
|
||||
/// Block until the start event has been reached on device
|
||||
inline void sync_start() {
|
||||
if (has_measured_time) {
|
||||
clReleaseEvent(start_event);
|
||||
clReleaseEvent(stop_event);
|
||||
has_measured_time = false;
|
||||
}
|
||||
CL_SAFE_CALL(clWaitForEvents(1,&start_event));
|
||||
has_measured_time = false;
|
||||
}
|
||||
|
||||
/// Block until the stop event has been reached on device
|
||||
|
||||
@ -75,13 +75,21 @@ class UCL_BaseMat {
|
||||
inline enum UCL_MEMOPT kind() const { return _kind; }
|
||||
|
||||
inline bool shared_mem_device() {
|
||||
#ifdef _OCL_MAT
|
||||
#ifndef _OCL_MAT
|
||||
return false;
|
||||
#else
|
||||
|
||||
#if defined(GERYON_FORCE_SHARED_MAIN_MEM_ON)
|
||||
return true;
|
||||
#elif defined(GERYON_FORCE_SHARED_MAIN_MEM_OFF)
|
||||
return false;
|
||||
#else
|
||||
cl_device_id device;
|
||||
CL_SAFE_CALL(clGetCommandQueueInfo(_cq,CL_QUEUE_DEVICE,
|
||||
sizeof(cl_device_id),&device,NULL));
|
||||
return _shared_mem_device(device);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -140,7 +140,10 @@ class UCL_H_Mat : public UCL_BaseMat {
|
||||
_end=_array+_cols;
|
||||
#ifdef _OCL_MAT
|
||||
_carray=input.cbegin();
|
||||
CL_SAFE_CALL(clRetainMemObject(input.cbegin()));
|
||||
// When viewing outside host allocation with discrete main memory on accelerator,
|
||||
// no cl_buffer object is created to avoid unnecessary creation of device allocs
|
||||
if (_carray!=(cl_mem)(0))
|
||||
CL_SAFE_CALL(clRetainMemObject(input.cbegin()));
|
||||
CL_SAFE_CALL(clRetainCommandQueue(input.cq()));
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -139,7 +139,10 @@ class UCL_H_Vec : public UCL_BaseMat {
|
||||
_end=_array+_cols;
|
||||
#ifdef _OCL_MAT
|
||||
_carray=input.cbegin();
|
||||
CL_SAFE_CALL(clRetainMemObject(input.cbegin()));
|
||||
// When viewing outside host allocation with discrete main memory on accelerator,
|
||||
// no cl_buffer object is created to avoid unnecessary creation of device allocs
|
||||
if (_carray!=(cl_mem)(0))
|
||||
CL_SAFE_CALL(clRetainMemObject(input.cbegin()));
|
||||
CL_SAFE_CALL(clRetainCommandQueue(input.cq()));
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -265,15 +265,13 @@ int DeviceT::init_device(MPI_Comm world, MPI_Comm replica, const int ngpu,
|
||||
// Time on the device only if 1 proc per gpu
|
||||
_time_device=true;
|
||||
|
||||
#if 0
|
||||
// XXX: the following setting triggers a memory leak with OpenCL and MPI
|
||||
// setting _time_device=true for all processes doesn't seem to be a
|
||||
// problem with either (no segfault, no (large) memory leak.
|
||||
// thus keeping this disabled for now. may need to review later.
|
||||
// 2018-07-23 <akohlmey@gmail.com>
|
||||
// Previous source of OCL memory leak when time_device=false
|
||||
// - Logic added to release OCL events when timers are not invoked
|
||||
if (_procs_per_gpu>1)
|
||||
_time_device=false;
|
||||
#endif
|
||||
|
||||
if (!_time_device && _particle_split > 0)
|
||||
gpu->configure_profiling(false);
|
||||
|
||||
// Set up a per device communicator
|
||||
MPI_Comm_split(node_comm,my_gpu,0,&_comm_gpu);
|
||||
@ -715,7 +713,9 @@ void DeviceT::estimate_gpu_overhead(const int kernel_calls,
|
||||
dev_data_out[0].flush();
|
||||
#endif
|
||||
driver_time=MPI_Wtime()-driver_time;
|
||||
double time=over_timer.seconds();
|
||||
double time=0.0;
|
||||
if (_time_device)
|
||||
time=over_timer.seconds();
|
||||
|
||||
if (time_device()) {
|
||||
for (int i=0; i<_data_in_estimate; i++)
|
||||
|
||||
@ -304,7 +304,8 @@ int PPPMT::spread(const int ago, const int nlocal, const int nall,
|
||||
const double delxinv, const double delyinv,
|
||||
const double delzinv) {
|
||||
if (!_precompute_done) {
|
||||
atom->acc_timers();
|
||||
if (device->time_device())
|
||||
atom->acc_timers();
|
||||
_precompute(ago,nlocal,nall,host_x,host_type,success,host_q,boxlo,delxinv,
|
||||
delyinv,delzinv);
|
||||
}
|
||||
|
||||
@ -4,12 +4,13 @@ import pickle
|
||||
class MLIAPUnified(ABC):
|
||||
"""Abstract base class for MLIAPUnified."""
|
||||
|
||||
def __init__(self):
|
||||
self.interface = None
|
||||
self.element_types = None
|
||||
self.ndescriptors = None
|
||||
self.nparams = None
|
||||
self.rcutfac = None
|
||||
def __init__(self, interface = None, element_types = None,
|
||||
ndescriptors = None, nparams = None, rcutfac = None):
|
||||
self.interface = interface
|
||||
self.element_types = element_types
|
||||
self.ndescriptors = ndescriptors
|
||||
self.nparams = nparams
|
||||
self.rcutfac = rcutfac
|
||||
|
||||
@abstractmethod
|
||||
def compute_gradients(self, data):
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user