Merge pull request #2818 from akohlmey/package-reorganization-step1
Package Reorganization (step 1)
This commit is contained in:
56
.github/CODEOWNERS
vendored
56
.github/CODEOWNERS
vendored
@ -22,33 +22,33 @@ src/MESSAGE/* @sjplimp
|
|||||||
src/MLIAP/* @athomps
|
src/MLIAP/* @athomps
|
||||||
src/SNAP/* @athomps
|
src/SNAP/* @athomps
|
||||||
src/SPIN/* @julient31
|
src/SPIN/* @julient31
|
||||||
src/USER-BROWNIAN/* @samueljmcameron
|
src/BROWNIAN/* @samueljmcameron
|
||||||
src/USER-CGDNA/* @ohenrich
|
src/CG-DNA/* @ohenrich
|
||||||
src/USER-CGSDK/* @akohlmey
|
src/CG-SDK/* @akohlmey
|
||||||
src/USER-COLVARS/* @giacomofiorin
|
src/COLVARS/* @giacomofiorin
|
||||||
src/USER-DIELECTRIC/* @ndtrung81
|
src/DIELECTRIC/* @ndtrung81
|
||||||
src/USER-FEP/* @agiliopadua
|
src/FEP/* @agiliopadua
|
||||||
src/USER-HDNNP/* @singraber
|
src/ML-HDNNP/* @singraber
|
||||||
src/USER-INTEL/* @wmbrownintel
|
src/INTEL/* @wmbrownintel
|
||||||
src/USER-MANIFOLD/* @Pakketeretet2
|
src/MANIFOLD/* @Pakketeretet2
|
||||||
src/USER-MDI/* @taylor-a-barnes
|
src/MDI/* @taylor-a-barnes
|
||||||
src/USER-MEAMC/* @martok
|
src/MEAM/* @martok
|
||||||
src/USER-MESONT/* @iafoss
|
src/MESONT/* @iafoss
|
||||||
src/USER-MOFFF/* @hheenen
|
src/MOFFF/* @hheenen
|
||||||
src/USER-MOLFILE/* @akohlmey
|
src/MOLFILE/* @akohlmey
|
||||||
src/USER-NETCDF/* @pastewka
|
src/NETCDF/* @pastewka
|
||||||
src/USER-PACE/* @yury-lysogorskiy
|
src/ML-PACE/* @yury-lysogorskiy
|
||||||
src/USER-PLUMED/* @gtribello
|
src/PLUMED/* @gtribello
|
||||||
src/USER-PHONON/* @lingtikong
|
src/PHONON/* @lingtikong
|
||||||
src/USER-PTM/* @pmla
|
src/PTM/* @pmla
|
||||||
src/USER-OMP/* @akohlmey
|
src/OPENMP/* @akohlmey
|
||||||
src/USER-QMMM/* @akohlmey
|
src/QMMM/* @akohlmey
|
||||||
src/USER-REAXC/* @hasanmetin
|
src/REAXFF/* @hasanmetin
|
||||||
src/USER-REACTION/* @jrgissing
|
src/REACTION/* @jrgissing
|
||||||
src/USER-SCAFACOS/* @rhalver
|
src/SCAFACOS/* @rhalver
|
||||||
src/USER-TALLY/* @akohlmey
|
src/TALLY/* @akohlmey
|
||||||
src/USER-UEF/* @danicholson
|
src/UEF/* @danicholson
|
||||||
src/USER-VTK/* @rbberger
|
src/VTK/* @rbberger
|
||||||
|
|
||||||
|
|
||||||
# individual files in packages
|
# individual files in packages
|
||||||
@ -138,7 +138,7 @@ unittest/* @akohlmey @rbberger
|
|||||||
|
|
||||||
# cmake
|
# cmake
|
||||||
cmake/* @junghans @rbberger
|
cmake/* @junghans @rbberger
|
||||||
cmake/Modules/Packages/USER-COLVARS.cmake @junghans @rbberger @giacomofiorin
|
cmake/Modules/Packages/COLVARS.cmake @junghans @rbberger @giacomofiorin
|
||||||
cmake/Modules/Packages/KIM.cmake @junghans @rbberger @ellio167
|
cmake/Modules/Packages/KIM.cmake @junghans @rbberger @ellio167
|
||||||
cmake/presets/*.cmake @akohlmey
|
cmake/presets/*.cmake @akohlmey
|
||||||
|
|
||||||
|
|||||||
8
.github/CONTRIBUTING.md
vendored
8
.github/CONTRIBUTING.md
vendored
@ -74,13 +74,13 @@ Here is a checklist of steps you need to follow to submit a single file or user
|
|||||||
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no trailing whitespace, no lines over 80 characters. I/O is done via the C-style stdio library, style class header files should not import any system headers, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. There MUST NOT be any "using namespace XXX;" statements in headers. In the implementation file (<name>.cpp) system includes should be placed in angular brackets (<>) and for c-library functions the C++ style header files should be included (<cstdio> instead of <stdio.h>, or <cstring> instead of <string.h>). This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
|
* For consistency with the rest of LAMMPS and especially, if you want your contribution(s) to be added to main LAMMPS code or one of its standard packages, it needs to be written in a style compatible with other LAMMPS source files. This means: 2-character indentation per level, no tabs, no trailing whitespace, no lines over 80 characters. I/O is done via the C-style stdio library, style class header files should not import any system headers, STL containers should be avoided in headers, and forward declarations used where possible or needed. All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. There MUST NOT be any "using namespace XXX;" statements in headers. In the implementation file (<name>.cpp) system includes should be placed in angular brackets (<>) and for c-library functions the C++ style header files should be included (<cstdio> instead of <stdio.h>, or <cstring> instead of <string.h>). This all is so the developers can more easily understand, integrate, and maintain your contribution and reduce conflicts with other parts of LAMMPS. This basically means that the code accesses data structures, performs its operations, and is formatted similar to other LAMMPS source files, including the use of the error class for error and warning messages.
|
||||||
* Source, style name, and documentation file should follow the following naming convention: style names should be lowercase and words separated by a forward slash; for a new fix style 'foo/bar', the class should be named FixFooBar, the name of the source files should be 'fix_foo_bar.h' and 'fix_foo_bar.cpp' and the corresponding documentation should be in a file 'fix_foo_bar.rst'.
|
* Source, style name, and documentation file should follow the following naming convention: style names should be lowercase and words separated by a forward slash; for a new fix style 'foo/bar', the class should be named FixFooBar, the name of the source files should be 'fix_foo_bar.h' and 'fix_foo_bar.cpp' and the corresponding documentation should be in a file 'fix_foo_bar.rst'.
|
||||||
* If you want your contribution to be added as a user-contributed feature, and it is a single file (actually a `<name>.cpp` and `<name>.h` file) it can be rapidly added to the USER-MISC directory. Include the one-line entry to add to the USER-MISC/README file in that directory, along with the 2 source files. You can do this multiple times if you wish to contribute several individual features.
|
* If you want your contribution to be added as a user-contributed feature, and it is a single file (actually a `<name>.cpp` and `<name>.h` file) it can be rapidly added to the USER-MISC directory. Include the one-line entry to add to the USER-MISC/README file in that directory, along with the 2 source files. You can do this multiple times if you wish to contribute several individual features.
|
||||||
* If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this USER-FOO directory.
|
* If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this FOO directory.
|
||||||
* Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code.
|
* Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code.
|
||||||
* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are files in the [reStructuredText](https://docutils.sourceforge.io/rst.html) markup language, that are then converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `<name>.rst` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. An introduction to reStructuredText can be found at [https://docutils.sourceforge.io/docs/user/rst/quickstart.html](https://docutils.sourceforge.io/docs/user/rst/quickstart.html). The text files can include mathematical expressions and symbol in ".. math::" sections or ":math:" expressions or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv. Please run at least `make html`, `make pdf` and `make spelling` and carefully inspect and proofread the resulting HTML format doc page as well as the output produced to the screen. Make sure that all spelling errors are fixed or the necessary false positives are added to the `doc/utils/sphinx-config/false_positives.txt` file. For new styles, those usually also need to be added to lists on the respective overview pages. This can be checked for also with `make style_check`.
|
* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are files in the [reStructuredText](https://docutils.sourceforge.io/rst.html) markup language, that are then converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `<name>.rst` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. An introduction to reStructuredText can be found at [https://docutils.sourceforge.io/docs/user/rst/quickstart.html](https://docutils.sourceforge.io/docs/user/rst/quickstart.html). The text files can include mathematical expressions and symbol in ".. math::" sections or ":math:" expressions or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv. Please run at least `make html`, `make pdf` and `make spelling` and carefully inspect and proofread the resulting HTML format doc page as well as the output produced to the screen. Make sure that all spelling errors are fixed or the necessary false positives are added to the `doc/utils/sphinx-config/false_positives.txt` file. For new styles, those usually also need to be added to lists on the respective overview pages. This can be checked for also with `make style_check`.
|
||||||
* For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require large data files as input. See directories under examples/USER for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind
|
* For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require large data files as input. See directories under examples/PACKAGES for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind
|
||||||
* For new utility functions or class (i.e. anything that does not depend on a LAMMPS object), new unit tests should be added to the unittest tree.
|
* For new utility functions or class (i.e. anything that does not depend on a LAMMPS object), new unit tests should be added to the unittest tree.
|
||||||
* When adding a new LAMMPS style, a .yaml file with a test configuration and reference data should be added for the styles where a suitable tester program already exists (e.g. pair styles, bond styles, etc.).
|
* When adding a new LAMMPS style, a .yaml file with a test configuration and reference data should be added for the styles where a suitable tester program already exists (e.g. pair styles, bond styles, etc.).
|
||||||
* If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the <name>.cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide.
|
* If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the <name>.cpp source file. See src/EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide.
|
||||||
|
|
||||||
Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your documentation and README files, and the easier you make it for people to get started, e.g. by providing example scripts, the more likely it is that users will try out your new feature.
|
Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your documentation and README files, and the easier you make it for people to get started, e.g. by providing example scripts, the more likely it is that users will try out your new feature.
|
||||||
|
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,6 +12,7 @@
|
|||||||
*.sif
|
*.sif
|
||||||
*.dll
|
*.dll
|
||||||
*.pyc
|
*.pyc
|
||||||
|
a.out
|
||||||
__pycache__
|
__pycache__
|
||||||
|
|
||||||
Obj_*
|
Obj_*
|
||||||
|
|||||||
@ -8,7 +8,7 @@ region box block 0 20 0 20 0 20
|
|||||||
create_box 1 box
|
create_box 1 box
|
||||||
create_atoms 1 box
|
create_atoms 1 box
|
||||||
|
|
||||||
pair_style meam/c
|
pair_style meam
|
||||||
pair_coeff * * library.meam Ni4 Ni.meam Ni4
|
pair_coeff * * library.meam Ni4 Ni.meam Ni4
|
||||||
|
|
||||||
velocity all create 1600.0 376847 loop geom
|
velocity all create 1600.0 376847 loop geom
|
||||||
@ -15,7 +15,7 @@ create_atoms 1 box
|
|||||||
Created 32000 atoms
|
Created 32000 atoms
|
||||||
create_atoms CPU = 0.002 seconds
|
create_atoms CPU = 0.002 seconds
|
||||||
|
|
||||||
pair_style meam/c
|
pair_style meam
|
||||||
pair_coeff * * library.meam Ni4 Ni.meam Ni4
|
pair_coeff * * library.meam Ni4 Ni.meam Ni4
|
||||||
Reading potential file library.meam with DATE: 2012-06-29
|
Reading potential file library.meam with DATE: 2012-06-29
|
||||||
Reading potential file Ni.meam with DATE: 2007-06-11
|
Reading potential file Ni.meam with DATE: 2007-06-11
|
||||||
@ -38,12 +38,12 @@ Neighbor list info ...
|
|||||||
ghost atom cutoff = 5
|
ghost atom cutoff = 5
|
||||||
binsize = 2.5, bins = 29 29 29
|
binsize = 2.5, bins = 29 29 29
|
||||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||||
(1) pair meam/c, perpetual
|
(1) pair meam, perpetual
|
||||||
attributes: full, newton on
|
attributes: full, newton on
|
||||||
pair build: full/bin/atomonly
|
pair build: full/bin/atomonly
|
||||||
stencil: full/bin/3d
|
stencil: full/bin/3d
|
||||||
bin: standard
|
bin: standard
|
||||||
(2) pair meam/c, perpetual, half/full from (1)
|
(2) pair meam, perpetual, half/full from (1)
|
||||||
attributes: half, newton on
|
attributes: half, newton on
|
||||||
pair build: halffull/newton
|
pair build: halffull/newton
|
||||||
stencil: none
|
stencil: none
|
||||||
@ -15,7 +15,7 @@ create_atoms 1 box
|
|||||||
Created 32000 atoms
|
Created 32000 atoms
|
||||||
create_atoms CPU = 0.001 seconds
|
create_atoms CPU = 0.001 seconds
|
||||||
|
|
||||||
pair_style meam/c
|
pair_style meam
|
||||||
pair_coeff * * library.meam Ni4 Ni.meam Ni4
|
pair_coeff * * library.meam Ni4 Ni.meam Ni4
|
||||||
Reading potential file library.meam with DATE: 2012-06-29
|
Reading potential file library.meam with DATE: 2012-06-29
|
||||||
Reading potential file Ni.meam with DATE: 2007-06-11
|
Reading potential file Ni.meam with DATE: 2007-06-11
|
||||||
@ -38,12 +38,12 @@ Neighbor list info ...
|
|||||||
ghost atom cutoff = 5
|
ghost atom cutoff = 5
|
||||||
binsize = 2.5, bins = 29 29 29
|
binsize = 2.5, bins = 29 29 29
|
||||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||||
(1) pair meam/c, perpetual
|
(1) pair meam, perpetual
|
||||||
attributes: full, newton on
|
attributes: full, newton on
|
||||||
pair build: full/bin/atomonly
|
pair build: full/bin/atomonly
|
||||||
stencil: full/bin/3d
|
stencil: full/bin/3d
|
||||||
bin: standard
|
bin: standard
|
||||||
(2) pair meam/c, perpetual, half/full from (1)
|
(2) pair meam, perpetual, half/full from (1)
|
||||||
attributes: half, newton on
|
attributes: half, newton on
|
||||||
pair build: halffull/newton
|
pair build: halffull/newton
|
||||||
stencil: none
|
stencil: none
|
||||||
@ -24,7 +24,7 @@ velocity all create 300.0 9999
|
|||||||
|
|
||||||
pair_style reax/c NULL
|
pair_style reax/c NULL
|
||||||
pair_coeff * * ffield.reax C H O N
|
pair_coeff * * ffield.reax C H O N
|
||||||
WARNING: Changed valency_val to valency_boc for X (src/USER-REAXC/reaxc_ffield.cpp:315)
|
WARNING: Changed valency_val to valency_boc for X (src/REAXFF/reaxc_ffield.cpp:315)
|
||||||
|
|
||||||
timestep 0.1
|
timestep 0.1
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|||||||
@ -24,7 +24,7 @@ velocity all create 300.0 9999
|
|||||||
|
|
||||||
pair_style reax/c NULL
|
pair_style reax/c NULL
|
||||||
pair_coeff * * ffield.reax C H O N
|
pair_coeff * * ffield.reax C H O N
|
||||||
WARNING: Changed valency_val to valency_boc for X (src/USER-REAXC/reaxc_ffield.cpp:315)
|
WARNING: Changed valency_val to valency_boc for X (src/REAXFF/reaxc_ffield.cpp:315)
|
||||||
|
|
||||||
timestep 0.1
|
timestep 0.1
|
||||||
fix 1 all nve
|
fix 1 all nve
|
||||||
|
|||||||
@ -138,17 +138,86 @@ install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|||||||
|
|
||||||
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
|
option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF)
|
||||||
|
|
||||||
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE
|
set(STANDARD_PACKAGES
|
||||||
GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE PERI POEMS
|
ADIOS
|
||||||
PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
|
ASPHERE
|
||||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK
|
ATC
|
||||||
USER-COLVARS USER-DIELECTRIC USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
AWPMD
|
||||||
USER-H5MD USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT
|
BOCS
|
||||||
USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB
|
BODY
|
||||||
USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
BROWNIAN
|
||||||
USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN)
|
CG-DNA
|
||||||
|
CG-SDK
|
||||||
|
CLASS2
|
||||||
|
COLLOID
|
||||||
|
COLVARS
|
||||||
|
COMPRESS
|
||||||
|
DIELECTRIC
|
||||||
|
DIFFRACTION
|
||||||
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
|
DPD-MESO
|
||||||
|
DPD-REACT
|
||||||
|
DPD-SMOOTH
|
||||||
|
DRUDE
|
||||||
|
EFF
|
||||||
|
FEP
|
||||||
|
GRANULAR
|
||||||
|
H5MD
|
||||||
|
KIM
|
||||||
|
KSPACE
|
||||||
|
LATBOLTZ
|
||||||
|
LATTE
|
||||||
|
MACHDYN
|
||||||
|
MANIFOLD
|
||||||
|
MANYBODY
|
||||||
|
MC
|
||||||
|
MDI
|
||||||
|
MEAM
|
||||||
|
MESONT
|
||||||
|
MESSAGE
|
||||||
|
MGPT
|
||||||
|
MISC
|
||||||
|
ML-HDNNP
|
||||||
|
ML-IAP
|
||||||
|
ML-PACE
|
||||||
|
ML-QUIP
|
||||||
|
ML-RANN
|
||||||
|
ML-SNAP
|
||||||
|
MOFFF
|
||||||
|
MOLECULE
|
||||||
|
MOLFILE
|
||||||
|
MPIIO
|
||||||
|
MSCG
|
||||||
|
NETCDF
|
||||||
|
PERI
|
||||||
|
PHONON
|
||||||
|
PLUGIN
|
||||||
|
PLUMED
|
||||||
|
POEMS
|
||||||
|
PTM
|
||||||
|
PYTHON
|
||||||
|
QEQ
|
||||||
|
QMMM
|
||||||
|
QTB
|
||||||
|
REACTION
|
||||||
|
REAXFF
|
||||||
|
REPLICA
|
||||||
|
RIGID
|
||||||
|
SCAFACOS
|
||||||
|
SHOCK
|
||||||
|
SMTBQ
|
||||||
|
SPH
|
||||||
|
SPIN
|
||||||
|
SRD
|
||||||
|
TALLY
|
||||||
|
UEF
|
||||||
|
USER-MISC
|
||||||
|
VORONOI
|
||||||
|
VTK
|
||||||
|
YAFF)
|
||||||
|
|
||||||
set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP)
|
set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT INTEL OPENMP)
|
||||||
|
|
||||||
foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
|
foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES})
|
||||||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||||
@ -159,7 +228,7 @@ endforeach()
|
|||||||
######################################################
|
######################################################
|
||||||
target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}>)
|
target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}>)
|
||||||
|
|
||||||
if(PKG_USER-ADIOS)
|
if(PKG_ADIOS)
|
||||||
# The search for ADIOS2 must come before MPI because
|
# The search for ADIOS2 must come before MPI because
|
||||||
# it includes its own MPI search with the latest FindMPI.cmake
|
# it includes its own MPI search with the latest FindMPI.cmake
|
||||||
# script that defines the MPI::MPI_C target
|
# script that defines the MPI::MPI_C target
|
||||||
@ -229,13 +298,13 @@ endif()
|
|||||||
|
|
||||||
# "hard" dependencies between packages resulting
|
# "hard" dependencies between packages resulting
|
||||||
# in an error instead of skipping over files
|
# in an error instead of skipping over files
|
||||||
pkg_depends(MLIAP SNAP)
|
pkg_depends(ML-IAP ML-SNAP)
|
||||||
pkg_depends(MPIIO MPI)
|
pkg_depends(MPIIO MPI)
|
||||||
pkg_depends(USER-ATC MANYBODY)
|
pkg_depends(ATC MANYBODY)
|
||||||
pkg_depends(USER-LB MPI)
|
pkg_depends(LATBOLTZ MPI)
|
||||||
pkg_depends(USER-PHONON KSPACE)
|
pkg_depends(PHONON KSPACE)
|
||||||
pkg_depends(USER-SCAFACOS MPI)
|
pkg_depends(SCAFACOS MPI)
|
||||||
pkg_depends(USER-DIELECTRIC KSPACE)
|
pkg_depends(DIELECTRIC KSPACE)
|
||||||
|
|
||||||
# detect if we may enable OpenMP support by default
|
# detect if we may enable OpenMP support by default
|
||||||
set(BUILD_OMP_DEFAULT OFF)
|
set(BUILD_OMP_DEFAULT OFF)
|
||||||
@ -271,7 +340,7 @@ if(BUILD_OMP)
|
|||||||
target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX)
|
target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
|
if(PKG_MSCG OR PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_LATTE)
|
||||||
enable_language(C)
|
enable_language(C)
|
||||||
find_package(LAPACK)
|
find_package(LAPACK)
|
||||||
find_package(BLAS)
|
find_package(BLAS)
|
||||||
@ -350,8 +419,8 @@ else()
|
|||||||
set(CUDA_REQUEST_PIC)
|
set(CUDA_REQUEST_PIC)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF
|
foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI COLVARS ML-HDNNP MDI MOLFILE NETCDF
|
||||||
USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE)
|
PLUMED QMMM ML-QUIP SCAFACOS MACHDYN VTK KIM LATTE MESSAGE MSCG COMPRESS ML-PACE)
|
||||||
if(PKG_${PKG_WITH_INCL})
|
if(PKG_${PKG_WITH_INCL})
|
||||||
include(Packages/${PKG_WITH_INCL})
|
include(Packages/${PKG_WITH_INCL})
|
||||||
endif()
|
endif()
|
||||||
@ -444,9 +513,8 @@ endforeach()
|
|||||||
##############################################
|
##############################################
|
||||||
# add lib sources of (simple) enabled packages
|
# add lib sources of (simple) enabled packages
|
||||||
############################################
|
############################################
|
||||||
foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT)
|
foreach(PKG_LIB POEMS ATC AWPMD H5MD MESONT)
|
||||||
if(PKG_${SIMPLE_LIB})
|
if(PKG_${PKG_LIB})
|
||||||
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
|
|
||||||
string(TOLOWER "${PKG_LIB}" PKG_LIB)
|
string(TOLOWER "${PKG_LIB}" PKG_LIB)
|
||||||
if(PKG_LIB STREQUAL "mesont")
|
if(PKG_LIB STREQUAL "mesont")
|
||||||
enable_language(Fortran)
|
enable_language(Fortran)
|
||||||
@ -470,13 +538,13 @@ foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT)
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(PKG_USER-AWPMD)
|
if(PKG_AWPMD)
|
||||||
target_link_libraries(awpmd PRIVATE ${LAPACK_LIBRARIES})
|
target_link_libraries(awpmd PRIVATE ${LAPACK_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_USER-ATC)
|
if(PKG_ATC)
|
||||||
if(LAMMPS_SIZES STREQUAL "BIGBIG")
|
if(LAMMPS_SIZES STREQUAL "BIGBIG")
|
||||||
message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG")
|
message(FATAL_ERROR "The ATC Package is not compatible with -DLAMMPS_BIGBIG")
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES})
|
target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES})
|
||||||
if(BUILD_MPI)
|
if(BUILD_MPI)
|
||||||
@ -488,15 +556,15 @@ if(PKG_USER-ATC)
|
|||||||
target_compile_definitions(atc PRIVATE -DLAMMPS_${LAMMPS_SIZES})
|
target_compile_definitions(atc PRIVATE -DLAMMPS_${LAMMPS_SIZES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_USER-H5MD)
|
if(PKG_H5MD)
|
||||||
include(Packages/USER-H5MD)
|
include(Packages/H5MD)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# packages which selectively include variants based on enabled styles
|
# packages which selectively include variants based on enabled styles
|
||||||
# e.g. accelerator packages
|
# e.g. accelerator packages
|
||||||
######################################################################
|
######################################################################
|
||||||
foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU)
|
foreach(PKG_WITH_INCL CORESHELL QEQ OPENMP DPD-SMOOTH KOKKOS OPT INTEL GPU)
|
||||||
if(PKG_${PKG_WITH_INCL})
|
if(PKG_${PKG_WITH_INCL})
|
||||||
include(Packages/${PKG_WITH_INCL})
|
include(Packages/${PKG_WITH_INCL})
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@ -22,7 +22,7 @@ find_library(N2P2_LIBNNPIF NAMES nnpif HINTS "${N2P2_DIR}/lib")
|
|||||||
#
|
#
|
||||||
# target_compile_definitions(lammps PRIVATE -DN2P2_NO_SF_GROUPS)
|
# target_compile_definitions(lammps PRIVATE -DN2P2_NO_SF_GROUPS)
|
||||||
#
|
#
|
||||||
# to "lib/lammps-extra.cmake" which is then included by USER-HDNNP.cmake.
|
# to "lib/lammps-extra.cmake" which is then included by ML-HDNNP.cmake.
|
||||||
find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake HINTS "${N2P2_DIR}/lib")
|
find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake HINTS "${N2P2_DIR}/lib")
|
||||||
|
|
||||||
find_package_handle_standard_args(N2P2 DEFAULT_MSG
|
find_package_handle_standard_args(N2P2 DEFAULT_MSG
|
||||||
|
|||||||
@ -67,7 +67,7 @@ endfunction()
|
|||||||
|
|
||||||
macro(pkg_depends PKG1 PKG2)
|
macro(pkg_depends PKG1 PKG2)
|
||||||
if(PKG_${PKG1} AND NOT (PKG_${PKG2} OR BUILD_${PKG2}))
|
if(PKG_${PKG1} AND NOT (PKG_${PKG2} OR BUILD_${PKG2}))
|
||||||
message(FATAL_ERROR "${PKG1} package needs LAMMPS to be build with ${PKG2}")
|
message(FATAL_ERROR "The ${PKG1} package needs LAMMPS to be build with the ${PKG2} package")
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
# Fix rigid/meso requires RIGID to be installed
|
# Fix rigid/meso requires RIGID to be installed
|
||||||
set(USER-SDPD_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-SDPD)
|
set(DPD-SMOOTH_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/DPD-SMOOTH)
|
||||||
|
|
||||||
get_property(hlist GLOBAL PROPERTY FIX)
|
get_property(hlist GLOBAL PROPERTY FIX)
|
||||||
if(NOT PKG_RIGID)
|
if(NOT PKG_RIGID)
|
||||||
list(REMOVE_ITEM hlist ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.h)
|
list(REMOVE_ITEM hlist ${DPD-SMOOTH_SOURCES_DIR}/fix_rigid_meso.h)
|
||||||
get_target_property(LAMMPS_SOURCES lammps SOURCES)
|
get_target_property(LAMMPS_SOURCES lammps SOURCES)
|
||||||
list(REMOVE_ITEM LAMMPS_SOURCES ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.cpp)
|
list(REMOVE_ITEM LAMMPS_SOURCES ${DPD-SMOOTH_SOURCES_DIR}/fix_rigid_meso.cpp)
|
||||||
set_property(TARGET lammps PROPERTY SOURCES ${LAMMPS_SOURCES})
|
set_property(TARGET lammps PROPERTY SOURCES ${LAMMPS_SOURCES})
|
||||||
endif()
|
endif()
|
||||||
set_property(GLOBAL PROPERTY FIX "${hlist}")
|
set_property(GLOBAL PROPERTY FIX "${hlist}")
|
||||||
|
|
||||||
target_include_directories(lammps PRIVATE ${USER-SDPD_SOURCES_DIR})
|
target_include_directories(lammps PRIVATE ${DPD-SMOOTH_SOURCES_DIR})
|
||||||
@ -5,7 +5,7 @@ endif()
|
|||||||
|
|
||||||
target_compile_definitions(lammps PRIVATE -DLMP_USER_INTEL)
|
target_compile_definitions(lammps PRIVATE -DLMP_USER_INTEL)
|
||||||
|
|
||||||
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
|
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by INTEL (cpu or knl)")
|
||||||
set(INTEL_ARCH_VALUES cpu knl)
|
set(INTEL_ARCH_VALUES cpu knl)
|
||||||
set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES})
|
set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES})
|
||||||
validate_option(INTEL_ARCH INTEL_ARCH_VALUES)
|
validate_option(INTEL_ARCH INTEL_ARCH_VALUES)
|
||||||
@ -40,10 +40,10 @@ endif()
|
|||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
|
||||||
message(FATAL_ERROR "USER-INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
|
message(FATAL_ERROR "INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
message(WARNING "USER-INTEL gives best performance with Intel compilers")
|
message(WARNING "INTEL gives best performance with Intel compilers")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(TBB_MALLOC QUIET)
|
find_package(TBB_MALLOC QUIET)
|
||||||
@ -52,7 +52,7 @@ if(TBB_MALLOC_FOUND)
|
|||||||
else()
|
else()
|
||||||
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_NO_TBB)
|
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_NO_TBB)
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
message(WARNING "USER-INTEL with Intel compilers should use TBB malloc libraries")
|
message(WARNING "INTEL with Intel compilers should use TBB malloc libraries")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -65,12 +65,12 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256"))
|
if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256"))
|
||||||
message(FATAL_ERROR "USER-INTEL only supports memory alignment of 64, 128 or 256 on this platform")
|
message(FATAL_ERROR "INTEL only supports memory alignment of 64, 128 or 256 on this platform")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(INTEL_ARCH STREQUAL "KNL")
|
if(INTEL_ARCH STREQUAL "KNL")
|
||||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
message(FATAL_ERROR "Must use Intel compiler with USER-INTEL for KNL architecture")
|
message(FATAL_ERROR "Must use Intel compiler with INTEL for KNL architecture")
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
|
||||||
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
|
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
|
||||||
@ -91,26 +91,26 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# collect sources
|
# collect sources
|
||||||
set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL)
|
set(INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/INTEL)
|
||||||
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/fix_intel.cpp
|
set(INTEL_SOURCES ${INTEL_SOURCES_DIR}/fix_intel.cpp
|
||||||
${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp
|
${INTEL_SOURCES_DIR}/fix_nh_intel.cpp
|
||||||
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
|
${INTEL_SOURCES_DIR}/intel_buffers.cpp
|
||||||
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
|
${INTEL_SOURCES_DIR}/nbin_intel.cpp
|
||||||
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp)
|
${INTEL_SOURCES_DIR}/npair_intel.cpp)
|
||||||
|
|
||||||
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
|
set_property(GLOBAL PROPERTY "INTEL_SOURCES" "${INTEL_SOURCES}")
|
||||||
|
|
||||||
# detect styles which have a USER-INTEL version
|
# detect styles which have a INTEL version
|
||||||
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES)
|
RegisterStylesExt(${INTEL_SOURCES_DIR} intel INTEL_SOURCES)
|
||||||
RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h)
|
RegisterNBinStyle(${INTEL_SOURCES_DIR}/nbin_intel.h)
|
||||||
RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h)
|
RegisterNPairStyle(${INTEL_SOURCES_DIR}/npair_intel.h)
|
||||||
RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h)
|
RegisterFixStyle(${INTEL_SOURCES_DIR}/fix_intel.h)
|
||||||
|
|
||||||
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
|
get_property(INTEL_SOURCES GLOBAL PROPERTY INTEL_SOURCES)
|
||||||
if(PKG_KSPACE)
|
if(PKG_KSPACE)
|
||||||
list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
|
list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
|
||||||
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
|
RegisterIntegrateStyle(${INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_sources(lammps PRIVATE ${USER-INTEL_SOURCES})
|
target_sources(lammps PRIVATE ${INTEL_SOURCES})
|
||||||
target_include_directories(lammps PRIVATE ${USER-INTEL_SOURCES_DIR})
|
target_include_directories(lammps PRIVATE ${INTEL_SOURCES_DIR})
|
||||||
@ -116,7 +116,7 @@ RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h)
|
|||||||
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h)
|
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h)
|
||||||
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.h)
|
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.h)
|
||||||
|
|
||||||
if(PKG_USER-DPD)
|
if(PKG_DPD-REACT)
|
||||||
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
|
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
|
||||||
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.cpp)
|
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.cpp)
|
||||||
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.h)
|
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.h)
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# if PYTHON package is included we may also include Python support in MLIAP
|
# if PYTHON package is included we may also include Python support in ML-IAP
|
||||||
set(MLIAP_ENABLE_PYTHON_DEFAULT OFF)
|
set(MLIAP_ENABLE_PYTHON_DEFAULT OFF)
|
||||||
if(PKG_PYTHON)
|
if(PKG_PYTHON)
|
||||||
find_package(Cythonize QUIET)
|
find_package(Cythonize QUIET)
|
||||||
@ -7,25 +7,25 @@ if(PKG_PYTHON)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(MLIAP_ENABLE_PYTHON "Build MLIAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT})
|
option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT})
|
||||||
|
|
||||||
if(MLIAP_ENABLE_PYTHON)
|
if(MLIAP_ENABLE_PYTHON)
|
||||||
find_package(Cythonize REQUIRED)
|
find_package(Cythonize REQUIRED)
|
||||||
if(NOT PKG_PYTHON)
|
if(NOT PKG_PYTHON)
|
||||||
message(FATAL_ERROR "Must enable PYTHON package for including Python support in MLIAP")
|
message(FATAL_ERROR "Must enable PYTHON package for including Python support in ML-IAP")
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_VERSION VERSION_LESS 3.12)
|
if(CMAKE_VERSION VERSION_LESS 3.12)
|
||||||
if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3.6)
|
if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3.6)
|
||||||
message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later")
|
message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
if(Python_VERSION VERSION_LESS 3.6)
|
if(Python_VERSION VERSION_LESS 3.6)
|
||||||
message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later")
|
message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython)
|
set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython)
|
||||||
set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/MLIAP/mliap_model_python_couple.pyx)
|
set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/ML-IAP/mliap_model_python_couple.pyx)
|
||||||
get_filename_component(MLIAP_CYTHON_BASE ${MLIAP_CYTHON_SRC} NAME_WE)
|
get_filename_component(MLIAP_CYTHON_BASE ${MLIAP_CYTHON_SRC} NAME_WE)
|
||||||
file(MAKE_DIRECTORY ${MLIAP_BINARY_DIR})
|
file(MAKE_DIRECTORY ${MLIAP_BINARY_DIR})
|
||||||
add_custom_command(OUTPUT ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.h
|
add_custom_command(OUTPUT ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.h
|
||||||
@ -1,4 +1,4 @@
|
|||||||
# USER-NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary.
|
# NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary.
|
||||||
# NetCDF library enables dump style "netcdf", while PNetCDF enables dump style "netcdf/mpiio"
|
# NetCDF library enables dump style "netcdf", while PNetCDF enables dump style "netcdf/mpiio"
|
||||||
|
|
||||||
# may use NetCDF or PNetCDF with MPI, but must have NetCDF without
|
# may use NetCDF or PNetCDF with MPI, but must have NetCDF without
|
||||||
40
cmake/Modules/Packages/OPENMP.cmake
Normal file
40
cmake/Modules/Packages/OPENMP.cmake
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
set(OPENMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPENMP)
|
||||||
|
set(OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/thr_data.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/thr_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/fix_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/fix_nh_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/domain_omp.cpp)
|
||||||
|
target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP)
|
||||||
|
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${OPENMP_SOURCES}")
|
||||||
|
|
||||||
|
# detects styles which have OPENMP version
|
||||||
|
RegisterStylesExt(${OPENMP_SOURCES_DIR} omp OMP_SOURCES)
|
||||||
|
RegisterFixStyle(${OPENMP_SOURCES_DIR}/fix_omp.h)
|
||||||
|
|
||||||
|
get_property(OPENMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
|
||||||
|
|
||||||
|
# manually add package dependent source files from OPENMP that do not provide styles
|
||||||
|
|
||||||
|
if(PKG_ASPHERE)
|
||||||
|
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PKG_RIGID)
|
||||||
|
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PKG_REAXFF)
|
||||||
|
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/reaxc_bonds_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/reaxc_init_md_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/reaxc_forces_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp
|
||||||
|
${OPENMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_sources(lammps PRIVATE ${OPENMP_SOURCES})
|
||||||
|
target_include_directories(lammps PRIVATE ${OPENMP_SOURCES_DIR})
|
||||||
@ -1,40 +0,0 @@
|
|||||||
set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP)
|
|
||||||
set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/thr_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/fix_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/domain_omp.cpp)
|
|
||||||
target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP)
|
|
||||||
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}")
|
|
||||||
|
|
||||||
# detects styles which have USER-OMP version
|
|
||||||
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
|
|
||||||
RegisterFixStyle(${USER-OMP_SOURCES_DIR}/fix_omp.h)
|
|
||||||
|
|
||||||
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
|
|
||||||
|
|
||||||
# manually add package dependent source files from USER-OMP that do not provide styles
|
|
||||||
|
|
||||||
if(PKG_ASPHERE)
|
|
||||||
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PKG_RIGID)
|
|
||||||
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PKG_USER-REAXC)
|
|
||||||
list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/reaxc_bonds_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/reaxc_init_md_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/reaxc_forces_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp
|
|
||||||
${USER-OMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_sources(lammps PRIVATE ${USER-OMP_SOURCES})
|
|
||||||
target_include_directories(lammps PRIVATE ${USER-OMP_SOURCES_DIR})
|
|
||||||
@ -1,17 +1,90 @@
|
|||||||
# preset that turns on all existing packages off. can be used to reset
|
# Preset that turns on all existing packages off. Can be used to reset
|
||||||
# an existing package selection without losing any other settings
|
# an existing package selection without losing any other settings
|
||||||
|
|
||||||
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
set(ALL_PACKAGES
|
||||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE
|
ADIOS
|
||||||
MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
|
ASPHERE
|
||||||
SRD VORONOI
|
ATC
|
||||||
USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK
|
AWPMD
|
||||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
BOCS
|
||||||
USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
|
BODY
|
||||||
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
BROWNIAN
|
||||||
USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN
|
CG-DNA
|
||||||
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
CG-SDK
|
||||||
USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC)
|
CLASS2
|
||||||
|
COLLOID
|
||||||
|
COLVARS
|
||||||
|
COMPRESS
|
||||||
|
CORESHELL
|
||||||
|
DIELECTRIC
|
||||||
|
DIFFRACTION
|
||||||
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
|
DPD-MESO
|
||||||
|
DPD-REACT
|
||||||
|
DPD-SMOOTH
|
||||||
|
DRUDE
|
||||||
|
EFF
|
||||||
|
FEP
|
||||||
|
GPU
|
||||||
|
GRANULAR
|
||||||
|
H5MD
|
||||||
|
INTEL
|
||||||
|
KIM
|
||||||
|
KOKKOS
|
||||||
|
KSPACE
|
||||||
|
LATBOLTZ
|
||||||
|
LATTE
|
||||||
|
MACHDYN
|
||||||
|
MANIFOLD
|
||||||
|
MANYBODY
|
||||||
|
MC
|
||||||
|
MDI
|
||||||
|
MEAM
|
||||||
|
MESONT
|
||||||
|
MESSAGE
|
||||||
|
MGPT
|
||||||
|
MISC
|
||||||
|
ML-HDNNP
|
||||||
|
ML-IAP
|
||||||
|
ML-PACE
|
||||||
|
ML-QUIP
|
||||||
|
ML-RANN
|
||||||
|
ML-SNAP
|
||||||
|
MOFFF
|
||||||
|
MOLECULE
|
||||||
|
MOLFILE
|
||||||
|
MPIIO
|
||||||
|
MSCG
|
||||||
|
NETCDF
|
||||||
|
OPENMP
|
||||||
|
OPT
|
||||||
|
PERI
|
||||||
|
PHONON
|
||||||
|
PLUGIN
|
||||||
|
PLUMED
|
||||||
|
POEMS
|
||||||
|
PTM
|
||||||
|
PYTHON
|
||||||
|
QEQ
|
||||||
|
QMMM
|
||||||
|
QTB
|
||||||
|
REACTION
|
||||||
|
REAXFF
|
||||||
|
REPLICA
|
||||||
|
RIGID
|
||||||
|
SCAFACOS
|
||||||
|
SHOCK
|
||||||
|
SMTBQ
|
||||||
|
SPH
|
||||||
|
SPIN
|
||||||
|
SRD
|
||||||
|
TALLY
|
||||||
|
UEF
|
||||||
|
USER-MISC
|
||||||
|
VORONOI
|
||||||
|
VTK
|
||||||
|
YAFF)
|
||||||
|
|
||||||
foreach(PKG ${ALL_PACKAGES})
|
foreach(PKG ${ALL_PACKAGES})
|
||||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -1,19 +1,92 @@
|
|||||||
# preset that turns on all existing packages. using the combination
|
# Preset that turns on all existing packages. Using the combination
|
||||||
# this preset followed by the nolib.cmake preset should configure a
|
# of this preset followed by the nolib.cmake preset should configure
|
||||||
# LAMMPS binary, with as many packages included, that can be compiled
|
# a LAMMPS binary, with as many packages included, that can be compiled
|
||||||
# with just a working C++ compiler and an MPI library.
|
# with just a working C++ compiler and an MPI library.
|
||||||
|
|
||||||
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
set(ALL_PACKAGES
|
||||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE
|
ADIOS
|
||||||
MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
|
ASPHERE
|
||||||
SRD VORONOI
|
ATC
|
||||||
USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK
|
AWPMD
|
||||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
BOCS
|
||||||
USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
|
BODY
|
||||||
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
BROWNIAN
|
||||||
USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN
|
CG-DNA
|
||||||
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
CG-SDK
|
||||||
USER-TALLY USER-UEF USER-VTK USER-YAFF USER-DIELECTRIC)
|
CLASS2
|
||||||
|
COLLOID
|
||||||
|
COLVARS
|
||||||
|
COMPRESS
|
||||||
|
CORESHELL
|
||||||
|
DIELECTRIC
|
||||||
|
DIFFRACTION
|
||||||
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
|
DPD-MESO
|
||||||
|
DPD-REACT
|
||||||
|
DPD-SMOOTH
|
||||||
|
DRUDE
|
||||||
|
EFF
|
||||||
|
FEP
|
||||||
|
GPU
|
||||||
|
GRANULAR
|
||||||
|
H5MD
|
||||||
|
INTEL
|
||||||
|
KIM
|
||||||
|
KOKKOS
|
||||||
|
KSPACE
|
||||||
|
LATBOLTZ
|
||||||
|
LATTE
|
||||||
|
MACHDYN
|
||||||
|
MANIFOLD
|
||||||
|
MANYBODY
|
||||||
|
MC
|
||||||
|
MDI
|
||||||
|
MEAM
|
||||||
|
MESONT
|
||||||
|
MESSAGE
|
||||||
|
MGPT
|
||||||
|
MISC
|
||||||
|
ML-HDNNP
|
||||||
|
ML-IAP
|
||||||
|
ML-PACE
|
||||||
|
ML-QUIP
|
||||||
|
ML-RANN
|
||||||
|
ML-SNAP
|
||||||
|
MOFFF
|
||||||
|
MOLECULE
|
||||||
|
MOLFILE
|
||||||
|
MPIIO
|
||||||
|
MSCG
|
||||||
|
NETCDF
|
||||||
|
OPENMP
|
||||||
|
OPT
|
||||||
|
PERI
|
||||||
|
PHONON
|
||||||
|
PLUGIN
|
||||||
|
PLUMED
|
||||||
|
POEMS
|
||||||
|
PTM
|
||||||
|
PYTHON
|
||||||
|
QEQ
|
||||||
|
QMMM
|
||||||
|
QTB
|
||||||
|
REACTION
|
||||||
|
REAXFF
|
||||||
|
REPLICA
|
||||||
|
RIGID
|
||||||
|
SCAFACOS
|
||||||
|
SHOCK
|
||||||
|
SMTBQ
|
||||||
|
SPH
|
||||||
|
SPIN
|
||||||
|
SRD
|
||||||
|
TALLY
|
||||||
|
UEF
|
||||||
|
USER-MISC
|
||||||
|
VORONOI
|
||||||
|
VTK
|
||||||
|
YAFF)
|
||||||
|
|
||||||
foreach(PKG ${ALL_PACKAGES})
|
foreach(PKG ${ALL_PACKAGES})
|
||||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# Preset that turns on packages with automatic downloads of sources or potentials.
|
# Preset that turns on packages with automatic downloads of sources or potentials.
|
||||||
# Compilation of libraries like Plumed or ScaFaCoS can take a considerable amount of time.
|
# Compilation of libraries like Plumed or ScaFaCoS can take a considerable amount of time.
|
||||||
|
|
||||||
set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS USER-SMD USER-MESONT USER-MDI USER-PACE)
|
set(ALL_PACKAGES KIM LATTE MSCG VORONOI PLUMED SCAFACOS MACHDYN MESONT MDI ML-PACE)
|
||||||
|
|
||||||
foreach(PKG ${ALL_PACKAGES})
|
foreach(PKG ${ALL_PACKAGES})
|
||||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -1,13 +1,69 @@
|
|||||||
set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
set(WIN_PACKAGES
|
||||||
GRANULAR KSPACE LATTE MANYBODY MC MISC MLIAP MOLECULE OPT
|
ASPHERE
|
||||||
PERI POEMS QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI
|
ATC
|
||||||
USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN USER-CGDNA USER-CGSDK
|
AWPMD
|
||||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
BOCS
|
||||||
USER-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
|
BODY
|
||||||
USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP
|
BROWNIAN
|
||||||
USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC
|
CG-DNA
|
||||||
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF
|
CG-SDK
|
||||||
USER-YAFF USER-DIELECTRIC)
|
CLASS2
|
||||||
|
COLLOID
|
||||||
|
COLVARS
|
||||||
|
COMPRESS
|
||||||
|
CORESHELL
|
||||||
|
DIELECTRIC
|
||||||
|
DIFFRACTION
|
||||||
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
|
DPD-MESO
|
||||||
|
DPD-REACT
|
||||||
|
DPD-SMOOTH
|
||||||
|
DRUDE
|
||||||
|
EFF
|
||||||
|
FEP
|
||||||
|
GPU
|
||||||
|
GRANULAR
|
||||||
|
INTEL
|
||||||
|
KSPACE
|
||||||
|
LATTE
|
||||||
|
MACHDYN
|
||||||
|
MANIFOLD
|
||||||
|
MANYBODY
|
||||||
|
MC
|
||||||
|
MDI
|
||||||
|
MEAM
|
||||||
|
MESONT
|
||||||
|
MGPT
|
||||||
|
MISC
|
||||||
|
ML-HDNNP
|
||||||
|
ML-IAP
|
||||||
|
ML-SNAP
|
||||||
|
MOFFF
|
||||||
|
MOLECULE
|
||||||
|
MOLFILE
|
||||||
|
OPENMP
|
||||||
|
OPT
|
||||||
|
PERI
|
||||||
|
PHONON
|
||||||
|
POEMS
|
||||||
|
PTM
|
||||||
|
QEQ
|
||||||
|
QTB
|
||||||
|
REACTION
|
||||||
|
REAXFF
|
||||||
|
REPLICA
|
||||||
|
RIGID
|
||||||
|
SHOCK
|
||||||
|
SMTBQ
|
||||||
|
SPH
|
||||||
|
SPIN
|
||||||
|
SRD
|
||||||
|
TALLY
|
||||||
|
UEF
|
||||||
|
USER-MISC
|
||||||
|
VORONOI
|
||||||
|
YAFF)
|
||||||
|
|
||||||
foreach(PKG ${WIN_PACKAGES})
|
foreach(PKG ${WIN_PACKAGES})
|
||||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||||
@ -16,7 +72,7 @@ endforeach()
|
|||||||
# these two packages require a full MPI implementation
|
# these two packages require a full MPI implementation
|
||||||
if(BUILD_MPI)
|
if(BUILD_MPI)
|
||||||
set(PKG_MPIIO ON CACHE BOOL "" FORCE)
|
set(PKG_MPIIO ON CACHE BOOL "" FORCE)
|
||||||
set(PKG_USER-LB ON CACHE BOOL "" FORCE)
|
set(PKG_LATBOLTZ ON CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
|
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -2,13 +2,59 @@
|
|||||||
# external libraries. Compared to all_on.cmake some more unusual packages
|
# external libraries. Compared to all_on.cmake some more unusual packages
|
||||||
# are removed. The resulting binary should be able to run most inputs.
|
# are removed. The resulting binary should be able to run most inputs.
|
||||||
|
|
||||||
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE
|
set(ALL_PACKAGES
|
||||||
GRANULAR KSPACE MANYBODY MC MISC MLIAP MOLECULE OPT PERI
|
ASPHERE
|
||||||
PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI
|
BOCS
|
||||||
USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
BODY
|
||||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-MEAMC
|
BROWNIAN
|
||||||
USER-MESODPD USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION
|
CG-DNA
|
||||||
USER-REAXC USER-SDPD USER-SPH USER-SMD USER-UEF USER-YAFF USER-DIELECTRIC)
|
CG-SDK
|
||||||
|
CLASS2
|
||||||
|
COLLOID
|
||||||
|
COLVARS
|
||||||
|
COMPRESS
|
||||||
|
CORESHELL
|
||||||
|
DIELECTRIC
|
||||||
|
DIFFRACTION
|
||||||
|
DIPOLE
|
||||||
|
DPD-BASIC
|
||||||
|
DPD-MESO
|
||||||
|
DPD-REACT
|
||||||
|
DPD-SMOOTH
|
||||||
|
DRUDE
|
||||||
|
EFF
|
||||||
|
FEP
|
||||||
|
GRANULAR
|
||||||
|
KSPACE
|
||||||
|
MACHDYN
|
||||||
|
MANYBODY
|
||||||
|
MC
|
||||||
|
MEAM
|
||||||
|
MISC
|
||||||
|
ML-IAP
|
||||||
|
ML-SNAP
|
||||||
|
MOFFF
|
||||||
|
MOLECULE
|
||||||
|
OPENMP
|
||||||
|
OPT
|
||||||
|
PERI
|
||||||
|
PHONON
|
||||||
|
PLUGIN
|
||||||
|
POEMS
|
||||||
|
PYTHON
|
||||||
|
QEQ
|
||||||
|
REACTION
|
||||||
|
REAXFF
|
||||||
|
REPLICA
|
||||||
|
RIGID
|
||||||
|
SHOCK
|
||||||
|
SPH
|
||||||
|
SPIN
|
||||||
|
SRD
|
||||||
|
UEF
|
||||||
|
USER-MISC
|
||||||
|
VORONOI
|
||||||
|
YAFF)
|
||||||
|
|
||||||
foreach(PKG ${ALL_PACKAGES})
|
foreach(PKG ${ALL_PACKAGES})
|
||||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -1,11 +1,34 @@
|
|||||||
# preset that turns off all packages that require some form of external
|
# preset that turns off all packages that require some form of external
|
||||||
# library or special compiler (fortran or cuda) or equivalent.
|
# library or special compiler (fortran or cuda) or equivalent.
|
||||||
|
|
||||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG
|
set(PACKAGES_WITH_LIB
|
||||||
PYTHON VORONOI
|
ADIOS
|
||||||
USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-HDNNP USER-LB USER-MOLFILE
|
ATC
|
||||||
USER-MESONT USER-MDI USER-NETCDF USER-PACE USER-PLUMED USER-QMMM USER-QUIP
|
AWPMD
|
||||||
USER-SCAFACOS USER-SMD USER-VTK)
|
COMPRESS
|
||||||
|
GPU
|
||||||
|
H5MD
|
||||||
|
KIM
|
||||||
|
KOKKOS
|
||||||
|
LATBOLTZ
|
||||||
|
LATTE
|
||||||
|
MACHDYN
|
||||||
|
MDI
|
||||||
|
MESONT
|
||||||
|
MESSAGE
|
||||||
|
ML-HDNNP
|
||||||
|
ML-PACE
|
||||||
|
ML-QUIP
|
||||||
|
MOLFILE
|
||||||
|
MPIIO
|
||||||
|
MSCG
|
||||||
|
NETCDF
|
||||||
|
PLUMED
|
||||||
|
PYTHON
|
||||||
|
QMMM
|
||||||
|
SCAFACOS
|
||||||
|
VORONOI
|
||||||
|
VTK)
|
||||||
|
|
||||||
foreach(PKG ${PACKAGES_WITH_LIB})
|
foreach(PKG ${PACKAGES_WITH_LIB})
|
||||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -122,7 +122,7 @@ recorded compilation commands information when typing `make iwyu`.
|
|||||||
A lot of code predates the application of the rules in this document
|
A lot of code predates the application of the rules in this document
|
||||||
and the rules themselves are a moving target. So there are going to be
|
and the rules themselves are a moving target. So there are going to be
|
||||||
significant chunks of code that do not fully comply. This applies
|
significant chunks of code that do not fully comply. This applies
|
||||||
for example to the USER-REAXC, or the USER-ATC package. The LAMMPS
|
for example to the REAXFF, or the ATC package. The LAMMPS
|
||||||
developers are dedicated to make an effort to improve the compliance
|
developers are dedicated to make an effort to improve the compliance
|
||||||
and welcome volunteers wanting to help with the process.
|
and welcome volunteers wanting to help with the process.
|
||||||
|
|
||||||
|
|||||||
@ -135,7 +135,7 @@ For example "-pk gpu 2" is the same as "package gpu 2" in the input
|
|||||||
script. The possible styles and options are discussed in the
|
script. The possible styles and options are discussed in the
|
||||||
.B LAMMPS
|
.B LAMMPS
|
||||||
manual for the "package" command. This switch can be used multiple
|
manual for the "package" command. This switch can be used multiple
|
||||||
times, e.g. to set options for the USER-INTEL and USER-OMP packages
|
times, e.g. to set options for the INTEL and OPENMP packages
|
||||||
when used together. Along with the "-sf" or "-suffix" switch, this
|
when used together. Along with the "-sf" or "-suffix" switch, this
|
||||||
is a convenient mechanism for invoking accelerator packages and their
|
is a convenient mechanism for invoking accelerator packages and their
|
||||||
options without having to edit an input script.
|
options without having to edit an input script.
|
||||||
|
|||||||
@ -90,7 +90,7 @@ standard. A more detailed discussion of that is below.
|
|||||||
directory, or ``make`` from the ``src/STUBS`` dir. If the build
|
directory, or ``make`` from the ``src/STUBS`` dir. If the build
|
||||||
fails, you may need to edit the ``STUBS/Makefile`` for your
|
fails, you may need to edit the ``STUBS/Makefile`` for your
|
||||||
platform. The stubs library does not provide MPI/IO functions
|
platform. The stubs library does not provide MPI/IO functions
|
||||||
required by some LAMMPS packages, e.g. ``MPIIO`` or ``USER-LB``,
|
required by some LAMMPS packages, e.g. ``MPIIO`` or ``LATBOLTZ``,
|
||||||
and thus is not compatible with those packages.
|
and thus is not compatible with those packages.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@ -120,19 +120,19 @@ self-installed MPICH or OpenMPI, so you should study the provided
|
|||||||
documentation to find out how to build and link with it.
|
documentation to find out how to build and link with it.
|
||||||
|
|
||||||
The majority of OpenMP (threading) support in LAMMPS is provided by the
|
The majority of OpenMP (threading) support in LAMMPS is provided by the
|
||||||
``USER-OMP`` package; see the :doc:`Speed_omp`
|
``OPENMP`` package; see the :doc:`Speed_omp`
|
||||||
page for details. The ``USER-INTEL`` package also includes OpenMP
|
page for details. The ``INTEL`` package also includes OpenMP
|
||||||
threading (it is compatible with ``USER-OMP`` and will usually fall
|
threading (it is compatible with ``OPENMP`` and will usually fall
|
||||||
back on styles from that package, if a ``USER-INTEL`` does not exist)
|
back on styles from that package, if a ``INTEL`` does not exist)
|
||||||
and adds vectorization support when compiled with compatible compilers,
|
and adds vectorization support when compiled with compatible compilers,
|
||||||
in particular the Intel compilers on top of OpenMP. Also, the ``KOKKOS``
|
in particular the Intel compilers on top of OpenMP. Also, the ``KOKKOS``
|
||||||
package can be compiled to include OpenMP threading.
|
package can be compiled to include OpenMP threading.
|
||||||
|
|
||||||
In addition, there are a few commands in LAMMPS that have native OpenMP
|
In addition, there are a few commands in LAMMPS that have native OpenMP
|
||||||
support included as well. These are commands in the ``MPIIO``,
|
support included as well. These are commands in the ``MPIIO``,
|
||||||
``SNAP``, ``USER-DIFFRACTION``, and ``USER-DPD`` packages. In addition
|
``ML-SNAP``, ``DIFFRACTION``, and ``DPD-REACT`` packages. In addition
|
||||||
some packages support OpenMP threading indirectly through the libraries
|
some packages support OpenMP threading indirectly through the libraries
|
||||||
they interface to: e.g. ``LATTE``, ``KSPACE``, and ``USER-COLVARS``.
|
they interface to: e.g. ``LATTE``, ``KSPACE``, and ``COLVARS``.
|
||||||
See the :doc:`Packages details <Packages_details>` page for more
|
See the :doc:`Packages details <Packages_details>` page for more
|
||||||
info on these packages and the pages for their respective commands
|
info on these packages and the pages for their respective commands
|
||||||
for OpenMP threading info.
|
for OpenMP threading info.
|
||||||
@ -176,7 +176,7 @@ performance. Vendor provided compilers for a specific hardware can
|
|||||||
produce faster code than open-source compilers like the GNU compilers.
|
produce faster code than open-source compilers like the GNU compilers.
|
||||||
On the most common x86 hardware most popular C++ compilers are quite
|
On the most common x86 hardware most popular C++ compilers are quite
|
||||||
similar in performance of C/C++ code at high optimization levels. When
|
similar in performance of C/C++ code at high optimization levels. When
|
||||||
using the ``USER-INTEL`` package, there is a distinct advantage in using
|
using the ``INTEL`` package, there is a distinct advantage in using
|
||||||
the `Intel C++ compiler <intel_>`_ due to much improved vectorization
|
the `Intel C++ compiler <intel_>`_ due to much improved vectorization
|
||||||
through SSE and AVX instructions on compatible hardware as the source
|
through SSE and AVX instructions on compatible hardware as the source
|
||||||
code includes changes and Intel compiler specific directives to enable
|
code includes changes and Intel compiler specific directives to enable
|
||||||
@ -325,9 +325,9 @@ LAMMPS.
|
|||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
Makefile.opt # OPT package
|
Makefile.opt # OPT package
|
||||||
Makefile.omp # USER-OMP package
|
Makefile.omp # OPENMP package
|
||||||
Makefile.intel_cpu # USER-INTEL package for CPUs
|
Makefile.intel_cpu # INTEL package for CPUs
|
||||||
Makefile.intel_coprocessor # USER-INTEL package for KNLs
|
Makefile.intel_coprocessor # INTEL package for KNLs
|
||||||
Makefile.gpu # GPU package
|
Makefile.gpu # GPU package
|
||||||
Makefile.kokkos_cuda_mpi # KOKKOS package for GPUs
|
Makefile.kokkos_cuda_mpi # KOKKOS package for GPUs
|
||||||
Makefile.kokkos_omp # KOKKOS package for CPUs (OpenMP)
|
Makefile.kokkos_omp # KOKKOS package for CPUs (OpenMP)
|
||||||
|
|||||||
@ -140,7 +140,7 @@ can be used several times in one command.
|
|||||||
For your convenience we provide :ref:`CMake presets <cmake_presets>`
|
For your convenience we provide :ref:`CMake presets <cmake_presets>`
|
||||||
that combine multiple settings to enable optional LAMMPS packages or use
|
that combine multiple settings to enable optional LAMMPS packages or use
|
||||||
a different compiler tool chain. Those are loaded with the *-C* flag
|
a different compiler tool chain. Those are loaded with the *-C* flag
|
||||||
(``-C ../cmake/presets/minimal.cmake``). This step would only be needed
|
(``-C ../cmake/presets/basic.cmake``). This step would only be needed
|
||||||
once, as the settings from the preset files are stored in the
|
once, as the settings from the preset files are stored in the
|
||||||
``CMakeCache.txt`` file. It is also possible to customize the build
|
``CMakeCache.txt`` file. It is also possible to customize the build
|
||||||
by adding one or more *-D* flags to the CMake command line.
|
by adding one or more *-D* flags to the CMake command line.
|
||||||
|
|||||||
@ -310,7 +310,7 @@ and working.
|
|||||||
parameter needs to be adjusted. Typically a value around 1.0e-13
|
parameter needs to be adjusted. Typically a value around 1.0e-13
|
||||||
can be used, but it may need to be as large as 1.0e-8 in some
|
can be used, but it may need to be as large as 1.0e-8 in some
|
||||||
cases.
|
cases.
|
||||||
- The tests for pair styles from OPT, USER-OMP and USER-INTEL are
|
- The tests for pair styles from OPT, OPENMP and INTEL are
|
||||||
performed with automatically rescaled epsilon to account for
|
performed with automatically rescaled epsilon to account for
|
||||||
additional loss of precision from code optimizations and different
|
additional loss of precision from code optimizations and different
|
||||||
summation orders.
|
summation orders.
|
||||||
@ -345,7 +345,7 @@ and compared. If the fix is a thermostat and thus the internal property
|
|||||||
``t_target`` can be extracted, then this is compared to the reference
|
``t_target`` can be extracted, then this is compared to the reference
|
||||||
data. The tests are repeated with the respa run style.
|
data. The tests are repeated with the respa run style.
|
||||||
|
|
||||||
If the fix has a multi-threaded version in the USER-OMP package, then
|
If the fix has a multi-threaded version in the OPENMP package, then
|
||||||
the entire set of tests is repeated for that version as well.
|
the entire set of tests is repeated for that version as well.
|
||||||
|
|
||||||
For this to work, some additional conditions have to be met by the
|
For this to work, some additional conditions have to be met by the
|
||||||
|
|||||||
@ -37,31 +37,31 @@ This is the list of packages that may require additional steps.
|
|||||||
* :ref:`KOKKOS <kokkos>`
|
* :ref:`KOKKOS <kokkos>`
|
||||||
* :ref:`LATTE <latte>`
|
* :ref:`LATTE <latte>`
|
||||||
* :ref:`MESSAGE <message>`
|
* :ref:`MESSAGE <message>`
|
||||||
* :ref:`MLIAP <mliap>`
|
* :ref:`ML-IAP <mliap>`
|
||||||
* :ref:`MSCG <mscg>`
|
* :ref:`MSCG <mscg>`
|
||||||
* :ref:`OPT <opt>`
|
* :ref:`OPT <opt>`
|
||||||
* :ref:`POEMS <poems>`
|
* :ref:`POEMS <poems>`
|
||||||
* :ref:`PYTHON <python>`
|
* :ref:`PYTHON <python>`
|
||||||
* :ref:`VORONOI <voronoi>`
|
* :ref:`VORONOI <voronoi>`
|
||||||
* :ref:`USER-ADIOS <user-adios>`
|
* :ref:`ADIOS <adios>`
|
||||||
* :ref:`USER-ATC <user-atc>`
|
* :ref:`ATC <atc>`
|
||||||
* :ref:`USER-AWPMD <user-awpmd>`
|
* :ref:`AWPMD <awpmd>`
|
||||||
* :ref:`USER-COLVARS <user-colvars>`
|
* :ref:`COLVARS <colvars>`
|
||||||
* :ref:`USER-H5MD <user-h5md>`
|
* :ref:`H5MD <h5md>`
|
||||||
* :ref:`USER-HDNNP <user-hdnnp>`
|
* :ref:`ML-HDNNP <ml-hdnnp>`
|
||||||
* :ref:`USER-INTEL <user-intel>`
|
* :ref:`INTEL <intel>`
|
||||||
* :ref:`USER-MDI <user-mdi>`
|
* :ref:`MDI <mdi>`
|
||||||
* :ref:`USER-MESONT <user-mesont>`
|
* :ref:`MESONT <mesont>`
|
||||||
* :ref:`USER-MOLFILE <user-molfile>`
|
* :ref:`MOLFILE <molfile>`
|
||||||
* :ref:`USER-NETCDF <user-netcdf>`
|
* :ref:`NETCDF <netcdf>`
|
||||||
* :ref:`USER-PACE <user-pace>`
|
* :ref:`ML-PACE <ml-pace>`
|
||||||
* :ref:`USER-PLUMED <user-plumed>`
|
* :ref:`PLUMED <plumed>`
|
||||||
* :ref:`USER-OMP <user-omp>`
|
* :ref:`OPENMP <openmp>`
|
||||||
* :ref:`USER-QMMM <user-qmmm>`
|
* :ref:`QMMM <qmmm>`
|
||||||
* :ref:`USER-QUIP <user-quip>`
|
* :ref:`ML-QUIP <ml-quip>`
|
||||||
* :ref:`USER-SCAFACOS <user-scafacos>`
|
* :ref:`SCAFACOS <scafacos>`
|
||||||
* :ref:`USER-SMD <user-smd>`
|
* :ref:`MACHDYN <machdyn>`
|
||||||
* :ref:`USER-VTK <user-vtk>`
|
* :ref:`VTK <vtk>`
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -622,7 +622,7 @@ This list was last updated for version 3.4.1 of the Kokkos library.
|
|||||||
|
|
||||||
mkdir build-kokkos-cuda
|
mkdir build-kokkos-cuda
|
||||||
cd build-kokkos-cuda
|
cd build-kokkos-cuda
|
||||||
cmake -C ../cmake/presets/minimal.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake
|
cmake -C ../cmake/presets/basic.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake
|
||||||
cmake --build .
|
cmake --build .
|
||||||
|
|
||||||
.. tab:: Basic traditional make settings:
|
.. tab:: Basic traditional make settings:
|
||||||
@ -811,16 +811,17 @@ be installed on your system.
|
|||||||
|
|
||||||
.. _mliap:
|
.. _mliap:
|
||||||
|
|
||||||
MLIAP package
|
ML-IAP package
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
Building the MLIAP package requires including the :ref:`SNAP <PKG-SNAP>`
|
Building the ML-IAP package requires including the :ref:`ML-SNAP
|
||||||
package. There will be an error message if this requirement is not satisfied.
|
<PKG-ML-SNAP>` package. There will be an error message if this requirement
|
||||||
Using the *mliappy* model also requires enabling Python support, which
|
is not satisfied. Using the *mliappy* model also requires enabling
|
||||||
in turn requires the :ref:`PYTHON <PKG-PYTHON>`
|
Python support, which in turn requires to include the :ref:`PYTHON
|
||||||
package **and** requires you have the `cython <https://cython.org>`_ software
|
<PKG-PYTHON>` package **and** requires to have the `cython
|
||||||
installed and with it a working ``cythonize`` command. This feature requires
|
<https://cython.org>`_ software installed and with it a working
|
||||||
compiling LAMMPS with Python version 3.6 or later.
|
``cythonize`` command. This feature requires compiling LAMMPS with
|
||||||
|
Python version 3.6 or later.
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
||||||
@ -834,9 +835,9 @@ compiling LAMMPS with Python version 3.6 or later.
|
|||||||
suitable Python version and the ``cythonize`` command and choose
|
suitable Python version and the ``cythonize`` command and choose
|
||||||
the default accordingly. During the build procedure the provided
|
the default accordingly. During the build procedure the provided
|
||||||
.pyx file(s) will be automatically translated to C++ code and compiled.
|
.pyx file(s) will be automatically translated to C++ code and compiled.
|
||||||
Please do **not** run ``cythonize`` manually in the ``src/MLIAP`` folder,
|
Please do **not** run ``cythonize`` manually in the ``src/ML-IAP`` folder,
|
||||||
as that can lead to compilation errors if Python support is not enabled.
|
as that can lead to compilation errors if Python support is not enabled.
|
||||||
If you did by accident, please remove the generated .cpp and .h files.
|
If you did it by accident, please remove the generated .cpp and .h files.
|
||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
|
|
||||||
@ -845,15 +846,16 @@ compiling LAMMPS with Python version 3.6 or later.
|
|||||||
the ``cythonize`` command in case the corresponding .pyx file(s) were
|
the ``cythonize`` command in case the corresponding .pyx file(s) were
|
||||||
modified. You may need to modify ``lib/python/Makefile.lammps``
|
modified. You may need to modify ``lib/python/Makefile.lammps``
|
||||||
if the LAMMPS build fails.
|
if the LAMMPS build fails.
|
||||||
To manually enforce building MLIAP with Python support enabled,
|
|
||||||
you can add
|
To enable building the ML-IAP package with Python support enabled,
|
||||||
``-DMLIAP_PYTHON`` to the ``LMP_INC`` variable in your machine makefile.
|
you need to add ``-DMLIAP_PYTHON`` to the ``LMP_INC`` variable in
|
||||||
You may have to manually run the ``cythonize`` command on .pyx file(s)
|
your machine makefile. You may have to manually run the
|
||||||
in the ``src`` folder, if this is not automatically done during
|
``cythonize`` command on .pyx file(s) in the ``src`` folder, if
|
||||||
installing the MLIAP package. Please do **not** run ``cythonize``
|
this is not automatically done during installing the ML-IAP
|
||||||
in the ``src/MLIAP`` folder, as that can lead to compilation errors
|
package. Please do **not** run ``cythonize`` in the ``src/ML-IAP``
|
||||||
if Python support is not enabled.
|
folder, as that can lead to compilation errors if Python support
|
||||||
If you did by accident, please remove the generated .cpp and .h files.
|
is not enabled. If you did this by accident, please remove the
|
||||||
|
generated .cpp and .h files.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -1054,12 +1056,12 @@ binary package provided by your operating system.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-adios:
|
.. _adios:
|
||||||
|
|
||||||
USER-ADIOS package
|
ADIOS package
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
The USER-ADIOS package requires the `ADIOS I/O library
|
The ADIOS package requires the `ADIOS I/O library
|
||||||
<https://github.com/ornladios/ADIOS2>`_, version 2.3.1 or newer. Make
|
<https://github.com/ornladios/ADIOS2>`_, version 2.3.1 or newer. Make
|
||||||
sure that you have ADIOS built either with or without MPI to match if
|
sure that you have ADIOS built either with or without MPI to match if
|
||||||
you build LAMMPS with or without MPI. ADIOS compilation settings for
|
you build LAMMPS with or without MPI. ADIOS compilation settings for
|
||||||
@ -1075,38 +1077,38 @@ systems.
|
|||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
-D ADIOS2_DIR=path # path is where ADIOS 2.x is installed
|
-D ADIOS2_DIR=path # path is where ADIOS 2.x is installed
|
||||||
-D PKG_USER-ADIOS=yes
|
-D PKG_ADIOS=yes
|
||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
|
|
||||||
Turn on the USER-ADIOS package before building LAMMPS. If the
|
Turn on the ADIOS package before building LAMMPS. If the
|
||||||
ADIOS 2.x software is installed in PATH, there is nothing else to
|
ADIOS 2.x software is installed in PATH, there is nothing else to
|
||||||
do:
|
do:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ make yes-user-adios
|
$ make yes-adios
|
||||||
|
|
||||||
otherwise, set ADIOS2_DIR environment variable when turning on the package:
|
otherwise, set ADIOS2_DIR environment variable when turning on the package:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed
|
$ ADIOS2_DIR=path make yes-adios # path is where ADIOS 2.x is installed
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-atc:
|
.. _atc:
|
||||||
|
|
||||||
USER-ATC package
|
ATC package
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
The USER-ATC package requires the MANYBODY package also be installed.
|
The ATC package requires the MANYBODY package also be installed.
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
No additional settings are needed besides ``-D PKG_USER-ATC=yes``
|
No additional settings are needed besides ``-D PKG_ATC=yes``
|
||||||
and ``-D PKG_MANYBODY=yes``.
|
and ``-D PKG_MANYBODY=yes``.
|
||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
@ -1149,16 +1151,16 @@ The USER-ATC package requires the MANYBODY package also be installed.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-awpmd:
|
.. _awpmd:
|
||||||
|
|
||||||
USER-AWPMD package
|
AWPMD package
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
No additional settings are needed besides ``-D PKG_USER-AQPMD=yes``.
|
No additional settings are needed besides ``-D PKG_AQPMD=yes``.
|
||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
|
|
||||||
@ -1200,9 +1202,9 @@ USER-AWPMD package
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-colvars:
|
.. _colvars:
|
||||||
|
|
||||||
USER-COLVARS package
|
COLVARS package
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
This package includes the `Colvars library
|
This package includes the `Colvars library
|
||||||
@ -1216,7 +1218,7 @@ be built for the most part with all major versions of the C++ language.
|
|||||||
|
|
||||||
This is the recommended build procedure for using Colvars in
|
This is the recommended build procedure for using Colvars in
|
||||||
LAMMPS. No additional settings are normally needed besides
|
LAMMPS. No additional settings are normally needed besides
|
||||||
``-D PKG_USER-COLVARS=yes``.
|
``-D PKG_COLVARS=yes``.
|
||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
|
|
||||||
@ -1259,9 +1261,9 @@ be built for the most part with all major versions of the C++ language.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-pace:
|
.. _ml-pace:
|
||||||
|
|
||||||
USER-PACE package
|
ML-PACE package
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
This package requires a library that can be downloaded and built
|
This package requires a library that can be downloaded and built
|
||||||
@ -1274,8 +1276,8 @@ at: `https://github.com/ICAMS/lammps-user-pace/ <https://github.com/ICAMS/lammps
|
|||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
By default the library will be downloaded from the git repository
|
By default the library will be downloaded from the git repository
|
||||||
and built automatically when the USER-PACE package is enabled with
|
and built automatically when the ML-PACE package is enabled with
|
||||||
``-D PKG_USER-PACE=yes``. The location for the sources may be
|
``-D PKG_ML-PACE=yes``. The location for the sources may be
|
||||||
customized by setting the variable ``PACELIB_URL`` when
|
customized by setting the variable ``PACELIB_URL`` when
|
||||||
configuring with CMake (e.g. to use a local archive on machines
|
configuring with CMake (e.g. to use a local archive on machines
|
||||||
without internet access). Since CMake checks the validity of the
|
without internet access). Since CMake checks the validity of the
|
||||||
@ -1286,7 +1288,7 @@ at: `https://github.com/ICAMS/lammps-user-pace/ <https://github.com/ICAMS/lammps
|
|||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
|
|
||||||
You can download and build the USER-PACE library
|
You can download and build the ML-PACE library
|
||||||
in one step from the ``lammps/src`` dir, using these commands,
|
in one step from the ``lammps/src`` dir, using these commands,
|
||||||
which invoke the ``lib/pace/Install.py`` script.
|
which invoke the ``lib/pace/Install.py`` script.
|
||||||
|
|
||||||
@ -1299,9 +1301,9 @@ at: `https://github.com/ICAMS/lammps-user-pace/ <https://github.com/ICAMS/lammps
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-plumed:
|
.. _plumed:
|
||||||
|
|
||||||
USER-PLUMED package
|
PLUMED package
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
.. _plumedinstall: https://plumed.github.io/doc-master/user-doc/html/_installation.html
|
.. _plumedinstall: https://plumed.github.io/doc-master/user-doc/html/_installation.html
|
||||||
@ -1309,7 +1311,7 @@ USER-PLUMED package
|
|||||||
Before building LAMMPS with this package, you must first build PLUMED.
|
Before building LAMMPS with this package, you must first build PLUMED.
|
||||||
PLUMED can be built as part of the LAMMPS build or installed separately
|
PLUMED can be built as part of the LAMMPS build or installed separately
|
||||||
from LAMMPS using the generic `PLUMED installation instructions <plumedinstall_>`_.
|
from LAMMPS using the generic `PLUMED installation instructions <plumedinstall_>`_.
|
||||||
The USER-PLUMED package has been tested to work with Plumed versions
|
The PLUMED package has been tested to work with Plumed versions
|
||||||
2.4.x, 2.5.x, and 2.6.x and will error out, when trying to run calculations
|
2.4.x, 2.5.x, and 2.6.x and will error out, when trying to run calculations
|
||||||
with a different version of the Plumed kernel.
|
with a different version of the Plumed kernel.
|
||||||
|
|
||||||
@ -1345,7 +1347,7 @@ LAMMPS build.
|
|||||||
|
|
||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
When the ``-D PKG_USER-PLUMED=yes`` flag is included in the cmake
|
When the ``-D PKG_PLUMED=yes`` flag is included in the cmake
|
||||||
command you must ensure that GSL is installed in locations that
|
command you must ensure that GSL is installed in locations that
|
||||||
are specified in your environment. There are then two additional
|
are specified in your environment. There are then two additional
|
||||||
variables that control the manner in which PLUMED is obtained and
|
variables that control the manner in which PLUMED is obtained and
|
||||||
@ -1378,7 +1380,7 @@ LAMMPS build.
|
|||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
|
|
||||||
PLUMED needs to be installed before the USER-PLUMED package is
|
PLUMED needs to be installed before the PLUMED package is
|
||||||
installed so that LAMMPS can find the right settings when
|
installed so that LAMMPS can find the right settings when
|
||||||
compiling and linking the LAMMPS executable. You can either
|
compiling and linking the LAMMPS executable. You can either
|
||||||
download and build PLUMED inside the LAMMPS plumed library folder
|
download and build PLUMED inside the LAMMPS plumed library folder
|
||||||
@ -1403,12 +1405,12 @@ LAMMPS build.
|
|||||||
build to use. A new file ``lib/plumed/Makefile.lammps`` is also
|
build to use. A new file ``lib/plumed/Makefile.lammps`` is also
|
||||||
created with settings suitable for LAMMPS to compile and link
|
created with settings suitable for LAMMPS to compile and link
|
||||||
PLUMED using the desired linkage mode. After this step is
|
PLUMED using the desired linkage mode. After this step is
|
||||||
completed, you can install the USER-PLUMED package and compile
|
completed, you can install the PLUMED package and compile
|
||||||
LAMMPS in the usual manner:
|
LAMMPS in the usual manner:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ make yes-user-plumed
|
$ make yes-plumed
|
||||||
$ make machine
|
$ make machine
|
||||||
|
|
||||||
Once this compilation completes you should be able to run LAMMPS
|
Once this compilation completes you should be able to run LAMMPS
|
||||||
@ -1423,15 +1425,15 @@ LAMMPS build.
|
|||||||
|
|
||||||
If you want to change the linkage mode, you have to re-run "make
|
If you want to change the linkage mode, you have to re-run "make
|
||||||
lib-plumed" with the desired settings **and** do a re-install if
|
lib-plumed" with the desired settings **and** do a re-install if
|
||||||
the USER-PLUMED package with "make yes-user-plumed" to update the
|
the PLUMED package with "make yes-plumed" to update the
|
||||||
required makefile settings with the changes in the lib/plumed
|
required makefile settings with the changes in the lib/plumed
|
||||||
folder.
|
folder.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-h5md:
|
.. _h5md:
|
||||||
|
|
||||||
USER-H5MD package
|
H5MD package
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
To build with this package you must have the HDF5 software package
|
To build with this package you must have the HDF5 software package
|
||||||
@ -1442,7 +1444,7 @@ the HDF5 library.
|
|||||||
|
|
||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
No additional settings are needed besides ``-D PKG_USER-H5MD=yes``.
|
No additional settings are needed besides ``-D PKG_H5MD=yes``.
|
||||||
|
|
||||||
This should auto-detect the H5MD library on your system. Several
|
This should auto-detect the H5MD library on your system. Several
|
||||||
advanced CMake H5MD options exist if you need to specify where it
|
advanced CMake H5MD options exist if you need to specify where it
|
||||||
@ -1474,13 +1476,13 @@ the HDF5 library.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-hdnnp:
|
.. _ml-hdnnp:
|
||||||
|
|
||||||
USER-HDNNP package
|
ML-HDNNP package
|
||||||
---------------------------------
|
----------------
|
||||||
|
|
||||||
To build with the USER-HDNNP package it is required to download and build the
|
To build with the ML-HDNNP package it is required to download and build the
|
||||||
external `n2p2 <https://github.com/CompPhysVienna/n2p2>`__ library ``v2.1.4``
|
external `n2p2 <https://github.com/CompPhysVienna/n2p2>`_ library ``v2.1.4``
|
||||||
(or higher). The LAMMPS build process offers an automatic download and
|
(or higher). The LAMMPS build process offers an automatic download and
|
||||||
compilation of *n2p2* or allows you to choose the installation directory of
|
compilation of *n2p2* or allows you to choose the installation directory of
|
||||||
*n2p2* manually. Please see the boxes below for the CMake and traditional build
|
*n2p2* manually. Please see the boxes below for the CMake and traditional build
|
||||||
@ -1490,7 +1492,7 @@ In case of a manual installation of *n2p2* you only need to build the *n2p2* cor
|
|||||||
library ``libnnp`` and interface library ``libnnpif``. When using GCC it should
|
library ``libnnp`` and interface library ``libnnpif``. When using GCC it should
|
||||||
suffice to execute ``make libnnpif`` in the *n2p2* ``src`` directory. For more
|
suffice to execute ``make libnnpif`` in the *n2p2* ``src`` directory. For more
|
||||||
details please see ``lib/hdnnp/README`` and the `n2p2 build documentation
|
details please see ``lib/hdnnp/README`` and the `n2p2 build documentation
|
||||||
<https://compphysvienna.github.io/n2p2/topics/build.html>`__.
|
<https://compphysvienna.github.io/n2p2/topics/build.html>`_.
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
||||||
@ -1528,24 +1530,24 @@ details please see ``lib/hdnnp/README`` and the `n2p2 build documentation
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-intel:
|
.. _intel:
|
||||||
|
|
||||||
USER-INTEL package
|
INTEL package
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
To build with this package, you must choose which hardware you want to
|
To build with this package, you must choose which hardware you want to
|
||||||
build for, either x86 CPUs or Intel KNLs in offload mode. You should
|
build for, either x86 CPUs or Intel KNLs in offload mode. You should
|
||||||
also typically :ref:`install the USER-OMP package <user-omp>`, as it can be
|
also typically :ref:`install the OPENMP package <openmp>`, as it can be
|
||||||
used in tandem with the USER-INTEL package to good effect, as explained
|
used in tandem with the INTEL package to good effect, as explained
|
||||||
on the :doc:`Speed_intel` page.
|
on the :doc:`Speed_intel` page.
|
||||||
|
|
||||||
When using Intel compilers version 16.0 or later is required. You can
|
When using Intel compilers version 16.0 or later is required. You can
|
||||||
also use the GNU or Clang compilers and they will provide performance
|
also use the GNU or Clang compilers and they will provide performance
|
||||||
improvements over regular styles and USER-OMP styles, but less so than
|
improvements over regular styles and OPENMP styles, but less so than
|
||||||
with the Intel compilers. Please also note, that some compilers have
|
with the Intel compilers. Please also note, that some compilers have
|
||||||
been found to apply memory alignment constraints incompletely or
|
been found to apply memory alignment constraints incompletely or
|
||||||
incorrectly and thus can cause segmentation faults in otherwise correct
|
incorrectly and thus can cause segmentation faults in otherwise correct
|
||||||
code when using features from the USER-INTEL package.
|
code when using features from the INTEL package.
|
||||||
|
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
@ -1562,7 +1564,7 @@ code when using features from the USER-INTEL package.
|
|||||||
Choose which hardware to compile for in Makefile.machine via the
|
Choose which hardware to compile for in Makefile.machine via the
|
||||||
following settings. See ``src/MAKE/OPTIONS/Makefile.intel_cpu*``
|
following settings. See ``src/MAKE/OPTIONS/Makefile.intel_cpu*``
|
||||||
and ``Makefile.knl`` files for examples. and
|
and ``Makefile.knl`` files for examples. and
|
||||||
``src/USER-INTEL/README`` for additional information.
|
``src/INTEL/README`` for additional information.
|
||||||
|
|
||||||
For CPUs:
|
For CPUs:
|
||||||
|
|
||||||
@ -1598,9 +1600,9 @@ TBB and MKL.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-mdi:
|
.. _mdi:
|
||||||
|
|
||||||
USER-MDI package
|
MDI package
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
@ -1627,9 +1629,9 @@ USER-MDI package
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-mesont:
|
.. _mesont:
|
||||||
|
|
||||||
USER-MESONT package
|
MESONT package
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
This package includes a library written in Fortran 90 in the
|
This package includes a library written in Fortran 90 in the
|
||||||
@ -1642,7 +1644,7 @@ they will be downloaded the first time this package is installed.
|
|||||||
|
|
||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
No additional settings are needed besides ``-D PKG_USER-MESONT=yes``
|
No additional settings are needed besides ``-D PKG_MESONT=yes``
|
||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
|
|
||||||
@ -1669,9 +1671,9 @@ they will be downloaded the first time this package is installed.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-molfile:
|
.. _molfile:
|
||||||
|
|
||||||
USER-MOLFILE package
|
MOLFILE package
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
@ -1681,9 +1683,9 @@ USER-MOLFILE package
|
|||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
-D MOLFILE_INCLUDE_DIR=path # (optional) path where VMD molfile plugin headers are installed
|
-D MOLFILE_INCLUDE_DIR=path # (optional) path where VMD molfile plugin headers are installed
|
||||||
-D PKG_USER-MOLFILE=yes
|
-D PKG_MOLFILE=yes
|
||||||
|
|
||||||
Using ``-D PKG_USER-MOLFILE=yes`` enables the package, and setting
|
Using ``-D PKG_MOLFILE=yes`` enables the package, and setting
|
||||||
``-D MOLFILE_INCLUDE_DIR`` allows to provide a custom location for
|
``-D MOLFILE_INCLUDE_DIR`` allows to provide a custom location for
|
||||||
the molfile plugin header files. These should match the ABI of the
|
the molfile plugin header files. These should match the ABI of the
|
||||||
plugin files used, and thus one typically sets them to include
|
plugin files used, and thus one typically sets them to include
|
||||||
@ -1707,9 +1709,9 @@ USER-MOLFILE package
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-netcdf:
|
.. _netcdf:
|
||||||
|
|
||||||
USER-NETCDF package
|
NETCDF package
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
To build with this package you must have the NetCDF library installed
|
To build with this package you must have the NetCDF library installed
|
||||||
@ -1719,7 +1721,7 @@ on your system.
|
|||||||
|
|
||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
No additional settings are needed besides ``-D PKG_USER-NETCDF=yes``.
|
No additional settings are needed besides ``-D PKG_NETCDF=yes``.
|
||||||
|
|
||||||
This should auto-detect the NETCDF library if it is installed on
|
This should auto-detect the NETCDF library if it is installed on
|
||||||
your system at standard locations. Several advanced CMake NETCDF
|
your system at standard locations. Several advanced CMake NETCDF
|
||||||
@ -1738,9 +1740,9 @@ on your system.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-omp:
|
.. _openmp:
|
||||||
|
|
||||||
USER-OMP package
|
OPENMP package
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
@ -1748,13 +1750,13 @@ USER-OMP package
|
|||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
No additional settings are required besides ``-D
|
No additional settings are required besides ``-D
|
||||||
PKG_USER-OMP=yes``. If CMake detects OpenMP compiler support, the
|
PKG_OPENMP=yes``. If CMake detects OpenMP compiler support, the
|
||||||
USER-OMP code will be compiled with multi-threading support
|
OPENMP code will be compiled with multi-threading support
|
||||||
enabled, otherwise as optimized serial code.
|
enabled, otherwise as optimized serial code.
|
||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
|
|
||||||
To enable multi-threading support in the USER-OMP package (and
|
To enable multi-threading support in the OPENMP package (and
|
||||||
other styles supporting OpenMP) the following compile and link
|
other styles supporting OpenMP) the following compile and link
|
||||||
flags must be added to your Makefile.machine file. See
|
flags must be added to your Makefile.machine file. See
|
||||||
``src/MAKE/OPTIONS/Makefile.omp`` for an example.
|
``src/MAKE/OPTIONS/Makefile.omp`` for an example.
|
||||||
@ -1771,12 +1773,12 @@ USER-OMP package
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-qmmm:
|
.. _qmmm:
|
||||||
|
|
||||||
USER-QMMM package
|
QMMM package
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
For using LAMMPS to do QM/MM simulations via the USER-QMMM package you
|
For using LAMMPS to do QM/MM simulations via the QMMM package you
|
||||||
need to build LAMMPS as a library. A LAMMPS executable with :doc:`fix
|
need to build LAMMPS as a library. A LAMMPS executable with :doc:`fix
|
||||||
qmmm <fix_qmmm>` included can be built, but will not be able to do a
|
qmmm <fix_qmmm>` included can be built, but will not be able to do a
|
||||||
QM/MM simulation on as such. You must also build a QM code - currently
|
QM/MM simulation on as such. You must also build a QM code - currently
|
||||||
@ -1799,11 +1801,11 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to
|
|||||||
libqmmm.a) are not included in the static LAMMPS library and
|
libqmmm.a) are not included in the static LAMMPS library and
|
||||||
(currently) not installed, while their code is included in the
|
(currently) not installed, while their code is included in the
|
||||||
shared LAMMPS library. Thus a typical command line to configure
|
shared LAMMPS library. Thus a typical command line to configure
|
||||||
building LAMMPS for USER-QMMM would be:
|
building LAMMPS for QMMM would be:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
cmake -C ../cmake/presets/minimal.cmake -D PKG_USER-QMMM=yes \
|
cmake -C ../cmake/presets/basic.cmake -D PKG_QMMM=yes \
|
||||||
-D BUILD_LIB=yes -DBUILD_SHARED_LIBS=yes ../cmake
|
-D BUILD_LIB=yes -DBUILD_SHARED_LIBS=yes ../cmake
|
||||||
|
|
||||||
After completing the LAMMPS build and also configuring and
|
After completing the LAMMPS build and also configuring and
|
||||||
@ -1846,9 +1848,9 @@ verified to work in February 2020 with Quantum Espresso versions 6.3 to
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-quip:
|
.. _ml-quip:
|
||||||
|
|
||||||
USER-QUIP package
|
ML-QUIP package
|
||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
To build with this package, you must download and build the QUIP
|
To build with this package, you must download and build the QUIP
|
||||||
@ -1866,7 +1868,7 @@ to be downloaded and configured. See step 1 and step 1.1 in the
|
|||||||
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
|
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
|
||||||
|
|
||||||
CMake will **not** download and build the QUIP library. But once you have
|
CMake will **not** download and build the QUIP library. But once you have
|
||||||
done that, a CMake build of LAMMPS with ``-D PKG_USER-QUIP=yes`` should
|
done that, a CMake build of LAMMPS with ``-D PKG_ML-QUIP=yes`` should
|
||||||
work. Set the ``QUIP_LIBRARY`` variable if CMake cannot find the QUIP library.
|
work. Set the ``QUIP_LIBRARY`` variable if CMake cannot find the QUIP library.
|
||||||
|
|
||||||
.. tab:: Traditional make
|
.. tab:: Traditional make
|
||||||
@ -1881,9 +1883,9 @@ to be downloaded and configured. See step 1 and step 1.1 in the
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-scafacos:
|
.. _scafacos:
|
||||||
|
|
||||||
USER-SCAFACOS package
|
SCAFACOS package
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
To build with this package, you must download and build the
|
To build with this package, you must download and build the
|
||||||
@ -1928,9 +1930,9 @@ To build with this package, you must download and build the
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-smd:
|
.. _machdyn:
|
||||||
|
|
||||||
USER-SMD package
|
MACHDYN package
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
To build with this package, you must download the Eigen3 library.
|
To build with this package, you must download the Eigen3 library.
|
||||||
@ -1972,9 +1974,9 @@ Eigen3 is a template library, so you do not need to build it.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _user-vtk:
|
.. _vtk:
|
||||||
|
|
||||||
USER-VTK package
|
VTK package
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
To build with this package you must have the VTK library installed on
|
To build with this package you must have the VTK library installed on
|
||||||
@ -1984,7 +1986,7 @@ your system.
|
|||||||
|
|
||||||
.. tab:: CMake build
|
.. tab:: CMake build
|
||||||
|
|
||||||
No additional settings are needed besides ``-D PKG_USER-VTK=yes``.
|
No additional settings are needed besides ``-D PKG_VTK=yes``.
|
||||||
|
|
||||||
This should auto-detect the VTK library if it is installed on your
|
This should auto-detect the VTK library if it is installed on your
|
||||||
system at standard locations. Several advanced VTK options exist
|
system at standard locations. Several advanced VTK options exist
|
||||||
|
|||||||
@ -117,10 +117,10 @@ settings may become outdated:
|
|||||||
|
|
||||||
make mac # build serial LAMMPS on a Mac
|
make mac # build serial LAMMPS on a Mac
|
||||||
make mac_mpi # build parallel LAMMPS on a Mac
|
make mac_mpi # build parallel LAMMPS on a Mac
|
||||||
make intel_cpu # build with the USER-INTEL package optimized for CPUs
|
make intel_cpu # build with the INTEL package optimized for CPUs
|
||||||
make knl # build with the USER-INTEL package optimized for KNLs
|
make knl # build with the INTEL package optimized for KNLs
|
||||||
make opt # build with the OPT package optimized for CPUs
|
make opt # build with the OPT package optimized for CPUs
|
||||||
make omp # build with the USER-OMP package optimized for OpenMP
|
make omp # build with the OPENMP package optimized for OpenMP
|
||||||
make kokkos_omp # build with the KOKKOS package for OpenMP
|
make kokkos_omp # build with the KOKKOS package for OpenMP
|
||||||
make kokkos_cuda_mpi # build with the KOKKOS package for GPUs
|
make kokkos_cuda_mpi # build with the KOKKOS package for GPUs
|
||||||
make kokkos_phi # build with the KOKKOS package for KNLs
|
make kokkos_phi # build with the KOKKOS package for KNLs
|
||||||
|
|||||||
@ -204,7 +204,7 @@ be multiple tests run automatically:
|
|||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
Found 33 standard and 41 user packages
|
Found 74 packages
|
||||||
Standard package NEWPACKAGE missing in Packages_standard.rst
|
Standard package NEWPACKAGE missing in Packages_standard.rst
|
||||||
Standard package NEWPACKAGE missing in Packages_details.rst
|
Standard package NEWPACKAGE missing in Packages_details.rst
|
||||||
|
|
||||||
|
|||||||
@ -30,17 +30,37 @@ steps, as explained on the :doc:`Build extras <Build_extras>` page.
|
|||||||
These links take you to the extra instructions for those select
|
These links take you to the extra instructions for those select
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
.. table_from_list::
|
||||||
| :ref:`COMPRESS <compress>` | :ref:`GPU <gpu>` | :ref:`KIM <kim>` | :ref:`KOKKOS <kokkos>` | :ref:`LATTE <latte>` | :ref:`MESSAGE <message>` |
|
:columns: 6
|
||||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
|
||||||
| :ref:`MSCG <mscg>` | :ref:`OPT <opt>` | :ref:`POEMS <poems>` | :ref:`PYTHON <python>` | :ref:`VORONOI <voronoi>` | :ref:`USER-ADIOS <user-adios>` |
|
* :ref:`ADIOS <adios>`
|
||||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
* :ref:`ATC <atc>`
|
||||||
| :ref:`USER-ATC <user-atc>` | :ref:`USER-AWPMD <user-awpmd>` | :ref:`USER-COLVARS <user-colvars>` | :ref:`USER-H5MD <user-h5md>` | :ref:`USER-HDNNP <user-hdnnp>` | :ref:`USER-INTEL <user-intel>` |
|
* :ref:`AWPMD <awpmd>`
|
||||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
* :ref:`COLVARS <colvars>`
|
||||||
| :ref:`USER-MOLFILE <user-molfile>` | :ref:`USER-NETCDF <user-netcdf>` | :ref:`USER-PACE <user-pace>` | :ref:`USER-PLUMED <user-plumed>` | :ref:`USER-OMP <user-omp>` | :ref:`USER-QMMM <user-qmmm>` |
|
* :ref:`COMPRESS <compress>`
|
||||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
* :ref:`GPU <gpu>`
|
||||||
| :ref:`USER-QUIP <user-quip>` | :ref:`USER-SCAFACOS <user-scafacos>` | :ref:`USER-SMD <user-smd>` | :ref:`USER-VTK <user-vtk>` | | |
|
* :ref:`H5MD <h5md>`
|
||||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
* :ref:`INTEL <intel>`
|
||||||
|
* :ref:`KIM <kim>`
|
||||||
|
* :ref:`KOKKOS <kokkos>`
|
||||||
|
* :ref:`LATTE <latte>`
|
||||||
|
* :ref:`MACHDYN <machdyn>`
|
||||||
|
* :ref:`MESSAGE <message>`
|
||||||
|
* :ref:`ML-HDNNP <ml-hdnnp>`
|
||||||
|
* :ref:`ML-PACE <ml-pace>`
|
||||||
|
* :ref:`ML-QUIP <ml-quip>`
|
||||||
|
* :ref:`MOLFILE <molfile>`
|
||||||
|
* :ref:`MSCG <mscg>`
|
||||||
|
* :ref:`NETCDF <netcdf>`
|
||||||
|
* :ref:`OPENMP <openmp>`
|
||||||
|
* :ref:`OPT <opt>`
|
||||||
|
* :ref:`PLUMED <plumed>`
|
||||||
|
* :ref:`POEMS <poems>`
|
||||||
|
* :ref:`PYTHON <python>`
|
||||||
|
* :ref:`QMMM <qmmm>`
|
||||||
|
* :ref:`SCAFACOS <scafacos>`
|
||||||
|
* :ref:`VORONOI <voronoi>`
|
||||||
|
* :ref:`VTK <vtk>`
|
||||||
|
|
||||||
The mechanism for including packages is simple but different for CMake
|
The mechanism for including packages is simple but different for CMake
|
||||||
versus make.
|
versus make.
|
||||||
@ -58,14 +78,10 @@ versus make.
|
|||||||
.. code-block:: csh
|
.. code-block:: csh
|
||||||
|
|
||||||
-D PKG_MANYBODY=yes
|
-D PKG_MANYBODY=yes
|
||||||
-D PKG_USER-INTEL=yes
|
-D PKG_INTEL=yes
|
||||||
|
|
||||||
All standard and user packages are included the same way. Note
|
All packages are included the same way. See the shortcut section
|
||||||
that USER packages have a hyphen between USER and the rest of the
|
below for how to install many packages at once with CMake.
|
||||||
package name, not an underscore.
|
|
||||||
|
|
||||||
See the shortcut section below for how to install many packages at
|
|
||||||
once with CMake.
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -89,12 +105,10 @@ versus make.
|
|||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
make no-rigid
|
make no-rigid
|
||||||
make yes-user-intel
|
make yes-intel
|
||||||
|
|
||||||
All standard and user packages are included the same way.
|
All packages are included the same way. See the shortcut section
|
||||||
|
below for how to install many packages at once with make.
|
||||||
See the shortcut section below for how to install many packages at
|
|
||||||
once with make.
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -126,7 +140,7 @@ other files dependent on that package are also excluded.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
By default no package is installed. Prior to August 2018, however,
|
By default no packages are installed. Prior to August 2018, however,
|
||||||
if you downloaded a tarball, 3 packages (KSPACE, MANYBODY, MOLECULE)
|
if you downloaded a tarball, 3 packages (KSPACE, MANYBODY, MOLECULE)
|
||||||
were pre-installed via the traditional make procedure in the ``src``
|
were pre-installed via the traditional make procedure in the ``src``
|
||||||
directory. That is no longer the case, so that CMake will build
|
directory. That is no longer the case, so that CMake will build
|
||||||
@ -153,7 +167,7 @@ one of them as a starting point and customize it to your needs.
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
cmake -C ../cmake/presets/minimal.cmake [OPTIONS] ../cmake # enable just a few core packages
|
cmake -C ../cmake/presets/basic.cmake [OPTIONS] ../cmake # enable just a few core packages
|
||||||
cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake # enable most packages
|
cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake # enable most packages
|
||||||
cmake -C ../cmake/presets/download.cmake [OPTIONS] ../cmake # enable packages which download sources or potential files
|
cmake -C ../cmake/presets/download.cmake [OPTIONS] ../cmake # enable packages which download sources or potential files
|
||||||
cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake # disable packages that do require extra libraries or tools
|
cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake # disable packages that do require extra libraries or tools
|
||||||
@ -208,10 +222,10 @@ These commands install/un-install sets of packages:
|
|||||||
|
|
||||||
make yes-all # install all packages
|
make yes-all # install all packages
|
||||||
make no-all # uninstall all packages
|
make no-all # uninstall all packages
|
||||||
make yes-standard or make yes-std # install standard packages
|
make yes-basic # install a few commonly used packages'
|
||||||
make no-standard or make no-std # uninstall standard packages
|
make no-basic # remove a few commonly used packages'
|
||||||
make yes-user # install user packages
|
make yes-most # install most packages w/o libs'
|
||||||
make no-user # uninstall user packages
|
make no-most # remove most packages w/o libs'
|
||||||
make yes-lib # install packages that require extra libraries
|
make yes-lib # install packages that require extra libraries
|
||||||
make no-lib # uninstall packages that require extra libraries
|
make no-lib # uninstall packages that require extra libraries
|
||||||
make yes-ext # install packages that require external libraries
|
make yes-ext # install packages that require external libraries
|
||||||
@ -225,15 +239,14 @@ package`` will list all the these commands.
|
|||||||
Installing or un-installing a package for the make based build process
|
Installing or un-installing a package for the make based build process
|
||||||
works by simply copying files back and forth between the main source
|
works by simply copying files back and forth between the main source
|
||||||
directory src and the sub-directories with the package name (e.g.
|
directory src and the sub-directories with the package name (e.g.
|
||||||
src/KSPACE, src/USER-ATC), so that the files are included or excluded
|
src/KSPACE, src/ATC), so that the files are included or excluded
|
||||||
when LAMMPS is built. Only source files in the src folder will be
|
when LAMMPS is built. Only source files in the src folder will be
|
||||||
compiled.
|
compiled.
|
||||||
|
|
||||||
The following make commands help manage files that exist in both the
|
The following make commands help manage files that exist in both the
|
||||||
src directory and in package sub-directories. You do not normally
|
src directory and in package sub-directories. You do not normally
|
||||||
need to use these commands unless you are editing LAMMPS files or are
|
need to use these commands unless you are editing LAMMPS files or are
|
||||||
:doc:`installing a patch <Install_patch>` downloaded from the LAMMPS web
|
updating LAMMPS via git.
|
||||||
site.
|
|
||||||
|
|
||||||
Type ``make package-status`` or ``make ps`` to show which packages are
|
Type ``make package-status`` or ``make ps`` to show which packages are
|
||||||
currently installed. For those that are installed, it will list any
|
currently installed. For those that are installed, it will list any
|
||||||
@ -245,10 +258,10 @@ currently installed, without listing the status of packages that are
|
|||||||
not installed.
|
not installed.
|
||||||
|
|
||||||
Type ``make package-update`` or ``make pu`` to overwrite src files with
|
Type ``make package-update`` or ``make pu`` to overwrite src files with
|
||||||
files from the package sub-directories if the package is installed.
|
files from the package sub-directories if the package is installed. It
|
||||||
It should be used after a :doc:`patch has been applied <Install_patch>`,
|
should be used after the checkout has been :doc:`updated or changed
|
||||||
since patches only update the files in the package sub-directory, but
|
withy git <Install_git>`, this will only update the files in the package
|
||||||
not the src files.
|
sub-directories, but not the copies in the src folder.
|
||||||
|
|
||||||
Type ``make package-overwrite`` to overwrite files in the package
|
Type ``make package-overwrite`` to overwrite files in the package
|
||||||
sub-directories with src files.
|
sub-directories with src files.
|
||||||
|
|||||||
@ -64,7 +64,7 @@ LAMMPS can use them if they are available on your system.
|
|||||||
selected, then CMake will try to detect, if threaded FFTW
|
selected, then CMake will try to detect, if threaded FFTW
|
||||||
libraries are available and enable them by default. This setting
|
libraries are available and enable them by default. This setting
|
||||||
is independent of whether OpenMP threads are enabled and a
|
is independent of whether OpenMP threads are enabled and a
|
||||||
packages like KOKKOS or USER-OMP is used. If CMake cannot detect
|
packages like KOKKOS or OPENMP is used. If CMake cannot detect
|
||||||
the FFT library, you can set these variables to assist:
|
the FFT library, you can set these variables to assist:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
@ -242,8 +242,8 @@ does not support 64-bit integers or incurs performance penalties when
|
|||||||
using them.
|
using them.
|
||||||
|
|
||||||
These are limits for the core of the LAMMPS code, specific features or
|
These are limits for the core of the LAMMPS code, specific features or
|
||||||
some styles may impose additional limits. The :ref:`USER-ATC
|
some styles may impose additional limits. The :ref:`ATC
|
||||||
<PKG-USER-ATC>` package cannot be compiled with the "bigbig" setting.
|
<PKG-ATC>` package cannot be compiled with the "bigbig" setting.
|
||||||
Also, there are limitations when using the library interface where some
|
Also, there are limitations when using the library interface where some
|
||||||
functions with known issues have been replaced by dummy calls printing a
|
functions with known issues have been replaced by dummy calls printing a
|
||||||
corresponding error message rather than crashing randomly or corrupting
|
corresponding error message rather than crashing randomly or corrupting
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Bond_style potentials
|
|||||||
|
|
||||||
All LAMMPS :doc:`bond_style <bond_style>` commands. Some styles have
|
All LAMMPS :doc:`bond_style <bond_style>` commands. Some styles have
|
||||||
accelerated versions. This is indicated by additional letters in
|
accelerated versions. This is indicated by additional letters in
|
||||||
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
|
parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
|
||||||
OPT.
|
OPT.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
@ -57,7 +57,7 @@ Angle_style potentials
|
|||||||
|
|
||||||
All LAMMPS :doc:`angle_style <angle_style>` commands. Some styles have
|
All LAMMPS :doc:`angle_style <angle_style>` commands. Some styles have
|
||||||
accelerated versions. This is indicated by additional letters in
|
accelerated versions. This is indicated by additional letters in
|
||||||
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
|
parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
|
||||||
OPT.
|
OPT.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
@ -99,7 +99,7 @@ Dihedral_style potentials
|
|||||||
|
|
||||||
All LAMMPS :doc:`dihedral_style <dihedral_style>` commands. Some styles
|
All LAMMPS :doc:`dihedral_style <dihedral_style>` commands. Some styles
|
||||||
have accelerated versions. This is indicated by additional letters in
|
have accelerated versions. This is indicated by additional letters in
|
||||||
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
|
parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
|
||||||
OPT.
|
OPT.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
@ -135,7 +135,7 @@ Improper_style potentials
|
|||||||
|
|
||||||
All LAMMPS :doc:`improper_style <improper_style>` commands. Some styles
|
All LAMMPS :doc:`improper_style <improper_style>` commands. Some styles
|
||||||
have accelerated versions. This is indicated by additional letters in
|
have accelerated versions. This is indicated by additional letters in
|
||||||
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
|
parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
|
||||||
OPT.
|
OPT.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
|
|||||||
@ -16,8 +16,8 @@ Compute commands
|
|||||||
|
|
||||||
An alphabetic list of all LAMMPS :doc:`compute <compute>` commands.
|
An alphabetic list of all LAMMPS :doc:`compute <compute>` commands.
|
||||||
Some styles have accelerated versions. This is indicated by
|
Some styles have accelerated versions. This is indicated by
|
||||||
additional letters in parenthesis: g = GPU, i = USER-INTEL, k =
|
additional letters in parenthesis: g = GPU, i = INTEL, k =
|
||||||
KOKKOS, o = USER-OMP, t = OPT.
|
KOKKOS, o = OPENMP, t = OPT.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
:columns: 5
|
:columns: 5
|
||||||
|
|||||||
@ -16,7 +16,7 @@ Fix commands
|
|||||||
|
|
||||||
An alphabetic list of all LAMMPS :doc:`fix <fix>` commands. Some styles
|
An alphabetic list of all LAMMPS :doc:`fix <fix>` commands. Some styles
|
||||||
have accelerated versions. This is indicated by additional letters in
|
have accelerated versions. This is indicated by additional letters in
|
||||||
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
|
parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
|
||||||
OPT.
|
OPT.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
|
|||||||
@ -16,7 +16,7 @@ KSpace solvers
|
|||||||
|
|
||||||
All LAMMPS :doc:`kspace_style <kspace_style>` solvers. Some styles have
|
All LAMMPS :doc:`kspace_style <kspace_style>` solvers. Some styles have
|
||||||
accelerated versions. This is indicated by additional letters in
|
accelerated versions. This is indicated by additional letters in
|
||||||
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
|
parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
|
||||||
OPT.
|
OPT.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
|
|||||||
@ -16,7 +16,7 @@ Pair_style potentials
|
|||||||
|
|
||||||
All LAMMPS :doc:`pair_style <pair_style>` commands. Some styles have
|
All LAMMPS :doc:`pair_style <pair_style>` commands. Some styles have
|
||||||
accelerated versions. This is indicated by additional letters in
|
accelerated versions. This is indicated by additional letters in
|
||||||
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
|
parenthesis: g = GPU, i = INTEL, k = KOKKOS, o = OPENMP, t =
|
||||||
OPT.
|
OPT.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
@ -190,7 +190,7 @@ OPT.
|
|||||||
* :doc:`lubricateU/poly <pair_lubricateU>`
|
* :doc:`lubricateU/poly <pair_lubricateU>`
|
||||||
* :doc:`mdpd <pair_mesodpd>`
|
* :doc:`mdpd <pair_mesodpd>`
|
||||||
* :doc:`mdpd/rhosum <pair_mesodpd>`
|
* :doc:`mdpd/rhosum <pair_mesodpd>`
|
||||||
* :doc:`meam/c <pair_meamc>`
|
* :doc:`meam <pair_meam>`
|
||||||
* :doc:`meam/spline (o) <pair_meam_spline>`
|
* :doc:`meam/spline (o) <pair_meam_spline>`
|
||||||
* :doc:`meam/sw/spline <pair_meam_sw_spline>`
|
* :doc:`meam/sw/spline <pair_meam_sw_spline>`
|
||||||
* :doc:`mesocnt <pair_mesocnt>`
|
* :doc:`mesocnt <pair_mesocnt>`
|
||||||
|
|||||||
@ -25,23 +25,20 @@ The reset_ids command has been renamed to :doc:`reset_atom_ids <reset_atom_ids>`
|
|||||||
MEAM package
|
MEAM package
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The MEAM package has been removed since it was superseded by the
|
The MEAM package in Fortran has been replaced by a C++ implementation.
|
||||||
:ref:`USER-MEAMC package <PKG-USER-MEAMC>`. The code in
|
The code in the :ref:`MEAM package <PKG-MEAM>` is a translation of the
|
||||||
the USER-MEAMC package is a translation of the Fortran code of MEAM into C++,
|
Fortran code of MEAM into C++, which removes several restrictions
|
||||||
which removes several restrictions (e.g. there can be multiple instances
|
(e.g. there can be multiple instances in hybrid pair styles) and allows
|
||||||
in hybrid pair styles) and allows for some optimizations leading
|
for some optimizations leading to better performance. The pair style
|
||||||
to better performance. The new pair style :doc:`meam/c <pair_meamc>` has
|
:doc:`meam <pair_meam>` has the exact same syntax.
|
||||||
the exact same syntax as the old "meam" pair style and thus pair style
|
|
||||||
meam is an alias to the new style and backward
|
|
||||||
compatibility of old inputs is preserved.
|
|
||||||
|
|
||||||
REAX package
|
REAX package
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The REAX package has been removed since it was superseded by the
|
The REAX package has been removed since it was superseded by the
|
||||||
:ref:`USER-REAXC package <PKG-USER-REAXC>`. The USER-REAXC
|
:ref:`REAXFF package <PKG-REAXFF>`. The REAXFF
|
||||||
package has been tested to yield equivalent results to the REAX package,
|
package has been tested to yield equivalent results to the REAX package,
|
||||||
offers better performance, supports OpenMP multi-threading via USER-OMP,
|
offers better performance, supports OpenMP multi-threading via OPENMP,
|
||||||
and GPU and threading parallelization through KOKKOS. The new pair styles
|
and GPU and threading parallelization through KOKKOS. The new pair styles
|
||||||
are not syntax compatible with the removed reax pair style, so input
|
are not syntax compatible with the removed reax pair style, so input
|
||||||
files will have to be adapted.
|
files will have to be adapted.
|
||||||
|
|||||||
@ -404,8 +404,8 @@ noise). Then it will restart from the previously generated restart and
|
|||||||
compare with the reference and also start from the data file. A final
|
compare with the reference and also start from the data file. A final
|
||||||
check will use multi-cutoff r-RESPA (if supported by the pair style) at
|
check will use multi-cutoff r-RESPA (if supported by the pair style) at
|
||||||
a 1:1 split and compare to the Verlet results. These sets of tests are
|
a 1:1 split and compare to the Verlet results. These sets of tests are
|
||||||
run with multiple test fixtures for accelerated styles (OPT, USER-OMP,
|
run with multiple test fixtures for accelerated styles (OPT, OPENMP,
|
||||||
USER-INTEL) and for the latter two with 4 OpenMP threads enabled. For
|
INTEL) and for the latter two with 4 OpenMP threads enabled. For
|
||||||
these tests the relative error (epsilon) is lowered by a common factor
|
these tests the relative error (epsilon) is lowered by a common factor
|
||||||
due to the additional numerical noise, but the tests are still comparing
|
due to the additional numerical noise, but the tests are still comparing
|
||||||
to the same reference data.
|
to the same reference data.
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
Errors
|
Errors
|
||||||
******
|
******
|
||||||
|
|
||||||
These doc pages describe the errors you can encounter when using
|
These doc pages describe many of the error and warning message you can
|
||||||
LAMMPS. The common problems include conceptual issues. The messages
|
encounter when using LAMMPS. The common problems include conceptual
|
||||||
and warnings doc pages give complete lists of all the messages the
|
issues. The messages and warnings doc pages give complete lists of all
|
||||||
code may generate (except those generated by USER packages), with
|
the messages the code may generate, with additional details for many of
|
||||||
additional details for many of them.
|
them.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|||||||
@ -14,10 +14,6 @@ For example, a message like this:
|
|||||||
means that line #78 in the file src/velocity.cpp generated the error.
|
means that line #78 in the file src/velocity.cpp generated the error.
|
||||||
Looking in the source code may help you figure out what went wrong.
|
Looking in the source code may help you figure out what went wrong.
|
||||||
|
|
||||||
Note that error messages from :doc:`user-contributed packages <Packages_user>` are not listed here. If such an error
|
|
||||||
occurs and is not self-explanatory, you will need to look in the source
|
|
||||||
code or contact the author of the package.
|
|
||||||
|
|
||||||
Doc page with :doc:`WARNING messages <Errors_warnings>`
|
Doc page with :doc:`WARNING messages <Errors_warnings>`
|
||||||
|
|
||||||
----------
|
----------
|
||||||
@ -5899,7 +5895,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
|
|||||||
other.
|
other.
|
||||||
|
|
||||||
*Must set number of threads via package omp command*
|
*Must set number of threads via package omp command*
|
||||||
Because you are using the USER-OMP package, set the number of threads
|
Because you are using the OPENMP package, set the number of threads
|
||||||
via its settings, not by the pair_style snap nthreads setting.
|
via its settings, not by the pair_style snap nthreads setting.
|
||||||
|
|
||||||
*Must shrink-wrap piston boundary*
|
*Must shrink-wrap piston boundary*
|
||||||
@ -6344,16 +6340,16 @@ keyword to allow for additional bonds to be formed
|
|||||||
The GPU package must be installed via "make yes-gpu" before LAMMPS is
|
The GPU package must be installed via "make yes-gpu" before LAMMPS is
|
||||||
built.
|
built.
|
||||||
|
|
||||||
*Package intel command without USER-INTEL package installed*
|
*Package intel command without INTEL package installed*
|
||||||
The USER-INTEL package must be installed via "make yes-user-intel"
|
The INTEL package must be installed via "make yes-intel"
|
||||||
before LAMMPS is built.
|
before LAMMPS is built.
|
||||||
|
|
||||||
*Package kokkos command without KOKKOS package enabled*
|
*Package kokkos command without KOKKOS package enabled*
|
||||||
The KOKKOS package must be installed via "make yes-kokkos" before
|
The KOKKOS package must be installed via "make yes-kokkos" before
|
||||||
LAMMPS is built, and the "-k on" must be used to enable the package.
|
LAMMPS is built, and the "-k on" must be used to enable the package.
|
||||||
|
|
||||||
*Package omp command without USER-OMP package installed*
|
*Package omp command without OPENMP package installed*
|
||||||
The USER-OMP package must be installed via "make yes-user-omp" before
|
The OPENMP package must be installed via "make yes-openmp" before
|
||||||
LAMMPS is built.
|
LAMMPS is built.
|
||||||
|
|
||||||
*Pair body requires atom style body*
|
*Pair body requires atom style body*
|
||||||
@ -8064,13 +8060,13 @@ keyword to allow for additional bonds to be formed
|
|||||||
*Using suffix gpu without GPU package installed*
|
*Using suffix gpu without GPU package installed*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
||||||
*Using suffix intel without USER-INTEL package installed*
|
*Using suffix intel without INTEL package installed*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
||||||
*Using suffix kk without KOKKOS package enabled*
|
*Using suffix kk without KOKKOS package enabled*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
||||||
*Using suffix omp without USER-OMP package installed*
|
*Using suffix omp without OPENMP package installed*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
||||||
*Using update dipole flag requires atom attribute mu*
|
*Using update dipole flag requires atom attribute mu*
|
||||||
|
|||||||
@ -14,10 +14,6 @@ generated. For example, a message like this:
|
|||||||
means that line #187 in the file src/domain.cpp generated the error.
|
means that line #187 in the file src/domain.cpp generated the error.
|
||||||
Looking in the source code may help you figure out what went wrong.
|
Looking in the source code may help you figure out what went wrong.
|
||||||
|
|
||||||
Note that warning messages from :doc:`user-contributed packages <Packages_user>` are not listed here. If such a warning
|
|
||||||
occurs and is not self-explanatory, you will need to look in the source
|
|
||||||
code or contact the author of the package.
|
|
||||||
|
|
||||||
Doc page with :doc:`ERROR messages <Errors_messages>`
|
Doc page with :doc:`ERROR messages <Errors_messages>`
|
||||||
|
|
||||||
----------
|
----------
|
||||||
@ -529,7 +525,7 @@ This will most likely cause errors in kinetic fluctuations.
|
|||||||
|
|
||||||
*OMP_NUM_THREADS environment is not set.*
|
*OMP_NUM_THREADS environment is not set.*
|
||||||
This environment variable must be set appropriately to use the
|
This environment variable must be set appropriately to use the
|
||||||
USER-OMP package.
|
OPENMP package.
|
||||||
|
|
||||||
*One or more atoms are time integrated more than once*
|
*One or more atoms are time integrated more than once*
|
||||||
This is probably an error since you typically do not want to
|
This is probably an error since you typically do not want to
|
||||||
|
|||||||
@ -205,11 +205,13 @@ Uppercase directories
|
|||||||
+------------+--------------------------------------------------------------------------------------------------+
|
+------------+--------------------------------------------------------------------------------------------------+
|
||||||
| MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system |
|
| MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system |
|
||||||
+------------+--------------------------------------------------------------------------------------------------+
|
+------------+--------------------------------------------------------------------------------------------------+
|
||||||
|
| PACKAGES | examples for specific packages and contributed commands in USER-MISC |
|
||||||
|
+------------+--------------------------------------------------------------------------------------------------+
|
||||||
| SPIN | examples for features of the SPIN package |
|
| SPIN | examples for features of the SPIN package |
|
||||||
+------------+--------------------------------------------------------------------------------------------------+
|
+------------+--------------------------------------------------------------------------------------------------+
|
||||||
| UNITS | examples that run the same simulation in lj, real, metal units |
|
| UNITS | examples that run the same simulation in lj, real, metal units |
|
||||||
+------------+--------------------------------------------------------------------------------------------------+
|
+------------+--------------------------------------------------------------------------------------------------+
|
||||||
| USER | examples for USER packages and USER-contributed commands |
|
| USER-MISC | examples for commands in the USER-MISC packages |
|
||||||
+------------+--------------------------------------------------------------------------------------------------+
|
+------------+--------------------------------------------------------------------------------------------------+
|
||||||
| VISCOSITY | compute viscosity via several methods |
|
| VISCOSITY | compute viscosity via several methods |
|
||||||
+------------+--------------------------------------------------------------------------------------------------+
|
+------------+--------------------------------------------------------------------------------------------------+
|
||||||
@ -217,11 +219,14 @@ Uppercase directories
|
|||||||
Nearly all of these directories have README files which give more
|
Nearly all of these directories have README files which give more
|
||||||
details on how to understand and use their contents.
|
details on how to understand and use their contents.
|
||||||
|
|
||||||
The USER directory has a large number of sub-directories which
|
The PACKAGES directory has a large number of sub-directories which
|
||||||
correspond by name to a USER package. They contain scripts that
|
correspond by name to specific packages. They contain scripts that
|
||||||
illustrate how to use the command(s) provided in that package. Many
|
illustrate how to use the command(s) provided in those packages. Many
|
||||||
of the sub-directories have their own README files which give further
|
of the sub-directories have their own README files which give further
|
||||||
instructions. See the :doc:`Packages_details <Packages_details>` doc
|
instructions. See the :doc:`Packages_details <Packages_details>` doc
|
||||||
page for more info on specific USER packages.
|
page for more info on specific packages.
|
||||||
|
|
||||||
|
Similarly the USER-MISC directory has sub-directories for examples
|
||||||
|
corresponding to individual commands or styles in the USER-MISC package.
|
||||||
|
|
||||||
.. _openkim: https://openkim.org
|
.. _openkim: https://openkim.org
|
||||||
|
|||||||
@ -382,9 +382,9 @@ change some variables later with additional *-D* flags. A few examples:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
cmake -C ../cmake/presets/minimal.cmake -D PKG_MISC=on ../cmake
|
cmake -C ../cmake/presets/basic.cmake -D PKG_MISC=on ../cmake
|
||||||
cmake -C ../cmake/presets/clang.cmake -C ../cmake/presets/most.cmake ../cmake
|
cmake -C ../cmake/presets/clang.cmake -C ../cmake/presets/most.cmake ../cmake
|
||||||
cmake -C ../cmake/presets/minimal.cmake -D BUILD_MPI=off ../cmake
|
cmake -C ../cmake/presets/basic.cmake -D BUILD_MPI=off ../cmake
|
||||||
|
|
||||||
The first command will install the packages ``KSPACE``, ``MANYBODY``,
|
The first command will install the packages ``KSPACE``, ``MANYBODY``,
|
||||||
``MOLECULE``, ``RIGID`` and ``MISC``; the first four from the preset
|
``MOLECULE``, ``RIGID`` and ``MISC``; the first four from the preset
|
||||||
@ -400,7 +400,7 @@ It is also possible to do this incrementally.
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
cmake -C ../cmake/presets/minimal.cmake ../cmake
|
cmake -C ../cmake/presets/basic.cmake ../cmake
|
||||||
cmake -D PKG_MISC=on .
|
cmake -D PKG_MISC=on .
|
||||||
|
|
||||||
will achieve the same final configuration as in the first example above.
|
will achieve the same final configuration as in the first example above.
|
||||||
|
|||||||
@ -2,14 +2,14 @@ Tutorial for Thermalized Drude oscillators in LAMMPS
|
|||||||
====================================================
|
====================================================
|
||||||
|
|
||||||
This tutorial explains how to use Drude oscillators in LAMMPS to
|
This tutorial explains how to use Drude oscillators in LAMMPS to
|
||||||
simulate polarizable systems using the USER-DRUDE package. As an
|
simulate polarizable systems using the DRUDE package. As an
|
||||||
illustration, the input files for a simulation of 250 phenol molecules
|
illustration, the input files for a simulation of 250 phenol molecules
|
||||||
are documented. First of all, LAMMPS has to be compiled with the
|
are documented. First of all, LAMMPS has to be compiled with the
|
||||||
USER-DRUDE package activated. Then, the data file and input scripts
|
DRUDE package activated. Then, the data file and input scripts
|
||||||
have to be modified to include the Drude dipoles and how to handle
|
have to be modified to include the Drude dipoles and how to handle
|
||||||
them.
|
them.
|
||||||
|
|
||||||
Example input scripts available: examples/USER/drude
|
Example input scripts available: examples/PACKAGES/drude
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ The data file is similar to a standard LAMMPS data file for
|
|||||||
to their DC should appear in the data file as normal atoms and bonds.
|
to their DC should appear in the data file as normal atoms and bonds.
|
||||||
|
|
||||||
You can use the *polarizer* tool (Python script distributed with the
|
You can use the *polarizer* tool (Python script distributed with the
|
||||||
USER-DRUDE package) to convert a non-polarizable data file (here
|
DRUDE package) to convert a non-polarizable data file (here
|
||||||
*data.102494.lmp*\ ) to a polarizable data file (\ *data-p.lmp*\ )
|
*data.102494.lmp*\ ) to a polarizable data file (\ *data-p.lmp*\ )
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|||||||
@ -5,11 +5,11 @@ Manifolds (surfaces)
|
|||||||
|
|
||||||
This doc page is not about a LAMMPS input script command, but about
|
This doc page is not about a LAMMPS input script command, but about
|
||||||
manifolds, which are generalized surfaces, as defined and used by the
|
manifolds, which are generalized surfaces, as defined and used by the
|
||||||
USER-MANIFOLD package, to track particle motion on the manifolds. See
|
MANIFOLD package, to track particle motion on the manifolds. See
|
||||||
the src/USER-MANIFOLD/README file for more details about the package
|
the src/MANIFOLD/README file for more details about the package
|
||||||
and its commands.
|
and its commands.
|
||||||
|
|
||||||
Below is a list of currently supported manifolds by the USER-MANIFOLD
|
Below is a list of currently supported manifolds by the MANIFOLD
|
||||||
package, their parameters and a short description of them. The
|
package, their parameters and a short description of them. The
|
||||||
parameters listed here are in the same order as they should be passed
|
parameters listed here are in the same order as they should be passed
|
||||||
to the relevant fixes.
|
to the relevant fixes.
|
||||||
|
|||||||
@ -10,7 +10,7 @@ systems can be simulated in LAMMPS using three methods:
|
|||||||
* the adiabatic core-shell method, implemented in the
|
* the adiabatic core-shell method, implemented in the
|
||||||
:doc:`CORESHELL <Howto_coreshell>` package,
|
:doc:`CORESHELL <Howto_coreshell>` package,
|
||||||
* the thermalized Drude dipole method, implemented in the
|
* the thermalized Drude dipole method, implemented in the
|
||||||
:doc:`USER-DRUDE <Howto_drude>` package.
|
:doc:`DRUDE <Howto_drude>` package.
|
||||||
|
|
||||||
The fluctuating charge method calculates instantaneous charges on
|
The fluctuating charge method calculates instantaneous charges on
|
||||||
interacting atoms based on the electronegativity equalization
|
interacting atoms based on the electronegativity equalization
|
||||||
|
|||||||
@ -208,7 +208,7 @@ Presets are a way to specify a collection of CMake options using a file.
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
cmake ../cmake/presets/minimal.cmake ../cmake
|
cmake ../cmake/presets/basic.cmake ../cmake
|
||||||
|
|
||||||
This command configures the build and generates the necessary Makefiles. To compile the binary, run the make command.
|
This command configures the build and generates the necessary Makefiles. To compile the binary, run the make command.
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,6 @@ need the source code.
|
|||||||
|
|
||||||
Install_tarball
|
Install_tarball
|
||||||
Install_git
|
Install_git
|
||||||
Install_patch
|
|
||||||
|
|
||||||
These are the files and sub-directories in the LAMMPS distribution:
|
These are the files and sub-directories in the LAMMPS distribution:
|
||||||
|
|
||||||
@ -27,6 +26,8 @@ These are the files and sub-directories in the LAMMPS distribution:
|
|||||||
+------------+-------------------------------------------+
|
+------------+-------------------------------------------+
|
||||||
| LICENSE | GNU General Public License (GPL) |
|
| LICENSE | GNU General Public License (GPL) |
|
||||||
+------------+-------------------------------------------+
|
+------------+-------------------------------------------+
|
||||||
|
| SECURITY.md| Security Policy for the LAMMPS package |
|
||||||
|
+------------+-------------------------------------------+
|
||||||
| bench | benchmark problems |
|
| bench | benchmark problems |
|
||||||
+------------+-------------------------------------------+
|
+------------+-------------------------------------------+
|
||||||
| cmake | CMake build files |
|
| cmake | CMake build files |
|
||||||
|
|||||||
@ -120,8 +120,11 @@ changed. How to do this depends on the build system you are using.
|
|||||||
$ make package-update # sync package files with src files
|
$ make package-update # sync package files with src files
|
||||||
$ make foo # re-build for your machine (mpi, serial, etc)
|
$ make foo # re-build for your machine (mpi, serial, etc)
|
||||||
|
|
||||||
Just as described on the :doc:`Apply patch <Install_patch>` page,
|
to enforce consistency of the source between the src folder
|
||||||
after a patch has been installed.
|
and package directories. This is OK to do even if you don't
|
||||||
|
use any packages. The "make purge" command removes any deprecated
|
||||||
|
src files if they were removed by the patch from a package
|
||||||
|
sub-directory.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
|
|||||||
@ -1,96 +0,0 @@
|
|||||||
Applying patches
|
|
||||||
----------------
|
|
||||||
|
|
||||||
It is easy to stay current with the most recent LAMMPS patch releases
|
|
||||||
if you use git to track the LAMMPS development. Instructions for
|
|
||||||
how to stay current are on the
|
|
||||||
:doc:`Download the LAMMPS source with git <Install_git>` page.
|
|
||||||
|
|
||||||
If you prefer to download a tarball, as described on the
|
|
||||||
:doc:`tarball download <Install_tarball>` page, you can stay current by
|
|
||||||
downloading "patch files" when new patch releases are made. A link to
|
|
||||||
a patch file is posted on the
|
|
||||||
`bug fixes and new feature page <https://www.lammps.org/bug.html>`_
|
|
||||||
of the LAMMPS website, along
|
|
||||||
with a list of changed files and details about what is in the new patch
|
|
||||||
release. This page explains how to apply the patch file to your local
|
|
||||||
LAMMPS directory.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
You should not apply patch files to a local git checkout of
|
|
||||||
LAMMPS, only to an unpacked tarball. Use git commands to
|
|
||||||
update such a version of the LAMMPS source code.
|
|
||||||
|
|
||||||
Here are the steps to apply a patch file. Note that if your version
|
|
||||||
of LAMMPS is several patch releases behind, you need to apply all the
|
|
||||||
intervening patch files in succession to bring your version of LAMMPS
|
|
||||||
up to date.
|
|
||||||
|
|
||||||
* Download the patch file. You may have to shift-click in your browser
|
|
||||||
to download the file instead of display it. Patch files have names
|
|
||||||
like patch.12Dec16.
|
|
||||||
* Put the patch file in your top-level LAMMPS directory, where the
|
|
||||||
LICENSE and README files are.
|
|
||||||
* Apply the patch by typing the following command from your top-level
|
|
||||||
LAMMPS directory, where the redirected file is the name of the patch
|
|
||||||
file.
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
$ patch -bp1 < patch.12Dec16
|
|
||||||
|
|
||||||
* A list of updated files print out to the screen. The -b switch
|
|
||||||
creates backup files of your originals (e.g. src/force.cpp.orig), so
|
|
||||||
you can manually undo the patch if something goes wrong.
|
|
||||||
|
|
||||||
* Once you have updated your local files you need to re-build LAMMPS.
|
|
||||||
If you are applying several patches successively, you only need to
|
|
||||||
do the rebuild once at the end. How to do it depends on the build
|
|
||||||
system you are using.
|
|
||||||
|
|
||||||
.. tabs::
|
|
||||||
|
|
||||||
.. tab:: CMake build
|
|
||||||
|
|
||||||
Change to your build folder and type:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
cmake . --build
|
|
||||||
|
|
||||||
CMake should auto-detect whether it needs to re-run the CMake
|
|
||||||
configuration step and otherwise redo the build for all files
|
|
||||||
that have been changed or files that depend on changed files.
|
|
||||||
In case some build options have been changed or renamed, you
|
|
||||||
may have to update those by running:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
cmake .
|
|
||||||
|
|
||||||
and then rebuild.
|
|
||||||
|
|
||||||
.. tab:: Traditional make
|
|
||||||
|
|
||||||
Switch to the src directory and type:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
$ make purge # remove any deprecated src files
|
|
||||||
$ make package-update # sync package files with src files
|
|
||||||
$ make foo # re-build for your machine (mpi, serial, etc)
|
|
||||||
|
|
||||||
to enforce consistency of the source between the src folder
|
|
||||||
and package directories. This is OK to do even if you don't
|
|
||||||
use any packages. The "make purge" command removes any deprecated
|
|
||||||
src files if they were removed by the patch from a package
|
|
||||||
sub-directory.
|
|
||||||
|
|
||||||
.. warning::
|
|
||||||
|
|
||||||
If you wish to edit/change a src file that is from a package,
|
|
||||||
you should edit the version of the file inside the package
|
|
||||||
sub-directory with src, then re-install the package. The
|
|
||||||
version in the source directory is merely a copy and will be
|
|
||||||
wiped out if you type "make package-update".
|
|
||||||
@ -47,15 +47,3 @@ release.
|
|||||||
|
|
||||||
.. _git: https://github.com/lammps/lammps/releases
|
.. _git: https://github.com/lammps/lammps/releases
|
||||||
|
|
||||||
----------
|
|
||||||
|
|
||||||
If you download a current LAMMPS tarball, one way to stay current as
|
|
||||||
new patch tarballs are released, is to download a patch file which you
|
|
||||||
can apply to your local directory to update it for each new patch
|
|
||||||
release. (Or of course you could just download the newest tarball
|
|
||||||
periodically.)
|
|
||||||
|
|
||||||
The patch files are posted on the `bug and feature page <bug_>`_ of the
|
|
||||||
website, along with a list of changed files and details about what is
|
|
||||||
in the new patch release. Instructions for applying a patch file are
|
|
||||||
on the :doc:`Install patch <Install_patch>` page.
|
|
||||||
|
|||||||
@ -18,9 +18,9 @@ needed to run in parallel with MPI.
|
|||||||
|
|
||||||
The LAMMPS binaries contain *all* :doc:`optional packages <Packages>`
|
The LAMMPS binaries contain *all* :doc:`optional packages <Packages>`
|
||||||
included in the source distribution except: KIM, KOKKOS, MSCG, PYTHON,
|
included in the source distribution except: KIM, KOKKOS, MSCG, PYTHON,
|
||||||
USER-ADIOS, USER-H5MD, USER-NETCDF, USER-QMMM, USER-QUIP, and USER-VTK.
|
ADIOS, H5MD, NETCDF, QMMM, ML-QUIP, and VTK.
|
||||||
The serial version also does not include the MPIIO and
|
The serial version also does not include the MPIIO and
|
||||||
USER-LB packages. The GPU package is compiled for OpenCL with
|
LATBOLTZ packages. The GPU package is compiled for OpenCL with
|
||||||
mixed precision kernels.
|
mixed precision kernels.
|
||||||
|
|
||||||
The LAMMPS library is compiled as a shared library and the
|
The LAMMPS library is compiled as a shared library and the
|
||||||
|
|||||||
@ -29,19 +29,19 @@ The following folks deserve special recognition. Many of the packages
|
|||||||
they have written are unique for an MD code and LAMMPS would not be as
|
they have written are unique for an MD code and LAMMPS would not be as
|
||||||
general-purpose as it is without their expertise and efforts.
|
general-purpose as it is without their expertise and efforts.
|
||||||
|
|
||||||
* Metin Aktulga (MSU), USER-REAXC package for C version of ReaxFF
|
* Metin Aktulga (MSU), REAXFF package for C version of ReaxFF
|
||||||
* Mike Brown (Intel), GPU and USER-INTEL packages
|
* Mike Brown (Intel), GPU and INTEL packages
|
||||||
* Colin Denniston (U Western Ontario), USER-LB package
|
* Colin Denniston (U Western Ontario), LATBOLTZ package
|
||||||
* Georg Ganzenmuller (EMI), USER-SMD and USER-SPH packages
|
* Georg Ganzenmuller (EMI), MACHDYN and SPH packages
|
||||||
* Andres Jaramillo-Botero (Caltech), USER-EFF package for electron force field
|
* Andres Jaramillo-Botero (Caltech), EFF package for electron force field
|
||||||
* Reese Jones (Sandia) and colleagues, USER-ATC package for atom/continuum coupling
|
* Reese Jones (Sandia) and colleagues, ATC package for atom/continuum coupling
|
||||||
* Christoph Kloss (DCS Computing), LIGGGHTS code for granular materials, built on top of LAMMPS
|
* Christoph Kloss (DCS Computing), LIGGGHTS code for granular materials, built on top of LAMMPS
|
||||||
* Rudra Mukherjee (JPL), POEMS package for articulated rigid body motion
|
* Rudra Mukherjee (JPL), POEMS package for articulated rigid body motion
|
||||||
* Trung Ngyuen (Northwestern U), GPU and RIGID and BODY packages
|
* Trung Ngyuen (Northwestern U), GPU and RIGID and BODY packages
|
||||||
* Mike Parks (Sandia), PERI package for Peridynamics
|
* Mike Parks (Sandia), PERI package for Peridynamics
|
||||||
* Roy Pollock (LLNL), Ewald and PPPM solvers
|
* Roy Pollock (LLNL), Ewald and PPPM solvers
|
||||||
* Christian Trott (Sandia), USER-CUDA and KOKKOS packages
|
* Christian Trott (Sandia), CUDA and KOKKOS packages
|
||||||
* Ilya Valuev (JIHT), USER-AWPMD package for wave packet MD
|
* Ilya Valuev (JIHT), AWPMD package for wave packet MD
|
||||||
* Greg Wagner (Northwestern U), MEAM package for MEAM potential
|
* Greg Wagner (Northwestern U), MEAM package for MEAM potential
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|||||||
@ -31,7 +31,7 @@ that are not possible with existing input script commands.
|
|||||||
applies to the core LAMMPS code and less so on add-on packages,
|
applies to the core LAMMPS code and less so on add-on packages,
|
||||||
especially when those packages require additional code in the *lib*
|
especially when those packages require additional code in the *lib*
|
||||||
folder, interface LAMMPS to Fortran libraries, or the code uses
|
folder, interface LAMMPS to Fortran libraries, or the code uses
|
||||||
static variables (like the USER-COLVARS package).
|
static variables (like the COLVARS package).
|
||||||
|
|
||||||
Another major issue to deal with is to correctly handle MPI.
|
Another major issue to deal with is to correctly handle MPI.
|
||||||
Creating a LAMMPS instance requires passing an MPI communicator, or
|
Creating a LAMMPS instance requires passing an MPI communicator, or
|
||||||
|
|||||||
@ -53,5 +53,5 @@ in two stages: the callback function is registered with the pair style
|
|||||||
and then called from the Pair::ev_tally() function, which is called for
|
and then called from the Pair::ev_tally() function, which is called for
|
||||||
each pair after force and energy has been computed for this pair. Then
|
each pair after force and energy has been computed for this pair. Then
|
||||||
the tallied values are retrieved with the standard compute_scalar or
|
the tallied values are retrieved with the standard compute_scalar or
|
||||||
compute_vector or compute_peratom methods. The :doc:`compute styles in the USER-TALLY package <compute_tally>`
|
compute_vector or compute_peratom methods. The :doc:`compute styles in the TALLY package <compute_tally>`
|
||||||
provide *examples* for utilizing this mechanism.
|
provide *examples* for utilizing this mechanism.
|
||||||
|
|||||||
@ -49,13 +49,11 @@ with gzip. Please only use gzip compression, as this works well and is
|
|||||||
available on all platforms.
|
available on all platforms.
|
||||||
|
|
||||||
If the new features/files are broadly useful we may add them as core
|
If the new features/files are broadly useful we may add them as core
|
||||||
files to LAMMPS or as part of a :doc:`standard package <Packages_standard>`. Else we will add them as a
|
files to LAMMPS or as part of a :doc:`package <Packages_list>`. The
|
||||||
user-contributed file or :doc:`user package <Packages_user>`. Examples
|
|
||||||
of user packages are in src sub-directories that start with USER. The
|
|
||||||
USER-MISC package is simply a collection of (mostly) unrelated single
|
USER-MISC package is simply a collection of (mostly) unrelated single
|
||||||
files, which is the simplest way to have your contribution quickly
|
files, which is the simplest way to have your contribution quickly added
|
||||||
added to the LAMMPS distribution. All the standard and user packages
|
to the LAMMPS distribution. All packages are listed and described
|
||||||
are listed and described on the :doc:`Packages details <Packages_details>` doc page.
|
on the :doc:`Packages details <Packages_details>` doc page.
|
||||||
|
|
||||||
Note that by providing us files to release, you are agreeing to make
|
Note that by providing us files to release, you are agreeing to make
|
||||||
them open-source, i.e. we can release them under the terms of the GPL
|
them open-source, i.e. we can release them under the terms of the GPL
|
||||||
@ -65,27 +63,19 @@ on request only and with files that are authorized for that kind of
|
|||||||
distribution removed (e.g. interface to FFTW). See the
|
distribution removed (e.g. interface to FFTW). See the
|
||||||
:doc:`LAMMPS license <Intro_opensource>` doc page for details.
|
:doc:`LAMMPS license <Intro_opensource>` doc page for details.
|
||||||
|
|
||||||
With user packages and files, all we are really providing (aside from
|
|
||||||
the fame and fortune that accompanies having your name in the source
|
|
||||||
code and on the `Authors page <https://www.lammps.org/authors.html>`_
|
|
||||||
of the `LAMMPS WWW site <lws_>`_), is a means for you to distribute your
|
|
||||||
work to the LAMMPS user community, and a mechanism for others to
|
|
||||||
easily try out your new feature. This may help you find bugs or make
|
|
||||||
contact with new collaborators. Note that you're also implicitly
|
|
||||||
agreeing to support your code which means answer questions, fix bugs,
|
|
||||||
and maintain it if LAMMPS changes in some way that breaks it (an
|
|
||||||
unusual event).
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
If you prefer to actively develop and support your add-on
|
If you prefer to actively develop and support your add-on feature
|
||||||
feature yourself, then you may wish to make it available for download
|
yourself, then you may wish to make it available for download from
|
||||||
from your own website, as a user package that LAMMPS users can add to
|
your own website, as a user package that LAMMPS users can add to
|
||||||
their copy of LAMMPS. See the `Offsite LAMMPS packages and tools <https://www.lammps.org/offsite.html>`_ page of the LAMMPS web
|
their copy of LAMMPS. See the `Offsite LAMMPS packages and tools
|
||||||
site for examples of groups that do this. We are happy to advertise
|
<https://www.lammps.org/offsite.html>`_ page of the LAMMPS web site
|
||||||
your package and web site from that page. Simply email the
|
for examples of groups that do this. We are happy to advertise your
|
||||||
`developers <https://www.lammps.org/authors.html>`_ with info about
|
package and web site from that page. Simply email the `developers
|
||||||
your package and we will post it there.
|
<https://www.lammps.org/authors.html>`_ with info about your package
|
||||||
|
and we will post it there. We recommend to name external packages
|
||||||
|
USER-\<name\> so they can be easily distinguished from bundled packages
|
||||||
|
that do not have the USER- prefix.
|
||||||
|
|
||||||
.. _lws: https://www.lammps.org
|
.. _lws: https://www.lammps.org
|
||||||
|
|
||||||
@ -167,17 +157,20 @@ packages in the src directory for examples. If you are uncertain, please ask.
|
|||||||
2 source files. You can do this multiple times if you wish to
|
2 source files. You can do this multiple times if you wish to
|
||||||
contribute several individual features.
|
contribute several individual features.
|
||||||
|
|
||||||
* If you want your contribution to be added as a user-contribution and
|
* If you want your contribution to be added and it has several related
|
||||||
it is several related features, it is probably best to make it a user
|
features or is dependent on an external or bundled library, it is best
|
||||||
package directory with a name like USER-FOO. In addition to your new
|
to make it a package directory with a name like FOO. In addition to
|
||||||
files, the directory should contain a README text file. The README
|
your new files, the directory should contain a README text file. The
|
||||||
should contain your name and contact information and a brief
|
README should contain your name and contact information and a brief
|
||||||
description of what your new package does. If your files depend on
|
description of what your new package does. If your files depend on
|
||||||
other LAMMPS style files also being installed (e.g. because your file
|
other LAMMPS style files also being installed (e.g. because your file
|
||||||
is a derived class from the other LAMMPS class), then an Install.sh
|
is a derived class from the other LAMMPS class), then an Install.sh
|
||||||
file is also needed to check for those dependencies. See other README
|
file is also needed to check for those dependencies. See other README
|
||||||
and Install.sh files in other USER directories as examples. Send us a
|
and Install.sh files in other directories as examples. Submit a pull
|
||||||
tarball of this USER-FOO directory.
|
request on GitHub or send us a tarball of this FOO directory. Pull
|
||||||
|
requests are strongly encouraged since the greatly reduce the effort
|
||||||
|
to integrate a contribution and simplify the process of adjusting the
|
||||||
|
contributed code to cleanly integrate into the LAMMPS distribution.
|
||||||
|
|
||||||
* Your new source files need to have the LAMMPS copyright, GPL notice,
|
* Your new source files need to have the LAMMPS copyright, GPL notice,
|
||||||
and your name and email address at the top, like other
|
and your name and email address at the top, like other
|
||||||
@ -190,21 +183,21 @@ packages in the src directory for examples. If you are uncertain, please ask.
|
|||||||
code.
|
code.
|
||||||
|
|
||||||
* You **must** also create a **documentation** file for each new command
|
* You **must** also create a **documentation** file for each new command
|
||||||
or style you are adding to LAMMPS. For simplicity and convenience, the
|
or style you are adding to LAMMPS. For simplicity and convenience,
|
||||||
documentation of groups of closely related commands or styles may be
|
the documentation of groups of closely related commands or styles may
|
||||||
combined into a single file. This will be one file for a single-file
|
be combined into a single file. This will be one file for a
|
||||||
feature. For a package, it might be several files. These are text
|
single-file feature. For a package, it might be several files. These
|
||||||
files with a .rst extension using the `reStructuredText <rst_>`_
|
are text files with a .rst extension using the `reStructuredText
|
||||||
markup language, that are then converted to HTML and PDF using the
|
<rst_>`_ markup language, that are then converted to HTML and PDF
|
||||||
`Sphinx <sphinx_>`_ documentation generator tool. Running Sphinx with
|
using the `Sphinx <sphinx_>`_ documentation generator tool. Running
|
||||||
the included configuration requires Python 3.x. Configuration
|
Sphinx with the included configuration requires Python 3.x.
|
||||||
settings and custom extensions for this conversion are included in the
|
Configuration settings and custom extensions for this conversion are
|
||||||
source distribution, and missing python packages will be transparently
|
included in the source distribution, and missing python packages will
|
||||||
downloaded into a virtual environment via pip. Thus, if your local
|
be transparently downloaded into a virtual environment via pip. Thus,
|
||||||
system is missing required packages, you need access to the
|
if your local system is missing required packages, you need access to
|
||||||
internet. The translation can be as simple as doing "make html pdf" in
|
the internet. The translation can be as simple as doing "make html
|
||||||
the doc folder. As appropriate, the text files can include inline
|
pdf" in the doc folder. As appropriate, the text files can include
|
||||||
mathematical expression or figures (see doc/JPG for examples).
|
inline mathematical expression or figures (see doc/JPG for examples).
|
||||||
Additional PDF files with further details (see doc/PDF for examples)
|
Additional PDF files with further details (see doc/PDF for examples)
|
||||||
may also be included. The doc page should also include literature
|
may also be included. The doc page should also include literature
|
||||||
citations as appropriate; see the bottom of doc/fix_nh.rst for
|
citations as appropriate; see the bottom of doc/fix_nh.rst for
|
||||||
@ -212,21 +205,21 @@ packages in the src directory for examples. If you are uncertain, please ask.
|
|||||||
cite itself. Citation labels must be unique across all .rst files.
|
cite itself. Citation labels must be unique across all .rst files.
|
||||||
The "Restrictions" section of the doc page should indicate if your
|
The "Restrictions" section of the doc page should indicate if your
|
||||||
command is only available if LAMMPS is built with the appropriate
|
command is only available if LAMMPS is built with the appropriate
|
||||||
USER-MISC or USER-FOO package. See other user package doc files for
|
USER-MISC or FOO package. See other package doc files for examples of
|
||||||
examples of how to do this. Please run at least "make html" and "make
|
how to do this. Please run at least "make html" and "make spelling"
|
||||||
spelling" and carefully inspect and proofread the resulting HTML
|
and carefully inspect and proofread the resulting HTML format doc page
|
||||||
format doc page before submitting your code. Upon submission of a
|
before submitting your code. Upon submission of a pull request,
|
||||||
pull request, checks for error free completion of the HTML and PDF
|
checks for error free completion of the HTML and PDF build will be
|
||||||
build will be performed and also a spell check, a check for correct
|
performed and also a spell check, a check for correct anchors and
|
||||||
anchors and labels, and a check for completeness of references all
|
labels, and a check for completeness of references all styles in their
|
||||||
styles in their corresponding tables and lists is run. In case the
|
corresponding tables and lists is run. In case the spell check
|
||||||
spell check reports false positives they can be added to the file
|
reports false positives they can be added to the file
|
||||||
doc/utils/sphinx-config/false_positives.txt
|
doc/utils/sphinx-config/false_positives.txt
|
||||||
|
|
||||||
* For a new package (or even a single command) you should include one or
|
* For a new package (or even a single command) you should include one or
|
||||||
more example scripts demonstrating its use. These should run in no
|
more example scripts demonstrating its use. These should run in no
|
||||||
more than a couple minutes, even on a single processor, and not require
|
more than a couple minutes, even on a single processor, and not require
|
||||||
large data files as input. See directories under examples/USER for
|
large data files as input. See directories under examples/PACKAGES for
|
||||||
examples of input scripts other users provided for their packages.
|
examples of input scripts other users provided for their packages.
|
||||||
These example inputs are also required for validating memory accesses
|
These example inputs are also required for validating memory accesses
|
||||||
and testing for memory leaks with valgrind
|
and testing for memory leaks with valgrind
|
||||||
@ -234,7 +227,7 @@ packages in the src directory for examples. If you are uncertain, please ask.
|
|||||||
* If there is a paper of yours describing your feature (either the
|
* If there is a paper of yours describing your feature (either the
|
||||||
algorithm/science behind the feature itself, or its initial usage, or
|
algorithm/science behind the feature itself, or its initial usage, or
|
||||||
its implementation in LAMMPS), you can add the citation to the \*.cpp
|
its implementation in LAMMPS), you can add the citation to the \*.cpp
|
||||||
source file. See src/USER-EFF/atom_vec_electron.cpp for an example.
|
source file. See src/EFF/atom_vec_electron.cpp for an example.
|
||||||
A LaTeX citation is stored in a variable at the top of the file and
|
A LaTeX citation is stored in a variable at the top of the file and
|
||||||
a single line of code registering this variable is added to the
|
a single line of code registering this variable is added to the
|
||||||
constructor of the class. If there is additional functionality (which
|
constructor of the class. If there is additional functionality (which
|
||||||
|
|||||||
@ -14,6 +14,5 @@ LAMMPS build process.
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
Packages_standard
|
Packages_list
|
||||||
Packages_user
|
|
||||||
Packages_details
|
Packages_details
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
449
doc/src/Packages_list.rst
Normal file
449
doc/src/Packages_list.rst
Normal file
@ -0,0 +1,449 @@
|
|||||||
|
Available Packages
|
||||||
|
==================
|
||||||
|
|
||||||
|
This is the list of packages included in LAMMPS. The link for each
|
||||||
|
package name gives more details.
|
||||||
|
|
||||||
|
Packages are supported by either the LAMMPS developers or the
|
||||||
|
contributing authors and written in a syntax and style consistent with
|
||||||
|
the rest of LAMMPS.
|
||||||
|
|
||||||
|
The "Example" column is a sub-directory in the examples directory of the
|
||||||
|
distribution which has an input script that uses the package.
|
||||||
|
E.g. "peptide" refers to the examples/peptide directory; PACKAGES/atc refers
|
||||||
|
to the examples/PACKAGES/atc directory. The "Library" column indicates
|
||||||
|
whether an extra library is needed to build and use the package:
|
||||||
|
|
||||||
|
* no = no library
|
||||||
|
* sys = system library: you likely have it on your machine
|
||||||
|
* int = internal library: provided with LAMMPS, but you may need to build it
|
||||||
|
* ext = external library: you will need to download and install it on your machine
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
|
||||||
|
* - Package
|
||||||
|
- Description
|
||||||
|
- Doc page
|
||||||
|
- Example
|
||||||
|
- Library
|
||||||
|
* - :ref:`ADIOS <PKG-ADIOS>`
|
||||||
|
- dump output via ADIOS
|
||||||
|
- :doc:`dump adios <dump_adios>`
|
||||||
|
- PACKAGES/adios
|
||||||
|
- ext
|
||||||
|
* - :ref:`ASPHERE <PKG-ASPHERE>`
|
||||||
|
- aspherical particle models
|
||||||
|
- :doc:`Howto spherical <Howto_spherical>`
|
||||||
|
- ellipse
|
||||||
|
- no
|
||||||
|
* - :ref:`ATC <PKG-ATC>`
|
||||||
|
- Atom-to-Continuum coupling
|
||||||
|
- :doc:`fix atc <fix_atc>`
|
||||||
|
- PACKAGES/atc
|
||||||
|
- int
|
||||||
|
* - :ref:`AWPMD <PKG-AWPMD>`
|
||||||
|
- wave packet MD
|
||||||
|
- :doc:`pair_style awpmd/cut <pair_awpmd>`
|
||||||
|
- PACKAGES/awpmd
|
||||||
|
- int
|
||||||
|
* - :ref:`BOCS <PKG-BOCS>`
|
||||||
|
- BOCS bottom up coarse graining
|
||||||
|
- :doc:`fix bocs <fix_bocs>`
|
||||||
|
- PACKAGES/bocs
|
||||||
|
- no
|
||||||
|
* - :ref:`BODY <PKG-BODY>`
|
||||||
|
- body-style particles
|
||||||
|
- :doc:`Howto body <Howto_body>`
|
||||||
|
- body
|
||||||
|
- no
|
||||||
|
* - :ref:`BROWNIAN <PKG-BROWNIAN>`
|
||||||
|
- Brownian dynamics, self-propelled particles
|
||||||
|
- :doc:`fix brownian <fix_brownian>`, :doc:`fix propel/self <fix_propel_self>`
|
||||||
|
- PACKAGES/brownian
|
||||||
|
- no
|
||||||
|
* - :ref:`CG-DNA <PKG-CG-DNA>`
|
||||||
|
- coarse-grained DNA force fields
|
||||||
|
- src/CG-DNA/README
|
||||||
|
- PACKAGES/cgdna
|
||||||
|
- no
|
||||||
|
* - :ref:`CG-SDK <PKG-CG-SDK>`
|
||||||
|
- SDK coarse-graining model
|
||||||
|
- :doc:`pair_style lj/sdk <pair_sdk>`
|
||||||
|
- PACKAGES/cgsdk
|
||||||
|
- no
|
||||||
|
* - :ref:`CLASS2 <PKG-CLASS2>`
|
||||||
|
- class 2 force fields
|
||||||
|
- :doc:`pair_style lj/class2 <pair_class2>`
|
||||||
|
- n/a
|
||||||
|
- no
|
||||||
|
* - :ref:`COLLOID <PKG-COLLOID>`
|
||||||
|
- colloidal particles
|
||||||
|
- :doc:`atom_style colloid <atom_style>`
|
||||||
|
- colloid
|
||||||
|
- no
|
||||||
|
* - :ref:`COLVARS <PKG-COLVARS>`
|
||||||
|
- collective variables library
|
||||||
|
- :doc:`fix colvars <fix_colvars>`
|
||||||
|
- PACKAGES/colvars
|
||||||
|
- int
|
||||||
|
* - :ref:`COMPRESS <PKG-COMPRESS>`
|
||||||
|
- I/O compression
|
||||||
|
- :doc:`dump \*/gz <dump>`
|
||||||
|
- n/a
|
||||||
|
- sys
|
||||||
|
* - :ref:`CORESHELL <PKG-CORESHELL>`
|
||||||
|
- adiabatic core/shell model
|
||||||
|
- :doc:`Howto coreshell <Howto_coreshell>`
|
||||||
|
- coreshell
|
||||||
|
- no
|
||||||
|
* - :ref:`DIELECTRIC <PKG-DIELECTRIC>`
|
||||||
|
- dielectric boundary solvers and force styles
|
||||||
|
- :doc:`compute efield/atom <compute_efield_atom>`
|
||||||
|
- PACKAGES/dielectric
|
||||||
|
- no
|
||||||
|
* - :ref:`DIFFRACTION <PKG-DIFFRACTION>`
|
||||||
|
- virtual x-ray and electron diffraction
|
||||||
|
- :doc:`compute xrd <compute_xrd>`
|
||||||
|
- PACKAGES/diffraction
|
||||||
|
- no
|
||||||
|
* - :ref:`DIPOLE <PKG-DIPOLE>`
|
||||||
|
- point dipole particles
|
||||||
|
- :doc:`pair_style lj/.../dipole <pair_dipole>`
|
||||||
|
- dipole
|
||||||
|
- no
|
||||||
|
* - :ref:`DPD-BASIC <PKG-DPD-BASIC>`
|
||||||
|
- basic DPD models
|
||||||
|
- :doc:`pair_styles dpd dpd/tstat <pair_dpd>` :doc:`dpd/ext dpd/ext/tstat <pair_dpd_ext>`
|
||||||
|
- PACKAGES/dpd-basic
|
||||||
|
- no
|
||||||
|
* - :ref:`DPD-MESO <PKG-DPD-MESO>`
|
||||||
|
- mesoscale DPD models
|
||||||
|
- :doc:`pair_style edpd <pair_mesodpd>`
|
||||||
|
- PACKAGES/dpd-meso
|
||||||
|
- no
|
||||||
|
* - :ref:`DPD-REACT <PKG-DPD-REACT>`
|
||||||
|
- reactive dissipative particle dynamics
|
||||||
|
- src/DPD-REACT/README
|
||||||
|
- PACKAGES/dpd-react
|
||||||
|
- no
|
||||||
|
* - :ref:`DPD-SMOOTH <PKG-DPD-SMOOTH>`
|
||||||
|
- smoothed dissipative particle dynamics
|
||||||
|
- src/DPD-SMOOTH/README
|
||||||
|
- PACKAGES/dpd-smooth
|
||||||
|
- no
|
||||||
|
* - :ref:`DRUDE <PKG-DRUDE>`
|
||||||
|
- Drude oscillators
|
||||||
|
- :doc:`Howto drude <Howto_drude>`
|
||||||
|
- PACKAGES/drude
|
||||||
|
- no
|
||||||
|
* - :ref:`EFF <PKG-EFF>`
|
||||||
|
- electron force field
|
||||||
|
- :doc:`pair_style eff/cut <pair_eff>`
|
||||||
|
- PACKAGES/eff
|
||||||
|
- no
|
||||||
|
* - :ref:`FEP <PKG-FEP>`
|
||||||
|
- free energy perturbation
|
||||||
|
- :doc:`compute fep <compute_fep>`
|
||||||
|
- PACKAGES/fep
|
||||||
|
- no
|
||||||
|
* - :ref:`GPU <PKG-GPU>`
|
||||||
|
- GPU-enabled styles
|
||||||
|
- :doc:`Section gpu <Speed_gpu>`
|
||||||
|
- `Benchmarks <https://www.lammps.org/bench.html>`_
|
||||||
|
- int
|
||||||
|
* - :ref:`GRANULAR <PKG-GRANULAR>`
|
||||||
|
- granular systems
|
||||||
|
- :doc:`Howto granular <Howto_granular>`
|
||||||
|
- pour
|
||||||
|
- no
|
||||||
|
* - :ref:`H5MD <PKG-H5MD>`
|
||||||
|
- dump output via HDF5
|
||||||
|
- :doc:`dump h5md <dump_h5md>`
|
||||||
|
- n/a
|
||||||
|
- ext
|
||||||
|
* - :ref:`INTEL <PKG-INTEL>`
|
||||||
|
- optimized Intel CPU and KNL styles
|
||||||
|
- :doc:`Speed intel <Speed_intel>`
|
||||||
|
- `Benchmarks <https://www.lammps.org/bench.html>`_
|
||||||
|
- no
|
||||||
|
* - :ref:`KIM <PKG-KIM>`
|
||||||
|
- OpenKIM wrapper
|
||||||
|
- :doc:`pair_style kim <pair_kim>`
|
||||||
|
- kim
|
||||||
|
- ext
|
||||||
|
* - :ref:`KOKKOS <PKG-KOKKOS>`
|
||||||
|
- Kokkos-enabled styles
|
||||||
|
- :doc:`Speed kokkos <Speed_kokkos>`
|
||||||
|
- `Benchmarks <https://www.lammps.org/bench.html>`_
|
||||||
|
- no
|
||||||
|
* - :ref:`KSPACE <PKG-KSPACE>`
|
||||||
|
- long-range Coulombic solvers
|
||||||
|
- :doc:`kspace_style <kspace_style>`
|
||||||
|
- peptide
|
||||||
|
- no
|
||||||
|
* - :ref:`LATBOLTZ <PKG-LATBOLTZ>`
|
||||||
|
- Lattice Boltzmann fluid
|
||||||
|
- :doc:`fix lb/fluid <fix_lb_fluid>`
|
||||||
|
- PACKAGES/latboltz
|
||||||
|
- no
|
||||||
|
* - :ref:`LATTE <PKG-LATTE>`
|
||||||
|
- quantum DFTB forces via LATTE
|
||||||
|
- :doc:`fix latte <fix_latte>`
|
||||||
|
- latte
|
||||||
|
- ext
|
||||||
|
* - :ref:`MACHDYN <PKG-MACHDYN>`
|
||||||
|
- smoothed Mach dynamics
|
||||||
|
- `SMD User Guide <PDF/MACHDYN_LAMMPS_userguide.pdf>`_
|
||||||
|
- PACKAGES/machdyn
|
||||||
|
- ext
|
||||||
|
* - :ref:`MANIFOLD <PKG-MANIFOLD>`
|
||||||
|
- motion on 2d surfaces
|
||||||
|
- :doc:`fix manifoldforce <fix_manifoldforce>`
|
||||||
|
- PACKAGES/manifold
|
||||||
|
- no
|
||||||
|
* - :ref:`MANYBODY <PKG-MANYBODY>`
|
||||||
|
- many-body potentials
|
||||||
|
- :doc:`pair_style tersoff <pair_tersoff>`
|
||||||
|
- shear
|
||||||
|
- no
|
||||||
|
* - :ref:`MC <PKG-MC>`
|
||||||
|
- Monte Carlo options
|
||||||
|
- :doc:`fix gcmc <fix_gcmc>`
|
||||||
|
- n/a
|
||||||
|
- no
|
||||||
|
* - :ref:`MDI <PKG-MDI>`
|
||||||
|
- client-server coupling
|
||||||
|
- :doc:`MDI Howto <Howto_mdi>`
|
||||||
|
- PACKAGES/mdi
|
||||||
|
- ext
|
||||||
|
* - :ref:`MEAM <PKG-MEAM>`
|
||||||
|
- modified EAM potential (C++)
|
||||||
|
- :doc:`pair_style meam <pair_meam>`
|
||||||
|
- meam
|
||||||
|
- no
|
||||||
|
* - :ref:`MESONT <PKG-MESONT>`
|
||||||
|
- mesoscopic tubular potential model
|
||||||
|
- pair styles :doc:`mesont/tpm <pair_mesont_tpm>`, :doc:`mesocnt <pair_mesocnt>`
|
||||||
|
- PACKAGES/mesont
|
||||||
|
- int
|
||||||
|
* - :ref:`MESSAGE <PKG-MESSAGE>`
|
||||||
|
- client/server messaging
|
||||||
|
- :doc:`message <message>`
|
||||||
|
- message
|
||||||
|
- int
|
||||||
|
* - :ref:`MGPT <PKG-MGPT>`
|
||||||
|
- fast MGPT multi-ion potentials
|
||||||
|
- :doc:`pair_style mgpt <pair_mgpt>`
|
||||||
|
- PACKAGES/mgpt
|
||||||
|
- no
|
||||||
|
* - :ref:`MISC <PKG-MISC>`
|
||||||
|
- miscellaneous single-file commands
|
||||||
|
- n/a
|
||||||
|
- no
|
||||||
|
- no
|
||||||
|
* - :ref:`ML-HDNNP <PKG-ML-HDNNP>`
|
||||||
|
- High-dimensional neural network potentials
|
||||||
|
- :doc:`pair_style hdnnp <pair_hdnnp>`
|
||||||
|
- PACKAGES/hdnnp
|
||||||
|
- ext
|
||||||
|
* - :ref:`ML-IAP <PKG-ML-IAP>`
|
||||||
|
- multiple machine learning potentials
|
||||||
|
- :doc:`pair_style mliap <pair_mliap>`
|
||||||
|
- mliap
|
||||||
|
- no
|
||||||
|
* - :ref:`ML-PACE <PKG-ML-PACE>`
|
||||||
|
- Atomic Cluster Expansion potential
|
||||||
|
- :doc:`pair pace <pair_pace>`
|
||||||
|
- PACKAGES/pace
|
||||||
|
- ext
|
||||||
|
* - :ref:`ML-QUIP <PKG-ML-QUIP>`
|
||||||
|
- QUIP/libatoms interface
|
||||||
|
- :doc:`pair_style quip <pair_quip>`
|
||||||
|
- PACKAGES/quip
|
||||||
|
- ext
|
||||||
|
* - :ref:`ML-RANN <PKG-ML-RANN>`
|
||||||
|
- Pair style for RANN potentials
|
||||||
|
- :doc:`pair rann <pair_rann>`
|
||||||
|
- PACKAGES/rann
|
||||||
|
- no
|
||||||
|
* - :ref:`ML-SNAP <PKG-ML-SNAP>`
|
||||||
|
- quantum-fitted potential
|
||||||
|
- :doc:`pair_style snap <pair_snap>`
|
||||||
|
- snap
|
||||||
|
- no
|
||||||
|
* - :ref:`MOFFF <PKG-MOFFF>`
|
||||||
|
- styles for `MOF-FF <MOFplus_>`_ force field
|
||||||
|
- :doc:`pair_style buck6d/coul/gauss <pair_buck6d_coul_gauss>`
|
||||||
|
- PACKAGES/mofff
|
||||||
|
- no
|
||||||
|
* - :ref:`MOLECULE <PKG-MOLECULE>`
|
||||||
|
- molecular system force fields
|
||||||
|
- :doc:`Howto bioFF <Howto_bioFF>`
|
||||||
|
- peptide
|
||||||
|
- no
|
||||||
|
* - :ref:`MOLFILE <PKG-MOLFILE>`
|
||||||
|
- `VMD <VMD_>`_ molfile plug-ins
|
||||||
|
- :doc:`dump molfile <dump_molfile>`
|
||||||
|
- n/a
|
||||||
|
- ext
|
||||||
|
* - :ref:`MPIIO <PKG-MPIIO>`
|
||||||
|
- MPI parallel I/O dump and restart
|
||||||
|
- :doc:`dump <dump>`
|
||||||
|
- n/a
|
||||||
|
- no
|
||||||
|
* - :ref:`MSCG <PKG-MSCG>`
|
||||||
|
- multi-scale coarse-graining wrapper
|
||||||
|
- :doc:`fix mscg <fix_mscg>`
|
||||||
|
- mscg
|
||||||
|
- ext
|
||||||
|
* - :ref:`NETCDF <PKG-NETCDF>`
|
||||||
|
- dump output via NetCDF
|
||||||
|
- :doc:`dump netcdf <dump_netcdf>`
|
||||||
|
- n/a
|
||||||
|
- ext
|
||||||
|
* - :ref:`OPENMP <PKG-OPENMP>`
|
||||||
|
- OpenMP-enabled styles
|
||||||
|
- :doc:`Speed omp <Speed_omp>`
|
||||||
|
- `Benchmarks <https://www.lammps.org/bench.html>`_
|
||||||
|
- no
|
||||||
|
* - :ref:`OPT <PKG-OPT>`
|
||||||
|
- optimized pair styles
|
||||||
|
- :doc:`Speed opt <Speed_opt>`
|
||||||
|
- `Benchmarks <https://www.lammps.org/bench.html>`_
|
||||||
|
- no
|
||||||
|
* - :ref:`PERI <PKG-PERI>`
|
||||||
|
- Peridynamics models
|
||||||
|
- :doc:`pair_style peri <pair_peri>`
|
||||||
|
- peri
|
||||||
|
- no
|
||||||
|
* - :ref:`PHONON <PKG-PHONON>`
|
||||||
|
- phonon dynamical matrix
|
||||||
|
- :doc:`fix phonon <fix_phonon>`
|
||||||
|
- PACKAGES/phonon
|
||||||
|
- no
|
||||||
|
* - :ref:`PLUGIN <PKG-PLUGIN>`
|
||||||
|
- Plugin loader command
|
||||||
|
- :doc:`plugin <plugin>`
|
||||||
|
- plugins
|
||||||
|
- no
|
||||||
|
* - :ref:`PLUMED <PKG-PLUMED>`
|
||||||
|
- :ref:`PLUMED <PLUMED>` free energy library
|
||||||
|
- :doc:`fix plumed <fix_plumed>`
|
||||||
|
- PACKAGES/plumed
|
||||||
|
- ext
|
||||||
|
* - :ref:`POEMS <PKG-POEMS>`
|
||||||
|
- coupled rigid body motion
|
||||||
|
- :doc:`fix poems <fix_poems>`
|
||||||
|
- rigid
|
||||||
|
- int
|
||||||
|
* - :ref:`PTM <PKG-PTM>`
|
||||||
|
- Polyhedral Template Matching
|
||||||
|
- :doc:`compute ptm/atom <compute_ptm_atom>`
|
||||||
|
- n/a
|
||||||
|
- no
|
||||||
|
* - :ref:`PYTHON <PKG-PYTHON>`
|
||||||
|
- embed Python code in an input script
|
||||||
|
- :doc:`python <python>`
|
||||||
|
- python
|
||||||
|
- sys
|
||||||
|
* - :ref:`QEQ <PKG-QEQ>`
|
||||||
|
- QEq charge equilibration
|
||||||
|
- :doc:`fix qeq <fix_qeq>`
|
||||||
|
- qeq
|
||||||
|
- no
|
||||||
|
* - :ref:`QMMM <PKG-QMMM>`
|
||||||
|
- QM/MM coupling
|
||||||
|
- :doc:`fix qmmm <fix_qmmm>`
|
||||||
|
- PACKAGES/qmmm
|
||||||
|
- ext
|
||||||
|
* - :ref:`QTB <PKG-QTB>`
|
||||||
|
- quantum nuclear effects
|
||||||
|
- :doc:`fix qtb <fix_qtb>` :doc:`fix qbmsst <fix_qbmsst>`
|
||||||
|
- qtb
|
||||||
|
- no
|
||||||
|
* - :ref:`REACTION <PKG-REACTION>`
|
||||||
|
- chemical reactions in classical MD
|
||||||
|
- :doc:`fix bond/react <fix_bond_react>`
|
||||||
|
- PACKAGES/reaction
|
||||||
|
- no
|
||||||
|
* - :ref:`REAXFF <PKG-REAXFF>`
|
||||||
|
- ReaxFF potential (C/C++)
|
||||||
|
- :doc:`pair_style reaxc <pair_reaxc>`
|
||||||
|
- reax
|
||||||
|
- no
|
||||||
|
* - :ref:`REPLICA <PKG-REPLICA>`
|
||||||
|
- multi-replica methods
|
||||||
|
- :doc:`Howto replica <Howto_replica>`
|
||||||
|
- tad
|
||||||
|
- no
|
||||||
|
* - :ref:`RIGID <PKG-RIGID>`
|
||||||
|
- rigid bodies and constraints
|
||||||
|
- :doc:`fix rigid <fix_rigid>`
|
||||||
|
- rigid
|
||||||
|
- no
|
||||||
|
* - :ref:`SCAFACOS <PKG-SCAFACOS>`
|
||||||
|
- wrapper for ScaFaCoS Kspace solver
|
||||||
|
- :doc:`kspace_style scafacos <kspace_style>`
|
||||||
|
- PACKAGES/scafacos
|
||||||
|
- ext
|
||||||
|
* - :ref:`SHOCK <PKG-SHOCK>`
|
||||||
|
- shock loading methods
|
||||||
|
- :doc:`fix msst <fix_msst>`
|
||||||
|
- n/a
|
||||||
|
- no
|
||||||
|
* - :ref:`SMTBQ <PKG-SMTBQ>`
|
||||||
|
- second moment tight binding potential
|
||||||
|
- :doc:`pair_style smtbq <pair_smtbq>`
|
||||||
|
- PACKAGES/smtbq
|
||||||
|
- no
|
||||||
|
* - :ref:`SPH <PKG-SPH>`
|
||||||
|
- smoothed particle hydrodynamics
|
||||||
|
- `SPH User Guide <PDF/SPH_LAMMPS_userguide.pdf>`_
|
||||||
|
- PACKAGES/sph
|
||||||
|
- no
|
||||||
|
* - :ref:`SPIN <PKG-SPIN>`
|
||||||
|
- magnetic atomic spin dynamics
|
||||||
|
- :doc:`Howto spins <Howto_spins>`
|
||||||
|
- SPIN
|
||||||
|
- no
|
||||||
|
* - :ref:`SRD <PKG-SRD>`
|
||||||
|
- stochastic rotation dynamics
|
||||||
|
- :doc:`fix srd <fix_srd>`
|
||||||
|
- srd
|
||||||
|
- no
|
||||||
|
* - :ref:`TALLY <PKG-TALLY>`
|
||||||
|
- pairwise tally computes
|
||||||
|
- :doc:`compute XXX/tally <compute_tally>`
|
||||||
|
- PACKAGES/tally
|
||||||
|
- no
|
||||||
|
* - :ref:`UEF <PKG-UEF>`
|
||||||
|
- extensional flow
|
||||||
|
- :doc:`fix nvt/uef <fix_nh_uef>`
|
||||||
|
- PACKAGES/uef
|
||||||
|
- no
|
||||||
|
* - :ref:`USER-MISC <PKG-USER-MISC>`
|
||||||
|
- single-file contributions
|
||||||
|
- USER-MISC/README
|
||||||
|
- USER-MISC
|
||||||
|
- no
|
||||||
|
* - :ref:`VORONOI <PKG-VORONOI>`
|
||||||
|
- Voronoi tesselation
|
||||||
|
- :doc:`compute voronoi/atom <compute_voronoi_atom>`
|
||||||
|
- n/a
|
||||||
|
- ext
|
||||||
|
* - :ref:`VTK <PKG-VTK>`
|
||||||
|
- dump output via VTK
|
||||||
|
- :doc:`compute vtk <dump_vtk>`
|
||||||
|
- n/a
|
||||||
|
- ext
|
||||||
|
* - :ref:`YAFF <PKG-YAFF>`
|
||||||
|
- additional styles implemented in YAFF
|
||||||
|
- :doc:`angle_style cross <angle_cross>`
|
||||||
|
- PACKAGES/yaff
|
||||||
|
- no
|
||||||
|
|
||||||
|
.. _MOFplus: https://www.mofplus.org/content/show/MOF-FF
|
||||||
|
.. _PLUMED: https://www.plumed.org
|
||||||
|
.. _VMD: https://www.ks.uiuc.edu/Research/vmd/
|
||||||
@ -1,95 +0,0 @@
|
|||||||
Standard packages
|
|
||||||
=================
|
|
||||||
|
|
||||||
This is the list of standard packages in LAMMPS. The link for each
|
|
||||||
package name gives more details.
|
|
||||||
|
|
||||||
Standard packages are supported by the LAMMPS developers and are
|
|
||||||
written in a syntax and style consistent with the rest of LAMMPS.
|
|
||||||
This means the developers will answer questions about them, debug and
|
|
||||||
fix them if necessary, and keep them compatible with future changes to
|
|
||||||
LAMMPS.
|
|
||||||
|
|
||||||
The "Example" column is a sub-directory in the examples directory of
|
|
||||||
the distribution which has an input script that uses the package.
|
|
||||||
E.g. "peptide" refers to the examples/peptide directory; USER/atc
|
|
||||||
refers to the examples/USER/atc directory. The "Library" column
|
|
||||||
indicates whether an extra library is needed to build and use the
|
|
||||||
package:
|
|
||||||
|
|
||||||
* no = no library
|
|
||||||
* sys = system library: you likely have it on your machine
|
|
||||||
* int = internal library: provided with LAMMPS, but you may need to build it
|
|
||||||
* ext = external library: you will need to download and install it on your machine
|
|
||||||
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| Package | Description | Doc page | Example | Library |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`ASPHERE <PKG-ASPHERE>` | aspherical particle models | :doc:`Howto spherical <Howto_spherical>` | ellipse | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`BODY <PKG-BODY>` | body-style particles | :doc:`Howto body <Howto_body>` | body | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`CLASS2 <PKG-CLASS2>` | class 2 force fields | :doc:`pair_style lj/class2 <pair_class2>` | n/a | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`COLLOID <PKG-COLLOID>` | colloidal particles | :doc:`atom_style colloid <atom_style>` | colloid | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`COMPRESS <PKG-COMPRESS>` | I/O compression | :doc:`dump \*/gz <dump>` | n/a | sys |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`CORESHELL <PKG-CORESHELL>` | adiabatic core/shell model | :doc:`Howto coreshell <Howto_coreshell>` | coreshell | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`DIPOLE <PKG-DIPOLE>` | point dipole particles | :doc:`pair_style lj/.../dipole <pair_dipole>` | dipole | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`GPU <PKG-GPU>` | GPU-enabled styles | :doc:`Section gpu <Speed_gpu>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | int |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`GRANULAR <PKG-GRANULAR>` | granular systems | :doc:`Howto granular <Howto_granular>` | pour | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`KIM <PKG-KIM>` | OpenKIM wrapper | :doc:`pair_style kim <pair_kim>` | kim | ext |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`KOKKOS <PKG-KOKKOS>` | Kokkos-enabled styles | :doc:`Speed kokkos <Speed_kokkos>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`KSPACE <PKG-KSPACE>` | long-range Coulombic solvers | :doc:`kspace_style <kspace_style>` | peptide | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`LATTE <PKG-LATTE>` | quantum DFTB forces via LATTE | :doc:`fix latte <fix_latte>` | latte | ext |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`MANYBODY <PKG-MANYBODY>` | many-body potentials | :doc:`pair_style tersoff <pair_tersoff>` | shear | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`MC <PKG-MC>` | Monte Carlo options | :doc:`fix gcmc <fix_gcmc>` | n/a | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`MESSAGE <PKG-MESSAGE>` | client/server messaging | :doc:`message <message>` | message | int |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`MISC <PKG-MISC>` | miscellaneous single-file commands | n/a | no | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`MLIAP <PKG-MLIAP>` | multiple machine learning potentials | :doc:`pair_style mliap <pair_mliap>` | mliap | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`MOLECULE <PKG-MOLECULE>` | molecular system force fields | :doc:`Howto bioFF <Howto_bioFF>` | peptide | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`MPIIO <PKG-MPIIO>` | MPI parallel I/O dump and restart | :doc:`dump <dump>` | n/a | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`MSCG <PKG-MSCG>` | multi-scale coarse-graining wrapper | :doc:`fix mscg <fix_mscg>` | mscg | ext |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`OPT <PKG-OPT>` | optimized pair styles | :doc:`Speed opt <Speed_opt>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`PERI <PKG-PERI>` | Peridynamics models | :doc:`pair_style peri <pair_peri>` | peri | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`PLUGIN <PKG-PLUGIN>` | Plugin loader command | :doc:`plugin <plugin>` | plugins | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`POEMS <PKG-POEMS>` | coupled rigid body motion | :doc:`fix poems <fix_poems>` | rigid | int |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`PYTHON <PKG-PYTHON>` | embed Python code in an input script | :doc:`python <python>` | python | sys |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`QEQ <PKG-QEQ>` | QEq charge equilibration | :doc:`fix qeq <fix_qeq>` | qeq | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`REPLICA <PKG-REPLICA>` | multi-replica methods | :doc:`Howto replica <Howto_replica>` | tad | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`RIGID <PKG-RIGID>` | rigid bodies and constraints | :doc:`fix rigid <fix_rigid>` | rigid | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`SHOCK <PKG-SHOCK>` | shock loading methods | :doc:`fix msst <fix_msst>` | n/a | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`SNAP <PKG-SNAP>` | quantum-fitted potential | :doc:`pair_style snap <pair_snap>` | snap | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`SPIN <PKG-SPIN>` | magnetic atomic spin dynamics | :doc:`Howto spins <Howto_spins>` | SPIN | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`SRD <PKG-SRD>` | stochastic rotation dynamics | :doc:`fix srd <fix_srd>` | srd | no |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`VORONOI <PKG-VORONOI>` | Voronoi tesselation | :doc:`compute voronoi/atom <compute_voronoi_atom>` | n/a | ext |
|
|
||||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
@ -1,132 +0,0 @@
|
|||||||
User packages
|
|
||||||
=============
|
|
||||||
|
|
||||||
This is a list of user packages in LAMMPS. The link for each package
|
|
||||||
name gives more details.
|
|
||||||
|
|
||||||
User packages have been contributed by users, and begin with the
|
|
||||||
"user" prefix. If a contribution is a single command (single file),
|
|
||||||
it is typically in the USER-MISC package. User packages don't
|
|
||||||
necessarily meet the requirements of the :doc:`standard packages <Packages_standard>`. This means the developers will try
|
|
||||||
to keep things working and usually can answer technical questions
|
|
||||||
about compiling the package. If you have problems using a specific
|
|
||||||
feature provided in a user package, you may need to contact the
|
|
||||||
contributor directly to get help. Information on how to submit
|
|
||||||
additions you make to LAMMPS as single files or as a standard or user
|
|
||||||
package is explained on the :doc:`Modify contribute <Modify_contribute>`
|
|
||||||
doc page.
|
|
||||||
|
|
||||||
The "Example" column is a sub-directory in the examples directory of
|
|
||||||
the distribution which has an input script that uses the package.
|
|
||||||
E.g. "peptide" refers to the examples/peptide directory; USER/atc
|
|
||||||
refers to the examples/USER/atc directory. The "Library" column
|
|
||||||
indicates whether an extra library is needed to build and use the
|
|
||||||
package:
|
|
||||||
|
|
||||||
* no = no library
|
|
||||||
* sys = system library: you likely have it on your machine
|
|
||||||
* int = internal library: provided with LAMMPS, but you may need to build it
|
|
||||||
* ext = external library: you will need to download and install it on your machine
|
|
||||||
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| Package | Description | Doc page | Example | Library |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-ADIOS <PKG-USER-ADIOS>` | dump output via ADIOS | :doc:`dump adios <dump_adios>` | USER/adios | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-ATC <PKG-USER-ATC>` | Atom-to-Continuum coupling | :doc:`fix atc <fix_atc>` | USER/atc | int |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-AWPMD <PKG-USER-AWPMD>` | wave packet MD | :doc:`pair_style awpmd/cut <pair_awpmd>` | USER/awpmd | int |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-BOCS <PKG-USER-BOCS>` | BOCS bottom up coarse graining | :doc:`fix bocs <fix_bocs>` | USER/bocs | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-BROWNIAN <PKG-USER-BROWNIAN>` | Brownian dynamics and self-propelled particles | :doc:`fix brownian <fix_brownian>`, :doc:`fix propel/self <fix_propel_self>` | USER/brownian | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-CGDNA <PKG-USER-CGDNA>` | coarse-grained DNA force fields | src/USER-CGDNA/README | USER/cgdna | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-CGSDK <PKG-USER-CGSDK>` | SDK coarse-graining model | :doc:`pair_style lj/sdk <pair_sdk>` | USER/cgsdk | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-COLVARS <PKG-USER-COLVARS>` | collective variables library | :doc:`fix colvars <fix_colvars>` | USER/colvars | int |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-DIELECTRIC <PKG-USER-DIELECTRIC>` | dielectric boundary solvers and force styles | :doc:`compute efield/atom <compute_efield_atom>` | USER/dielectric | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-DIFFRACTION <PKG-USER-DIFFRACTION>` | virtual x-ray and electron diffraction | :doc:`compute xrd <compute_xrd>` | USER/diffraction | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-DPD <PKG-USER-DPD>` | reactive dissipative particle dynamics | src/USER-DPD/README | USER/dpd | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-DRUDE <PKG-USER-DRUDE>` | Drude oscillators | :doc:`Howto drude <Howto_drude>` | USER/drude | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-EFF <PKG-USER-EFF>` | electron force field | :doc:`pair_style eff/cut <pair_eff>` | USER/eff | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-FEP <PKG-USER-FEP>` | free energy perturbation | :doc:`compute fep <compute_fep>` | USER/fep | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-H5MD <PKG-USER-H5MD>` | dump output via HDF5 | :doc:`dump h5md <dump_h5md>` | n/a | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-HDNNP <PKG-USER-HDNNP>` | High-dimensional neural network potentials | :doc:`pair_style hdnnp <pair_hdnnp>` | USER/hdnnp | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-INTEL <PKG-USER-INTEL>` | optimized Intel CPU and KNL styles | :doc:`Speed intel <Speed_intel>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-LB <PKG-USER-LB>` | Lattice Boltzmann fluid | :doc:`fix lb/fluid <fix_lb_fluid>` | USER/lb | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MANIFOLD <PKG-USER-MANIFOLD>` | motion on 2d surfaces | :doc:`fix manifoldforce <fix_manifoldforce>` | USER/manifold | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MDI <PKG-USER-MDI>` | client-server coupling | :doc:`MDI Howto <Howto_mdi>` | USER/mdi | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MEAMC <PKG-USER-MEAMC>` | modified EAM potential (C++) | :doc:`pair_style meam/c <pair_meamc>` | meamc | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MESODPD <PKG-USER-MESODPD>` | mesoscale DPD models | :doc:`pair_style edpd <pair_mesodpd>` | USER/mesodpd | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MESONT <PKG-USER-MESONT>` | mesoscopic tubular potential model for nanotubes | pair style :doc:`mesont/tpm <pair_mesont_tpm>`, :doc:`mesocnt <pair_mesocnt>` | USER/mesont | int |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MGPT <PKG-USER-MGPT>` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt <pair_mgpt>` | USER/mgpt | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MISC <PKG-USER-MISC>` | single-file contributions | USER-MISC/README | USER/misc | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MOFFF <PKG-USER-MOFFF>` | styles for `MOF-FF <MOFplus_>`_ force field | :doc:`pair_style buck6d/coul/gauss <pair_buck6d_coul_gauss>` | USER/mofff | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-MOLFILE <PKG-USER-MOLFILE>` | `VMD <https://www.ks.uiuc.edu/Research/vmd/>`_ molfile plug-ins | :doc:`dump molfile <dump_molfile>` | n/a | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-NETCDF <PKG-USER-NETCDF>` | dump output via NetCDF | :doc:`dump netcdf <dump_netcdf>` | n/a | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-OMP <PKG-USER-OMP>` | OpenMP-enabled styles | :doc:`Speed omp <Speed_omp>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-PACE <PKG-USER-PACE>` | Fast implementation of Atomic Cluster Expansion (ACE) potential | :doc:`pair pace <pair_pace>` | USER/pace | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-PHONON <PKG-USER-PHONON>` | phonon dynamical matrix | :doc:`fix phonon <fix_phonon>` | USER/phonon | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-PLUMED <PKG-USER-PLUMED>` | :ref:`PLUMED <PLUMED>` free energy library | :doc:`fix plumed <fix_plumed>` | USER/plumed | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-PTM <PKG-USER-PTM>` | Polyhedral Template Matching | :doc:`compute ptm/atom <compute_ptm_atom>` | n/a | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-QMMM <PKG-USER-QMMM>` | QM/MM coupling | :doc:`fix qmmm <fix_qmmm>` | USER/qmmm | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-QTB <PKG-USER-QTB>` | quantum nuclear effects | :doc:`fix qtb <fix_qtb>` :doc:`fix qbmsst <fix_qbmsst>` | qtb | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-QUIP <PKG-USER-QUIP>` | QUIP/libatoms interface | :doc:`pair_style quip <pair_quip>` | USER/quip | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-RANN <PKG-USER-RANN>` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann <pair_rann>` | USER/rann | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-REACTION <PKG-USER-REACTION>` | chemical reactions in classical MD | :doc:`fix bond/react <fix_bond_react>` | USER/reaction | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-REAXC <PKG-USER-REAXC>` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc <pair_reaxc>` | reax | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-SCAFACOS <PKG-USER-SCAFACOS>` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos <kspace_style>` | USER/scafacos | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-SDPD <PKG-USER-SDPD>` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>` | USER/sdpd | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-SMD <PKG-USER-SMD>` | smoothed Mach dynamics | `SMD User Guide <PDF/SMD_LAMMPS_userguide.pdf>`_ | USER/smd | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-SMTBQ <PKG-USER-SMTBQ>` | second moment tight binding QEq potential | :doc:`pair_style smtbq <pair_smtbq>` | USER/smtbq | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-SPH <PKG-USER-SPH>` | smoothed particle hydrodynamics | `SPH User Guide <PDF/SPH_LAMMPS_userguide.pdf>`_ | USER/sph | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-TALLY <PKG-USER-TALLY>` | pairwise tally computes | :doc:`compute XXX/tally <compute_tally>` | USER/tally | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-UEF <PKG-USER-UEF>` | extensional flow | :doc:`fix nvt/uef <fix_nh_uef>` | USER/uef | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-VTK <PKG-USER-VTK>` | dump output via VTK | :doc:`compute vtk <dump_vtk>` | n/a | ext |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
| :ref:`USER-YAFF <PKG-USER-YAFF>` | additional styles implemented in YAFF | :doc:`angle_style cross <angle_cross>` | USER/yaff | no |
|
|
||||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
|
||||||
|
|
||||||
.. _MOFplus: https://www.mofplus.org/content/show/MOF-FF
|
|
||||||
.. _PLUMED: https://www.plumed.org
|
|
||||||
@ -69,7 +69,7 @@ this.
|
|||||||
cd build
|
cd build
|
||||||
|
|
||||||
# configure LAMMPS compilation
|
# configure LAMMPS compilation
|
||||||
cmake -C ../cmake/presets/minimal.cmake -D BUILD_SHARED_LIBS=on \
|
cmake -C ../cmake/presets/basic.cmake -D BUILD_SHARED_LIBS=on \
|
||||||
-D LAMMPS_EXCEPTIONS=on -D PKG_PYTHON=on ../cmake
|
-D LAMMPS_EXCEPTIONS=on -D PKG_PYTHON=on ../cmake
|
||||||
|
|
||||||
# compile LAMMPS
|
# compile LAMMPS
|
||||||
|
|||||||
@ -10,7 +10,7 @@ letter abbreviation can be used:
|
|||||||
* :ref:`-i or -in <file>`
|
* :ref:`-i or -in <file>`
|
||||||
* :ref:`-k or -kokkos <run-kokkos>`
|
* :ref:`-k or -kokkos <run-kokkos>`
|
||||||
* :ref:`-l or -log <log>`
|
* :ref:`-l or -log <log>`
|
||||||
* :ref:`-mdi <mdi>`
|
* :ref:`-mdi <mdi_flags>`
|
||||||
* :ref:`-m or -mpicolor <mpicolor>`
|
* :ref:`-m or -mpicolor <mpicolor>`
|
||||||
* :ref:`-c or -cite <cite>`
|
* :ref:`-c or -cite <cite>`
|
||||||
* :ref:`-nc or -nocite <nocite>`
|
* :ref:`-nc or -nocite <nocite>`
|
||||||
@ -89,7 +89,7 @@ in the :doc:`the KOKKOS package page <Speed_kokkos>`, this switch must be set to
|
|||||||
running with KOKKOS-enabled styles the package provides. If the
|
running with KOKKOS-enabled styles the package provides. If the
|
||||||
switch is not set (the default), LAMMPS will operate as if the KOKKOS
|
switch is not set (the default), LAMMPS will operate as if the KOKKOS
|
||||||
package were not installed; i.e. you can run standard LAMMPS or with
|
package were not installed; i.e. you can run standard LAMMPS or with
|
||||||
the GPU or USER-OMP packages, for testing or benchmarking purposes.
|
the GPU or OPENMP packages, for testing or benchmarking purposes.
|
||||||
|
|
||||||
Additional optional keyword/value pairs can be specified which
|
Additional optional keyword/value pairs can be specified which
|
||||||
determine how Kokkos will use the underlying hardware on your
|
determine how Kokkos will use the underlying hardware on your
|
||||||
@ -197,12 +197,12 @@ Option -plog will override the name of the partition log files file.N.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _mdi:
|
.. _mdi_flags:
|
||||||
|
|
||||||
**-mdi 'multiple flags'**
|
**-mdi 'multiple flags'**
|
||||||
|
|
||||||
This flag is only recognized and used when LAMMPS has support for the MolSSI
|
This flag is only recognized and used when LAMMPS has support for the MolSSI
|
||||||
Driver Interface (MDI) included as part of the :ref:`USER-MDI <PKG-USER-MDI>`
|
Driver Interface (MDI) included as part of the :ref:`MDI <PKG-MDI>`
|
||||||
package. This flag is specific to the MDI library and controls how LAMMPS
|
package. This flag is specific to the MDI library and controls how LAMMPS
|
||||||
interacts with MDI. There are usually multiple flags that have to follow it
|
interacts with MDI. There are usually multiple flags that have to follow it
|
||||||
and those have to be placed in quotation marks. For more information about
|
and those have to be placed in quotation marks. For more information about
|
||||||
@ -274,7 +274,7 @@ script. For example "-package gpu 2" or "-pk gpu 2" is the same as
|
|||||||
:doc:`package gpu 2 <package>` in the input script. The possible styles
|
:doc:`package gpu 2 <package>` in the input script. The possible styles
|
||||||
and args are documented on the :doc:`package <package>` doc page. This
|
and args are documented on the :doc:`package <package>` doc page. This
|
||||||
switch can be used multiple times, e.g. to set options for the
|
switch can be used multiple times, e.g. to set options for the
|
||||||
USER-INTEL and USER-OMP packages which can be used together.
|
INTEL and OPENMP packages which can be used together.
|
||||||
|
|
||||||
Along with the "-suffix" command-line switch, this is a convenient
|
Along with the "-suffix" command-line switch, this is a convenient
|
||||||
mechanism for invoking accelerator packages and their options without
|
mechanism for invoking accelerator packages and their options without
|
||||||
@ -540,16 +540,16 @@ Use variants of various styles if they exist. The specified style can
|
|||||||
be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt*\ , or *hybrid*\ . These
|
be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt*\ , or *hybrid*\ . These
|
||||||
refer to optional packages that LAMMPS can be built with, as described
|
refer to optional packages that LAMMPS can be built with, as described
|
||||||
in :doc:`Accelerate performance <Speed>`. The "gpu" style corresponds to the
|
in :doc:`Accelerate performance <Speed>`. The "gpu" style corresponds to the
|
||||||
GPU package, the "intel" style to the USER-INTEL package, the "kk"
|
GPU package, the "intel" style to the INTEL package, the "kk"
|
||||||
style to the KOKKOS package, the "opt" style to the OPT package, and
|
style to the KOKKOS package, the "opt" style to the OPT package, and
|
||||||
the "omp" style to the USER-OMP package. The hybrid style is the only
|
the "omp" style to the OPENMP package. The hybrid style is the only
|
||||||
style that accepts arguments. It allows for two packages to be
|
style that accepts arguments. It allows for two packages to be
|
||||||
specified. The first package specified is the default and will be used
|
specified. The first package specified is the default and will be used
|
||||||
if it is available. If no style is available for the first package,
|
if it is available. If no style is available for the first package,
|
||||||
the style for the second package will be used if available. For
|
the style for the second package will be used if available. For
|
||||||
example, "-suffix hybrid intel omp" will use styles from the
|
example, "-suffix hybrid intel omp" will use styles from the
|
||||||
USER-INTEL package if they are installed and available, but styles for
|
INTEL package if they are installed and available, but styles for
|
||||||
the USER-OMP package otherwise.
|
the OPENMP package otherwise.
|
||||||
|
|
||||||
Along with the "-package" command-line switch, this is a convenient
|
Along with the "-package" command-line switch, this is a convenient
|
||||||
mechanism for invoking accelerator packages and their options without
|
mechanism for invoking accelerator packages and their options without
|
||||||
@ -570,15 +570,15 @@ default GPU settings, as if the command "package gpu 1" were used at
|
|||||||
the top of your input script. These settings can be changed by using
|
the top of your input script. These settings can be changed by using
|
||||||
the "-package gpu" command-line switch or the :doc:`package gpu <package>` command in your script.
|
the "-package gpu" command-line switch or the :doc:`package gpu <package>` command in your script.
|
||||||
|
|
||||||
For the USER-INTEL package, using this command-line switch also
|
For the INTEL package, using this command-line switch also
|
||||||
invokes the default USER-INTEL settings, as if the command "package
|
invokes the default INTEL settings, as if the command "package
|
||||||
intel 1" were used at the top of your input script. These settings
|
intel 1" were used at the top of your input script. These settings
|
||||||
can be changed by using the "-package intel" command-line switch or
|
can be changed by using the "-package intel" command-line switch or
|
||||||
the :doc:`package intel <package>` command in your script. If the
|
the :doc:`package intel <package>` command in your script. If the
|
||||||
USER-OMP package is also installed, the hybrid style with "intel omp"
|
OPENMP package is also installed, the hybrid style with "intel omp"
|
||||||
arguments can be used to make the omp suffix a second choice, if a
|
arguments can be used to make the omp suffix a second choice, if a
|
||||||
requested style is not available in the USER-INTEL package. It will
|
requested style is not available in the INTEL package. It will
|
||||||
also invoke the default USER-OMP settings, as if the command "package
|
also invoke the default OPENMP settings, as if the command "package
|
||||||
omp 0" were used at the top of your input script. These settings can
|
omp 0" were used at the top of your input script. These settings can
|
||||||
be changed by using the "-package omp" command-line switch or the
|
be changed by using the "-package omp" command-line switch or the
|
||||||
:doc:`package omp <package>` command in your script.
|
:doc:`package omp <package>` command in your script.
|
||||||
|
|||||||
@ -11,7 +11,7 @@ To run a serial (non-MPI) executable, follow these steps:
|
|||||||
in.file is the name of your LAMMPS input script.
|
in.file is the name of your LAMMPS input script.
|
||||||
|
|
||||||
Note that the serial executable includes support for multi-threading
|
Note that the serial executable includes support for multi-threading
|
||||||
parallelization from the styles in the USER-OMP packages. To run with
|
parallelization from the styles in the OPENMP packages. To run with
|
||||||
4 threads, you can type this:
|
4 threads, you can type this:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|||||||
@ -67,12 +67,12 @@ section below for examples where this has been done.
|
|||||||
pair style - on the CPU. This can often be easily achieved with placing
|
pair style - on the CPU. This can often be easily achieved with placing
|
||||||
a *suffix off* command before and a *suffix on* command after the
|
a *suffix off* command before and a *suffix on* command after the
|
||||||
*kspace_style pppm* command.
|
*kspace_style pppm* command.
|
||||||
* The KOKKOS/OpenMP and USER-OMP package have different thread management
|
* The KOKKOS/OpenMP and OPENMP package have different thread management
|
||||||
strategies, which should result in USER-OMP being more efficient for a
|
strategies, which should result in OPENMP being more efficient for a
|
||||||
small number of threads with increasing overhead as the number of threads
|
small number of threads with increasing overhead as the number of threads
|
||||||
per MPI rank grows. The KOKKOS/OpenMP kernels have less overhead in that
|
per MPI rank grows. The KOKKOS/OpenMP kernels have less overhead in that
|
||||||
case, but have lower performance with few threads.
|
case, but have lower performance with few threads.
|
||||||
* The USER-INTEL package contains many options and settings for achieving
|
* The INTEL package contains many options and settings for achieving
|
||||||
additional performance on Intel hardware (CPU and accelerator cards), but
|
additional performance on Intel hardware (CPU and accelerator cards), but
|
||||||
to unlock this potential, an Intel compiler is required. The package code
|
to unlock this potential, an Intel compiler is required. The package code
|
||||||
will compile with GNU gcc, but it will not be as efficient.
|
will compile with GNU gcc, but it will not be as efficient.
|
||||||
@ -90,5 +90,5 @@ section below for examples where this has been done.
|
|||||||
both, NVIDIA and AMD GPUs well. On NVIDIA hardware, using CUDA is typically
|
both, NVIDIA and AMD GPUs well. On NVIDIA hardware, using CUDA is typically
|
||||||
resulting in equal or better performance over OpenCL.
|
resulting in equal or better performance over OpenCL.
|
||||||
* OpenCL in the GPU package does theoretically also support Intel CPUs or
|
* OpenCL in the GPU package does theoretically also support Intel CPUs or
|
||||||
Intel Xeon Phi, but the native support for those in KOKKOS (or USER-INTEL)
|
Intel Xeon Phi, but the native support for those in KOKKOS (or INTEL)
|
||||||
is superior.
|
is superior.
|
||||||
|
|||||||
@ -150,7 +150,7 @@ hardware, which pair style is used, the number of atoms/GPU, and the
|
|||||||
precision used on the GPU (double, single, mixed). Using the GPU package
|
precision used on the GPU (double, single, mixed). Using the GPU package
|
||||||
in OpenCL mode on CPUs (which uses vectorization and multithreading) is
|
in OpenCL mode on CPUs (which uses vectorization and multithreading) is
|
||||||
usually resulting in inferior performance compared to using LAMMPS' native
|
usually resulting in inferior performance compared to using LAMMPS' native
|
||||||
threading and vectorization support in the USER-OMP and USER-INTEL packages.
|
threading and vectorization support in the OPENMP and INTEL packages.
|
||||||
|
|
||||||
See the `Benchmark page <https://www.lammps.org/bench.html>`_ of the
|
See the `Benchmark page <https://www.lammps.org/bench.html>`_ of the
|
||||||
LAMMPS web site for performance of the GPU package on various
|
LAMMPS web site for performance of the GPU package on various
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
USER-INTEL package
|
INTEL package
|
||||||
==================
|
==================
|
||||||
|
|
||||||
The USER-INTEL package is maintained by Mike Brown at Intel
|
The INTEL package is maintained by Mike Brown at Intel
|
||||||
Corporation. It provides two methods for accelerating simulations,
|
Corporation. It provides two methods for accelerating simulations,
|
||||||
depending on the hardware you have. The first is acceleration on
|
depending on the hardware you have. The first is acceleration on
|
||||||
Intel CPUs by running in single, mixed, or double precision with
|
Intel CPUs by running in single, mixed, or double precision with
|
||||||
@ -12,7 +12,7 @@ When offloading to a co-processor from a CPU, the same routine is run
|
|||||||
twice, once on the CPU and once with an offload flag. This allows
|
twice, once on the CPU and once with an offload flag. This allows
|
||||||
LAMMPS to run on the CPU cores and co-processor cores simultaneously.
|
LAMMPS to run on the CPU cores and co-processor cores simultaneously.
|
||||||
|
|
||||||
Currently Available USER-INTEL Styles
|
Currently Available INTEL Styles
|
||||||
"""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
* Angle Styles: charmm, harmonic
|
* Angle Styles: charmm, harmonic
|
||||||
@ -28,7 +28,7 @@ Currently Available USER-INTEL Styles
|
|||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
None of the styles in the USER-INTEL package currently
|
None of the styles in the INTEL package currently
|
||||||
support computing per-atom stress. If any compute or fix in your
|
support computing per-atom stress. If any compute or fix in your
|
||||||
input requires it, LAMMPS will abort with an error message.
|
input requires it, LAMMPS will abort with an error message.
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ precision mode. Performance improvements are shown compared to
|
|||||||
LAMMPS *without using other acceleration packages* as these are
|
LAMMPS *without using other acceleration packages* as these are
|
||||||
under active development (and subject to performance changes). The
|
under active development (and subject to performance changes). The
|
||||||
measurements were performed using the input files available in
|
measurements were performed using the input files available in
|
||||||
the src/USER-INTEL/TEST directory with the provided run script.
|
the src/INTEL/TEST directory with the provided run script.
|
||||||
These are scalable in size; the results given are with 512K
|
These are scalable in size; the results given are with 512K
|
||||||
particles (524K for Liquid Crystal). Most of the simulations are
|
particles (524K for Liquid Crystal). Most of the simulations are
|
||||||
standard LAMMPS benchmarks (indicated by the filename extension in
|
standard LAMMPS benchmarks (indicated by the filename extension in
|
||||||
@ -56,7 +56,7 @@ Results are speedups obtained on Intel Xeon E5-2697v4 processors
|
|||||||
Knights Landing), and Intel Xeon Gold 6148 processors (code-named
|
Knights Landing), and Intel Xeon Gold 6148 processors (code-named
|
||||||
Skylake) with "June 2017" LAMMPS built with Intel Parallel Studio
|
Skylake) with "June 2017" LAMMPS built with Intel Parallel Studio
|
||||||
2017 update 2. Results are with 1 MPI task per physical core. See
|
2017 update 2. Results are with 1 MPI task per physical core. See
|
||||||
*src/USER-INTEL/TEST/README* for the raw simulation rates and
|
*src/INTEL/TEST/README* for the raw simulation rates and
|
||||||
instructions to reproduce.
|
instructions to reproduce.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
@ -67,11 +67,11 @@ Accuracy and order of operations
|
|||||||
In most molecular dynamics software, parallelization parameters
|
In most molecular dynamics software, parallelization parameters
|
||||||
(# of MPI, OpenMP, and vectorization) can change the results due
|
(# of MPI, OpenMP, and vectorization) can change the results due
|
||||||
to changing the order of operations with finite-precision
|
to changing the order of operations with finite-precision
|
||||||
calculations. The USER-INTEL package is deterministic. This means
|
calculations. The INTEL package is deterministic. This means
|
||||||
that the results should be reproducible from run to run with the
|
that the results should be reproducible from run to run with the
|
||||||
*same* parallel configurations and when using deterministic
|
*same* parallel configurations and when using deterministic
|
||||||
libraries or library settings (MPI, OpenMP, FFT). However, there
|
libraries or library settings (MPI, OpenMP, FFT). However, there
|
||||||
are differences in the USER-INTEL package that can change the
|
are differences in the INTEL package that can change the
|
||||||
order of operations compared to LAMMPS without acceleration:
|
order of operations compared to LAMMPS without acceleration:
|
||||||
|
|
||||||
* Neighbor lists can be created in a different order
|
* Neighbor lists can be created in a different order
|
||||||
@ -88,7 +88,7 @@ order of operations compared to LAMMPS without acceleration:
|
|||||||
Twister generator included in the Intel MKL library (that should be
|
Twister generator included in the Intel MKL library (that should be
|
||||||
more robust than the default Masaglia random number generator)
|
more robust than the default Masaglia random number generator)
|
||||||
|
|
||||||
The precision mode (described below) used with the USER-INTEL
|
The precision mode (described below) used with the INTEL
|
||||||
package can change the *accuracy* of the calculations. For the
|
package can change the *accuracy* of the calculations. For the
|
||||||
default *mixed* precision option, calculations between pairs or
|
default *mixed* precision option, calculations between pairs or
|
||||||
triplets of atoms are performed in single precision, intended to
|
triplets of atoms are performed in single precision, intended to
|
||||||
@ -102,7 +102,7 @@ mode should not be used without appropriate validation.
|
|||||||
Quick Start for Experienced Users
|
Quick Start for Experienced Users
|
||||||
"""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
LAMMPS should be built with the USER-INTEL package installed.
|
LAMMPS should be built with the INTEL package installed.
|
||||||
Simulations should be run with 1 MPI task per physical *core*\ ,
|
Simulations should be run with 1 MPI task per physical *core*\ ,
|
||||||
not *hardware thread*\ .
|
not *hardware thread*\ .
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ When using Intel compilers version 16.0 or later is required.
|
|||||||
In order to use offload to co-processors, an Intel Xeon Phi
|
In order to use offload to co-processors, an Intel Xeon Phi
|
||||||
co-processor and an Intel compiler are required.
|
co-processor and an Intel compiler are required.
|
||||||
|
|
||||||
Although any compiler can be used with the USER-INTEL package,
|
Although any compiler can be used with the INTEL package,
|
||||||
currently, vectorization directives are disabled by default when
|
currently, vectorization directives are disabled by default when
|
||||||
not using Intel compilers due to lack of standard support and
|
not using Intel compilers due to lack of standard support and
|
||||||
observations of decreased performance. The OpenMP standard now
|
observations of decreased performance. The OpenMP standard now
|
||||||
@ -185,7 +185,7 @@ can start running so that the CPU pipeline is still being used
|
|||||||
efficiently. Although benefits can be seen by launching a MPI task
|
efficiently. Although benefits can be seen by launching a MPI task
|
||||||
for every hardware thread, for multinode simulations, we recommend
|
for every hardware thread, for multinode simulations, we recommend
|
||||||
that OpenMP threads are used for SMT instead, either with the
|
that OpenMP threads are used for SMT instead, either with the
|
||||||
USER-INTEL package, :doc:`USER-OMP package <Speed_omp>`, or
|
INTEL package, :doc:`OPENMP package <Speed_omp>`, or
|
||||||
:doc:`KOKKOS package <Speed_kokkos>`. In the example above, up
|
:doc:`KOKKOS package <Speed_kokkos>`. In the example above, up
|
||||||
to 36X speedups can be observed by using all 36 physical cores with
|
to 36X speedups can be observed by using all 36 physical cores with
|
||||||
LAMMPS. By using all 72 hardware threads, an additional 10-30%
|
LAMMPS. By using all 72 hardware threads, an additional 10-30%
|
||||||
@ -202,10 +202,10 @@ this information can normally be obtained with:
|
|||||||
|
|
||||||
cat /proc/cpuinfo
|
cat /proc/cpuinfo
|
||||||
|
|
||||||
Building LAMMPS with the USER-INTEL package
|
Building LAMMPS with the INTEL package
|
||||||
"""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
See the :ref:`Build extras <user-intel>` doc page for
|
See the :ref:`Build extras <intel>` doc page for
|
||||||
instructions. Some additional details are covered here.
|
instructions. Some additional details are covered here.
|
||||||
|
|
||||||
For building with make, several example Makefiles for building with
|
For building with make, several example Makefiles for building with
|
||||||
@ -228,7 +228,7 @@ simple as:
|
|||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
make yes-user-intel
|
make yes-intel
|
||||||
source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh
|
source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh
|
||||||
# or psxevars.csh for C-shell
|
# or psxevars.csh for C-shell
|
||||||
make intel_cpu_intelmpi
|
make intel_cpu_intelmpi
|
||||||
@ -238,7 +238,7 @@ binary can be used on nodes with or without co-processors installed.
|
|||||||
However, if you do not have co-processors on your system, building
|
However, if you do not have co-processors on your system, building
|
||||||
without offload support will produce a smaller binary.
|
without offload support will produce a smaller binary.
|
||||||
|
|
||||||
The general requirements for Makefiles with the USER-INTEL package
|
The general requirements for Makefiles with the INTEL package
|
||||||
are as follows. When using Intel compilers, "-restrict" is required
|
are as follows. When using Intel compilers, "-restrict" is required
|
||||||
and "-qopenmp" is highly recommended for CCFLAGS and LINKFLAGS.
|
and "-qopenmp" is highly recommended for CCFLAGS and LINKFLAGS.
|
||||||
CCFLAGS should include "-DLMP_INTEL_USELRT" (unless POSIX Threads
|
CCFLAGS should include "-DLMP_INTEL_USELRT" (unless POSIX Threads
|
||||||
@ -253,7 +253,7 @@ recommended CCFLAG options for best performance are "-O2 -fno-alias
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
See the src/USER-INTEL/README file for additional flags that
|
See the src/INTEL/README file for additional flags that
|
||||||
might be needed for best performance on Intel server processors
|
might be needed for best performance on Intel server processors
|
||||||
code-named "Skylake".
|
code-named "Skylake".
|
||||||
|
|
||||||
@ -270,14 +270,14 @@ recommended CCFLAG options for best performance are "-O2 -fno-alias
|
|||||||
in most of the example Makefiles is to use "-xHost", however this
|
in most of the example Makefiles is to use "-xHost", however this
|
||||||
should not be used when cross-compiling.
|
should not be used when cross-compiling.
|
||||||
|
|
||||||
Running LAMMPS with the USER-INTEL package
|
Running LAMMPS with the INTEL package
|
||||||
""""""""""""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
Running LAMMPS with the USER-INTEL package is similar to normal use
|
Running LAMMPS with the INTEL package is similar to normal use
|
||||||
with the exceptions that one should 1) specify that LAMMPS should use
|
with the exceptions that one should 1) specify that LAMMPS should use
|
||||||
the USER-INTEL package, 2) specify the number of OpenMP threads, and
|
the INTEL package, 2) specify the number of OpenMP threads, and
|
||||||
3) optionally specify the specific LAMMPS styles that should use the
|
3) optionally specify the specific LAMMPS styles that should use the
|
||||||
USER-INTEL package. 1) and 2) can be performed from the command-line
|
INTEL package. 1) and 2) can be performed from the command-line
|
||||||
or by editing the input script. 3) requires editing the input script.
|
or by editing the input script. 3) requires editing the input script.
|
||||||
Advanced performance tuning options are also described below to get
|
Advanced performance tuning options are also described below to get
|
||||||
the best performance.
|
the best performance.
|
||||||
@ -312,27 +312,27 @@ almost all cases.
|
|||||||
recommended, especially when running on a machine with Intel
|
recommended, especially when running on a machine with Intel
|
||||||
Hyper-Threading technology disabled.
|
Hyper-Threading technology disabled.
|
||||||
|
|
||||||
Run with the USER-INTEL package from the command line
|
Run with the INTEL package from the command line
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
To enable USER-INTEL optimizations for all available styles used in
|
To enable INTEL optimizations for all available styles used in
|
||||||
the input script, the "-sf intel" :doc:`command-line switch <Run_options>` can be used without any requirement for
|
the input script, the "-sf intel" :doc:`command-line switch <Run_options>` can be used without any requirement for
|
||||||
editing the input script. This switch will automatically append
|
editing the input script. This switch will automatically append
|
||||||
"intel" to styles that support it. It also invokes a default command:
|
"intel" to styles that support it. It also invokes a default command:
|
||||||
:doc:`package intel 1 <package>`. This package command is used to set
|
:doc:`package intel 1 <package>`. This package command is used to set
|
||||||
options for the USER-INTEL package. The default package command will
|
options for the INTEL package. The default package command will
|
||||||
specify that USER-INTEL calculations are performed in mixed precision,
|
specify that INTEL calculations are performed in mixed precision,
|
||||||
that the number of OpenMP threads is specified by the OMP_NUM_THREADS
|
that the number of OpenMP threads is specified by the OMP_NUM_THREADS
|
||||||
environment variable, and that if co-processors are present and the
|
environment variable, and that if co-processors are present and the
|
||||||
binary was built with offload support, that 1 co-processor per node
|
binary was built with offload support, that 1 co-processor per node
|
||||||
will be used with automatic balancing of work between the CPU and the
|
will be used with automatic balancing of work between the CPU and the
|
||||||
co-processor.
|
co-processor.
|
||||||
|
|
||||||
You can specify different options for the USER-INTEL package by using
|
You can specify different options for the INTEL package by using
|
||||||
the "-pk intel Nphi" :doc:`command-line switch <Run_options>` with
|
the "-pk intel Nphi" :doc:`command-line switch <Run_options>` with
|
||||||
keyword/value pairs as specified in the documentation. Here, Nphi = #
|
keyword/value pairs as specified in the documentation. Here, Nphi = #
|
||||||
of Xeon Phi co-processors/node (ignored without offload
|
of Xeon Phi co-processors/node (ignored without offload
|
||||||
support). Common options to the USER-INTEL package include *omp* to
|
support). Common options to the INTEL package include *omp* to
|
||||||
override any OMP_NUM_THREADS setting and specify the number of OpenMP
|
override any OMP_NUM_THREADS setting and specify the number of OpenMP
|
||||||
threads, *mode* to set the floating-point precision mode, and *lrt* to
|
threads, *mode* to set the floating-point precision mode, and *lrt* to
|
||||||
enable Long-Range Thread mode as described below. See the :doc:`package intel <package>` command for details, including the default values
|
enable Long-Range Thread mode as described below. See the :doc:`package intel <package>` command for details, including the default values
|
||||||
@ -348,11 +348,11 @@ launching MPI applications):
|
|||||||
mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script # 2 nodes, 36 MPI tasks/node, $OMP_NUM_THREADS OpenMP Threads
|
mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script # 2 nodes, 36 MPI tasks/node, $OMP_NUM_THREADS OpenMP Threads
|
||||||
mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script -pk intel 0 omp 2 mode double # Don't use any co-processors that might be available, use 2 OpenMP threads for each task, use double precision
|
mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script -pk intel 0 omp 2 mode double # Don't use any co-processors that might be available, use 2 OpenMP threads for each task, use double precision
|
||||||
|
|
||||||
Or run with the USER-INTEL package by editing an input script
|
Or run with the INTEL package by editing an input script
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
As an alternative to adding command-line arguments, the input script
|
As an alternative to adding command-line arguments, the input script
|
||||||
can be edited to enable the USER-INTEL package. This requires adding
|
can be edited to enable the INTEL package. This requires adding
|
||||||
the :doc:`package intel <package>` command to the top of the input
|
the :doc:`package intel <package>` command to the top of the input
|
||||||
script. For the second example above, this would be:
|
script. For the second example above, this would be:
|
||||||
|
|
||||||
@ -360,7 +360,7 @@ script. For the second example above, this would be:
|
|||||||
|
|
||||||
package intel 0 omp 2 mode double
|
package intel 0 omp 2 mode double
|
||||||
|
|
||||||
To enable the USER-INTEL package only for individual styles, you can
|
To enable the INTEL package only for individual styles, you can
|
||||||
add an "intel" suffix to the individual style, e.g.:
|
add an "intel" suffix to the individual style, e.g.:
|
||||||
|
|
||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
@ -368,7 +368,7 @@ add an "intel" suffix to the individual style, e.g.:
|
|||||||
pair_style lj/cut/intel 2.5
|
pair_style lj/cut/intel 2.5
|
||||||
|
|
||||||
Alternatively, the :doc:`suffix intel <suffix>` command can be added to
|
Alternatively, the :doc:`suffix intel <suffix>` command can be added to
|
||||||
the input script to enable USER-INTEL styles for the commands that
|
the input script to enable INTEL styles for the commands that
|
||||||
follow in the input script.
|
follow in the input script.
|
||||||
|
|
||||||
Tuning for Performance
|
Tuning for Performance
|
||||||
@ -376,7 +376,7 @@ Tuning for Performance
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The USER-INTEL package will perform better with modifications
|
The INTEL package will perform better with modifications
|
||||||
to the input script when :doc:`PPPM <kspace_style>` is used:
|
to the input script when :doc:`PPPM <kspace_style>` is used:
|
||||||
:doc:`kspace_modify diff ad <kspace_modify>` should be added to the
|
:doc:`kspace_modify diff ad <kspace_modify>` should be added to the
|
||||||
input script.
|
input script.
|
||||||
@ -388,7 +388,7 @@ is dedicated to performing some of the PPPM calculations and MPI
|
|||||||
communications. This feature requires setting the pre-processor flag
|
communications. This feature requires setting the pre-processor flag
|
||||||
-DLMP_INTEL_USELRT in the makefile when compiling LAMMPS. It is unset
|
-DLMP_INTEL_USELRT in the makefile when compiling LAMMPS. It is unset
|
||||||
in the default makefiles (\ *Makefile.mpi* and *Makefile.serial*\ ) but
|
in the default makefiles (\ *Makefile.mpi* and *Makefile.serial*\ ) but
|
||||||
it is set in all makefiles tuned for the USER-INTEL package. On Intel
|
it is set in all makefiles tuned for the INTEL package. On Intel
|
||||||
Xeon Phi x200 series CPUs, the LRT feature will likely improve
|
Xeon Phi x200 series CPUs, the LRT feature will likely improve
|
||||||
performance, even on a single node. On Intel Xeon processors, using
|
performance, even on a single node. On Intel Xeon processors, using
|
||||||
this mode might result in better performance when using multiple nodes,
|
this mode might result in better performance when using multiple nodes,
|
||||||
@ -407,9 +407,9 @@ when using offload.
|
|||||||
performance and/or scalability for simple 2-body potentials such as
|
performance and/or scalability for simple 2-body potentials such as
|
||||||
lj/cut or when using LRT mode on processors supporting AVX-512.
|
lj/cut or when using LRT mode on processors supporting AVX-512.
|
||||||
|
|
||||||
Not all styles are supported in the USER-INTEL package. You can mix
|
Not all styles are supported in the INTEL package. You can mix
|
||||||
the USER-INTEL package with styles from the :doc:`OPT <Speed_opt>`
|
the INTEL package with styles from the :doc:`OPT <Speed_opt>`
|
||||||
package or the :doc:`USER-OMP package <Speed_omp>`. Of course, this
|
package or the :doc:`OPENMP package <Speed_omp>`. Of course, this
|
||||||
requires that these packages were installed at build time. This can
|
requires that these packages were installed at build time. This can
|
||||||
performed automatically by using "-sf hybrid intel opt" or "-sf hybrid
|
performed automatically by using "-sf hybrid intel opt" or "-sf hybrid
|
||||||
intel omp" command-line options. Alternatively, the "opt" and "omp"
|
intel omp" command-line options. Alternatively, the "opt" and "omp"
|
||||||
@ -420,7 +420,7 @@ where Nt is the number of OpenMP threads. The number of OpenMP threads
|
|||||||
should not be set differently for the different packages. Note that
|
should not be set differently for the different packages. Note that
|
||||||
the :doc:`suffix hybrid intel omp <suffix>` command can also be used
|
the :doc:`suffix hybrid intel omp <suffix>` command can also be used
|
||||||
within the input script to automatically append the "omp" suffix to
|
within the input script to automatically append the "omp" suffix to
|
||||||
styles when USER-INTEL styles are not available.
|
styles when INTEL styles are not available.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
@ -492,7 +492,7 @@ tuning of the number of threads to use per MPI task or the number of
|
|||||||
threads to use per core can be accomplished with keyword settings of
|
threads to use per core can be accomplished with keyword settings of
|
||||||
the :doc:`package intel <package>` command.
|
the :doc:`package intel <package>` command.
|
||||||
|
|
||||||
The USER-INTEL package has two modes for deciding which atoms will be
|
The INTEL package has two modes for deciding which atoms will be
|
||||||
handled by the co-processor. This choice is controlled with the *ghost*
|
handled by the co-processor. This choice is controlled with the *ghost*
|
||||||
keyword of the :doc:`package intel <package>` command. When set to 0,
|
keyword of the :doc:`package intel <package>` command. When set to 0,
|
||||||
ghost atoms (atoms at the borders between MPI tasks) are not offloaded
|
ghost atoms (atoms at the borders between MPI tasks) are not offloaded
|
||||||
@ -528,7 +528,7 @@ accelerated style may be used with hybrid styles when offloading.
|
|||||||
:doc:`Special_bonds <special_bonds>` exclusion lists are not currently
|
:doc:`Special_bonds <special_bonds>` exclusion lists are not currently
|
||||||
supported with offload, however, the same effect can often be
|
supported with offload, however, the same effect can often be
|
||||||
accomplished by setting cutoffs for excluded atom types to 0. None of
|
accomplished by setting cutoffs for excluded atom types to 0. None of
|
||||||
the pair styles in the USER-INTEL package currently support the
|
the pair styles in the INTEL package currently support the
|
||||||
"inner", "middle", "outer" options for rRESPA integration via the
|
"inner", "middle", "outer" options for rRESPA integration via the
|
||||||
:doc:`run_style respa <run_style>` command; only the "pair" option is
|
:doc:`run_style respa <run_style>` command; only the "pair" option is
|
||||||
supported.
|
supported.
|
||||||
|
|||||||
@ -235,7 +235,7 @@ threads/task as Nt. The product of these two values should be N, i.e.
|
|||||||
|
|
||||||
To build with Kokkos support for Intel Xeon Phi co-processors
|
To build with Kokkos support for Intel Xeon Phi co-processors
|
||||||
such as Knight's Corner (KNC), your system must be configured to use
|
such as Knight's Corner (KNC), your system must be configured to use
|
||||||
them in "native" mode, not "offload" mode like the USER-INTEL package
|
them in "native" mode, not "offload" mode like the INTEL package
|
||||||
supports.
|
supports.
|
||||||
|
|
||||||
Running on GPUs
|
Running on GPUs
|
||||||
@ -390,10 +390,10 @@ Generally speaking, the following rules of thumb apply:
|
|||||||
* When running on CPUs only, with a single thread per MPI task,
|
* When running on CPUs only, with a single thread per MPI task,
|
||||||
performance of a KOKKOS style is somewhere between the standard
|
performance of a KOKKOS style is somewhere between the standard
|
||||||
(un-accelerated) styles (MPI-only mode), and those provided by the
|
(un-accelerated) styles (MPI-only mode), and those provided by the
|
||||||
USER-OMP package. However the difference between all 3 is small (less
|
OPENMP package. However the difference between all 3 is small (less
|
||||||
than 20%).
|
than 20%).
|
||||||
* When running on CPUs only, with multiple threads per MPI task,
|
* When running on CPUs only, with multiple threads per MPI task,
|
||||||
performance of a KOKKOS style is a bit slower than the USER-OMP
|
performance of a KOKKOS style is a bit slower than the OPENMP
|
||||||
package.
|
package.
|
||||||
* When running large number of atoms per GPU, KOKKOS is typically faster
|
* When running large number of atoms per GPU, KOKKOS is typically faster
|
||||||
than the GPU package when compiled for double precision. The benefit
|
than the GPU package when compiled for double precision. The benefit
|
||||||
@ -401,8 +401,8 @@ Generally speaking, the following rules of thumb apply:
|
|||||||
significantly on the hardware in use and the simulated system and pair
|
significantly on the hardware in use and the simulated system and pair
|
||||||
style.
|
style.
|
||||||
* When running on Intel hardware, KOKKOS is not as fast as
|
* When running on Intel hardware, KOKKOS is not as fast as
|
||||||
the USER-INTEL package, which is optimized for x86 hardware (not just
|
the INTEL package, which is optimized for x86 hardware (not just
|
||||||
from Intel) and compilation with the Intel compilers. The USER-INTEL
|
from Intel) and compilation with the Intel compilers. The INTEL
|
||||||
package also can increase the vector length of vector instructions
|
package also can increase the vector length of vector instructions
|
||||||
by switching to single or mixed precision mode.
|
by switching to single or mixed precision mode.
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
USER-OMP package
|
OPENMP package
|
||||||
================
|
================
|
||||||
|
|
||||||
The USER-OMP package was developed by Axel Kohlmeyer at Temple
|
The OPENMP package was developed by Axel Kohlmeyer at Temple
|
||||||
University. It provides optimized and multi-threaded versions
|
University. It provides optimized and multi-threaded versions
|
||||||
of many pair styles, nearly all bonded styles (bond, angle, dihedral,
|
of many pair styles, nearly all bonded styles (bond, angle, dihedral,
|
||||||
improper), several Kspace styles, and a few fix styles. It uses
|
improper), several Kspace styles, and a few fix styles. It uses
|
||||||
@ -15,13 +15,13 @@ To enable multi-threading, your compiler must support the OpenMP interface.
|
|||||||
You should have one or more multi-core CPUs, as multiple threads can only be
|
You should have one or more multi-core CPUs, as multiple threads can only be
|
||||||
launched by each MPI task on the local node (using shared memory).
|
launched by each MPI task on the local node (using shared memory).
|
||||||
|
|
||||||
Building LAMMPS with the USER-OMP package
|
Building LAMMPS with the OPENMP package
|
||||||
"""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
See the :ref:`Build extras <user-omp>` doc page for
|
See the :ref:`Build extras <openmp>` doc page for
|
||||||
instructions.
|
instructions.
|
||||||
|
|
||||||
Run with the USER-OMP package from the command line
|
Run with the OPENMP package from the command line
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
These examples assume one or more 16-core nodes.
|
These examples assume one or more 16-core nodes.
|
||||||
@ -39,7 +39,7 @@ tasks used per node. E.g. the mpirun command in MPICH does this via
|
|||||||
its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.
|
its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.
|
||||||
|
|
||||||
You need to choose how many OpenMP threads per MPI task will be used
|
You need to choose how many OpenMP threads per MPI task will be used
|
||||||
by the USER-OMP package. Note that the product of MPI tasks \*
|
by the OPENMP package. Note that the product of MPI tasks \*
|
||||||
threads/task should not exceed the physical number of cores (on a
|
threads/task should not exceed the physical number of cores (on a
|
||||||
node), otherwise performance will suffer.
|
node), otherwise performance will suffer.
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ details, including the default values used if it is not specified. It
|
|||||||
also gives more details on how to set the number of threads via the
|
also gives more details on how to set the number of threads via the
|
||||||
OMP_NUM_THREADS environment variable.
|
OMP_NUM_THREADS environment variable.
|
||||||
|
|
||||||
Or run with the USER-OMP package by editing an input script
|
Or run with the OPENMP package by editing an input script
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
The discussion above for the mpirun/mpiexec command, MPI tasks/node,
|
The discussion above for the mpirun/mpiexec command, MPI tasks/node,
|
||||||
@ -69,7 +69,7 @@ Use the :doc:`suffix omp <suffix>` command, or you can explicitly add an
|
|||||||
pair_style lj/cut/omp 2.5
|
pair_style lj/cut/omp 2.5
|
||||||
|
|
||||||
You must also use the :doc:`package omp <package>` command to enable the
|
You must also use the :doc:`package omp <package>` command to enable the
|
||||||
USER-OMP package. When you do this you also specify how many threads
|
OPENMP package. When you do this you also specify how many threads
|
||||||
per MPI task to use. The command doc page explains other options and
|
per MPI task to use. The command doc page explains other options and
|
||||||
how to set the number of threads via the OMP_NUM_THREADS environment
|
how to set the number of threads via the OMP_NUM_THREADS environment
|
||||||
variable.
|
variable.
|
||||||
@ -82,10 +82,10 @@ reduction in the "Pair time", "Bond time", "KSpace time", and "Loop
|
|||||||
time" values printed at the end of a run.
|
time" values printed at the end of a run.
|
||||||
|
|
||||||
You may see a small performance advantage (5 to 20%) when running a
|
You may see a small performance advantage (5 to 20%) when running a
|
||||||
USER-OMP style (in serial or parallel) with a single thread per MPI
|
OPENMP style (in serial or parallel) with a single thread per MPI
|
||||||
task, versus running standard LAMMPS with its standard un-accelerated
|
task, versus running standard LAMMPS with its standard un-accelerated
|
||||||
styles (in serial or all-MPI parallelization with 1 task/core). This
|
styles (in serial or all-MPI parallelization with 1 task/core). This
|
||||||
is because many of the USER-OMP styles contain similar optimizations
|
is because many of the OPENMP styles contain similar optimizations
|
||||||
to those used in the OPT package, described in
|
to those used in the OPT package, described in
|
||||||
:doc:`the OPT package <Speed_opt>` doc page.
|
:doc:`the OPT package <Speed_opt>` doc page.
|
||||||
|
|
||||||
@ -95,19 +95,19 @@ tested via benchmark runs for a specific simulation running on a
|
|||||||
specific machine, paying attention to guidelines discussed in the next
|
specific machine, paying attention to guidelines discussed in the next
|
||||||
sub-section.
|
sub-section.
|
||||||
|
|
||||||
A description of the multi-threading strategy used in the USER-OMP
|
A description of the multi-threading strategy used in the OPENMP
|
||||||
package and some performance examples are
|
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 <http://sites.google.com/site/akohlmey/software/lammps-icms/lammps-icms-tms2011-talk.pdf?attredirects=0&d=1>`_.
|
||||||
|
|
||||||
Guidelines for best performance
|
Guidelines for best performance
|
||||||
"""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
For many problems on current generation CPUs, running the USER-OMP
|
For many problems on current generation CPUs, running the OPENMP
|
||||||
package with a single thread/task is faster than running with multiple
|
package with a single thread/task is faster than running with multiple
|
||||||
threads/task. This is because the MPI parallelization in LAMMPS is
|
threads/task. This is because the MPI parallelization in LAMMPS is
|
||||||
often more efficient than multi-threading as implemented in the
|
often more efficient than multi-threading as implemented in the
|
||||||
USER-OMP package. The parallel efficiency (in a threaded sense) also
|
OPENMP package. The parallel efficiency (in a threaded sense) also
|
||||||
varies for different USER-OMP styles.
|
varies for different OPENMP styles.
|
||||||
|
|
||||||
Using multiple threads/task can be more effective under the following
|
Using multiple threads/task can be more effective under the following
|
||||||
circumstances:
|
circumstances:
|
||||||
@ -143,7 +143,7 @@ circumstances:
|
|||||||
sometimes be achieved by increasing the length of the Coulombic cutoff
|
sometimes be achieved by increasing the length of the Coulombic cutoff
|
||||||
and thus reducing the work done by the long-range solver. Using the
|
and thus reducing the work done by the long-range solver. Using the
|
||||||
:doc:`run_style verlet/split <run_style>` command, which is compatible
|
:doc:`run_style verlet/split <run_style>` command, which is compatible
|
||||||
with the USER-OMP package, is an alternative way to reduce the number
|
with the OPENMP package, is an alternative way to reduce the number
|
||||||
of MPI tasks assigned to the KSpace calculation.
|
of MPI tasks assigned to the KSpace calculation.
|
||||||
|
|
||||||
Additional performance tips are as follows:
|
Additional performance tips are as follows:
|
||||||
|
|||||||
@ -12,17 +12,16 @@ All of these commands are in packages provided with LAMMPS. An
|
|||||||
overview of packages is give on the :doc:`Packages <Packages>` doc
|
overview of packages is give on the :doc:`Packages <Packages>` doc
|
||||||
pages.
|
pages.
|
||||||
|
|
||||||
These are the accelerator packages currently in LAMMPS, either as
|
These are the accelerator packages currently in LAMMPS:
|
||||||
standard or user packages:
|
|
||||||
|
|
||||||
+-----------------------------------------+-------------------------------------------------------+
|
+-----------------------------------------+-------------------------------------------------------+
|
||||||
| :doc:`GPU Package <Speed_gpu>` | for GPUs via CUDA, OpenCL, or ROCm HIP |
|
| :doc:`GPU Package <Speed_gpu>` | for GPUs via CUDA, OpenCL, or ROCm HIP |
|
||||||
+-----------------------------------------+-------------------------------------------------------+
|
+-----------------------------------------+-------------------------------------------------------+
|
||||||
| :doc:`USER-INTEL Package <Speed_intel>` | for Intel CPUs and Intel Xeon Phi |
|
| :doc:`INTEL Package <Speed_intel>` | for Intel CPUs and Intel Xeon Phi |
|
||||||
+-----------------------------------------+-------------------------------------------------------+
|
+-----------------------------------------+-------------------------------------------------------+
|
||||||
| :doc:`KOKKOS Package <Speed_kokkos>` | for NVIDIA GPUs, Intel Xeon Phi, and OpenMP threading |
|
| :doc:`KOKKOS Package <Speed_kokkos>` | for NVIDIA GPUs, Intel Xeon Phi, and OpenMP threading |
|
||||||
+-----------------------------------------+-------------------------------------------------------+
|
+-----------------------------------------+-------------------------------------------------------+
|
||||||
| :doc:`USER-OMP Package <Speed_omp>` | for OpenMP threading and generic CPU optimizations |
|
| :doc:`OPENMP Package <Speed_omp>` | for OpenMP threading and generic CPU optimizations |
|
||||||
+-----------------------------------------+-------------------------------------------------------+
|
+-----------------------------------------+-------------------------------------------------------+
|
||||||
| :doc:`OPT Package <Speed_opt>` | generic CPU optimizations |
|
| :doc:`OPT Package <Speed_opt>` | generic CPU optimizations |
|
||||||
+-----------------------------------------+-------------------------------------------------------+
|
+-----------------------------------------+-------------------------------------------------------+
|
||||||
@ -41,11 +40,11 @@ Inverting this list, LAMMPS currently has acceleration support for
|
|||||||
three kinds of hardware, via the listed packages:
|
three kinds of hardware, via the listed packages:
|
||||||
|
|
||||||
+-----------------+-----------------------------------------------------------------------------------------------------------------------------+
|
+-----------------+-----------------------------------------------------------------------------------------------------------------------------+
|
||||||
| Many-core CPUs | :doc:`USER-INTEL <Speed_intel>`, :doc:`KOKKOS <Speed_kokkos>`, :doc:`USER-OMP <Speed_omp>`, :doc:`OPT <Speed_opt>` packages |
|
| Many-core CPUs | :doc:`INTEL <Speed_intel>`, :doc:`KOKKOS <Speed_kokkos>`, :doc:`OPENMP <Speed_omp>`, :doc:`OPT <Speed_opt>` packages |
|
||||||
+-----------------+-----------------------------------------------------------------------------------------------------------------------------+
|
+-----------------+-----------------------------------------------------------------------------------------------------------------------------+
|
||||||
| GPUs | :doc:`GPU <Speed_gpu>`, :doc:`KOKKOS <Speed_kokkos>` packages |
|
| GPUs | :doc:`GPU <Speed_gpu>`, :doc:`KOKKOS <Speed_kokkos>` packages |
|
||||||
+-----------------+-----------------------------------------------------------------------------------------------------------------------------+
|
+-----------------+-----------------------------------------------------------------------------------------------------------------------------+
|
||||||
| Intel Phi/AVX | :doc:`USER-INTEL <Speed_intel>`, :doc:`KOKKOS <Speed_kokkos>` packages |
|
| Intel Phi/AVX | :doc:`INTEL <Speed_intel>`, :doc:`KOKKOS <Speed_kokkos>` packages |
|
||||||
+-----------------+-----------------------------------------------------------------------------------------------------------------------------+
|
+-----------------+-----------------------------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
Which package is fastest for your hardware may depend on the size
|
Which package is fastest for your hardware may depend on the size
|
||||||
@ -84,9 +83,9 @@ listed above:
|
|||||||
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
||||||
| build the accelerator library | only for GPU package |
|
| build the accelerator library | only for GPU package |
|
||||||
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
||||||
| install the accelerator package | make yes-opt, make yes-user-intel, etc |
|
| install the accelerator package | make yes-opt, make yes-intel, etc |
|
||||||
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
||||||
| add compile/link flags to Makefile.machine in src/MAKE | only for USER-INTEL, KOKKOS, USER-OMP, OPT packages |
|
| add compile/link flags to Makefile.machine in src/MAKE | only for INTEL, KOKKOS, OPENMP, OPT packages |
|
||||||
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
||||||
| re-build LAMMPS | make machine |
|
| re-build LAMMPS | make machine |
|
||||||
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
+--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+
|
||||||
@ -116,15 +115,15 @@ script.
|
|||||||
|
|
||||||
With a few exceptions, you can build a single LAMMPS executable
|
With a few exceptions, you can build a single LAMMPS executable
|
||||||
with all its accelerator packages installed. Note however that the
|
with all its accelerator packages installed. Note however that the
|
||||||
USER-INTEL and KOKKOS packages require you to choose one of their
|
INTEL and KOKKOS packages require you to choose one of their
|
||||||
hardware options when building for a specific platform. I.e. CPU or
|
hardware options when building for a specific platform. I.e. CPU or
|
||||||
Phi option for the USER-INTEL package. Or the OpenMP, Cuda, or Phi
|
Phi option for the INTEL package. Or the OpenMP, Cuda, or Phi
|
||||||
option for the KOKKOS package.
|
option for the KOKKOS package.
|
||||||
|
|
||||||
These are the exceptions. You cannot build a single executable with:
|
These are the exceptions. You cannot build a single executable with:
|
||||||
|
|
||||||
* both the USER-INTEL Phi and KOKKOS Phi options
|
* both the INTEL Phi and KOKKOS Phi options
|
||||||
* the USER-INTEL Phi or Kokkos Phi option, and the GPU package
|
* the INTEL Phi or Kokkos Phi option, and the GPU package
|
||||||
|
|
||||||
See the examples/accelerate/README and make.list files for sample
|
See the examples/accelerate/README and make.list files for sample
|
||||||
Make.py commands that build LAMMPS with any or all of the accelerator
|
Make.py commands that build LAMMPS with any or all of the accelerator
|
||||||
@ -156,7 +155,7 @@ are in the individual accelerator sections.
|
|||||||
* Styles with a "gpu" suffix are part of the GPU package and can be run
|
* Styles with a "gpu" suffix are part of the GPU package and can be run
|
||||||
on Intel, NVIDIA, or AMD GPUs. The speed-up on a GPU depends on a
|
on Intel, NVIDIA, or AMD GPUs. The speed-up on a GPU depends on a
|
||||||
variety of factors, discussed in the accelerator sections.
|
variety of factors, discussed in the accelerator sections.
|
||||||
* Styles with an "intel" suffix are part of the USER-INTEL
|
* Styles with an "intel" suffix are part of the INTEL
|
||||||
package. These styles support vectorized single and mixed precision
|
package. These styles support vectorized single and mixed precision
|
||||||
calculations, in addition to full double precision. In extreme cases,
|
calculations, in addition to full double precision. In extreme cases,
|
||||||
this can provide speedups over 3.5x on CPUs. The package also
|
this can provide speedups over 3.5x on CPUs. The package also
|
||||||
@ -167,7 +166,7 @@ are in the individual accelerator sections.
|
|||||||
run using OpenMP on multicore CPUs, on an NVIDIA or AMD GPU, or on an
|
run using OpenMP on multicore CPUs, on an NVIDIA or AMD GPU, or on an
|
||||||
Intel Xeon Phi in "native" mode. The speed-up depends on a variety of
|
Intel Xeon Phi in "native" mode. The speed-up depends on a variety of
|
||||||
factors, as discussed on the KOKKOS accelerator page.
|
factors, as discussed on the KOKKOS accelerator page.
|
||||||
* Styles with an "omp" suffix are part of the USER-OMP package and allow
|
* Styles with an "omp" suffix are part of the OPENMP package and allow
|
||||||
a pair-style to be run in multi-threaded mode using OpenMP. This can
|
a pair-style to be run in multi-threaded mode using OpenMP. This can
|
||||||
be useful on nodes with high-core counts when using less MPI processes
|
be useful on nodes with high-core counts when using less MPI processes
|
||||||
than cores is advantageous, e.g. when running with PPPM so that FFTs
|
than cores is advantageous, e.g. when running with PPPM so that FFTs
|
||||||
|
|||||||
@ -67,7 +67,7 @@ Post-processing tools
|
|||||||
* :ref:`amber2lmp <amber>`
|
* :ref:`amber2lmp <amber>`
|
||||||
* :ref:`binary2txt <binary>`
|
* :ref:`binary2txt <binary>`
|
||||||
* :ref:`ch2lmp <charmm>`
|
* :ref:`ch2lmp <charmm>`
|
||||||
* :ref:`colvars <colvars>`
|
* :ref:`colvars <colvars_tools>`
|
||||||
* :ref:`eff <eff>`
|
* :ref:`eff <eff>`
|
||||||
* :ref:`fep <fep>`
|
* :ref:`fep <fep>`
|
||||||
* :ref:`lmp2arc <arc>`
|
* :ref:`lmp2arc <arc>`
|
||||||
@ -214,7 +214,7 @@ tool and the specific name of the program used (e.g. ``ninja-v1.10`` or
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _colvars:
|
.. _colvars_tools:
|
||||||
|
|
||||||
colvars tools
|
colvars tools
|
||||||
---------------------------
|
---------------------------
|
||||||
@ -341,7 +341,7 @@ fep tool
|
|||||||
|
|
||||||
The tools/fep directory contains Python scripts useful for
|
The tools/fep directory contains Python scripts useful for
|
||||||
post-processing results from performing free-energy perturbation
|
post-processing results from performing free-energy perturbation
|
||||||
simulations using the USER-FEP package.
|
simulations using the FEP package.
|
||||||
|
|
||||||
The scripts were contributed by Agilio Padua (ENS de Lyon), agilio.padua at ens-lyon.fr.
|
The scripts were contributed by Agilio Padua (ENS de Lyon), agilio.padua at ens-lyon.fr.
|
||||||
|
|
||||||
@ -861,10 +861,10 @@ phonon tool
|
|||||||
|
|
||||||
The phonon sub-directory contains a post-processing tool useful for
|
The phonon sub-directory contains a post-processing tool useful for
|
||||||
analyzing the output of the :doc:`fix phonon <fix_phonon>` command in
|
analyzing the output of the :doc:`fix phonon <fix_phonon>` command in
|
||||||
the USER-PHONON package.
|
the PHONON package.
|
||||||
|
|
||||||
See the README file for instruction on building the tool and what
|
See the README file for instruction on building the tool and what
|
||||||
library it needs. And see the examples/USER/phonon directory
|
library it needs. And see the examples/PACKAGES/phonon directory
|
||||||
for example problems that can be post-processed with this tool.
|
for example problems that can be post-processed with this tool.
|
||||||
|
|
||||||
This tool was written by Ling-Ti Kong at Shanghai Jiao Tong
|
This tool was written by Ling-Ti Kong at Shanghai Jiao Tong
|
||||||
@ -968,13 +968,13 @@ smd tool
|
|||||||
|
|
||||||
The smd sub-directory contains a C++ file dump2vtk_tris.cpp and
|
The smd sub-directory contains a C++ file dump2vtk_tris.cpp and
|
||||||
Makefile which can be compiled and used to convert triangle output
|
Makefile which can be compiled and used to convert triangle output
|
||||||
files created by the Smooth-Mach Dynamics (USER-SMD) package into a
|
files created by the Smooth-Mach Dynamics (MACHDYN) package into a
|
||||||
VTK-compatible unstructured grid file. It could then be read in and
|
VTK-compatible unstructured grid file. It could then be read in and
|
||||||
visualized by VTK.
|
visualized by VTK.
|
||||||
|
|
||||||
See the header of dump2vtk.cpp for more details.
|
See the header of dump2vtk.cpp for more details.
|
||||||
|
|
||||||
This tool was written by the USER-SMD package author, Georg
|
This tool was written by the MACHDYN package author, Georg
|
||||||
Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics,
|
Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics,
|
||||||
Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
|
Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
|
||||||
|
|
||||||
|
|||||||
@ -5,8 +5,8 @@ hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
|
|||||||
page. The accelerated styles take the same arguments and should
|
page. The accelerated styles take the same arguments and should
|
||||||
produce the same results, except for round-off and precision issues.
|
produce the same results, except for round-off and precision issues.
|
||||||
|
|
||||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
These accelerated styles are part of the GPU, INTEL, KOKKOS,
|
||||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
OPENMP and OPT packages, respectively. They are only enabled if
|
||||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||||
|
|
||||||
You can specify the accelerated styles explicitly in your input script
|
You can specify the accelerated styles explicitly in your input script
|
||||||
|
|||||||
@ -63,8 +63,8 @@ hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
|
|||||||
page. The accelerated styles take the same arguments and should
|
page. The accelerated styles take the same arguments and should
|
||||||
produce the same results, except for round-off and precision issues.
|
produce the same results, except for round-off and precision issues.
|
||||||
|
|
||||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
These accelerated styles are part of the GPU, INTEL, KOKKOS,
|
||||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
OPENMP and OPT packages, respectively. They are only enabled if
|
||||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||||
|
|
||||||
You can specify the accelerated styles explicitly in your input script
|
You can specify the accelerated styles explicitly in your input script
|
||||||
|
|||||||
@ -126,7 +126,7 @@ Restrictions
|
|||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the CLASS2
|
This angle style can only be used if LAMMPS was built with the CLASS2
|
||||||
package. For the *class2/p6* style LAMMPS needs to be built with the
|
package. For the *class2/p6* style LAMMPS needs to be built with the
|
||||||
USER-MOFFF package. See the :doc:`Build package <Build_package>` doc
|
MOFFF package. See the :doc:`Build package <Build_package>` doc
|
||||||
page for more info.
|
page for more info.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
|
|||||||
@ -60,7 +60,7 @@ Restrictions
|
|||||||
:doc:`special_bonds <special_bonds>` 0.0 weighting of 1-3 interactions.
|
:doc:`special_bonds <special_bonds>` 0.0 weighting of 1-3 interactions.
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER-MOFFF package. See the :doc:`Build package <Build_package>` doc
|
MOFFF package. See the :doc:`Build package <Build_package>` doc
|
||||||
page for more info.
|
page for more info.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
|
|||||||
@ -64,7 +64,7 @@ Restrictions
|
|||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This angle style can only be used if LAMMPS was built with the
|
This angle style can only be used if LAMMPS was built with the
|
||||||
USER-CGSDK package. See the :doc:`Build package <Build_package>` doc
|
CG-SDK package. See the :doc:`Build package <Build_package>` doc
|
||||||
page for more info.
|
page for more info.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
|
|||||||
@ -194,7 +194,7 @@ For the *peri* style, the particles are spherical and each stores a
|
|||||||
per-particle mass and volume.
|
per-particle mass and volume.
|
||||||
|
|
||||||
The *dpd* style is for dissipative particle dynamics (DPD) particles.
|
The *dpd* style is for dissipative particle dynamics (DPD) particles.
|
||||||
Note that it is part of the USER-DPD package, and is not for use with
|
Note that it is part of the DPD-REACT package, and is not for use with
|
||||||
the :doc:`pair_style dpd or dpd/stat <pair_dpd>` commands, which can
|
the :doc:`pair_style dpd or dpd/stat <pair_dpd>` commands, which can
|
||||||
simply use atom_style atomic. Atom_style dpd extends DPD particle
|
simply use atom_style atomic. Atom_style dpd extends DPD particle
|
||||||
properties with internal temperature (dpdTheta), internal conductive
|
properties with internal temperature (dpdTheta), internal conductive
|
||||||
@ -319,7 +319,7 @@ styles take the same arguments and should produce the same results,
|
|||||||
except for round-off and precision issues.
|
except for round-off and precision issues.
|
||||||
|
|
||||||
Note that other acceleration packages in LAMMPS, specifically the GPU,
|
Note that other acceleration packages in LAMMPS, specifically the GPU,
|
||||||
USER-INTEL, USER-OMP, and OPT packages do not use accelerated atom
|
INTEL, OPENMP, and OPT packages do not use accelerated atom
|
||||||
styles.
|
styles.
|
||||||
|
|
||||||
The accelerated styles are part of the KOKKOS package. They are only
|
The accelerated styles are part of the KOKKOS package. They are only
|
||||||
@ -352,24 +352,24 @@ The *dipole* style is part of the DIPOLE package.
|
|||||||
|
|
||||||
The *peri* style is part of the PERI package for Peridynamics.
|
The *peri* style is part of the PERI package for Peridynamics.
|
||||||
|
|
||||||
The *electron* style is part of the USER-EFF package for :doc:`electronic force fields <pair_eff>`.
|
The *electron* style is part of the EFF package for :doc:`electronic force fields <pair_eff>`.
|
||||||
|
|
||||||
The *dpd* style is part of the USER-DPD package for dissipative
|
The *dpd* style is part of the DPD-REACT package for dissipative
|
||||||
particle dynamics (DPD).
|
particle dynamics (DPD).
|
||||||
|
|
||||||
The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESODPD package
|
The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the DPD-MESO package
|
||||||
for energy-conserving dissipative particle dynamics (eDPD), many-body
|
for energy-conserving dissipative particle dynamics (eDPD), many-body
|
||||||
dissipative particle dynamics (mDPD), and transport dissipative particle
|
dissipative particle dynamics (mDPD), and transport dissipative particle
|
||||||
dynamics (tDPD), respectively.
|
dynamics (tDPD), respectively.
|
||||||
|
|
||||||
The *sph* style is part of the USER-SPH package for smoothed particle
|
The *sph* style is part of the SPH package for smoothed particle
|
||||||
hydrodynamics (SPH). See `this PDF guide <USER/sph/SPH_LAMMPS_userguide.pdf>`_ to using SPH in LAMMPS.
|
hydrodynamics (SPH). See `this PDF guide <USER/sph/SPH_LAMMPS_userguide.pdf>`_ to using SPH in LAMMPS.
|
||||||
|
|
||||||
The *mesont* style is part of the USER-MESONT package.
|
The *mesont* style is part of the MESONT package.
|
||||||
|
|
||||||
The *spin* style is part of the SPIN package.
|
The *spin* style is part of the SPIN package.
|
||||||
|
|
||||||
The *wavepacket* style is part of the USER-AWPMD package for the
|
The *wavepacket* style is part of the AWPMD package for the
|
||||||
:doc:`antisymmetrized wave packet MD method <pair_awpmd>`.
|
:doc:`antisymmetrized wave packet MD method <pair_awpmd>`.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
|
|||||||
@ -77,16 +77,16 @@ commands:
|
|||||||
be changed without reparameterizing the entire model.
|
be changed without reparameterizing the entire model.
|
||||||
|
|
||||||
Example input and data files for DNA and RNA duplexes can be found in
|
Example input and data files for DNA and RNA duplexes can be found in
|
||||||
examples/USER/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python
|
examples/PACKAGES/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python
|
||||||
setup tool which creates single straight or helical DNA strands, DNA/RNA
|
setup tool which creates single straight or helical DNA strands, DNA/RNA
|
||||||
duplexes or arrays of DNA/RNA duplexes can be found in
|
duplexes or arrays of DNA/RNA duplexes can be found in
|
||||||
examples/USER/cgdna/util/.
|
examples/PACKAGES/cgdna/util/.
|
||||||
|
|
||||||
Please cite :ref:`(Henrich) <Henrich0>` in any publication that uses
|
Please cite :ref:`(Henrich) <Henrich0>` in any publication that uses
|
||||||
this implementation. The article contains general information
|
this implementation. The article contains general information
|
||||||
on the model, its implementation and performance as well as the structure of
|
on the model, its implementation and performance as well as the structure of
|
||||||
the data and input file. The preprint version of the article can be found
|
the data and input file. The preprint version of the article can be found
|
||||||
`here <PDF/USER-CGDNA.pdf>`_.
|
`here <PDF/CG-DNA.pdf>`_.
|
||||||
Please cite also the relevant oxDNA/oxRNA publications. These are
|
Please cite also the relevant oxDNA/oxRNA publications. These are
|
||||||
:ref:`(Ouldridge) <Ouldridge0>` and
|
:ref:`(Ouldridge) <Ouldridge0>` and
|
||||||
:ref:`(Ouldridge-DPhil) <Ouldridge-DPhil0>` for oxDNA,
|
:ref:`(Ouldridge-DPhil) <Ouldridge-DPhil0>` for oxDNA,
|
||||||
@ -101,7 +101,7 @@ Restrictions
|
|||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This bond style can only be used if LAMMPS was built with the
|
This bond style can only be used if LAMMPS was built with the
|
||||||
USER-CGDNA package and the MOLECULE and ASPHERE package. See the
|
CG-DNA package and the MOLECULE and ASPHERE package. See the
|
||||||
:doc:`Build package <Build_package>` doc page for more info.
|
:doc:`Build package <Build_package>` doc page for more info.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
|
|||||||
@ -42,7 +42,7 @@ too frequently or to have multiple compute/dump commands, each of
|
|||||||
which computes this quantity.
|
which computes this quantity.
|
||||||
|
|
||||||
An example input script that uses this compute is provided
|
An example input script that uses this compute is provided
|
||||||
in examples/USER/misc/basal.
|
in examples/USER-MISC/basal.
|
||||||
|
|
||||||
Output info
|
Output info
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|||||||
@ -60,7 +60,7 @@ The vector values will be in energy and temperature :doc:`units <units>`.
|
|||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This command is part of the USER-DPD package. It is only enabled if
|
This command is part of the DPD-REACT package. It is only enabled if
|
||||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||||
|
|
||||||
This command also requires use of the :doc:`atom_style dpd <atom_style>`
|
This command also requires use of the :doc:`atom_style dpd <atom_style>`
|
||||||
|
|||||||
@ -50,7 +50,7 @@ and temperature (:math:`theta`) :doc:`units <units>`.
|
|||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This command is part of the USER-DPD package. It is only enabled if
|
This command is part of the DPD-REACT package. It is only enabled if
|
||||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||||
|
|
||||||
This command also requires use of the :doc:`atom_style dpd <atom_style>`
|
This command also requires use of the :doc:`atom_style dpd <atom_style>`
|
||||||
|
|||||||
@ -44,7 +44,7 @@ The per-atom vector values will be in temperature :doc:`units <units>`.
|
|||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This compute is part of the USER-MESODPD package. It is only enabled if
|
This compute is part of the DPD-MESO package. It is only enabled if
|
||||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user