Compare commits

..

1048 Commits

Author SHA1 Message Date
d242051c8e Merge pull request #1898 from akohlmey/next_lammps_version
Update version info for next release candidate
2020-02-27 14:38:08 -05:00
6e7e365981 Merge pull request #1888 from lammps/release-preparation
Documentation and Build script and Info updates for stable release
2020-02-27 13:23:08 -05:00
3c277409c2 switch parsed-literal to code-block in Howto files where applicable 2020-02-27 12:45:14 -05:00
669a49e994 Merge pull request #1908 from stanmoore1/kk_finalize
Finalize Kokkos on error exit
2020-02-27 12:05:17 -05:00
06ede499c1 use only the LAMMPS logo in the navigation bar 2020-02-27 11:36:00 -05:00
eb8531062c Merge branch 'doc-updates' of github.com:rbberger/lammps into release-preparation 2020-02-27 11:26:15 -05:00
25ec8d36a8 Final batch of index cleanup and code-blocks 2020-02-27 11:08:04 -05:00
704207f3c8 Finalize Kokkos on error exit 2020-02-27 08:51:02 -07:00
2d2cb46dc0 move release date 2020-02-27 08:58:09 +01:00
1bb38ed09b Merge commit 'refs/pull/1903/head' of github.com:lammps/lammps into release-preparation 2020-02-27 01:15:17 -05:00
9ef5949798 Second batch of index cleanup and code-blocks 2020-02-26 16:31:05 -05:00
3563d2f10d remove references to html-offline and only produce the offline viewable html manual 2020-02-26 16:01:03 -05:00
7bd3215226 Merge pull request #1894 from stanmoore1/kk_snap_chunk
Make Kokkos pair SNAP chunksize variable user-settable
2020-02-26 15:27:37 -05:00
ba560bc99e Merge pull request #1905 from akohlmey/compute-pair-neigh-request
Correct compute entropy/atom to work with "avg" flag enabled
2020-02-26 14:23:57 -05:00
275626a1de re-enable perpertual neighborlist for compute entropy/atom if avg flag is used only 2020-02-26 13:57:11 -05:00
49b07a2360 Keep original chunksize value set by user in case atom count changes 2020-02-26 09:42:59 -07:00
a828facbd8 Merge pull request #1900 from akohlmey/couple-lammps-plugin
Example for loading LAMMPS as a plugin from a shared library
2020-02-26 10:40:24 -05:00
37e6fd1bae Merge pull request #1901 from stanmoore1/compea_neigh
Change compute entropy/atom to use occasional neigh list
2020-02-26 10:39:37 -05:00
dcb83d41af Merge pull request #1899 from agiliopadua/thole
Added safeguard to thole pair styles
2020-02-26 07:44:04 -05:00
e766518062 Merge pull request #1896 from pmla/user-ptm-group-fix
Apply compute group correctly for compute ptm/atom
2020-02-26 07:28:01 -05:00
f81b963a8a more strict argument checking and initializing output data to zero 2020-02-26 13:12:39 +01:00
c92378eaca add explanation of use of group2 and document effect of compute group 2020-02-26 13:12:14 +01:00
526c9a548f need to set single_enable to 0 after single() was removed 2020-02-26 12:58:10 +01:00
91c31da576 remove trailing whitespace 2020-02-26 12:52:21 +01:00
8e1928aa65 First batch of index cleanup and code-blocks 2020-02-25 14:46:22 -05:00
e87b3a21c2 complete documentation for LAMMPS plugin coupling example 2020-02-25 14:10:55 -05:00
e083f38c59 Merge pull request #1892 from sef43/master
temper timeout synchronization fix
2020-02-25 13:26:30 -05:00
958d5ca05b Merge pull request #1897 from akohlmey/user-sdpd-atom-style-check
Add check for required atom properties in USER-SDPD
2020-02-25 13:26:00 -05:00
4180b4a7d6 add example to COUPLE folder demonstrating loading LAMMPS as a plugin. 2020-02-25 19:07:49 +01:00
eb51511ddf Change compute entropy/atom to use occasional neigh list 2020-02-25 10:48:00 -07:00
1fc4dc151f typo 2020-02-25 18:11:31 +01:00
7acba4584d added group2ID 2020-02-25 18:05:36 +01:00
1a2a9f2209 small correction/simplification of the linking to LAMMPS library examples 2020-02-25 17:36:37 +01:00
96d04b8a6c Update LAMMPS lexer for docs 2020-02-25 11:30:20 -05:00
00137765a8 Delete fix_propel_self.h 2020-02-25 17:17:13 +01:00
cdfb1d5026 Delete fix_propel_self.cpp 2020-02-25 17:16:59 +01:00
6956dc1a33 Added safeguard to thole pair styles 2020-02-25 16:50:49 +01:00
26f11f19a7 update LAMMPS version string 2020-02-25 15:04:56 +01:00
3168c1116f fixed group selection 2020-02-25 14:16:21 +01:00
bf62646977 add check for required atom properties to USER-SDPD 2020-02-25 14:08:55 +01:00
8d427b54ec small tweaks 2020-02-25 00:42:57 -05:00
11cda92ebb add some false positives 2020-02-24 17:19:29 -05:00
4ed1b4c3c7 Moved the chunking keyword to pair_snap.rst 2020-02-24 15:09:51 -07:00
003ef9d98a add missing table 2020-02-24 17:03:06 -05:00
bf4ad9ddd7 remove unused equation file 2020-02-24 16:45:42 -05:00
351bca4ccb convert pair style bop to class2 2020-02-24 16:43:40 -05:00
3aa6f39425 convert pair styles colloid to dipole 2020-02-24 16:19:24 -05:00
02e287bf51 convert pair styles dpd to exp6 2020-02-24 15:41:16 -05:00
7ee39416b4 Small doc tweak 2020-02-24 13:08:31 -07:00
406ead64b5 Update docs 2020-02-24 13:04:34 -07:00
1b7a8d8875 Make Kokkos pair_snap chunksize user-settable 2020-02-24 12:53:01 -07:00
9955c8f94b convert pair styles gauss to gromacs 2020-02-24 13:30:58 -05:00
8774ec04a9 convert pair styles hbond to lebedeva 2020-02-24 12:01:22 -05:00
6139617458 convert remaining lj pair styles 2020-02-24 10:50:31 -05:00
d00f8fcd0a convert pair styles local/density to meam/c 2020-02-24 09:21:08 -05:00
0b10c0ac60 convert math in more pair styles 2020-02-24 07:46:51 -05:00
54b7480478 convert pair styles sdk to soft 2020-02-23 16:33:37 -05:00
eaeb9cad33 trim the lammps logo a little bit 2020-02-23 15:01:10 -05:00
0cc3f234dc convert math in spin and sph pair styles 2020-02-23 15:00:43 -05:00
d9a7edcf1a Merge commit 'refs/pull/1893/head' of github.com:lammps/lammps into release-preparation 2020-02-23 13:38:26 -05:00
607604d38c Added oxrna2 information 2020-02-23 17:36:57 +00:00
f1ad4ed66b update the internal timeout clock across replica when we stop parallel tempering 2020-02-23 05:09:25 -05:00
c3fc680ccd apply timeout bugfix to temper variants in USER-MISC 2020-02-23 05:04:21 -05:00
d226f5d02c cosmetic changes 2020-02-23 05:03:50 -05:00
31165082c1 change pseudo external link to internal link. provide links to the command subpages 2020-02-22 18:41:36 -05:00
35483a95cd temper timeout synchronization fix 2020-02-22 23:39:59 +00:00
ac639fe629 replace parsed-literal with code-block where applicable. improve typesetting 2020-02-22 13:50:35 -05:00
cdf795652a fix typesetting issues 2020-02-22 13:50:15 -05:00
ca650ba43f add some missing dependencies 2020-02-22 13:49:57 -05:00
6b79b1f978 use table_from_list in Packages_details and check for completenes there, too 2020-02-22 13:25:21 -05:00
b1757bb26c make names/lables more consistent and avoid reference errors in sphinx 2020-02-22 13:24:23 -05:00
e8d1288527 added script to check for missing packages in package tables in manual 2020-02-22 11:46:31 -05:00
ffabee6ae5 move logo symlink 2020-02-22 10:43:58 -05:00
57711f0dcb improve layout and logical structure. add references 2020-02-22 10:39:15 -05:00
44a54324c1 more typesetting updates 2020-02-22 07:40:31 -05:00
a915397668 more code-blocks 2020-02-22 06:14:52 -05:00
09ef55ac26 include small logo image in navigation bar. update copyright date 2020-02-22 06:14:39 -05:00
4ff0279bde remove references and docs about using subversion to download LAMMPS 2020-02-22 05:49:30 -05:00
ff316aa4d0 replace more parsed-literal with code-block sections 2020-02-22 05:42:05 -05:00
f9b451de32 fix spell check 2020-02-22 04:32:26 -05:00
60cb4416f0 add ability to build an offline viewable html format manual in html-offline 2020-02-22 02:27:18 -05:00
59ed320bef more small improvements and additions 2020-02-21 16:52:44 -05:00
6b96dedf75 fix grammar issue 2020-02-21 16:04:00 -05:00
926dbed70a fix spelling issue 2020-02-21 15:25:55 -05:00
b4c65a645e fix some minor style issues 2020-02-21 15:12:53 -05:00
bf3e7237c3 replace dir with directory where appropriate 2020-02-21 15:08:18 -05:00
c144918441 fix typo in markup resulting in broken link 2020-02-21 13:39:31 -05:00
f0e8e3aab8 small cleanup 2020-02-21 13:36:15 -05:00
7186b4795b remove \begin{equation} \end{equation} which are not needed and break epub 2020-02-21 13:21:59 -05:00
0ede04be6c more build docs refactoring, correcting, and expanding 2020-02-21 10:40:18 -05:00
404b4cf299 update and expand the description of building the LAMMPS documentation 2020-02-21 08:10:30 -05:00
e2f2ec3031 fix minor grammar issues in colomb pair style docs 2020-02-20 18:37:29 -05:00
c6b5606c24 more cosmetic changes and replacing "dirs" with "directories" 2020-02-20 18:20:00 +01:00
1c8b7022a3 update documentation for the conventional build 2020-02-20 17:33:57 +01:00
0db0d5408a update instructions for in qmmm README to cover both build systems and include more details 2020-02-20 16:59:06 +01:00
febb381880 updates and corrections to building LAMMPS as a library and using the USER-QMMM package 2020-02-20 14:58:02 +01:00
5a8eaed13b Update handling of USER-QMMM package in CMake scripts. minor cosmetic changes 2020-02-20 14:39:53 +01:00
dcd9b7c891 replace two tables with code-block sections 2020-02-20 02:12:32 -05:00
a5ab3b13c5 cleaner typesetting 2020-02-19 16:15:35 -05:00
75a43398d9 replace more "parsed-literal" with "code-block" in build docs 2020-02-19 16:11:42 -05:00
a9dc629489 replace non-printable ASCII characters 2020-02-19 15:34:58 -05:00
aa5b870f7e use "code-block" instead of "parsed-literal" 2020-02-19 15:32:58 -05:00
91ad19754c correct, expand, and clarify documentation for linking with LAMMPS as a library 2020-02-19 18:14:57 +01:00
94d1aa45bb add "make mode=print <machine>" to print out compiler and linker flags and libs for any available makefile 2020-02-19 18:11:34 +01:00
8a52e5dbe7 fix logic error in generic Install.py script when a Makefile.lammps is missing 2020-02-19 18:10:32 +01:00
7434267f57 Merge pull request #1886 from mariellaippolito/master
Updates to qmmm package
2020-02-18 11:00:39 -05:00
be847dc12d Merge pull request #1885 from akohlmey/remove-cpp11-check
Remove C++11 check for stable release
2020-02-18 10:59:56 -05:00
012dce93a0 Update package build docs for building the USER-QMMM package 2020-02-18 15:12:31 +01:00
cc3a7c37cb more lib compilation updates 2020-02-18 11:16:08 +01:00
36458a95b7 Updated 2020-02-18 10:59:51 +01:00
387a283157 more lib compilation updates 2020-02-18 10:55:13 +01:00
82b57bd3b8 Upfated Makefile.foo inside lib/qmmm 2020-02-18 10:47:04 +01:00
960553db58 remove C++11 check for stable release 2020-02-17 15:09:24 -05:00
ad125bf36a Merge pull request #1881 from akohlmey/next_lammps_version
Update version string for next patch release
2020-02-17 14:53:17 -05:00
fe6f6b3002 Merge pull request #1869 from akohlmey/doc-continued-refactoring
More documentation refactoring for embedding math expressions
2020-02-17 13:06:07 -05:00
f9bee338dd Merge pull request #1875 from akohlmey/collected-small-fixes
Collected small bug fixes and updates
2020-02-17 11:40:27 -05:00
f69c6196a0 Merge branch 'master' into doc-continued-refactoring
# Conflicts:
#	doc/src/compute_fep.rst
2020-02-17 17:37:10 +01:00
c8561ecef0 Merge pull request #1879 from akohlmey/user-plumed-update
Update USER-PLUMED to include support for version 2.6.0. Fix bug in API check
2020-02-17 11:32:10 -05:00
d01b0ed543 Merge pull request #1882 from agiliopadua/docs
Convert documentation of compute_fep, pair_fep_soft, pair_nm to mathjax
2020-02-17 11:31:43 -05:00
b30670d405 correct some grammar and style issues in describing using/building LAMMPS on windows 2020-02-17 10:27:57 +01:00
4a2f05d333 convert pair styles srp to tersoff 2020-02-16 13:42:37 -05:00
3f5bb96aed pair ufm to pair zbl 2020-02-15 16:47:32 -05:00
a508138510 convert wall fixes to embedded math 2020-02-15 12:13:32 -05:00
b25f781071 convert docs for more fixes 2020-02-15 11:35:21 -05:00
0e2604fc80 Convert documentation of compute_fep and pair_fep_soft to mathjax 2020-02-15 16:19:39 +01:00
fd8cd6faa5 typeset hyperdynamics fix docs with embedded math 2020-02-15 06:50:04 -05:00
b0de48e47f convert some more fixes 2020-02-15 02:31:50 -05:00
f4b64e8d91 fix typo in comment 2020-02-14 18:29:11 -05:00
07c5adc57a we need more specific matches to correctly handle TIME and TIMESTEP items 2020-02-14 16:07:34 -05:00
381ac888c8 initialize cut_respa to NULL in constructor to avoid uninitialized access 2020-02-14 15:51:38 -05:00
9bff431553 make sure coulomb tables are initialized in all coul/long GPU pair styles 2020-02-14 15:50:49 -05:00
0b57549f4c must generate coulomb tables with pair style lj/class2/coul/long/gpu 2020-02-14 15:34:12 -05:00
c23f164639 Increase portability to more C++ compilers 2020-02-14 13:40:31 -05:00
2de515c671 improve layout 2020-02-14 12:31:55 +01:00
74a2fd973b convert docs for fixes eos/cv, eos/table/rx, gcmc, grem, langevin/spin, lb/fluid 2020-02-14 12:27:55 +01:00
c47245c629 update/correct lammps executable manpage 2020-02-14 10:33:08 +01:00
d7a7c103ca Update version string for next patch release 2020-02-14 09:55:56 +01:00
7b32b1e595 Update pair_body_rounded_polyhedron docs 2020-02-14 09:52:06 +01:00
b1493d651f Update pair_body_rounded_polygon docs 2020-02-14 09:44:03 +01:00
f70e39c366 update fix ave/correlate/long docs to include info about limitations in output options vs. ave/correlate 2020-02-14 09:30:06 +01:00
147d430a6d Update pair_body_nparticle docs 2020-02-14 09:27:55 +01:00
e339e1735d Update pair_beck docs 2020-02-14 09:19:32 +01:00
076c28538c Merge branch 'read_dump_item_time' of https://github.com/mkanski/lammps into collected-small-fixes 2020-02-13 13:13:24 -05:00
9e35b85335 Merge remote-tracking branch 'github/master' into collected-small-fixes 2020-02-13 13:13:12 -05:00
7c62bce7d9 Enable reading dump file with ITEM:TIME 2020-02-13 18:13:22 +01:00
4cacc4701d update plumed support to include version 2.6.0. Fix bug in API check 2020-02-13 16:03:58 +01:00
5d467bcc74 Merge pull request #1876 from Vsevak/tip4p_gpu_sharedtypes
TIP4P GPU kernel: shared memory optimization
2020-02-12 11:11:17 -05:00
10a76affd4 Merge pull request #1877 from ellio167/openkim-models-docs
Add openkim-models install instructions
2020-02-12 11:08:25 -05:00
cf67c16fcb Add openkim-models install instructions 2020-02-11 22:33:56 -06:00
d024b3d340 Add shared memory optimization 2020-02-12 01:35:44 +03:00
bfaae6860e fix controller 2020-02-11 16:28:45 +01:00
e4a730d57a fix bond/react, box/relax, ehex 2020-02-11 16:14:00 +01:00
6d5c001b61 delete no longer used equations 2020-02-11 14:57:31 +01:00
440f3b9492 correct for typo in txt style markup 2020-02-11 14:54:54 +01:00
3314b4853e convert compute xrd to use embedded math 2020-02-11 11:26:29 +01:00
002fff95c6 copy large target image files only once 2020-02-11 11:07:55 +01:00
ed9c8b4ea0 reset Modify::n_timeflag in post_run() so we won't skip computes defined between runs 2020-02-11 00:30:09 -05:00
23b7adc9b2 we must defer to Modify::addstep_compute_all() if Modify::addstep_compute() if n_timeflag has not been set 2020-02-11 00:06:41 -05:00
ec3e687b0c fix bug in set type/ratio when operating on subsets 2020-02-10 16:22:23 -05:00
c8034d19c4 fix up remaining computes for embedded math and a few other issues 2020-02-10 16:21:19 -05:00
e952bcb5ac Fix pdf build of pair_atm docs 2020-02-08 20:09:40 +01:00
86ebc8260e Update pair_atm docs 2020-02-08 19:24:27 +01:00
712dbe6acc Update pair_airebo docs 2020-02-08 19:07:54 +01:00
5bb28e9e84 Update pair_agni docs 2020-02-08 18:36:34 +01:00
01805cf6ce Update pair_adp 2020-02-08 18:09:19 +01:00
db805bc009 first chunk of compute commands to be converted to use embedded math 2020-02-04 17:05:23 -05:00
301a662a1d cosmetic corrections 2020-02-03 13:41:50 -05:00
f0935feabe Merge pull request #1868 from akohlmey/next_patch_version
Step version strings for next patch release
2020-02-03 11:50:12 -05:00
966bc626fc Merge pull request #1858 from akohlmey/fft-consistency
Improved consistency and thread support in FFTs
2020-02-03 11:14:16 -05:00
f95428ee5e Merge pull request #1867 from akohlmey/doc-convert-to-mathjax
Convert more documentation to use embedded math expressions
2020-02-03 11:11:33 -05:00
b71e41dc8a minor fixes 2020-02-03 10:48:04 -05:00
1827ce1d32 update dynamical_matrix docs 2020-02-03 09:01:31 -05:00
73364404a1 Step version strings for next patch release 2020-02-03 07:18:31 -05:00
ecf30b47a0 Convert and revise a few more files (minimize, neb, tricilinic) 2020-02-02 22:35:39 -05:00
fde2a59b0e update documentation for contributing files and building the manual to using rst files 2020-02-02 19:05:35 -05:00
5b557ca4c8 remove references to .txt files for building the documentation 2020-02-02 18:50:49 -05:00
8ef3d77724 Convert documentation of improper styles from images to mathjax 2020-02-02 18:22:40 -05:00
949f88eb65 Convert documentation of dihedral styles from images to mathjax 2020-02-02 17:22:54 -05:00
bbf229e8cc Merge pull request #1866 from YunxingZuo/master
add SNAP and quadratic SNAP potentials for six elemental systems
2020-02-02 06:55:09 -05:00
0a10f5567a correct potential file format to be compatible with latest lammps 2020-01-31 21:04:03 -08:00
01a6608fb6 add SNAP and quadratic SNAP potentials for six elemental systems 2020-01-31 19:30:02 -08:00
2b6a022309 Merge branch 'master' into fft-consistency 2020-01-31 20:51:58 -05:00
dd91d519e1 Merge pull request #1703 from jboschen/nwchem
add NWChem wrapper to client/server mode for AIMD
2020-01-31 20:50:51 -05:00
5983c2a87d Merge pull request #1864 from akohlmey/doc-remove-redundant-links
More documentation ReStructuredText cleanup
2020-01-31 17:32:51 -05:00
472fe8216f address spelling errors 2020-01-31 16:54:27 -05:00
b66717d8cb add one more missing link 2020-01-31 16:40:41 -05:00
a9a2a9fef9 provide updated information on how to report bugs on github or via e-mail 2020-01-31 16:39:34 -05:00
f386598c54 restore missing links 2020-01-31 16:39:09 -05:00
1a4e6228a2 add false positive 2020-01-31 15:59:26 -05:00
21a80e9b50 fix typo 2020-01-31 15:57:52 -05:00
8fd2ab78f1 Merge branch 'master' into nwchem
# Conflicts:
#	doc/src/Howto_client_server.rst
#	doc/src/server_md.txt
2020-01-31 15:56:25 -05:00
97addd2bee Merge branch 'master' into doc-remove-redundant-links
# Conflicts:
#	doc/src/min_modify.rst
#	doc/src/min_style.rst
#	doc/src/minimize.rst
2020-01-31 15:39:25 -05:00
947827fe1f Merge pull request #1052 from jguenole/adaptglok
Optimized implementation of FIRE
2020-01-31 15:24:00 -05:00
0f37e641eb restore one global definition of previously removed links, that are still in use 2020-01-31 14:09:12 -05:00
3169ef772b delete superfluous horizontal line plus preceding empty lines at the end of doc files 2020-01-31 14:06:14 -05:00
cdf2f66c0a delete empty lines at the end of files 2020-01-31 14:03:52 -05:00
ce10fd01a8 remove redundant/obsolete link definitions 2020-01-31 14:00:53 -05:00
b524db88a3 Merge remote-tracking branch 'github/master' into adaptglok
# Conflicts:
#	doc/src/min_modify.rst
2020-01-31 12:24:59 -05:00
56ff70de70 Merge pull request #1860 from akohlmey/collected-small-changes
Collected small changes for next patch release
2020-01-31 12:21:17 -05:00
39188da85b Merge pull request #1857 from ohenrich/user-cgdna
USER-CGDNA: Increased tolerance for fatal error in FENE bond
2020-01-31 12:20:57 -05:00
710929da1d Merge pull request #1861 from akohlmey/doc-link-escape-removal
Documentation link formatting cleanup and fixup
2020-01-31 11:00:27 -05:00
6424883daf apply revisions suggested by @sjplimp 2020-01-31 10:52:31 -05:00
82aab36898 reset array size since we don't use the last element anymore 2020-01-31 09:59:35 -05:00
2069c7a5fd correct incorrect bugfix 2020-01-31 09:58:04 -05:00
31c4833707 correct out-of-bounds array access in RanMars::select_subset() 2020-01-31 09:51:23 -05:00
ed628a2de7 remove some more unneeded backslash escapes and fix up a few more doc links 2020-01-31 09:01:26 -05:00
82286702cb switch OpenMP pragma to default(shared), so it is compatible with all OpenMP standard versions 2020-01-31 08:32:14 -05:00
bc3807aa4b Fix sign of forces in AO mode, update h2o examples 2020-01-31 00:42:00 -06:00
e4cf0a07a0 remove more \_ escapes from doc anchors and a bunch of other issues found in the process 2020-01-31 00:45:13 -05:00
bb94303e73 remove backslash escapes from link anchors 2020-01-30 17:04:09 -05:00
c732ccc0f8 remove trailing whitespace 2020-01-30 17:02:06 -05:00
f872d374a0 Merge branch 'adaptglok' of github.com:jguenole/lammps into adaptglok 2020-01-30 17:00:10 -05:00
6369ab230e make inclusion guard defines consistent with LAMMPS and avoid redefinition of MAX() 2020-01-30 16:56:02 -05:00
9fade740fb Fix issue with Kokkos FFT_CUFFT 2020-01-30 13:27:36 -07:00
a50563d582 Fix issue with Kokkos FFTW3 2020-01-30 13:03:15 -07:00
4ea9dea19c More Kokkos FFT refactor 2020-01-30 12:04:57 -07:00
292fc77dce correct broken links to commands 2020-01-30 12:55:59 -05:00
eb7958d04c update documentation for pair_modify to reflect code changes and clarify the use of special 2020-01-30 12:55:25 -05:00
ef30d0ed7b Add missing endif 2020-01-29 17:32:25 -07:00
f8e2543c44 Move FFT data types out of kokkos_type.h 2020-01-29 17:15:47 -07:00
1851a9f7d4 Refactor Kokkos FFT_DATA 2020-01-29 16:21:33 -07:00
0613790b6b support having the keyword special multiple times after pair in pair_modify 2020-01-29 17:23:11 -05:00
0d0c5e2961 make KOKKOS and KSPACE FFT3d code more consistent and remove redundant code 2020-01-29 16:37:29 -05:00
ccd395fdd8 remove dead code 2020-01-29 14:34:03 -05:00
5962e880d4 remove some unneeded backslash escapes 2020-01-29 14:33:36 -05:00
426ca97aa6 correct bug introduced in previous commit 2020-01-29 17:53:10 +01:00
1e7f09bded removing deprecated functions in log comment 2020-01-29 17:50:56 +01:00
60b9627657 one missing example 2020-01-29 17:48:58 +01:00
c855bbb6bf Merge branch 'master' into adaptglok 2020-01-29 11:42:25 -05:00
6bd23f4909 New example folder for fire 2020-01-29 17:31:20 +01:00
668feb22b5 Merge pull request #1859 from giacomofiorin/colvars-update
Update Colvars library to version 2020-01-27
2020-01-28 16:01:59 -05:00
9427fc50a5 Update Colvars library to version 2020-01-27
One new feature (arithmetic path variables) and several smaller enhancements
or bugfixes.

    Fix error check when loading an old state file
    https://github.com/Colvars/colvars/pull/317

    Get default values for grid boundaries when available
    https://github.com/Colvars/colvars/pull/310

    Allow redefining existing index groups (warn when this happens)
    https://github.com/Colvars/colvars/pull/302

    Simplified replica communication syntax in metadynamics
    https://github.com/Colvars/colvars/pull/301

    Obtain the bias_energy for ABF biases
    https://github.com/Colvars/colvars/pull/294

    Fix reading path file with vector CVCs
    https://github.com/Colvars/colvars/pull/288

    Fix segfault at deleting CVBasedPath
    https://github.com/Colvars/colvars/pull/286

    Parrinello's (arithmetic) pathCV in CV space
    https://github.com/Colvars/colvars/pull/274

    Fix race condition when starting a bundle of walkers
    https://github.com/Colvars/colvars/pull/279
2020-01-28 14:15:05 -05:00
e9b6824e11 correct spelling 2020-01-28 16:27:19 +01:00
a3d10d537c Updated documentation 2020-01-28 16:03:49 +01:00
197ba62cd9 Change fire to fire/old and fire2 to fire. Implement normstyle in fire. Update author affiliation. 2020-01-28 14:51:23 +01:00
5eef3b1828 Merge pull request #1855 from akohlmey/remove-txt-files
Remove txt sources of rst files from doc folder
2020-01-27 12:04:37 -05:00
99cfc9e668 small documentation tweak 2020-01-27 11:17:08 -05:00
795f2fd894 properly support threaded FFTs with MKL and document it. remove commented out FFTW2 code 2020-01-27 11:00:57 -05:00
ec381964e4 Merge branch 'master' into remove-txt-files
# Conflicts:
#	doc/src/Build_settings.rst
2020-01-24 21:32:24 -05:00
4134d7fddd Merge pull request #1854 from akohlmey/next_patch_release
Update version string for the next patch release
2020-01-24 20:58:03 -05:00
da35840cd9 Merge pull request #1520 from stanmoore1/fft
Add threaded FFTs to the KOKKOS package
2020-01-24 18:21:33 -05:00
9d333c351a Small clarification to kspace_style.rst 2020-01-24 14:42:40 -07:00
669980388a Merge branch 'fft' of ssh://github.com/stanmoore1/lammps into fft 2020-01-24 14:33:31 -07:00
76aaf16c66 Add check for FFT_FFTW_THREADS and turn off MKL threads for now 2020-01-24 14:30:11 -07:00
e9d4823d71 Add cuFFT to Makefile.lassen_kokkos and generalize MPI path 2020-01-24 13:56:00 -07:00
0302c0ba24 correct malformed tables 2020-01-24 12:30:15 -05:00
c9cc13c2a6 add mpi4py url and expand/update the python with MPI introduction 2020-01-24 11:27:43 -05:00
899a654161 Merge branch 'master' into user-cgdna 2020-01-24 14:21:55 +00:00
23febc7101 Increased tolerance for fatal error in FENE bond argument 2020-01-24 14:19:18 +00:00
fa4d9ff0d8 remove automatic translation of .txt to .rst and references to txt folder 2020-01-23 16:56:41 -05:00
daa5efe1fd remove .txt doc sources 2020-01-23 16:53:11 -05:00
72d8bea459 remove backslash escapes for underscore in doc references 2020-01-23 16:52:38 -05:00
cb5138a335 update version string for the next patch release 2020-01-23 12:00:33 -05:00
f14b200b6a correct KOKKOS FFT output for CMake summary one more time 2020-01-23 00:27:00 -05:00
df23460e18 Merge branch 'master' into fft
# Conflicts:
#	src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
2020-01-23 00:22:38 -05:00
958b8d96a9 expand explanations about setting the python version for the python wrapper 2020-01-23 00:14:44 -05:00
204fb6f7ed fix issue with standalone anchor_check 2020-01-22 23:51:53 -05:00
30444b344b Merge pull request #1853 from akohlmey/collected-small-changes
Collected small changes and bugfixes for the next patch release
2020-01-22 17:25:03 -05:00
8096a78340 Merge pull request #1852 from vklip/bugfix-gjf
Add unit conversion in setup() in fix_langevin.cpp
2020-01-22 17:22:01 -05:00
949d7608ba Merge pull request #1811 from brycelelbach/bug/missing_execution_space_qualifiers
Fix mismatches in CUDA execution space qualifiers between declarations and definitions.
2020-01-22 17:10:11 -05:00
c126df4f79 update KOKKOS FFT status message in CMake summary 2020-01-22 17:08:58 -05:00
5488efbc03 fix typo, update maintainer. 2020-01-22 17:00:10 -05:00
53554fdb84 add -DFFT_CUFFT for KOKKOS only when KISSFFT is not selected 2020-01-22 16:56:12 -05:00
70731468df include "pppm.h" last so that necessary KOKKOS config define is available 2020-01-22 16:32:32 -05:00
9d06430894 Merge pull request #603 from jrgissing/Ncreate_atoms
add exactly N particles to available lattice points
2020-01-22 15:36:54 -05:00
61ddf9bcd8 undo accidental edit of KOKKOS cuda mpi makefile 2020-01-22 15:32:00 -05:00
70b9a060dc add missing #endif 2020-01-22 15:26:34 -05:00
9a27aa4e9e Merge branch 'master' into fft
# Conflicts:
#	src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi
2020-01-22 15:21:08 -05:00
dfda8b5ce6 fix up LMP_FFT_LIB for reporting FFT lib in use for KOKKOS with CUDA logic 2020-01-22 15:18:59 -05:00
40e0e78abd import template atom ID check from PR #1822 2020-01-22 15:02:55 -05:00
bb024bc077 add call to KSpace::two_charge() that was overlooked 2020-01-22 14:46:57 -05:00
48cae2703b move memory allocation for atom style variable data where it belongs and cannot be skipped
this fixes the bug reported on lammps-users on 2020-01-22 by Olivier Politano
2020-01-22 14:34:12 -05:00
cc81dc2046 remove redundant initializers 2020-01-22 14:32:34 -05:00
8a1f893b43 repair incorrect conversions on [*] expressions by txt2rst 2020-01-22 13:20:04 -05:00
37e8195b01 fix whitespace issue 2020-01-22 12:44:24 -05:00
a87c7a4a53 avoid segfault 2020-01-22 12:41:59 -05:00
64a4bf6a42 Merge pull request #1850 from lammps/kspace-bugfix
move two_charge_force calc to occur at init, not constructor, fix small bug in pair style extep
2020-01-22 12:38:33 -05:00
0623859f36 fix small bug in pair style extep 2020-01-22 11:25:13 -05:00
0ae40c5967 Add unit conversion in setup() 2020-01-22 17:13:10 +01:00
ac143dbdb7 capitalize comment 2020-01-21 17:57:12 -07:00
11f687c1fb make comment string consistent 2020-01-21 17:56:00 -07:00
b29ffabe56 move two_charge_force calc to occur at init, not constructor 2020-01-21 14:24:55 -07:00
f7dc70a986 add new error/warning messages to documentation 2020-01-21 16:05:55 -05:00
a6f59a8607 Merge remote-tracking branch 'github/master' into Ncreate_atoms
# Conflicts:
#	src/create_atoms.cpp
2020-01-21 15:52:01 -05:00
646dc83394 remove trailing whitespace 2020-01-21 15:46:28 -05:00
7728c5069f Merge pull request #1845 from akohlmey/collected-small-changes
Collected small changes for next patch release
2020-01-21 15:45:41 -05:00
d83cf8e4b0 add Jake's name as contributor 2020-01-21 13:36:36 -07:00
90ff2eb6c9 modified versions of creating atoms on subset of lattice, ditto for set type/fraction 2020-01-21 13:31:47 -07:00
4ea679dd54 Merge branch 'master' into nparticles 2020-01-21 13:26:03 -07:00
405eb63a51 update sphinx extension to automatically pad lists to fill tables and avoid errors processing the documentation 2020-01-21 11:39:29 -05:00
3db920b8a6 fix minor issues with docs 2020-01-20 17:03:54 -05:00
12de17621f Merge branch 'master' into collected-small-changes
# Conflicts:
#	doc/src/Commands_fix.rst
2020-01-20 16:59:42 -05:00
795a872bf3 Merge pull request #1847 from pdebuyl/fix-active
Add fix propel/self
2020-01-20 16:57:04 -05:00
f03cfba029 Merge pull request #1820 from ornladios/adios_read_dump
Support read_dump with dump style 'adios'
2020-01-20 16:27:09 -05:00
946bd8f3c0 print warning about adjusting the communication cutoff only during integrator or minimizer setup phase 2020-01-20 16:23:26 -05:00
41cfb91d7d Reformat README and mention about the timeout option 2020-01-20 15:55:31 -05:00
7766b29c97 replace strncmp by strcmp 2020-01-20 21:54:29 +01:00
44a814ec1d Added 'timeout <value>' option to the adios reader, so that a rerun can concurrently run with the first simulation 2020-01-20 15:52:21 -05:00
95d3b9e708 Change BPFile to BP4 in adios config so that streaming through files is enabled 2020-01-20 14:35:51 -05:00
3ccab876f7 fix string length for strncmp 2020-01-20 18:16:20 +01:00
b0ba91d353 add false positive 2020-01-20 11:58:59 -05:00
8ed271f16f change mode of propel/self to quat instead of quaternion 2020-01-20 17:41:20 +01:00
50062d6a44 Added rerun example for ADIOS dump/read_dump to examples/USER/adios/rerun.
Moved the balance example under examples/USER/adios/balance
2020-01-20 11:23:18 -05:00
3c55bded69 Merge pull request #1848 from Vsevak/tip4p_gpu_fix
Fix some issues with lj/cut/tip4p/long/gpu
2020-01-20 11:17:37 -05:00
18c16b4b39 Print lammps style error and abort when adios2_config.xml is not found. Avoid ugly C++ exception stack. 2020-01-20 10:11:57 -05:00
a1864f8bfd Fix commands table 2020-01-20 10:11:34 -05:00
fdd330256c update adios example input file to show more read_dump options 2020-01-20 09:23:35 -05:00
95b4613e16 Added documentation for 'read_dump ... format adios' command and fixed links and names for 'dump atom/adios' and 'dump custom/adios' commands. 2020-01-20 09:23:35 -05:00
125a82f572 change isReaderParallel flag to parallel and generally adapt more to LAMMPS programming style 2020-01-20 09:20:42 -05:00
76818a47c0 add missing include statement 2020-01-20 09:20:42 -05:00
fed1e800a9 revert reformatting of unrelated file 2020-01-20 09:20:42 -05:00
9959997376 change attribution 2020-01-20 09:20:42 -05:00
0da85cb2fc update README for USER-ADIOS 2020-01-20 09:20:42 -05:00
580909fd47 Implement read_dump with format 'adios'. It modifies read_dump.cpp to support reading from one dataset by all processes. 2020-01-20 09:20:42 -05:00
0bed348073 fix typo 2020-01-20 07:17:39 -05:00
019e269ed9 silence compiler warning 2020-01-20 07:12:22 -05:00
3ff49dfd59 avoid segfault when using per-particle masses 2020-01-20 07:12:12 -05:00
c19085dc08 silence compiler warning 2020-01-20 07:06:49 -05:00
926096dc66 silence compiler warning 2020-01-20 07:06:00 -05:00
af1e797271 fix mass and nve/asphere
1. Set mass to 1. The radius is 1/2, so the density must be
   1/(4/3 pi 1/2^3)
2. Use nve/asphere instead of nve. Else, the particle's orientation are
   not integrated.
2020-01-20 12:48:26 +01:00
43c184983e Fix lj/cut/tip4p/long/gpu name in docs 2020-01-20 03:39:16 +03:00
43a9936241 Fix tagint usage 2020-01-20 03:38:58 +03:00
d1f3f659ac Fix GPU package install script to resolve file dependency
'pair_lj_cut_tip4p_long_gpu' depends on 'pair_lj_cut_tip4p_long' from KSPACE package
2020-01-20 00:03:04 +03:00
074e18d9cb fix one more whitespace issue 2020-01-19 13:34:21 -05:00
0471d211a2 remove dead code and silence compiler warnings 2020-01-19 13:33:16 -05:00
5e740c9cc5 documentation and examples cleanup for fix propel/self
- rename example folder
- remove .txt format docs
- remove obsolete fix active sources
- update readme in src/USER-MISC
- replace non-ASCII characters and fix spelling issues
2020-01-19 13:29:52 -05:00
f4d9715cc7 make code follow LAMMPS conventions more closely and do some cleanups
- remove tabs and trailing whitespace
- remove references to atom style body, since code only works with ellipsoid
- adjust function names and tests for requirements to be more obvious and work correctly in parallel
- remove rather specific debug code
- remove non-essential c++11 features
- refactor, correct, and simplify parsing of types keyword arguments
2020-01-19 13:07:54 -05:00
d739e017ad tweak examples to be shorter/faster 2020-01-19 12:22:22 -05:00
f69a17dd3a Reduce unnecessary data exchanges 2020-01-19 02:05:16 +03:00
4c8a857960 Merge branch 'master' into fix-active-rebase-5 2020-01-17 22:11:55 +01:00
998b60eabc restore accidentally renamed keyword 2020-01-17 12:17:47 -05:00
33c846cd5e guard converting thermo output from other output to the screen and do not crash
fixes #1844
2020-01-17 09:48:07 -05:00
a53202bad2 removing the time estimate code for create_atoms completely, as we'll have linear scaling soon. 2020-01-16 17:23:57 -05:00
dd60bddc33 reset embedding step counter when init_style() is called 2020-01-16 17:14:23 -05:00
868df1f640 Merge pull request #1843 from oywg11/new-ILP-parameters
New ILP paramters  and pair style improvements
2020-01-16 16:53:59 -05:00
79f9ede38a print warning when using pair_write on EAM pair style 2020-01-16 16:51:32 -05:00
070bb8c5cd change estimate for creating atoms after benchmarking a 440M atom system 2020-01-16 16:46:37 -05:00
93a6d3a1fc print warning (once) if EAM embedding data is out of sync, error out, if embedding term is not available at all. 2020-01-16 16:35:05 -05:00
96cc098dc1 Merge branch 'new-ILP-parameters' of github.com:oywg11/lammps into new-ILP-parameters
# Conflicts:
#	doc/txt/pair_ilp_graphene_hbn.txt
#	doc/txt/pair_kolmogorov_crespi_full.txt
2020-01-16 14:18:42 -05:00
8ffe15871a Refine the doc files 2020-01-16 21:12:02 +02:00
4dc37bf56e replace tabs and remove trailing whitespace 2020-01-16 14:06:15 -05:00
2c86c79dbb correct issue with command table for fix styles 2020-01-16 14:04:48 -05:00
ef2ac8aa26 convert updated docs to rst and remove .txt sources 2020-01-16 14:04:14 -05:00
cf80495a3d change estimate for time to create an atom from 25ns to 1us 2020-01-16 12:15:42 -05:00
b2b28015c4 New ILP paramters 2020-01-16 16:46:04 +02:00
9f018b9aa2 make list of fixes have a multiple of 6 number of entries 2020-01-15 17:40:51 -05:00
f1c79fb914 Merge pull request #1096 from ProfessorMiller/master
Changes to the NH fix enabling Cauchy stress control (Cauhchystat) du…
2020-01-15 17:35:03 -05:00
77a28c404a Merge pull request #1831 from akohlmey/pair-bop-updates
Correct some issues with pair style bop and its potential files
2020-01-15 17:30:07 -05:00
4e32af5d49 Merge branch 'master' into pair-bop-updates 2020-01-15 17:13:22 -05:00
62f0d87e59 update .gitignore for recently added styles 2020-01-15 17:13:14 -05:00
df24475ea1 update bop potential files to the latest versions 2020-01-15 16:50:10 -05:00
4801f013a5 correct logic error in reading of bop potential files 2020-01-15 16:49:23 -05:00
3efc5b0b64 Merge pull request #1841 from phankl/stable
Mesoscopic potential for carbon nanotubes
2020-01-15 16:31:40 -05:00
cb20d73a82 consistent name for pot file, symbolic link in examples 2020-01-15 20:45:13 +00:00
1ed50bcdde Merge pull request #1837 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2020-01-15 15:34:00 -05:00
f888c436c3 use safe fgets version and check sscanf() return value for correct parsion of potential file header 2020-01-15 14:24:02 -05:00
48cdd6c2fb refactor mesocnt example to be better suited for testing and add logs 2020-01-15 14:23:19 -05:00
90d5f7be01 Merge remote-tracking branch 'cntmeso/stable' into ph-cntmeso
# Conflicts:
#	doc/src/pair_mesocnt.rst
2020-01-15 13:54:37 -05:00
3cb26e576d make sure communication buffers are fully initialized 2020-01-15 13:47:01 -05:00
f05175eb1d properly initialize eflag/vflag and all related properties 2020-01-15 13:42:50 -05:00
500363ab83 move functions in MathExtra namespace to math_extra.h header file 2020-01-15 13:42:14 -05:00
34bc3b1b2e changed documentation format to .rst 2020-01-15 18:23:45 +00:00
51f41d4559 add missing rst format doc file 2020-01-15 13:05:28 -05:00
a74c3b912b remove tabs and trailing whitespace, adjust source format to closer match LAMMPS style 2020-01-15 12:54:37 -05:00
4d20f1623c remove outdated .txt versions of documentation 2020-01-15 11:53:21 -05:00
97bcce77d3 update documentation to rst format and integrate into lists/tables 2020-01-15 11:52:49 -05:00
2f1e3d8490 Merge branch 'master' into ph-cntmeso
# Conflicts:
#	doc/src/pairs.txt
2020-01-15 11:45:14 -05:00
a8d27efbe7 fixed typos in documenation, added words to false positives for spell check 2020-01-15 14:33:52 +00:00
902d772b85 removed harmonic bond and angle from repo 2020-01-15 13:47:51 +00:00
331fff0613 moved files to USER-MISC, added README entry, added examples 2020-01-15 12:07:26 +00:00
198a40ada6 fixed typo in documentation 2020-01-15 11:43:11 +00:00
9ef984daaa added documentation 2020-01-15 11:04:43 +00:00
133be2132d Merge remote-tracking branch 'github/junghans-patch-1' into collected-small-changes 2020-01-14 16:57:52 -05:00
392b32ef6f cmake: fix warning about chain.x 2020-01-14 14:26:28 -07:00
cbf3756923 correct CR/LF into plain LF line endings 2020-01-14 15:57:37 -05:00
a57f6f5852 Merge pull request #1838 from lammps/stochastic-example
enhanced stochastic wall example
2020-01-14 15:55:24 -05:00
93b6d5312d update the github workflow document for recent changes 2020-01-14 15:42:55 -05:00
16d6932aca update the contributing guidelines to new documentation format and additional policies and checks 2020-01-14 15:37:07 -05:00
ceeae57172 enhanced stochastic wall example 2020-01-14 13:20:35 -07:00
50aa52fc9c replace (evil) tabs with blanks 2020-01-14 15:08:56 -05:00
ded3354fa9 add comments about thread safety to the library howto 2020-01-14 15:04:17 -05:00
7f0373afa3 fix typo 2020-01-14 14:51:00 -05:00
be8832be99 Merge branch 'master' into nparticles 2020-01-14 12:36:02 -07:00
b9c6e0f700 Merge pull request #1691 from toquydong/stochasticwall
Implementation of statistical gas wall boundary conditions
2020-01-14 14:11:16 -05:00
285138ea13 Merge pull request #1836 from lammps/hyper-upgrade
Hyperdynamics upgrade
2020-01-14 14:10:16 -05:00
75b2066506 correct spelling issues 2020-01-14 13:34:19 -05:00
660264855a update rst documentation for fix hyper/local 2020-01-14 13:27:35 -05:00
cae994dea9 fix whitespace issues 2020-01-14 13:24:40 -05:00
2f83b32030 Merge branch 'master' into pair-bop-updates 2020-01-14 13:15:05 -05:00
531946a35f updated hyper examples 2020-01-14 11:14:48 -07:00
00ffa5cc10 Create in.shearflow 2020-01-14 18:58:38 +01:00
628dc6dd2a sync with master 2020-01-14 10:40:05 -07:00
07e58fd681 document latest fix hyper/local diagnostics 2020-01-14 10:36:19 -07:00
1ce1474864 Update README 2020-01-14 18:13:53 +01:00
9de4e56f3e Update README 2020-01-14 18:12:33 +01:00
41792da707 Update fix_wall_reflect_stochastic.cpp 2020-01-14 18:08:42 +01:00
126bc01dd4 Merge pull request #1835 from lammps/message-iterate
add quit option to message command
2020-01-14 11:41:06 -05:00
ea24ec8d6a minor formatting edits 2020-01-14 09:15:05 -07:00
95a3abc74e Merge branch 'master' into fire 2020-01-14 08:53:40 -07:00
b308f1c4e0 fix whitespace issue 2020-01-14 10:26:25 -05:00
0dc2d411c5 renamed potential file 2020-01-14 15:19:54 +00:00
02c99d1554 convert documentation to rst format and remove corresponding txt files 2020-01-14 10:14:39 -05:00
e03b7c5441 Merge branch 'master' into message-iterate 2020-01-14 10:10:08 -05:00
87b55a5434 Merge pull request #1685 from lengxupa/master
Added New keywords rotation rx ry rz to fix_deposit
2020-01-14 10:09:42 -05:00
6c851f6db0 remove outdated .txt file 2020-01-13 23:15:20 -05:00
f095aacad7 remove outdated .txt files 2020-01-13 23:08:20 -05:00
6fa02ea3e0 update spelling false positives list 2020-01-13 23:03:37 -05:00
7c591b9b62 list new fix in overview lists and tables 2020-01-13 23:03:24 -05:00
146e6faad4 add rst version of doc file 2020-01-13 22:58:56 -05:00
d35b15525b remove obsolete .txt files 2020-01-13 22:58:35 -05:00
0a84106b23 fix whitespace issues 2020-01-13 22:47:06 -05:00
bd5a97e07e add false positives 2020-01-13 22:41:08 -05:00
8258d0cb59 remove obsolete .txt file 2020-01-13 22:28:02 -05:00
231b4b1dce Merge branch 'master' into deposit-add
# Conflicts:
#	doc/src/fix_deposit.rst
#	doc/txt/fix_deposit.txt
2020-01-13 22:26:26 -05:00
c8f6866f0d fixed minor bug in memory allocation for coefficients 2020-01-13 23:01:20 +00:00
2b51938a94 changed potential file format to single file 2020-01-13 22:52:52 +00:00
d3348371e1 refactoring of code and doc files 2020-01-13 15:22:02 -07:00
aa70f8cc6b small edits for reformatting 2020-01-13 14:26:22 -07:00
51efee43be sync to master 2020-01-13 13:42:05 -07:00
9ed987c255 minor changes to syntax and documentation of fix deposit orient 2020-01-13 13:15:17 -07:00
afcc1d935d added and corrected error and warning messages 2020-01-13 17:45:38 +00:00
e8d11931ec merged in current master 2020-01-13 10:34:31 -07:00
2d28e9fa2e check for FFT_FFTW_THREADS may only run when CUDA is not enabled 2020-01-13 12:08:46 -05:00
03a7f617eb now opening files with lmp method 2020-01-13 17:05:31 +00:00
99dc283f82 Merge branch 'master' into message-iterate 2020-01-13 09:30:51 -07:00
e35f160e9c added standard potential files to git repo 2020-01-13 16:23:07 +00:00
206aa77532 fix one more whitespace issue 2020-01-13 11:22:42 -05:00
5198058691 fix whitespace issues in fft3d_kokkos files 2020-01-13 11:21:44 -05:00
a7720124db check and adjust FFT selection for KOKKOS depending on whether CUDA is enabled or not 2020-01-13 11:09:37 -05:00
88448ef950 update rst docs since .txt file is gone 2020-01-13 10:57:36 -05:00
2834965e98 Merge branch 'master' into fft
# Conflicts:
#	doc/txt/kspace_style.txt
2020-01-13 10:53:26 -05:00
6813ab4c9c Merge pull request #1832 from akohlmey/doc-styles-check
Check style command lists against existing styles in sources
2020-01-13 10:38:26 -05:00
eed85bb676 Merge pull request #1834 from akohlmey/suffix-flag-refactor
Small Suffix flag refactoring and disallow per substyle special overrides for USER-INTEL and GPU
2020-01-13 10:37:35 -05:00
8e08acd5d4 moved mesocnt to user packages 2020-01-13 15:01:03 +00:00
9d207e5829 renamed mesocnt directory 2020-01-13 15:00:42 +00:00
b18f79abe0 merged latest stable version into fork 2020-01-13 14:31:18 +00:00
fe1f7f9a9c restored Makefile.g++_openmpi to default 2020-01-13 13:00:31 +00:00
601658fa50 removed unnecessary headers and converted ints for tag and mol to tagint 2020-01-13 12:56:30 +00:00
bfaea66e66 update documentation 2020-01-12 23:03:45 -05:00
15603e0ff7 add documentation for including cufft with KOKKOS+CUDA (for conventional build, CMake is automatic) 2020-01-12 21:46:02 -05:00
3784df23f0 use FFT_FFTW_THREADS consistently, add CUFFT to CMake, minor improvements 2020-01-12 21:32:07 -05:00
7cb36d1705 Merge branch 'master' into fft 2020-01-12 20:22:15 -05:00
a88e6494cf address documentation spelling issues and remove obsolete file 2020-01-12 15:11:45 -05:00
22af416c53 correct output to be consistent with other code in LAMMPS 2020-01-12 14:47:15 -05:00
ebdc4b1ce3 rework npt/cauchy example to use bundled potential, run shorter and move to proper folder 2020-01-12 14:46:55 -05:00
0d6ec02d5a small corrections and more cleanup 2020-01-12 14:31:05 -05:00
57f4b06db5 integrate RST version of npt/cauchy documentation 2020-01-12 14:06:12 -05:00
107c5bbced Merge branch 'master' into cauchystat and resolve conflicts
# Conflicts:
#	cmake/CMakeLists.txt
#	doc/src/Commands_fix.txt
#	doc/src/Packages_details.txt
#	doc/src/Packages_user.txt
#	doc/src/fix_nh.txt
#	doc/src/fixes.txt
#	doc/src/lammps.book
#	src/Makefile
2020-01-12 13:58:41 -05:00
2231feaf9b some corrections to the documentation 2020-01-12 13:55:39 -05:00
b6d86e3c91 merge fix sources and move into USER-MISC package. clean up docs 2020-01-12 13:45:22 -05:00
ef4e061cb7 merge contents of fix_npt_cauchy files into fix_cauchy 2020-01-12 13:27:40 -05:00
755620acb7 correct documentation link 2020-01-12 13:10:37 -05:00
7cdd39b894 remove references to fix npt/cauchy which has its own doc file now 2020-01-12 13:10:26 -05:00
9811a85a9a reformat 2020-01-12 13:09:53 -05:00
64e72b1cd5 indent consistently with tabs only 2020-01-12 12:34:54 -05:00
4a5511d00a Merge branch 'collected-small-changes' into doc-styles-check 2020-01-12 10:19:22 -05:00
81c9b0b12e small update to kspace overview 2020-01-12 10:17:56 -05:00
7b9abda6c4 refactor to use a function to process files with lists of styles 2020-01-12 10:17:14 -05:00
c93ee1045c Merge branch 'collected-small-changes' into doc-styles-check 2020-01-12 10:13:34 -05:00
a0ecf539f6 clean up and correct some documentation link issues 2020-01-12 10:08:14 -05:00
a957d1c4c2 fix whitespace issue 2020-01-11 21:05:08 -05:00
675bd26085 Merge branch 'master' into doc-styles-check 2020-01-11 21:00:49 -05:00
587fc9d962 Merge pull request #1828 from lammps/post-patch-tweaks
minor omissions in recent patch release
2020-01-11 21:00:09 -05:00
3b32141330 update documentation for style check 2020-01-11 20:47:10 -05:00
d7242eaa6a print total styles and count/report the number of issues 2020-01-11 20:41:14 -05:00
26830d09f8 hook style check into makefile 2020-01-11 20:39:58 -05:00
1d7b554e9a Merge branch 'post-patch-tweaks' into doc-styles-check 2020-01-11 20:08:03 -05:00
b2c4385661 clean up and correct fix style command overview 2020-01-11 20:02:23 -05:00
b4a87d79a0 make anchors and file names for lj/switch3/coulgauss/long consistent 2020-01-11 20:02:04 -05:00
bc9436a04f add support for computes and fixes 2020-01-11 19:58:31 -05:00
4a58d356b0 Merge branch 'post-patch-tweaks' into doc-styles-check 2020-01-11 19:43:42 -05:00
05b68d9e0d add missing pair style entries 2020-01-11 19:43:29 -05:00
019c70140f add and correct kspace style entries 2020-01-11 19:43:18 -05:00
7ea366b3ce fix formatting issue 2020-01-11 19:42:40 -05:00
1d838dad19 add checking of kspace styles 2020-01-11 19:41:59 -05:00
555f9b3450 Merge branch 'post-patch-tweaks' into doc-styles-check 2020-01-11 19:16:44 -05:00
ff7110028b make doc of pair style mm3/switch3/coulgauss/long consistent and complete 2020-01-11 19:16:34 -05:00
66296616ae handle removed styles on bonded command table 2020-01-11 19:10:21 -05:00
8f9c3a3a9c Merge branch 'post-patch-tweaks' into doc-styles-check 2020-01-11 19:04:38 -05:00
84a975439a clean up pair style command overview some 2020-01-11 19:04:02 -05:00
f713e9acc3 add missing bond style 2020-01-11 19:03:20 -05:00
297d31ab8f clean up and update general command overview 2020-01-11 19:02:49 -05:00
a38cf075db add checks for global commands, pair and bonded styles 2020-01-11 18:53:09 -05:00
7ebddb6088 Merge pull request #1829 from lammps/rerun-example
added rerun example dir
2020-01-11 18:49:40 -05:00
0c1157362a Merge pull request #1830 from lammps/fix-bond-create-warn
add warning to fix bond/create
2020-01-11 18:49:17 -05:00
00a31f6637 Merge branch 'master' into doc-styles-check 2020-01-11 17:05:16 -05:00
d7d1d57170 remove outdated txt files 2020-01-11 16:35:27 -05:00
e1849232b8 remove redundant lj/cut/tip4p/long/gpu entry and correct underline length 2020-01-11 16:21:42 -05:00
9c207bb751 remove outdated .txt file for pair style meam/c 2020-01-11 16:20:13 -05:00
4f35682828 list added example folder in manual 2020-01-11 16:15:49 -05:00
67b9fd10cc rename output files to correctly match the used version 2020-01-11 16:12:58 -05:00
cb8313d947 document added warning for fix bond/create 2020-01-11 16:08:37 -05:00
9ed9b4338b fix several memory leaks in pair style bop exposed when using the pair_coeff command multiple times 2020-01-11 14:03:30 -05:00
2e941fd9c0 update BOP potential files with missing final line of zeros 2020-01-11 14:02:59 -05:00
869e2f0916 added support for all unit styles except lj 2020-01-11 16:32:00 +00:00
8fa0700df1 add warning to fix bond/create 2020-01-10 16:49:09 -07:00
d0eb41b61e disallow per substyle special bond factors with certain suffix styles 2020-01-10 16:58:39 -05:00
d5192c1043 added an example for recalculating the RDF at a longer cutoff via rerun 2020-01-10 14:37:45 -07:00
6e3559a6e7 added rerun example dir 2020-01-10 14:09:38 -07:00
4989c3a878 convert static const ints to an enumerator 2020-01-10 15:30:26 -05:00
f073a64549 add suffix_flag settings to GPU package styles 2020-01-10 15:29:53 -05:00
a93ba8ab74 Merge branch 'fix-active' of github.com:pdebuyl/lammps into fix-active-rebase-4 2020-01-10 13:47:13 +01:00
13ee0c1739 fix doc for fix propel/self to sphinx system 2020-01-10 13:42:43 +01:00
fe4f7899d2 Use x-axis along the particle's quaternion.
This change allows the fix to work in 2D as well.
2020-01-10 11:32:57 +01:00
7b977856b9 Update documentation of fix propel/self
1. Remove reference to velocity alignment model.
2. Use reference to velocity-dependent friction for mode velocity
3. Add references to Fily & Marchetti and Bialké, Speck & Löwen for the
quaternion mode.
2020-01-10 11:32:54 +01:00
95784f7066 Updated documentation regarding types keyword. 2020-01-10 11:32:03 +01:00
60c0270375 Added option to impose fix propel/self only to specific types 2020-01-10 11:32:03 +01:00
768fd8f7fe Added type support. 2020-01-10 11:32:02 +01:00
2eb3f4e169 Updated documentation. 2020-01-10 11:32:01 +01:00
6240a7e278 Fixed example 3d_quaternion 2020-01-10 11:32:00 +01:00
f7bbc81d9b Added angular momentum thermostatting to 3d quaternion example. 2020-01-10 11:32:00 +01:00
060c45d36e Updated docs 2020-01-10 11:31:59 +01:00
3144b91fb3 Some code clean-up, added safety check in post_force_velocity. 2020-01-10 11:31:58 +01:00
074dfd8651 Commit before merging latest changes in master. 2020-01-10 11:31:57 +01:00
8c7890b6df Added two modes, one via velocity and one via quaternion. 2020-01-10 11:31:57 +01:00
7076e9fe72 Undid weird change in random source file. 2020-01-10 11:31:43 +01:00
942812a654 Commit before changing branches. 2020-01-10 11:31:21 +01:00
2a0081d135 Renamed fix active to fix propel/self 2020-01-10 11:31:20 +01:00
3d813fec6b Slightly modified example. 2020-01-10 11:31:19 +01:00
c93ca5b4a4 Added a fix to add active force to particles. 2020-01-10 11:31:16 +01:00
5139f3af33 Fixed compile error for fix_momentum_kokkos. 2020-01-10 11:17:37 +01:00
7af38e0862 Makefile.kokkos_cuda_mpi 2020-01-10 11:17:37 +01:00
4853b43f16 Commit change in fix_wall_region before merge. 2020-01-10 11:17:37 +01:00
664227ff11 one more tweak 2020-01-09 17:41:02 -07:00
d1222bd3c0 minor omissions in recent patch release 2020-01-09 17:38:50 -07:00
c06ba2b295 moved matrix functions into separate MathExtra namespace in pair_mesocnt.h 2020-01-09 09:28:35 +00:00
7b8498fab6 Merge pull request #1825 from akohlmey/next_patch_version
Step version string for next patch release
2020-01-08 18:09:05 -05:00
514271c984 recover compilation with -DLAMMPS_BIGBIG and fix whitespace and formatting issues 2020-01-08 17:57:54 -05:00
c482a04f80 fix whitespace issue 2020-01-08 17:21:35 -05:00
a3fd7345a7 Merge branch 'master' into next_patch_version 2020-01-08 17:20:36 -05:00
18a0cd3ead Merge pull request #1817 from akohlmey/collected-small-fixes
Collected small bugfixes and updates
2020-01-08 17:16:34 -05:00
d3eed9dba4 Merge pull request #1752 from ndtrung81/gpu-mem-leak-init
Fixed bugs with kernel (re)compiling when the global device got clear and reinitialized
2020-01-08 16:17:13 -05:00
2d71d9d47b add citation for GPU accelerated TIP4P style 2020-01-08 16:15:18 -05:00
6e2c3b7ce9 Merge branch 'master' into collected-small-fixes 2020-01-08 16:14:19 -05:00
481c647889 Merge pull request #1776 from Vsevak/tip4p_gpu
GPU support for lj/cut/tip4p/long pair style
2020-01-08 15:35:39 -05:00
9e3364ed39 no need to flag ibody as private 2020-01-08 15:13:34 -05:00
7051c941e5 Merge branch 'master' into collected-small-fixes 2020-01-08 15:05:03 -05:00
c5768acbbc Merge pull request #1801 from lammps/rigid-gravity
enable fix rigid commands to add gravity to COM of rigid bodies
2020-01-08 14:47:03 -05:00
e243ca92b0 step version string for next patch release 2020-01-08 14:31:08 -05:00
00dce6b198 Merge branch 'master' into gpu-mem-leak-init 2020-01-08 14:26:03 -05:00
97a798c776 Merge pull request #1824 from tabedzki2/patch-1
Updated Makefile.stampede: replacement options icc
2020-01-08 10:59:31 -05:00
a9a033de6f adjusted formatting 2020-01-08 15:39:55 +00:00
1cd6d302bb Merge pull request #1823 from dsbolin/rigid-gravity
Adds an example using new options in fix rigid and fix gravity
2020-01-08 09:15:55 -05:00
4599ffd4d5 removed numerical integration, cleaned up file 2020-01-08 13:28:00 +00:00
a219e442f4 swapped newton off to newton on - now working in parallel 2020-01-08 10:31:00 +00:00
f1a23b1ea2 Updated Makefile.stampede: replacement options icc
The default options for Makefile.stampede did not compile. They had to be updated to include the `q` replacement options.
2020-01-07 21:47:43 -05:00
e8a941a0b9 Remove unnecessary data transfer from tip4p/gpu pairstyle init
Such data transfer is performed at each timestep, so it does not belong to the initialization
2020-01-08 01:48:47 +03:00
8cc8c2793b Merge pull request #1819 from jotelha/master
Find parallel NetCDF with cmake for USER-NETCDF
2020-01-07 16:39:35 -05:00
23b73a0ebc plug small memory leak 2020-01-07 15:32:44 -05:00
f8ad7cc90f refactor fix for detecting intel pair styles in hybrid pair styles 2020-01-07 15:09:50 -05:00
4c974c6d5e avoid uninitialized memory access when used with hybrid styles 2020-01-07 11:14:22 -05:00
7470a120bb fix small memory leak in USER-INTEL binning style 2020-01-07 11:13:43 -05:00
46584d4520 Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2020-01-07 13:26:01 +01:00
24ef36dd4d Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2020-01-07 13:25:54 +01:00
7bc8c8e9d8 Minor tweaks to in.rigid.gravity example 2020-01-06 21:26:34 -07:00
6aa4f4caf6 Added example script and input data file showing benefits of new fix gravity and fix rigid options 2020-01-06 21:18:00 -07:00
66a473455e silence warnings from generic OpenCL header files (as seen on Fedora 31) 2020-01-06 17:34:26 -05:00
8ac2da792c fix typo in fix ave/atom docs 2020-01-06 16:18:23 -05:00
0dda120ef8 Merge pull request #1800 from jibril-b-coulibaly/patch-1
Correct typo in pair_granular.rst
2020-01-06 15:35:36 -05:00
5500198b4e correct whitespace issue in dynamical_matrix.cpp 2020-01-06 15:21:18 -05:00
394e5459b6 correct whitespace issues in pair_meamc.cpp 2020-01-06 15:16:08 -05:00
fbc0b8a881 Merge branch 'master' into collected-small-fixes 2020-01-06 15:14:48 -05:00
00dfde2952 Merge pull request #1783 from ares201005/fix_dynmat
add force modifications in dynamical_matrix.cpp
2020-01-06 15:08:35 -05:00
1be8109618 Merge pull request #1798 from martok/meamc-dec19
Collected MEAM/C additions
2020-01-06 15:07:08 -05:00
abb1b6bab4 added full p1,p2 swap for CNT end at end of chain 2020-01-06 13:20:41 +00:00
949337abff numerical differentiation for r1,r2, fixed bug in end indices and added p1,p2 swap for r1,r2 forces 2020-01-06 11:33:58 +00:00
a145e5cd3c fixed bug in forces acting on chain 2020-01-04 17:47:38 +00:00
a63792a07a need to explicitly run pair_init_check() inside kspace_init_check() for hybrid styles 2020-01-03 01:40:20 -05:00
2f6018b099 use regex pattern matching to make style lookup more specific with less code 2020-01-03 01:39:35 -05:00
e11374d433 print intel package status message only once per run 2020-01-03 01:37:12 -05:00
c28a9704e2 changed output format for time averaged values 2019-12-30 16:25:30 +00:00
9239688b8f added correct force expressions for approximate chain 2019-12-30 16:24:39 +00:00
ed1d633060 added harmonic bond and angle to commit 2019-12-23 14:50:14 +00:00
309936027b added harmonic bond and angle to commit 2019-12-23 14:49:44 +00:00
e34234d07b fixed bug with empty neighbor lists 2019-12-23 12:08:58 +00:00
337b0fd649 Fix 'sametag' transfer 2019-12-22 20:20:12 +03:00
3f24144abd Update cmake/Modules/FindPNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:25:24 +01:00
0c7d6a01e8 Update cmake/Modules/FindNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:25:08 +01:00
4e7bcee8e3 Update cmake/Modules/FindNetCDF.cmake
Co-Authored-By: Christoph Junghans <christoph.junghans@gmail.com>
2019-12-22 13:24:34 +01:00
200b539d09 added forces on CNT chain 2019-12-22 09:55:40 +00:00
a72f53e367 add stan/steve as code owners for minimizer changes 2019-12-21 16:18:26 -05:00
2084d0657a Merge branch 'fft' of github.com:stanmoore1/lammps into fft
# Conflicts:
#	doc/src/Build_settings.txt
#	src/KOKKOS/fft3d_kokkos.cpp
2019-12-21 11:09:16 -05:00
5268ceaf08 initial commit 2019-12-21 12:36:20 +00:00
a88a00dbbb remove trailing whitespace 2019-12-20 15:08:51 -05:00
3b76ab56f0 port gravity changes to rigid fixes to USER-OMP package versions 2019-12-20 12:09:50 -05:00
c8a53d560a Find parallel NetCDF with cmake for USER-NETCDF
Conflicts:
	cmake/presets/forhlr2-gnu.cmake
2019-12-20 17:59:05 +01:00
3631a50b83 cleaned up indents 2019-12-20 11:24:44 +00:00
21f454c040 correct truncated AlCu.bop.table potential file from Xiaoweng Zhou 2019-12-20 03:48:08 -05:00
a11b886b5c add warning if gravity is used incorrectly with overlapped rigid bodies 2019-12-19 16:17:14 -07:00
402f5585ff Merge pull request #1795 from jrgissing/bond/react-chiral_centers
Bond/react chiral centers
2019-12-19 16:13:32 -05:00
5a2074cc5a Merge pull request #1816 from stanmoore1/kk_min_fix
Fix issue in Kokkos minimize
2019-12-19 16:12:53 -05:00
a65e2a5de4 Use x-axis along the particle's quaternion.
This change allows the fix to work in 2D as well.
2019-12-19 21:34:49 +01:00
8283e68cdd Merge pull request #1807 from ndtrung81/gpu-readme-update
Updates to README and Makefile's in the GPU package
2019-12-19 14:59:12 -05:00
27180e0b22 Merge pull request #1812 from ohenrich/user-cgdna
USER-CGDNA: Added oxRNA2 files to .gitignore
2019-12-19 14:58:56 -05:00
6192741f79 Merge pull request #1813 from wmbrownIntel/user-intel-tri-fix
Bug fix for USER-INTEL package with triclinic neighbor builds.
2019-12-19 14:58:40 -05:00
92b2e4256b Bug fix for lj/class2/coul/long/gpu 2019-12-19 14:45:19 -05:00
7d16783366 Fix issue in Kokkos minimize 2019-12-19 09:31:30 -07:00
081839b449 Fix the example according to the convention 2019-12-19 16:44:32 +03:00
00ef854da1 Merge pull request #4 from pdebuyl/fix-active-doc
Update documentation of fix propel/self
2019-12-18 12:50:00 -05:00
d05f32d152 Added oxRNA2 files to .gitignore 2019-12-18 11:31:02 +00:00
3be04e4671 Bug fix for USER-INTEL package with triclinic neighbor builds. 2019-12-18 01:27:39 -08:00
b90c372a63 Fix mismatches in CUDA execution space qualifiers between declarations and
definitions.

Add missing `KOKKOS_INLINE_FUNCTION` to the definition of:
- `FixEnforce2DKokkos::post_force_item`
- `FixNeighHistoryKokkos::zero_partner_count_item`
- `FixNeighHistoryKokkos::pre_exchange_item`

Add missing `KOKKOS_FUNCTION` to the definition of:
- `NeighborKokkosExecute::build_Item`
- `NeighborKokkosExecute::build_Item_Ghost`
- `NeighborKokkosExecute::build_ItemSize`
2019-12-17 17:27:51 -08:00
cb20cb9f25 Add range checks for MathSpecial::fm_exp 2019-12-17 22:23:19 +01:00
a231197c10 MEAM/C: remove unused variable alias 2019-12-17 21:55:50 +01:00
1be9364a89 MEAM/C: document new reference structures 2019-12-17 21:55:38 +01:00
4c3ec145f3 Corrected the wrong use of the stubs path in -rpath 2019-12-17 14:05:39 -06:00
913c9a7b33 Update documentation of fix propel/self
1. Remove reference to velocity alignment model.
2. Use reference to velocity-dependent friction for mode velocity
3. Add references to Fily & Marchetti and Bialké, Speck & Löwen for the
quaternion mode.
2019-12-17 11:59:29 +01:00
4c9d355fc7 Fix compile error in fft3d_kokkos.cpp 2019-12-16 13:30:52 -07:00
55fde76d59 may only close files on MPI ranks that have a file reader instance 2019-12-16 07:22:41 -05:00
c169e88268 Update from master 2019-12-13 16:42:05 -07:00
6c3161cb55 Merge pull request #1796 from athomps/compute-snap-tweak
Fixed error in compute snap for quadratic and add log files for regre…
2019-12-13 11:55:20 -07:00
8030ff255d Merge pull request #1794 from yafshar/master
Certificate Verification
2019-12-12 13:24:21 -07:00
1f9f85e798 Mark LMP_NO_SSL_CHECK and LMP_DEBUG_CURL as advanced options 2019-12-12 14:17:32 -05:00
b0d0037f50 Certificate Verification
if SSL report an error ("certificate verify failed") during the
handshake and thus refuses further communication with that server,
you can specify your own CA cert path by setting the environment
variable CURL_CA_BUNDLE to the path of your choice.
2019-12-12 12:57:34 -06:00
a1e49eced7 Merge pull request #1806 from akohlmey/mpi-info-in-help
Include MPI version and vendor info in LAMMPS help message
2019-12-12 09:37:28 -07:00
96f75c7b67 Merge pull request #1802 from rbberger/small-fixes
Collection of small fixes
2019-12-12 09:36:53 -07:00
7e8a04d985 More minor update to README 2019-12-12 09:57:49 -06:00
bde8b57f0b Update fix_bond_react.rst 2019-12-11 23:10:11 -07:00
99ba15bf6a Updated README and added -L$(CUDA_HOME)/lib64/stubs to the Makefile's 2019-12-11 16:29:42 -06:00
5e4e6b2853 Merge pull request #1803 from stanmoore1/kk_mpi
Fix performance issues with CUDA-aware MPI
2019-12-11 13:34:33 -07:00
5e983b899a remove unused variable 2019-12-11 08:34:56 -05:00
876032b762 refactor MPI library info query so it can be added to -help flag output 2019-12-11 05:33:16 -05:00
af4e49a517 Merge branch 'rigid-gravity' of github.com:lammps/lammps into rigid-gravity 2019-12-10 14:14:21 -07:00
e0a771d5cb Remove outdated package.txt 2019-12-10 13:46:30 -05:00
fba97b94cb Don't change comm flags when there is only 1 MPI rank 2019-12-10 10:10:12 -07:00
a6a354279c Merge pull request #1804 from ohenrich/user-cgdna
USER-CGDNA update for Install.sh script
2019-12-10 09:31:20 -07:00
bf1ee20403 Added oxRNA2 files to Install.sh script 2019-12-10 14:46:24 +00:00
1b9214c3e9 Fix issues with CUDA-aware MPI 2019-12-09 15:21:47 -07:00
a3fca53e97 Separate the computation of newsite into another kernel
This eliminates the need for thread fence and makes the calculation stable on GTX1070 (CUDA and OpenCL) and TitanV
2019-12-07 15:54:20 +03:00
4a51e1660f Add thread fence in kernel to fix Volta indeterminacy 2019-12-07 01:16:39 +03:00
00547d906b Fix whitespace 2019-12-06 14:43:45 -05:00
2d4d07521d Add false positives to spell check 2019-12-06 14:43:19 -05:00
e68824a392 Merge pull request #1772 from ohenrich/user-cgdna
USER-CGDNA oxRNA2 Implementation
2019-12-06 12:23:47 -07:00
a2f9fa8e78 Separate the computation of hneigh into another kernel
Simplify the main GPU kernel and add another kernel 'k_pair_reneigh'. It works good on GTX1070 (Pascal), but still there is a problem with non-deterministic results on Volta.

I reimplement BaseCharge::compute methods in the child class LJ_TIP4PLong to correctly embed a new kernel in the code.

Also commit includes some codestyle fixes.
2019-12-06 21:41:02 +03:00
5859b18d2f enable fix rigid commands to add gravity to COM of rigid bodies 2019-12-06 11:04:50 -07:00
bf20d72fc3 Merge branch 'master' of https://github.com/lengxupa/lammps 2019-12-06 12:05:27 -05:00
38e82cbbcc This fix_deposit document added the description of the new rotation flag and its use. 2019-12-06 12:02:42 -05:00
f6bdf5662e Update pair_granular.rst
Correct formula for tangent stiffness, consistent with `PairGranular::mix_stiffnessG()`
2019-12-06 10:40:04 -06:00
b1668f28dd Merge pull request #1674 from rbberger/library_interface_update
Expose neighbor lists via library interface - Second iteration
2019-12-04 11:11:50 -07:00
81fb0d613f * This commit includes the addition of new reference structures such as
ch4: methane-like structure only for binary system.
dia3: diamond structure with primary 1NN and secondary 3NN inteation
tri: H2O-like structure that has an angle
zig: zigzag structure with a uniform angle
lin: linear structure (180 degree angle)

** tri, zig, and lin reference structures require angle information (in degree)
such as the following.
   theta = 109.5
2019-12-03 19:36:35 +01:00
e08ba3f11e Merge branch 'master' into library_interface_update 2019-12-03 12:51:17 -05:00
ce05ed4cca MEAM/C: infer z parameter from lattice structure, eliminates possible user mistakes 2019-12-03 18:06:34 +01:00
7e14dda789 MEAM/C: warn if z given and expected by lattice do not agree 2019-12-03 18:06:29 +01:00
2c65659421 MEAM/C: implement scaling factor for reversible scaling calculations 2019-12-03 18:06:29 +01:00
204529bcaf MEAM/C: remove unused vars, refactoring for extensibility 2019-12-03 18:06:29 +01:00
cd6d2c55d1 MEAM/C: helper function for x=1 2019-12-03 18:06:29 +01:00
1172f7bd96 Delete pair_mesocnt_old.h
deleted old implementation files
2019-12-03 13:25:31 +00:00
6da8a4ca1e Delete pair_mesocnt_old.cpp 2019-12-03 13:25:07 +00:00
7233c3fedf Fixed error in compute snap for quadratic and add log files for regression testing 2019-12-02 18:30:38 -07:00
e69e96ffbe Update Errors_messages.rst 2019-12-02 15:20:01 -05:00
28fda04526 chiral centers docs 2019-12-02 15:11:59 -05:00
4cb797e63d correct image atom mistake 2019-12-02 14:25:58 -05:00
819fe9ec56 add option to enforce atom chirality 2019-12-02 12:27:57 -05:00
93eb518f5d made local neighbor list, updated when regular list is updated leading to speed-up 2019-12-02 16:54:35 +00:00
1d92840918 Merge pull request #1792 from akohlmey/library-define-fix
Improve handling of LAMMPS integer size defines in library.h
2019-12-02 08:48:34 -07:00
36e102516f angle constraint bugfix
ghost atom fix
2019-12-02 10:34:03 -05:00
2f4adfc0c8 Merge pull request #1786 from rbberger/doc_command_tables
Add Sphinx extension to generate tables from lists
2019-12-02 08:07:22 -07:00
f801fbaca1 outsourced parts of compute into separate functions 2019-12-02 12:45:32 +00:00
0e3c816d41 removed numerical differentiation 2019-12-02 09:59:50 +00:00
dfcb4edca7 Fix trailing whitespace 2019-12-01 15:42:46 -05:00
73a4c58ba1 Merge branch 'master' into doc_command_tables 2019-12-01 15:40:52 -05:00
3ce020eab2 Merge pull request #1779 from athomps/compute-snap
Compute snap
2019-12-01 12:52:22 -07:00
acf02bb1a3 Revert split of Commands_bond.rst as requested by @sjplimp 2019-12-01 14:50:29 -05:00
3611a75ce0 Merge pull request #1771 from julient31/zeeman-rework
Adding test examples for the SPIN package and correcting some bugs
2019-12-01 09:10:25 -07:00
99a6678955 Merge pull request #1787 from akohlmey/collected-small-changes
Collected small changes
2019-12-01 08:14:41 -07:00
c5fc920881 Merge pull request #1784 from LucienPan0903/master
Patch of class2 dihedral in OMP and Kokkos
2019-12-01 08:11:58 -07:00
9140700701 rather than abort with an error, assume -DLAMMPS_SMALLBIG if no define is set 2019-11-29 10:37:30 -05:00
0c29c2827a check if one of the required defines is set and correct dependent API check 2019-11-29 10:16:22 -05:00
e64b395f5d Merge branch 'master' into user-cgdna 2019-11-29 09:11:04 +00:00
a5be6e5c55 Merge pull request #1789 from evoyiatzis/patch-2
Patch 2
2019-11-27 14:11:46 -07:00
8677bdda5c Merge branch 'master' into user-cgdna 2019-11-27 15:57:56 -05:00
5c93b6ad6f Update docs: compute_spin, fix_precession_spin, pair_spin_exchange, pair_spin_neel 2019-11-27 15:17:11 -05:00
66a076b819 Delete "float.h" from TIP4P GPU kernel for better OpenCL compatibility
According to Khronos OpenCL docs, "The C99 standard headers <...>, float.h, <...> are not available and cannot be included by a program"
2019-11-27 19:49:12 +03:00
6297c685e8 Add missing false positives for spell check 2019-11-27 11:38:53 -05:00
453d03177d Remove UTF-8 characters 2019-11-27 11:36:37 -05:00
41666be740 Update RST docs and remove txt files 2019-11-27 11:22:16 -05:00
489b7eb2a2 Merge branch 'master' into adaptglok 2019-11-27 11:12:00 -05:00
98221f7a07 Update create_atoms.rst and remove txt file 2019-11-27 11:06:52 -05:00
ce4b71f3e0 Merge branch 'master' into Ncreate_atoms 2019-11-27 11:01:23 -05:00
e3da3cadad Remove magic numbers and additional data types in extract_global 2019-11-27 10:51:09 -05:00
b49957c191 Fix memory leak 2019-11-27 10:50:41 -05:00
1f83c7d037 Commit JT 112719
- correcting 'neighbours' in doc
- modifying README is src/SPIN
2019-11-27 06:26:34 -07:00
60d5244526 Remove the const of costh12, costh13 costh23 in KOKKOS class dihedral 2019-11-26 18:05:06 -05:00
d806ee5d7e Fixes misleading indentation 2019-11-26 17:25:51 -05:00
87a04db02c add prototype of style checking script (incomplete)
so far, this code can compile a list of styles with flags
indicating support for accelerated styles
2019-11-26 16:24:03 -05:00
3aed4eb74c Update Howto_pylammps.rst 2019-11-26 21:52:31 +01:00
3bd3c7a196 remove compute head/flux txt style docs as it is out of sync with the rst version 2019-11-26 14:48:08 -05:00
3b6a42dc79 clarify the impact of the lack of potential energy in pair style agni 2019-11-26 14:46:32 -05:00
a171efa149 Resolve merge conflict by merging in master and recreating Commands_compute.rst 2019-11-26 08:20:42 -05:00
2e4f514d40 Fixed some minor errors and omissions 2019-11-25 14:32:37 -07:00
f98a0025d6 Merge branch 'compute-snap' of https://github.com/athomps/lammps into compute-snap 2019-11-25 14:00:53 -07:00
dae321f83a fixed smooth cutoff, added numerical differentiation as comparison 2019-11-25 14:54:40 +00:00
4c13001a6f Add extension errors that stop the build 2019-11-24 19:49:59 -07:00
7d289063b4 Update src/Command*.rst files 2019-11-24 19:23:16 -07:00
2c33b5589d Remove txt/Commands*.txt 2019-11-24 18:12:24 -07:00
65381d7a69 Add new table_from_list extension 2019-11-24 18:11:35 -07:00
8bca0b13f1 Commit2 JT 112219
- correcting issue in src/SPIN/atom_vec_spin.cpp (inconsistency packing/unpacking hybrid)
- rerunning all examples with corrections of former commit
2019-11-22 16:29:37 -07:00
89bb2ef83f Commit JT 112219
- improved figure in precession/spin documentation
- corrected other pair/spin interactions
2019-11-22 12:07:05 -07:00
32514eceaf integrated energies into force functions 2019-11-22 18:31:42 +00:00
0df520a0c9 finished all functions, still buggy 2019-11-22 17:15:56 +00:00
0f809c639a added force functions 2019-11-22 12:17:06 +00:00
b606e95364 Merge branch 'master' of github.com:LucienPan0903/lammps 2019-11-21 18:08:20 -05:00
54f998bde5 Patch of Dihedral class2 KOKKOS
Since the costh12, costh13, costh23 and c0 are declared as const,
a hack using const_cast is used to work around this.
2019-11-21 18:07:17 -05:00
0085aaabd2 Patch of Dihedral class2 KOKKOS
Since the costh12 costh13 costh13 and costh0 are declared as const,
a hack using const_cast is used to work around this.
2019-11-21 18:00:18 -05:00
babab9b5f7 replace non-UTF-8 compliant character with ASCII 2019-11-21 17:09:24 -05:00
c14ac53306 Patch of class2 dihedral in OMP and Kokkos 2019-11-21 12:28:18 -05:00
4ed8e38b5a added parallel case to finf 2019-11-21 15:41:51 +00:00
b4b1e10998 added usemi, graphs from paper reproducable (in code) 2019-11-21 15:06:54 +00:00
5cec83031f minor bugfixes in read_file, now with correct spline starting values 2019-11-21 14:02:16 +00:00
45c4165811 minor bugfixes to coefficients, debug statements included 2019-11-20 20:35:23 +00:00
5174365570 add force modifications. Previous code does not call force modify, thus the dynamical matrix calculation does not work for other potentials defined via modify 2019-11-20 13:21:41 -07:00
5b0403ced5 added geometry functions 2019-11-20 16:04:48 +00:00
24b7c13a42 fixed splines, spline testing included 2019-11-20 11:31:52 +00:00
5c7a81128d Merge branch 'zeeman-rework' of github.com:julient31/lammps into zeeman-rework 2019-11-19 15:51:55 -07:00
b4ba356f7b Commit JT 111919
- generated fresh log. files in examples
- corrected some of the examples
2019-11-19 15:50:56 -07:00
280d0defec whitespace cleanup 2019-11-19 15:35:31 -05:00
2a943241ae update doc/src/.gitignore 2019-11-19 15:33:44 -05:00
3dc8b7b6e5 update rst files with changes to .txt versions 2019-11-19 15:30:30 -05:00
3b6fa078c2 Merge branch 'master' into zeeman-rework 2019-11-19 15:29:21 -05:00
379b936149 minor bug fix in file_read 2019-11-19 20:09:34 +00:00
a0c51b40b9 Commit2 JT 111919
- renaming validation directory
2019-11-19 12:54:30 -07:00
b109fd1687 Commit JT 111919
- modified named of tests, from benchmark to validation
2019-11-19 12:50:52 -07:00
7468497673 added splines 2019-11-19 16:59:49 +00:00
897ffef242 Fixed some formatting issues 2019-11-19 00:50:57 -07:00
920a217ee1 Fixed some formatting issues 2019-11-19 00:47:29 -07:00
921d0794bb Finished documentation and example 2019-11-19 00:12:57 -07:00
b092a9fffa Added code to create pressure compute snap_press behind the scenes 2019-11-19 00:00:04 -07:00
59af51ca91 Added code to create pressure compute snap_press behind the scenes 2019-11-18 23:51:08 -07:00
11961084ce Made compute snap fully parallel 2019-11-18 21:35:32 -07:00
c504d93e3c Found an error in energy row that only affected ntypes > 1 2019-11-17 19:23:14 -07:00
7cfd5ce634 Fixed another problem with typeoffsets 2019-11-17 17:01:12 -07:00
2fea49741f Fixed some problems with type offsets 2019-11-17 16:50:16 -07:00
4febc7f794 Add copyright and fix style 2019-11-18 02:01:32 +03:00
ca8d1ac2ff Simplify tip4p GPU memory resize using 'resize_ib' 2019-11-18 02:01:32 +03:00
f47c543ca6 Merge pull request #59 from lammps/master
rebase
2019-11-17 13:16:59 -07:00
7f448a02b1 Add examples/water 2019-11-17 22:01:29 +03:00
3861b3cbbb ComputeSnap is working with, matching results FitSNAP3 A matrix 2019-11-16 18:20:08 -07:00
ffc443c957 Started on ComputeSnap 2019-11-15 18:34:44 -07:00
58bbbc3d8b Started on ComputeSnap 2019-11-15 18:00:25 -07:00
2013b7edf9 Merge remote-tracking branch 'origin/master' into library_interface_update 2019-11-15 17:44:03 -05:00
06c7464a20 Fixed anchor error 2019-11-15 22:05:12 +00:00
4fa86e6ee8 Revert "Fixed anchor errors"
This reverts commit 2d6e84edd7.
2019-11-15 21:59:21 +00:00
2d6e84edd7 Fixed anchor errors 2019-11-15 21:45:33 +00:00
2c2b7cf20b Corrected linking error 2019-11-15 21:19:33 +00:00
5ddac24161 Modified README 2019-11-15 19:27:48 +00:00
f4491011d0 Modified README 2019-11-15 18:54:37 +00:00
31ac2f3bd1 Commit2 JT 151119
- adding doc exceptions to false-positives
2019-11-15 11:42:04 -07:00
39ca4c85b7 Merge branch 'clean-master2' of github.com:julient31/lammps into zeeman-rework 2019-11-15 11:25:52 -07:00
0346a3d6d1 Commit JT 111519
- add README file to the benchmark examples repo
- removed comments from src/SPIN files
2019-11-15 10:53:39 -07:00
f96520ffc6 Added unique base pairing 2019-11-15 17:49:17 +00:00
cedcc6fc50 Commit JT 111519
- modified documentation spin (compute and exchange)
- modified compute spin for Ts
2019-11-15 09:27:02 -07:00
cbbe449d07 Updated README 2019-11-15 15:59:06 +00:00
1df3a71734 Updated documentation 2019-11-15 15:35:19 +00:00
bac8d15764 Merge branch 'master' into user-cgdna 2019-11-15 10:06:49 +00:00
93bd2f4ab0 Commit JT 111319
- addind 4 first benchmark examples (in examples/SPIN/benchmark)
- corrected typo in examples (in dump commands)
2019-11-13 20:46:28 -07:00
62b3e79022 Add autodoc for lammps.lammps and lammps.NeighList 2019-11-13 15:54:22 -05:00
28a9dc40cb Add docstring to new lammps.py methods 2019-11-13 15:53:25 -05:00
7e92c2e0ee Add more detailed code documentation 2019-11-13 14:30:13 -05:00
b0c872cd51 started refactoring mesocnt code 2019-11-13 16:48:21 +00:00
78d5bc3d12 Merge branch 'master' into library_interface_update 2019-11-12 15:17:32 -05:00
f803ba5655 Add shfl_xor sum to kernel for ARCH>=300 2019-11-12 21:35:36 +03:00
64bdc59623 Implement GPU pair style lj/cut/tip4p/long/gpu
Source code, Makefiles and Install for GPU-accelerated TIP4P pair style.
It is implemented as a part of the standard GPU package.
The style is compatible with the standard  lj/cut/tip4p/long.
Also, this commit modifies "atom.h" just to
add a getter for variable 'max_same'.
2019-11-10 02:38:58 +03:00
6eebc86735 Update lammps.book
Update stochastic wall
2019-11-08 11:12:31 +01:00
01faaadf37 Update fix.txt
Add wall/reflect/stochastic
2019-11-08 11:08:05 +01:00
6aea69104c Update fixes.txt 2019-11-08 11:03:45 +01:00
b8a51b34a1 Rename fix_wall_stochastic.txt to fix_wall_reflect_stochastic.txt 2019-11-08 11:02:42 +01:00
4c48700df0 Update Commands_fix.txt 2019-11-08 11:01:50 +01:00
01f605a195 Update fix_wall_stochastic.txt 2019-11-08 10:58:41 +01:00
28f5ad6993 Add files via upload 2019-11-08 10:53:07 +01:00
b3feeddaab Delete fix_wall_stochastic.cpp 2019-11-08 10:52:45 +01:00
b8314db8d1 Delete fix_wall_stochastic.h 2019-11-08 10:52:30 +01:00
f4ff35f2ce Add files via upload 2019-11-08 10:51:24 +01:00
f80c527b17 Commit JT 100619
- modified precession and Langevin/spin
2019-11-06 14:15:25 -07:00
816546d008 Commit3 JT 110419
- comments in precession
2019-11-04 17:38:32 -07:00
74e502eb63 Commit2 JT 110419
- removed all tabs from spin package
2019-11-04 09:59:37 -07:00
d64bc2a1b7 Commit JT 110419
- commit changes examples
2019-11-04 08:05:07 -07:00
e6aa79101f Implemented and verified oxRNA2 model 2019-11-01 10:54:12 +00:00
e119bffcca Fixed bugs with kernel (re)compiling when the global device got cleared and then reinitialized 2019-10-31 01:15:53 -05:00
4743c0004f Commit JT 102819
- corrected issue in Zeeman precession
- improved documentation of Zeeman interaction
2019-10-28 15:34:52 -06:00
4859f3e534 Minor documentation correction 2019-10-24 15:29:07 +02:00
f758d0670e Small documentation simplification 2019-10-24 15:27:44 +02:00
9215bce14f Updated and simplified documentation 2019-10-24 15:06:43 +02:00
1cb9e0d86d Remove unecessary compute 2019-10-24 14:20:03 +02:00
4a669bb883 Renamed: adaptglok -> fire2 2019-10-24 14:14:00 +02:00
549c8ee734 Renamed: adaptglok -> fire2 2019-10-24 14:11:16 +02:00
54733b204d Merge pull request #57 from lammps/master
rebase
2019-10-18 20:13:04 -06:00
766b8c58d8 Merge branch 'master' into fft 2019-10-08 16:51:11 +02:00
877329c1e4 rename rflag to orientflag to be consistent with documentation and more readable 2019-10-08 16:35:50 +02:00
f16486b23e stats bug when straight MD + quench 2019-10-07 09:03:36 -06:00
16b01af95a minor changes, removed index swapping 2019-10-04 20:06:30 +01:00
afc9627506 Add files via upload 2019-10-04 09:52:45 +02:00
b9d68f93af remove debug statement 2019-10-03 17:04:40 -06:00
5c92e5aa01 added W minimization example 2019-10-03 17:02:04 -06:00
49cd88170f Merge branch 'master' of https://github.com/lengxupa/lammps 2019-10-02 15:52:45 -04:00
227a82e19f an update to the documentation in doc/src/fix_deposit.txt describing the orientation rx ry rz to restrict random rotation 2019-10-02 15:47:10 -04:00
319df973d9 Fix typo in cmd line 2019-10-02 11:27:21 -05:00
80168d0d5a Automatically append input file to nwchemcmd 2019-10-02 11:11:50 -05:00
2a7861528b removed overcomplicated chain rule terms, added comments 2019-09-30 16:13:43 +01:00
7b039f3a97 added re-labelling of nodes and debug output 2019-09-30 09:38:57 +01:00
214850088b add NWChem wrapper to client/server mode for AIMD 2019-09-27 15:28:48 -06:00
b160d9b9b6 Add files via upload 2019-09-26 10:42:57 +02:00
a605fa867d Add files via upload 2019-09-25 22:11:18 +02:00
24ed074bdf Add files via upload 2019-09-25 22:03:35 +02:00
c37a64fd4f Merge branch 'master' into fft 2019-09-25 15:56:49 -04:00
a705b635a5 remove cstdio include
cstdio is implicitly included by pointers.h which is included by fix.h.
2019-09-25 14:36:26 -04:00
6e56672b02 replace non-ASCII characters with their ASCII equivalents 2019-09-24 16:33:56 -04:00
c298429886 correct legacy pdf build 2019-09-24 16:33:28 -04:00
8e1fc8944a small tweak 2019-09-24 16:00:17 -04:00
7e6910dfe6 correct links 2019-09-24 15:42:25 -04:00
ff991c4c53 Added new keywords orientation rx ry rz to restrict random rotation 2019-09-24 15:10:47 -04:00
87d838d80b reformat modified core LAMMPS code 2019-09-24 14:52:09 -04:00
ed5407e998 add spellchecker false positives 2019-09-24 14:19:43 -04:00
be88e65c7e reformat doc file and adjust so it converts without warnings 2019-09-24 14:19:30 -04:00
cf72a30bfd integrate fix wall/stochastic docs into manual 2019-09-24 14:18:49 -04:00
e3a3c50040 change indentation and whitespace to LAMMPS style 2019-09-24 12:24:23 -04:00
a3e255b314 Merge branch 'master' into stochasticwall 2019-09-24 12:08:38 -04:00
12ffa868b3 strip CR characters from source files 2019-09-24 12:08:16 -04:00
36f417ac14 Add files via upload 2019-09-23 18:23:15 +02:00
1203c2a1c6 Add files via upload 2019-09-23 18:16:56 +02:00
89f5883648 Add files via upload 2019-09-23 16:16:38 +02:00
b681e6e82d Delete fix_wall_maxwell.txt 2019-09-23 16:12:49 +02:00
9db380f335 Delete fix_wall_cl.txt 2019-09-23 16:12:26 +02:00
a2e706916c Delete fix_wall_diffusive.txt 2019-09-23 16:11:49 +02:00
a2fd8bc04c Add files via upload 2019-09-23 16:01:14 +02:00
c39c201125 Add files via upload 2019-09-23 15:59:36 +02:00
0a4e8c115e Delete fix_wall_maxwell.h 2019-09-23 15:59:07 +02:00
b016259cff Delete fix_wall_diffusive.cpp 2019-09-23 15:58:48 +02:00
8581a50ac9 Delete fix_wall_cl.h 2019-09-23 15:58:25 +02:00
c728dcc64a Delete fix_wall_cl.cpp 2019-09-23 15:57:58 +02:00
e87e7b7064 Delete fix_wall_diffusive.h 2019-09-23 15:57:43 +02:00
31644e4b96 Delete fix_wall_maxwell.cpp 2019-09-23 15:57:13 +02:00
48967a6fd6 Updated documentation 2019-09-19 16:05:57 +02:00
de78e309cf Resolved merge conflict by accepting incomming changes 2019-09-19 15:59:38 +02:00
25c3a452f2 Added New keywords rotation rx ry rz to fix_deposit 2019-09-18 17:29:45 -04:00
98f94ea7a2 Add files via upload 2019-09-18 21:25:43 +02:00
14e8bb75dd Delete fix_wall_Maxwell.txt 2019-09-18 21:21:42 +02:00
fe92e13dcf Delete fix_wall_ACL.txt 2019-09-18 21:20:53 +02:00
ff1ff43216 Add files via upload 2019-09-18 11:48:11 +02:00
021ba02832 Add files via upload 2019-09-17 21:39:44 +02:00
10684973f8 Add files via upload 2019-09-17 21:38:10 +02:00
9c5840445c Delete random_extra.h 2019-09-17 21:37:23 +02:00
2d7e59cae5 Delete random_extra.cpp 2019-09-17 21:37:15 +02:00
e93be67e3b Delete in.flow.pois.3D 2019-09-17 21:37:07 +02:00
13c7464dde Delete fix_wall_diffusive.h 2019-09-17 21:36:57 +02:00
ef88e58ea0 Delete fix_wall_diffusive.cpp 2019-09-17 21:36:48 +02:00
e5dd343a52 Delete fix_wall_Maxwell.h 2019-09-17 21:36:40 +02:00
211e623964 Delete fix_wall_Maxwell.cpp 2019-09-17 21:36:32 +02:00
753e7ae917 Delete fix_wall_ACL.h 2019-09-17 21:36:24 +02:00
88976cc3c1 Delete README 2019-09-17 21:36:14 +02:00
6de3fbba2a Delete fix_wall_ACL.cpp 2019-09-17 21:35:57 +02:00
739269138b Add files via upload 2019-09-17 21:29:33 +02:00
aa8b61e8f8 Add files via upload 2019-09-16 16:55:41 +02:00
b4d187b056 Add files via upload 2019-09-16 16:42:00 +02:00
9fa8311d01 Add files via upload 2019-09-16 09:39:05 +02:00
e9ea92c991 Add files via upload 2019-09-13 15:50:44 +02:00
358c130489 Add files via upload 2019-09-13 15:47:51 +02:00
c33685c05b Add files via upload 2019-09-13 15:11:16 +02:00
199f5afdba Add files via upload 2019-09-13 14:54:07 +02:00
11cb542211 add omitted cmake entries for recent KOKKOS package changes 2019-09-12 15:59:37 -04:00
cd57708e85 Merge branch 'master' into fft 2019-09-12 15:51:02 -04:00
8bc54c96b0 Add missing default 2019-09-12 14:44:56 -04:00
fb58eb5f23 Add __len__ implementation for NeighList 2019-09-12 14:37:18 -04:00
fec9817086 Add __getitem__ implementation for NeighList 2019-09-12 14:14:06 -04:00
34dbcf4f20 Update example 2019-09-12 13:53:29 -04:00
69854eab42 Expose Neighbor lists via library interface 2019-09-12 13:46:05 -04:00
3353bffb72 Remove magic numbers and additional data types in extract_global 2019-09-12 13:38:04 -04:00
5d7ce839a1 Fix memory leak 2019-09-12 13:37:53 -04:00
86179478d2 Updated documentation regarding types keyword. 2019-09-11 11:05:04 -04:00
2430c7bcff Added option to impose fix propel/self only to specific types 2019-09-11 10:58:45 -04:00
dd0ceec0dc Added type support. 2019-09-11 10:26:03 -04:00
e919edb7a7 Updated documentation. 2019-09-11 09:28:42 -04:00
97ab08d738 Merge branch 'master' into fix-active 2019-09-11 09:21:06 -04:00
f2789c7d60 Merge branch 'master' of https://www.github.com/lammps/lammps 2019-09-11 09:20:43 -04:00
11bc0601de minor correction in LeapFrog integration 2019-09-03 18:08:24 +02:00
17886f1e62 Fixed example 3d_quaternion 2019-08-29 09:56:37 -04:00
6084fc23ce Added angular momentum thermostatting to 3d quaternion example. 2019-08-29 09:55:22 -04:00
5b04d45c07 Merge branch 'master' into fix-active 2019-08-29 09:52:38 -04:00
04571ca6c2 Undid incorrect deletion of files. 2019-08-29 09:51:54 -04:00
cdca2f2d7c Removed spurious file changes not belonging to this branch. 2019-08-29 09:50:27 -04:00
712b385b67 Updated docs 2019-08-29 09:44:54 -04:00
e0aefd6b44 Some code clean-up, added safety check in post_force_velocity. 2019-08-29 09:41:50 -04:00
dabd3833b1 Merge branch 'master' of https://www.github.com/lammps/lammps 2019-08-29 09:00:52 -04:00
f2b567bfb6 Commit before merging latest changes in master. 2019-08-29 09:00:36 -04:00
fc7565177b Merge branch 'master' into Ncreate_atoms 2019-08-23 20:52:04 -06:00
68a74fdf31 resolve merge conflict
for recent include file cleanup and molecule rotation options
2019-08-23 20:42:26 -06:00
5c25355b9b update comments 2019-08-02 12:18:10 -04:00
3d4825e238 fix bug that would break single precision FFTW support with threads using KOKKOS 2019-08-02 12:18:10 -04:00
6a65deeb65 make support for threaded FFTW3 consistent and incorporate it into CMake
This now also includes threaded FFTW3 for regular FFTs, not only KOKKOS.
2019-08-02 12:14:32 -04:00
8b134cb0c9 refactor FFT handling in CMake module for KSPACE.
This also improves the FFT info output in the PPPM styles

# Conflicts:
#	cmake/Modules/Packages/KSPACE.cmake
2019-08-02 12:14:27 -04:00
9a43a6824c Fix issues 2019-07-30 09:25:24 -06:00
f96609a046 Add MKL support 2019-07-29 14:56:21 -06:00
4874fcc32a Merge branch 'master' into fft 2019-07-29 14:05:46 -06:00
2ec743abb7 Increase default stack size on GPUs for Kokkos KISS FFT 2019-07-29 14:02:38 -06:00
a5fbb6af17 fixed boundary case in old interpolation 2019-07-22 21:10:49 +01:00
da3cf890e1 fixed bug in file reading 2019-07-22 21:06:14 +01:00
d8ffbbaf4d cleaned up files, reverted uSemi to regular bicubic interpolation 2019-07-22 20:54:13 +01:00
d530f9dedc experimenting with splines, added proper chain rule derivatives 2019-07-20 19:14:14 +01:00
73f3019ef3 update comments 2019-07-19 17:27:10 -04:00
147999d6bd fix bug that would break single precision FFTW support with threads using KOKKOS 2019-07-19 17:00:06 -04:00
bf06dca11c make support for threaded FFTW3 consistent and incorporate it into CMake
This now also includes threaded FFTW3 for regular FFTs, not only KOKKOS.
2019-07-19 16:46:37 -04:00
cf11804ceb refactor FFT handling in CMake module for KSPACE.
This also improves the FFT info output in the PPPM styles

# Conflicts:
#	cmake/Modules/Packages/KSPACE.cmake
2019-07-19 14:44:24 -04:00
920ea89c37 Added two modes, one via velocity and one via quaternion. 2019-07-09 15:07:04 -04:00
6dc184b5d6 Merge branch 'master' into fix-active 2019-07-09 10:31:11 -04:00
8339d96200 Undid weird change in random source file. 2019-07-09 10:31:03 -04:00
cb3dce182b Commit before changing branches. 2019-07-09 10:29:42 -04:00
4865f03d69 Merge branch 'master' into fix-active 2019-07-09 10:26:11 -04:00
9988ccafe1 Merge branch 'master' of https://www.github.com/lammps/lammps 2019-07-09 10:24:42 -04:00
2b518f5a12 Renamed fix active to fix propel/self 2019-07-09 10:24:17 -04:00
4314e6df44 Merge branch 'master' into Ncreate_atoms 2019-07-02 22:59:18 -06:00
94cb1a8a6a Add CUFFT to KSPACE.cmake 2019-07-02 11:40:23 -06:00
2ce7da80d1 Add Kokkkos FFT build options 2019-07-02 08:28:18 -06:00
b1781e5129 Small tweaks 2019-07-02 08:27:49 -06:00
dcf9351514 Removed commented out code 2019-07-02 08:27:35 -06:00
5aae095677 Add support for single precision 2019-07-01 17:58:25 -06:00
bd77dc0468 Merge branch 'fix-active' of brandeis_desktop:/home/stefan/projects/lammps-mine into fix-active 2019-06-25 10:19:16 -04:00
0bc648e23e add message quit protocol, to allow for non-quantum MD steps 2019-06-18 14:30:30 -06:00
c515b7dc98 Turn of View initialization for d_tmp 2019-06-18 14:02:22 -06:00
fafd824b74 Small tweaks 2019-06-18 13:55:02 -06:00
08471684f3 upgrades to global and local hyper, including more output 2019-06-18 12:29:46 -06:00
06506b9f40 Merge branch 'master' of https://github.com/lammps/lammps into fft 2019-06-18 12:11:01 -06:00
9f40899ad7 Error out if using cuFFT with Kokkos CUDA on host CPUs 2019-06-18 12:10:41 -06:00
f34c899a19 Reduce compiler warnings and fix a few issues 2019-06-18 11:09:51 -06:00
8274266b8b fixed out by one error for end of chain 2019-06-18 17:46:36 +01:00
811b28ac97 Code cleanup 2019-06-18 09:43:54 -06:00
fce9439c72 Update docs 2019-06-17 15:25:22 -06:00
739097f34b Error out if using FFTW on GPUs 2019-06-17 15:24:47 -06:00
3c9098d2ee FFTW3 for Kokkos 2019-06-17 14:42:23 -06:00
80846e3ed5 WIP: add FFTW3 threaded support 2019-06-17 13:52:34 -06:00
ca5aa1f907 Add cuFFT norm functor 2019-06-17 13:18:26 -06:00
117fef7d3c fixed geometry, put sort into separate function 2019-06-17 18:06:54 +01:00
0322ebd093 WIP: add cuFFT support 2019-06-17 09:19:40 -06:00
3410989ff1 working + clean version 2019-06-17 10:26:27 +01:00
ab6be65ab3 Flatten loops in pack_kokkos 2019-06-14 09:20:15 -06:00
f02fe15ec2 Add Kokkos version of FFTs 2019-06-12 15:47:33 -06:00
141df0d3a0 fixed splines, cleaned debug, optimised memory 2019-06-12 20:17:33 +01:00
e1fbe4db64 updated makefile 2019-06-05 12:05:44 +01:00
875df7b851 added mesocnt to stable 2019-06-05 12:05:08 +01:00
c2e4009106 Remove option relaxbox from adaptglok: wrong behavior with non-P boundaries. Code cleanup. 2019-05-29 10:37:53 +02:00
58d99f5e1f add keywords in false_positive.txt to correct doc comppilation warnings 2019-05-27 18:38:13 +02:00
1a5c448ae1 doc correction 2019-05-27 17:49:14 +02:00
9f08b1c316 finalize merge 2019-05-27 16:43:06 +02:00
d3b2a225c4 Merge branch 'master' of https://www.github.com/lammps/lammps 2019-03-23 13:16:28 -04:00
46b277b699 c++11 compliance
also preempt a very unlikely bug
2019-02-20 23:25:05 -07:00
76e67415b0 Merge pull request #45 from lammps/master
rebase
2019-02-20 23:18:16 -07:00
627cc254f0 Merge branch 'master' into Ncreate_atoms 2019-02-11 20:47:13 -07:00
df41ce6522 create_atoms subset: make 'fully parallel', fix bugs and typos 2019-02-10 01:11:11 -07:00
825facad75 create_atoms subset: improvements based on Steve's suggestions 2019-01-31 22:41:08 -07:00
72bbabcecb randnpos: reduce overzealous pointer usage 2019-01-28 21:23:27 -07:00
9abf5c09d8 update with considerably-easier-to-read version 2019-01-28 20:55:06 -07:00
c9b727e75b create_atoms randnpos doc spelling correction 2019-01-28 20:41:24 -07:00
d71305b209 Merge pull request #43 from lammps/master
rebase
2019-01-27 21:56:03 -07:00
2bd2d43cca Merge branch 'master' of https://www.github.com/lammps/lammps 2018-12-29 18:25:43 -05:00
501e457201 Commit before merge. 2018-12-29 18:25:40 -05:00
78685761d5 Merge pull request #36 from lammps/master
rebase
2018-11-30 22:58:45 -07:00
7b64ed19be modified "package" related pages to point to USER-CAUCHY correctly 2018-11-30 12:54:18 -05:00
01f47c4450 fixed the input for the example 2018-11-29 20:06:36 -05:00
4d06e11cfd creating clean fix npt/cauchy package and docs 2018-11-29 19:55:31 -05:00
8f90dc54bf relaxbox: updated documentation 2018-11-20 17:41:59 +01:00
0d9cd31764 relax_box: add nb build check, add zeroing v 2018-11-20 17:27:38 +01:00
b0004bfd57 minor opt.: check for nb build 2018-11-19 20:13:13 +01:00
98868cd66d cleanup of relax_box method 2018-11-19 14:07:25 +01:00
6d5f495965 Merge branch 'fix-relaxbox' into adaptglok 2018-11-19 13:37:15 +01:00
0912054fca re-writting relax_box method 2018-11-19 13:18:55 +01:00
d0235dd018 remove cauchystat changes from fix_nh.cpp/.h/.txt (again). delete misplaced example that came back from the dead, too. 2018-11-14 17:22:31 -05:00
a4835fa7a6 Merge branch 'master' of https://github.com/ProfessorMiller/lammps 2018-11-14 09:42:32 -05:00
f46478e5ad add missing file 2018-11-13 17:40:05 -05:00
32be742144 fix typo 2018-11-13 17:32:48 -05:00
ad764dbdfb remove cauchystat changes from fix_nh.cpp/.h and fix_nh.txt 2018-11-13 17:23:39 -05:00
d1ff90eacf copy and rename fix_nh.cpp/.h to USER-CAUCHY/fix_cauchy.cpp/.h related changes
this moves the code into the corresponding folders, renames the classes, adds copies of the doc files, moves the examples, integrates the USER-CAUCHY package into the build system.
2018-11-13 17:18:37 -05:00
9fb05cb428 Merge branch 'patchy-sphere-model' of brandeis_desktop:projects/lammps-mine 2018-10-28 16:12:15 -04:00
681be091c8 Merge branch 'master' of github.com:Pakketeretet2/lammps 2018-10-28 16:09:25 -04:00
c495020287 Merge branch 'master' into patchy-sphere-model 2018-10-25 18:00:03 -04:00
06cdf5545e Slightly modified example. 2018-10-25 11:41:58 -04:00
63d24b1655 Merge branch 'master' into fix-active 2018-10-25 11:35:34 -04:00
dd9166f896 Merge branch 'master' of https://www.github.com/lammps/lammps 2018-10-25 11:35:22 -04:00
07ccfc355d Added a fix to add active force to particles. 2018-10-25 11:34:54 -04:00
6618ca2270 Makefile.kokkos_cuda_mpi 2018-10-24 11:10:53 -04:00
a726cb50e1 fix uninitialized data issue detected by valgrind 2018-10-23 10:41:51 -04:00
a20c38af80 complete implementation of using an instance of fix STORE for persistent storage 2018-10-23 10:41:51 -04:00
cf91a93876 update example to check if the store fix is removed properly 2018-10-23 10:41:51 -04:00
baea04b913 update cauchystat example to conform more with standard LAMMPS examples 2018-10-23 10:41:51 -04:00
8f6f7eb4cd add infratructure to add an instance of fix STORE for persistent storage 2018-10-23 10:41:51 -04:00
c094831617 tweak example input and readme 2018-10-23 10:41:51 -04:00
13d7514ea0 remove dead code and reduce compiler warnings because of it 2018-10-23 10:41:51 -04:00
864958216a remove static class members. some cosmetic changes 2018-10-23 10:41:51 -04:00
5c686be33d clean up whitespace, indentation, isolate all cauchystat-related code, remove extraneous examples 2018-10-23 10:41:50 -04:00
43f83abe5e Changes to the NH fix enabling Cauchy stress control (Cauhchystat) due to Miller, Tadmor, Gibson, Bernstein and Pavia, J Chem Phys,
144, 184107 (2016).
2018-10-23 10:41:50 -04:00
1492a2221a Merge branch 'master' of https://www.github.com/lammps/lammps 2018-10-22 11:24:22 -04:00
8b055ee4ef Fixed compile error for fix_momentum_kokkos. 2018-10-22 11:24:11 -04:00
12385480ab Started work on a patchy sphere model. 2018-10-22 11:12:46 -04:00
5a359d887a remove dead code and reduce compiler warnings because of it 2018-10-02 16:33:15 -04:00
c9b7a30eea remove static class members. some cosmetic changes 2018-10-02 16:25:34 -04:00
4b988b8cdf clean up whitespace, indentation, isolate all cauchystat-related code, remove extraneous examples 2018-09-24 11:30:06 -04:00
5192825230 doc tweak 2018-09-22 22:17:22 -06:00
2477f00402 change keyword from 'insert' to 'randnpos' 2018-09-22 21:36:27 -06:00
f13d5db614 Merge pull request #27 from lammps/master
rebase
2018-09-22 16:45:45 -06:00
f63ff38339 Merge branch 'master' of github.com:Pakketeretet2/lammps 2018-09-21 19:43:22 -04:00
c047de5ad8 minor: validation of relaxbox_rate 2018-09-17 17:06:15 +02:00
beb9cf6ead Correct default value for tmax 2018-09-14 18:17:57 +02:00
0bc4e8665e update default value for tmax 2018-09-14 18:13:24 +02:00
f120b18db8 Changes to the NH fix enabling Cauchy stress control (Cauhchystat) due to Miller, Tadmor, Gibson, Bernstein and Pavia, J Chem Phys,
144, 184107 (2016).
2018-09-04 15:28:57 -04:00
3eb53cb1a4 Doc corrections 2018-08-16 13:40:17 +02:00
69860a7944 Merge branch 'master' into adaptglok 2018-08-13 10:59:36 +02:00
d4e27c833c update doc 2018-07-13 12:22:29 +02:00
fe2862d5a1 Merge pull request #19 from lammps/master
rebase
2018-06-29 00:31:32 -05:00
86240cbc8e Merge branch 'master' of github.com:Pakketeretet2/lammps 2018-06-02 08:10:40 -04:00
db977dac7c Commit change in fix_wall_region before merge. 2018-06-02 08:10:35 -04:00
cfcb6902bc remove now unnecessary comm->me 2018-05-27 13:16:58 -06:00
16857bb9d3 Merge pull request #15 from lammps/master
rebase
2018-05-27 12:54:52 -06:00
18e9b1115c add consistent 'particle overflow' error for serial 2018-05-27 12:48:12 -06:00
aa1d0f3df5 actually fulfill promise given by 'ninsert == 0' warning 2018-05-06 13:38:43 -06:00
c4991778cb C++ compliance and bugfix
bugfix restores exact behavior when not using 'insert' keyword
2018-05-06 13:09:05 -06:00
f586d7c197 Merge remote-tracking branch 'upstream/master' 2018-03-21 18:06:06 +01:00
34db18589d 'error->one' correction 2018-03-18 15:28:53 -06:00
3c5d5b458c remove debug comment 2018-03-11 17:14:50 -06:00
d413eb9eee faster, simpler, 'more completely random' way to do this 2018-03-11 17:10:42 -06:00
a1483989d8 Merge pull request #5 from lammps/master
rebase
2018-03-11 16:54:34 -06:00
00bbe7c612 New stopping criterion based on v.f number. Timestep reset moved to min.* 2017-09-06 11:57:29 +02:00
a296c43d78 flag to control the initial delay for dtshrink 2017-09-01 20:49:32 +02:00
16934e4ce4 marged with last stable 2017-08-18 19:34:19 +02:00
0d901e8535 Final polish of boxrelax. Updated documentation. 2017-08-16 20:01:16 +02:00
6345e6b760 Finalized boxrelax option 2017-08-16 16:54:49 +02:00
a2cf4e98b7 partially adding boxrelax 2017-08-16 11:48:41 +02:00
a438d2c856 Removing relaxbox code. Cleanup of the code. Add some parameter check. Improved documentation. 2017-08-15 17:02:58 +02:00
0ef2f3749e cleanup repository 2017-08-15 13:38:59 +02:00
d156263f54 Add relax_box function. Adapted documentation. 2017-08-11 13:39:13 +02:00
f62e5ab195 logic fix, memory cleanup, add comments 2017-08-07 22:25:47 -06:00
8053375a72 Remove un-necessary option adaptstep in adaptglok. Adapted documentation. 2017-08-07 17:35:24 +02:00
f3cfb9c8be add exactly N particles to available lattice points
a couple other modifications which helped setting up and testing simulations for bond/react
2017-08-06 20:51:34 -06:00
bf85b04aaf New options adaptstep and halfstepback in adaptglok. Adapted documentation. 2017-08-04 16:43:23 +02:00
f9315a7ad9 Correct calculation of the Forces within the Verlet integrator. Updated doc. 2017-07-17 14:10:17 +02:00
e5e630ee09 new integrator to adaptblok: standard Euler (idem lammps-Fire) 2017-07-14 14:23:00 +02:00
89c9c32c30 multi-integrator version of adaptglok: semi-implicit Euler, Verlet and Leap Frog 2017-07-12 21:58:23 +02:00
a0002432cf remove test folder 2017-07-11 20:20:54 +02:00
e19a98d1d7 Merge branch 'master' of https://github.com/jguenole/lammps-new-fire
Merge to the last versionO
2017-07-11 20:16:04 +02:00
c82ef3027f Merge pull request #1 from lammps/master
Syncing with the last version of lammps/lammps
2017-07-11 20:12:31 +02:00
5055b2ab7d Merge remote-tracking branch 'upstream/master' 2017-07-11 20:04:26 +02:00
3477015296 remove .vscode folder 2017-07-11 17:50:35 +02:00
9c9f6933cd final cleanup? min_modify options, quick documentation 2017-07-11 17:46:24 +02:00
7d1a76f6a5 more cleanup, var name, remove screen output 2017-07-11 16:17:21 +02:00
690d93f763 more cleanup 2017-07-11 15:02:43 +02:00
fc31bde345 cleanup 2017-07-11 14:28:56 +02:00
74b761974f cleanup 2017-07-11 14:28:20 +02:00
c3ea0c7928 Update to Velocity-Verlet 2017-07-10 19:38:05 +02:00
fe940abecf update 2017-06-30 18:35:59 +02:00
885c0bbd4b work-in-progress version of adaptglok 2017-05-25 16:57:20 +02:00
0be11eb801 Merge branch 'master' of https://github.com/lammps/lammps 2017-05-15 15:05:45 +02:00
a624ed90c1 add min_adaptglok from Wolfram 2017-05-15 14:48:19 +02:00
2740 changed files with 2118940 additions and 150308 deletions

1
.github/CODEOWNERS vendored
View File

@ -111,6 +111,7 @@ src/exceptions.h @rbberger
src/fix_nh.* @athomps
src/info.* @akohlmey @rbberger
src/timer.* @akohlmey
src/min* @sjplimp @stanmoore1
# tools
tools/msi2lmp/* @akohlmey

View File

@ -68,12 +68,12 @@ How quickly your contribution will be integrated depends largely on how much eff
Here is a checklist of steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the source directory for examples. If you are uncertain, please ask on the lammps-users mailing list.
* All source files you provide must compile with the most current version of LAMMPS with multiple configurations. In particular you need to test compiling LAMMPS from scratch with `-DLAMMPS_BIGBIG` set in addition to the default `-DLAMMPS_SMALLBIG` setting. Your code will need to work correctly in serial and in parallel using MPI.
* 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 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.txt'.
* 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'.
* 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.
* 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 simple text files with a specific markup language, that are then auto-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>.txt` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. A description of the markup can also be found in `lammps/doc/utils/txt2html/README.html` As appropriate, the text files can include links to equations (see doc/Eqs/*.tex for examples, we auto-create the associated JPG files), 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.txt 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, the requirement for generating the PDF format manual is the htmldoc software. Please run at least "make html" and carefully inspect and proofread the resulting HTML format doc page before submitting 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). As appropriate, the text files can include mathematical expressions in MathJAX markup or links to equations (see doc/Eqs/*.tex for examples, we auto-create the associated JPG files), 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` 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
* 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 *.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.

1
.gitignore vendored
View File

@ -26,6 +26,7 @@ vgcore.*
.vagrant
\#*#
.#*
.vscode
.DS_Store
.DS_Store?

View File

@ -36,7 +36,6 @@ get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION)
include(PreventInSourceBuilds)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
#release comes with -O3 by default
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
@ -420,7 +419,7 @@ endforeach()
##############################################
# add lib sources of (simple) enabled packages
############################################
foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-QMMM)
foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD)
if(PKG_${SIMPLE_LIB})
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
string(TOLOWER "${PKG_LIB}" PKG_LIB)
@ -588,8 +587,9 @@ if(BUILD_TOOLS)
install(TARGETS binary2txt DESTINATION ${CMAKE_INSTALL_BINDIR})
# ninja-build currently does not support fortran. thus we skip building this tool
if(NOT CMAKE_GENERATOR STREQUAL "Ninja")
if(CMAKE_GENERATOR STREQUAL "Ninja")
message(STATUS "Skipping building 'chain.x' with Ninja build tool due to lack of Fortran support")
else()
enable_language(Fortran)
add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f)
target_link_libraries(chain.x ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
@ -681,7 +681,7 @@ endforeach()
get_directory_property(CPPFLAGS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS)
include(FeatureSummary)
feature_summary(DESCRIPTION "The following packages have been found:" WHAT PACKAGES_FOUND)
feature_summary(DESCRIPTION "The following tools and libraries have been found and configured:" WHAT PACKAGES_FOUND)
message(STATUS "<<< Build configuration >>>
Build type ${CMAKE_BUILD_TYPE}
Install path ${CMAKE_INSTALL_PREFIX}
@ -701,7 +701,7 @@ if (${_index} GREATER -1)
endif()
list (FIND LANGUAGES "C" _index)
if (${_index} GREATER -1)
message(STATUS "C Compiler ${CMAKE_C_COMPILER}
message(STATUS "C compiler ${CMAKE_C_COMPILER}
Type ${CMAKE_C_COMPILER_ID}
Version ${CMAKE_C_COMPILER_VERSION}
C Flags ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${BTYPE}}")
@ -711,22 +711,22 @@ if(CMAKE_EXE_LINKER_FLAGS)
Executable ${CMAKE_EXE_LINKER_FLAGS}")
endif()
if(BUILD_SHARED_LIBS)
message(STATUS "Shared libraries ${CMAKE_SHARED_LINKER_FLAGS}")
message(STATUS "Shared library flags: ${CMAKE_SHARED_LINKER_FLAGS}")
else()
message(STATUS "Static libraries ${CMAKE_STATIC_LINKER_FLAGS}")
message(STATUS "Static library flags: ${CMAKE_STATIC_LINKER_FLAGS}")
endif()
message(STATUS "Link libraries: ${LAMMPS_LINK_LIBS}")
if(BUILD_MPI)
message(STATUS "Using mpi with headers in ${MPI_CXX_INCLUDE_PATH} and ${MPI_CXX_LIBRARIES}")
message(STATUS "Using MPI with headers in ${MPI_CXX_INCLUDE_PATH} and ${MPI_CXX_LIBRARIES}")
endif()
if(PKG_GPU)
message(STATUS "GPU Api: ${GPU_API}")
message(STATUS "GPU API: ${GPU_API}")
if(GPU_API STREQUAL "CUDA")
message(STATUS "GPU Arch: ${GPU_ARCH}")
message(STATUS "GPU architecture: ${GPU_ARCH}")
elseif(GPU_API STREQUAL "OPENCL")
message(STATUS "OCL Tune: ${OCL_TUNE}")
message(STATUS "OpenCL parameter tuning: ${OCL_TUNE}")
endif()
message(STATUS "GPU Precision: ${GPU_PREC}")
message(STATUS "GPU precision: ${GPU_PREC}")
endif()
if(PKG_KOKKOS)
message(STATUS "Kokkos Arch: ${KOKKOS_ARCH}")
@ -738,4 +738,20 @@ if(PKG_KSPACE)
else()
message(STATUS "Using double precision FFTs")
endif()
if(FFT_FFTW_THREADS OR FFT_MKL_THREADS)
message(STATUS "Using threaded FFTs")
else()
message(STATUS "Using non-threaded FFTs")
endif()
if(PKG_KOKKOS)
if(KOKKOS_ENABLE_CUDA)
if (${FFT} STREQUAL "KISS")
message(STATUS "Kokkos FFT: KISS")
else()
message(STATUS "Kokkos FFT: cuFFT")
endif()
else()
message(STATUS "Kokkos FFT: ${FFT}")
endif()
endif()
endif()

View File

@ -1,20 +1,22 @@
# - Find fftw3
# Find the native FFTW3 headers and libraries.
# Find the native double precision FFTW3 headers and libraries.
#
# FFTW3_INCLUDE_DIRS - where to find fftw3.h, etc.
# FFTW3_LIBRARIES - List of libraries when using fftw3.
# FFTW3_FOUND - True if fftw3 found.
# FFTW3_INCLUDE_DIRS - where to find fftw3.h, etc.
# FFTW3_LIBRARIES - List of libraries when using fftw3.
# FFTW3_OMP_LIBRARIES - List of libraries when using fftw3.
# FFTW3_FOUND - True if fftw3 found.
#
find_package(PkgConfig)
pkg_check_modules(PC_FFTW3 fftw3)
find_path(FFTW3_INCLUDE_DIR fftw3.h HINTS ${PC_FFTW3_INCLUDE_DIRS})
find_library(FFTW3_LIBRARY NAMES fftw3 HINTS ${PC_FFTW3_LIBRARY_DIRS})
find_library(FFTW3_OMP_LIBRARY NAMES fftw3_omp HINTS ${PC_FFTW3_LIBRARY_DIRS})
set(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
set(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
set(FFTW3_OMP_LIBRARIES ${FFTW3_OMP_LIBRARY})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE
@ -22,4 +24,4 @@ include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW3 DEFAULT_MSG FFTW3_LIBRARY FFTW3_INCLUDE_DIR)
mark_as_advanced(FFTW3_INCLUDE_DIR FFTW3_LIBRARY )
mark_as_advanced(FFTW3_INCLUDE_DIR FFTW3_LIBRARY FFTW3_OMP_LIBRARY)

View File

@ -1,8 +1,8 @@
# - Find fftw3f
# Find the native FFTW3F headers and libraries.
# Find the native single precision FFTW3 headers and libraries.
#
# FFTW3F_INCLUDE_DIRS - where to find fftw3f.h, etc.
# FFTW3F_LIBRARIES - List of libraries when using fftw3f.
# FFTW3F_OMP_LIBRARIES - List of libraries when using fftw3.
# FFTW3F_FOUND - True if fftw3f found.
#
@ -10,11 +10,12 @@ find_package(PkgConfig)
pkg_check_modules(PC_FFTW3F fftw3f)
find_path(FFTW3F_INCLUDE_DIR fftw3.h HINTS ${PC_FFTW3F_INCLUDE_DIRS})
find_library(FFTW3F_LIBRARY NAMES fftw3f HINTS ${PC_FFTW3F_LIBRARY_DIRS})
find_library(FFTW3F_OMP_LIBRARY NAMES fftw3f_omp HINTS ${PC_FFTW3F_LIBRARY_DIRS})
set(FFTW3F_LIBRARIES ${FFTW3F_LIBRARY})
set(FFTW3F_INCLUDE_DIRS ${FFTW3F_INCLUDE_DIR})
set(FFTW3F_LIBRARIES ${FFTW3F_LIBRARY})
set(FFTW3F_OMP_LIBRARIES ${FFTW3F_OMP_LIBRARY})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set FFTW3F_FOUND to TRUE
@ -22,4 +23,4 @@ include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW3F DEFAULT_MSG FFTW3F_LIBRARY FFTW3F_INCLUDE_DIR)
mark_as_advanced(FFTW3F_INCLUDE_DIR FFTW3F_LIBRARY )
mark_as_advanced(FFTW3F_INCLUDE_DIR FFTW3F_LIBRARY)

View File

@ -46,10 +46,14 @@ endif()
find_path (NETCDF_INCLUDE_DIR netcdf.h
HINTS "${NETCDF_DIR}/include")
mark_as_advanced (NETCDF_INCLUDE_DIR)
set (NETCDF_C_INCLUDE_DIRS ${NETCDF_INCLUDE_DIR})
string(REGEX REPLACE "/include/?$" ""
NETCDF_LIB_HINT ${NETCDF_INCLUDE_DIR})
find_library (NETCDF_LIBRARY NAMES netcdf
HINTS "${NETCDF_DIR}/lib")
HINTS "${NETCDF_DIR}" "${NETCDF_LIB_HINT}" PATH_SUFFIXES lib lib64)
mark_as_advanced (NETCDF_LIBRARY)
set (NETCDF_C_LIBRARIES ${NETCDF_LIBRARY})

View File

@ -0,0 +1,55 @@
# source: https://ftp.space.dtu.dk/pub/Ioana/pism0.6.1-10/CMake/FindPNetCDF.cmake
# license: GPL v3 (https://ftp.space.dtu.dk/pub/Ioana/pism0.6.1-10/COPYING)
#
# - Find PNetCDF
# Find the native PNetCDF includes and library
#
# PNETCDF_INCLUDES - where to find netcdf.h, etc
# PNETCDF_LIBRARIES - Link these libraries when using NetCDF
# PNETCDF_FOUND - True if PNetCDF was found
#
# Normal usage would be:
# find_package (PNetCDF REQUIRED)
# target_link_libraries (uses_pnetcdf ${PNETCDF_LIBRARIES})
if (PNETCDF_INCLUDES AND PNETCDF_LIBRARIES)
# Already in cache, be silent
set (PNETCDF_FIND_QUIETLY TRUE)
endif (PNETCDF_INCLUDES AND PNETCDF_LIBRARIES)
find_path (PNETCDF_INCLUDES pnetcdf.h
HINTS "${PNETCDF_ROOT}/include" "$ENV{PNETCDF_ROOT}/include")
string(REGEX REPLACE "/include/?$" ""
PNETCDF_LIB_HINT ${PNETCDF_INCLUDES})
find_library (PNETCDF_LIBRARIES
NAMES pnetcdf
HINTS ${PNETCDF_LIB_HINT} PATH_SUFFIXES lib lib64)
if ((NOT PNETCDF_LIBRARIES) OR (NOT PNETCDF_INCLUDES))
message(STATUS "Trying to find PNetCDF using LD_LIBRARY_PATH (we're desperate)...")
file(TO_CMAKE_PATH "$ENV{LD_LIBRARY_PATH}" LD_LIBRARY_PATH)
find_library(PNETCDF_LIBRARIES
NAMES pnetcdf
HINTS ${LD_LIBRARY_PATH})
if (PNETCDF_LIBRARIES)
get_filename_component(PNETCDF_LIB_DIR ${PNETCDF_LIBRARIES} PATH)
string(REGEX REPLACE "/(lib|lib64)/?$" "/include"
PNETCDF_H_HINT ${PNETCDF_LIB_DIR})
find_path (PNETCDF_INCLUDES pnetcdf.h
HINTS ${PNETCDF_H_HINT}
DOC "Path to pnetcdf.h")
endif()
endif()
# handle the QUIETLY and REQUIRED arguments and set PNETCDF_FOUND to TRUE if
# all listed variables are TRUE
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (PNetCDF DEFAULT_MSG PNETCDF_LIBRARIES PNETCDF_INCLUDES)
mark_as_advanced (PNETCDF_LIBRARIES PNETCDF_INCLUDES)

View File

@ -1,29 +0,0 @@
# - Find quantum-espresso
# Find the native QE headers and libraries.
#
# QE_INCLUDE_DIRS - where to find quantum-espresso.h, etc.
# QE_LIBRARIES - List of libraries when using quantum-espresso.
# QE_FOUND - True if quantum-espresso found.
#
find_path(QE_INCLUDE_DIR libqecouple.h PATH_SUFFIXES COUPLE/include)
find_library(QECOUPLE_LIBRARY NAMES qecouple)
find_library(PW_LIBRARY NAMES pw)
find_library(QEMOD_LIBRARY NAMES qemod)
find_library(QEFFT_LIBRARY NAMES qefft)
find_library(QELA_LIBRARY NAMES qela)
find_library(CLIB_LIBRARY NAMES clib)
find_library(IOTK_LIBRARY NAMES iotk)
set(QE_LIBRARIES ${QECOUPLE_LIBRARY} ${PW_LIBRARY} ${QEMOD_LIBRARY} ${QEFFT_LIBRARY} ${QELA_LIBRARY} ${CLIB_LIBRARY} ${IOTK_LIBRARY})
set(QE_INCLUDE_DIRS ${QE_INCLUDE_DIR})
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set QE_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(QE DEFAULT_MSG QECOUPLE_LIBRARY PW_LIBRARY QEMOD_LIBRARY QEFFT_LIBRARY QELA_LIBRARY CLIB_LIBRARY IOTK_LIBRARY QE_INCLUDE_DIR)
mark_as_advanced(QE_INCLUDE_DIR QECOUPLE_LIBRARY PW_LIBRARY QEMOD_LIBRARY QEFFT_LIBRARY QELA_LIBRARY CLIB_LIBRARY IOTK_LIBRARY)

View File

@ -5,6 +5,16 @@ if(PKG_KIM)
include_directories(${CURL_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${CURL_LIBRARIES})
add_definitions(-DLMP_KIM_CURL)
set(LMP_DEBUG_CURL OFF CACHE STRING "Set libcurl verbose mode on/off. If on, it displays a lot of verbose information about its operations.")
mark_as_advanced(LMP_DEBUG_CURL)
if(LMP_DEBUG_CURL)
add_definitions(-DLMP_DEBUG_CURL)
endif()
set(LMP_NO_SSL_CHECK OFF CACHE STRING "Tell libcurl to not verify the peer. If on, the connection succeeds regardless of the names in the certificate. Insecure - Use with caution!")
mark_as_advanced(LMP_NO_SSL_CHECK)
if(LMP_NO_SSL_CHECK)
add_definitions(-DLMP_NO_SSL_CHECK)
endif()
endif()
find_package(KIM-API QUIET)
if(KIM-API_FOUND)

View File

@ -10,7 +10,7 @@ if(PKG_KOKKOS)
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos)
add_subdirectory(${LAMMPS_LIB_KOKKOS_SRC_DIR} ${LAMMPS_LIB_KOKKOS_BIN_DIR})
set(Kokkos_INCLUDE_DIRS ${LAMMPS_LIB_KOKKOS_SRC_DIR}/core/src
${LAMMPS_LIB_KOKKOS_SRC_DIR}/containers/src
${LAMMPS_LIB_KOKKOS_SRC_DIR}/algorithms/src
@ -39,7 +39,15 @@ if(PKG_KOKKOS)
${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp)
if(PKG_KSPACE)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp)
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/fft3d_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp)
if(KOKKOS_ENABLE_CUDA)
if(NOT ${FFT} STREQUAL "KISS")
add_definitions(-DFFT_CUFFT)
list(APPEND LAMMPS_LINK_LIBS cufft)
endif()
endif()
endif()
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")

View File

@ -21,9 +21,27 @@ if(PKG_KSPACE)
add_definitions(-DFFT_FFTW3)
include_directories(${${FFTW}_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${${FFTW}_LIBRARIES})
if(FFTW3_OMP_LIBRARY OR FFTW3F_OMP_LIBRARY)
option(FFT_FFTW_THREADS "Use threaded FFTW library" ON)
else()
option(FFT_FFTW_THREADS "Use threaded FFT library" OFF)
endif()
if(FFT_FFTW_THREADS)
if(FFTW3_OMP_LIBRARY OR FFTW3F_OMP_LIBRARY)
add_definitions(-DFFT_FFTW_THREADS)
list(APPEND LAMMPS_LINK_LIBS ${${FFTW}_OMP_LIBRARIES})
else()
message(FATAL_ERROR "Need OpenMP enabled FFTW3 library for FFT_THREADS")
endif()
endif()
elseif(FFT STREQUAL "MKL")
find_package(MKL REQUIRED)
add_definitions(-DFFT_MKL)
option(FFT_MKL_THREADS "Use threaded MKL FFT" ON)
if(FFT_MKL_THREADS)
add_definitions(-DFFT_MKL_THREADS)
endif()
include_directories(${MKL_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${MKL_LIBRARIES})
else()

View File

@ -1,6 +1,24 @@
if(PKG_USER-NETCDF)
find_package(NetCDF REQUIRED)
include_directories(${NETCDF_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARIES})
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
# USER-NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary.
# NetCDF library enables dump sytle "netcdf", while PNetCDF enables dump style "netcdf/mpiio"
find_package(NetCDF)
if(NETCDF_FOUND)
find_package(PNetCDF)
else(NETCDF_FOUND)
find_package(PNetCDF REQUIRED)
endif(NETCDF_FOUND)
if(NETCDF_FOUND)
include_directories(${NETCDF_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARIES})
add_definitions(-DLMP_HAS_NETCDF)
endif(NETCDF_FOUND)
if(PNETCDF_FOUND)
include_directories(${PNETCDF_INCLUDES})
list(APPEND LAMMPS_LINK_LIBS ${PNETCDF_LIBRARIES})
add_definitions(-DLMP_HAS_PNETCDF)
endif(PNETCDF_FOUND)
add_definitions(-DNC_64BIT_DATA=0x0020)
endif()

View File

@ -49,8 +49,8 @@ if(PKG_USER-PLUMED)
message(STATUS "PLUMED download requested - we will build our own")
include(ExternalProject)
ExternalProject_Add(plumed_build
URL https://github.com/plumed/plumed2/releases/download/v2.5.3/plumed-src-2.5.3.tgz
URL_MD5 de30d6e7c2dcc0973298e24a6da24286
URL https://github.com/plumed/plumed2/releases/download/v2.6.0/plumed-src-2.6.0.tgz
URL_MD5 204d2edae58d9b10ba3ad460cad64191
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
${CONFIGURE_REQUEST_PIC}

View File

@ -1,9 +1,13 @@
if(PKG_USER-QMMM)
enable_language(Fortran)
enable_language(C)
message(WARNING "Building QMMM with CMake is still experimental")
find_package(QE REQUIRED)
include_directories(${QE_INCLUDE_DIRS})
list(APPEND LAMMPS_LINK_LIBS ${QE_LIBRARIES})
if(NOT BUILD_LIB)
message(FATAL_ERROR "Building a QM/MM executable with USER-QMMM requires BUILD_LIB=yes")
endif()
if(NOT BUILD_SHARED_LIBS)
message(WARNING "It is recommended to use BUILD_SHARED_LIBS=yes with USER-QMMM")
endif()
add_library(qmmm STATIC ${LAMMPS_LIB_SOURCE_DIR}/qmmm/libqmmm.c)
list(APPEND LAMMPS_LINK_LIBS qmmm)
target_include_directories(qmmm PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/qmmm)
endif()

2
doc/.gitignore vendored
View File

@ -1,6 +1,8 @@
/old
/html
/html-offline
/latex
/mathjax
/spelling
/LAMMPS.epub
/LAMMPS.mobi

View File

@ -3,8 +3,8 @@
SHELL = /bin/bash
BUILDDIR = ${CURDIR}
RSTDIR = $(BUILDDIR)/src
TXTDIR = $(BUILDDIR)/txt
VENV = $(BUILDDIR)/docenv
MATHJAX = $(BUILDDIR)/mathjax
TXT2RST = $(VENV)/bin/txt2rst
ANCHORCHECK = $(VENV)/bin/rst_anchor_check
@ -28,63 +28,66 @@ HAS_VIRTUALENV = YES
endif
SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())')
SOURCES=$(filter-out $(wildcard $(TXTDIR)/lammps_commands*.txt) $(TXTDIR)/lammps_support.txt $(TXTDIR)/lammps_tutorials.txt,$(wildcard $(TXTDIR)/*.txt))
OBJECTS=$(SOURCES:$(TXTDIR)/%.txt=$(RSTDIR)/%.rst)
.PHONY: help clean-all clean epub mobi rst html pdf venv spelling anchor_check
.PHONY: help clean-all clean clean-spelling epub mobi rst html pdf spelling anchor_check style_check
# ------------------------------------------
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html create HTML doc pages in html dir"
@echo " pdf create Developer.pdf and Manual.pdf in this dir"
@echo " fetch fetch HTML and PDF files from LAMMPS web site"
@echo " epub create ePUB format manual for e-book readers"
@echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)"
@echo " html create HTML doc pages in html dir"
@echo " pdf create Developer.pdf and Manual.pdf in this dir"
@echo " fetch fetch HTML and PDF files from LAMMPS web site"
@echo " epub create ePUB format manual for e-book readers"
@echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)"
@echo " (requires ebook-convert tool from calibre)"
@echo " clean remove all intermediate RST files"
@echo " clean-all reset the entire build environment"
@echo " clean remove all intermediate RST files"
@echo " clean-all reset the entire build environment"
@echo " anchor_check scan for duplicate anchor labels"
@echo " spelling spell-check the manual"
@echo " style_check check for complete and consistent style lists"
@echo " package_check check for complete and consistent package lists"
@echo " spelling spell-check the manual"
# ------------------------------------------
clean-all: clean
rm -rf $(BUILDDIR)/docenv $(BUILDDIR)/doctrees
rm -rf $(BUILDDIR)/docenv $(BUILDDIR)/doctrees $(BUILDDIR)/mathjax
clean:
clean: clean-spelling
rm -rf html epub latex
rm -rf spelling
clean-spelling:
rm -rf spelling
rst: clean $(OBJECTS) $(ANCHORCHECK)
html: $(OBJECTS) $(ANCHORCHECK)
html: $(ANCHORCHECK) $(MATHJAX)
@(\
. $(VENV)/bin/activate ;\
sphinx-build $(SPHINXEXTRA) -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
echo "############################################" ;\
rst_anchor_check src/*.rst ;\
python utils/check-packages.py -s ../src -d src ;\
env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\
python utils/check-styles.py -s ../src -d src ;\
echo "############################################" ;\
deactivate ;\
)
-rm html/searchindex.js
@rm -rf html/_sources
@rm -rf html/PDF
@rm -rf html/USER
@rm -rf html/JPG
@cp -r src/PDF html/PDF
@cp -r src/USER html/USER
@mkdir -p html/JPG
@cp `grep -A2 '\.\. image::' src/*.rst | grep ':target:' | sed -e 's,.*:target: JPG/,src/JPG/,' | sort | uniq` html/JPG/
@rm -rf html/PDF/.[sg]*
@rm -rf html/USER/.[sg]*
@rm -rf html/USER/*/.[sg]*
@rm -rf html/USER/*/*.[sg]*
@mkdir -p html/_static/mathjax
@cp -r $(MATHJAX)/es5 html/_static/mathjax/
@echo "Build finished. The HTML pages are in doc/html."
spelling: $(OBJECTS) utils/sphinx-config/false_positives.txt
spelling: $(VENV) utils/sphinx-config/false_positives.txt
@(\
. $(VENV)/bin/activate ;\
pip install sphinxcontrib-spelling ;\
@ -94,7 +97,7 @@ spelling: $(OBJECTS) utils/sphinx-config/false_positives.txt
)
@echo "Spell check finished."
epub: $(OBJECTS)
epub: $(VENV)
@mkdir -p epub/JPG
@rm -f LAMMPS.epub
@cp src/JPG/lammps-logo.png epub/
@ -113,7 +116,7 @@ mobi: epub
@ebook-convert LAMMPS.epub LAMMPS.mobi
@echo "Conversion finished. The MOBI manual file is created."
pdf: $(OBJECTS) $(ANCHORCHECK)
pdf: $(ANCHORCHECK)
@(\
cd src/Developer; \
pdflatex developer; \
@ -122,24 +125,28 @@ pdf: $(OBJECTS) $(ANCHORCHECK)
cd ../../; \
)
@(\
. $(VENV)/bin/activate ;\
sphinx-build $(SPHINXEXTRA) -b latex -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\
echo "############################################" ;\
rst_anchor_check src/*.rst ;\
echo "############################################" ;\
deactivate ;\
. $(VENV)/bin/activate ;\
sphinx-build $(SPHINXEXTRA) -b latex -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\
echo "############################################" ;\
rst_anchor_check src/*.rst ;\
python utils/check-packages.py -s ../src -d src ;\
env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\
python utils/check-styles.py -s ../src -d src ;\
echo "############################################" ;\
deactivate ;\
)
@cd latex && \
sed 's/latexmk -pdf -dvi- -ps-/pdflatex/g' Makefile > temp && \
mv temp Makefile && \
sed 's/\\begin{equation}//g' LAMMPS.tex > tmp.tex && \
mv tmp.tex LAMMPS.tex && \
sed 's/\\end{equation}//g' LAMMPS.tex > tmp.tex && \
mv tmp.tex LAMMPS.tex && \
make && \
make && \
mv LAMMPS.pdf ../Manual.pdf && \
cd ../;
sed 's/latexmk -pdf -dvi- -ps-/pdflatex/g' Makefile > temp && \
mv temp Makefile && \
sed 's/\\begin{equation}//g' LAMMPS.tex > tmp.tex && \
mv tmp.tex LAMMPS.tex && \
sed 's/\\end{equation}//g' LAMMPS.tex > tmp.tex && \
mv tmp.tex LAMMPS.tex && \
make && \
make && \
make && \
mv LAMMPS.pdf ../Manual.pdf && \
cd ../;
@rm -rf latex/_sources
@rm -rf latex/PDF
@rm -rf latex/USER
@ -162,20 +169,26 @@ fetch:
anchor_check : $(ANCHORCHECK)
@(\
. $(VENV)/bin/activate ;\
rst_anchor_check src/*.txt ;\
rst_anchor_check src/*.rst ;\
deactivate ;\
)
style_check : $(VENV)
@(\
. $(VENV)/bin/activate ;\
python utils/check-styles.py -s ../src -d src ;\
deactivate ;\
)
package_check : $(VENV)
@(\
. $(VENV)/bin/activate ;\
python utils/check-packages.py -s ../src -d src ;\
deactivate ;\
)
# ------------------------------------------
$(RSTDIR)/%.rst : $(TXTDIR)/%.txt $(TXT2RST)
@(\
mkdir -p $(RSTDIR) ; \
. $(VENV)/bin/activate ;\
txt2rst -v $< > $@ ;\
deactivate ;\
)
$(VENV):
@if [ "$(HAS_PYTHON3)" == "NO" ] ; then echo "Python3 was not found! Please check README.md for further instructions" 1>&2; exit 1; fi
@if [ "$(HAS_VIRTUALENV)" == "NO" ] ; then echo "virtualenv was not found! Please check README.md for further instructions" 1>&2; exit 1; fi
@ -186,6 +199,9 @@ $(VENV):
deactivate;\
)
$(MATHJAX):
@git clone --depth 1 https://github.com/mathjax/MathJax.git mathjax
$(TXT2RST) $(ANCHORCHECK): $(VENV)
@( \
. $(VENV)/bin/activate; \

View File

@ -104,14 +104,17 @@ Here are some items to check:
* every new command or style should have documentation. The names of
source files (c++ and manual) should follow the name of the style.
(example: `src/fix_nve.cpp`, `src/fix_nve.h` for `fix nve` command,
implementing the class `FixNVE`, documented in `doc/src/fix_nve.txt`)
implementing the class `FixNVE`, documented in `doc/src/fix_nve.rst`)
* all new style names should be lower case, the must be no dashes,
blanks, or underscores separating words, only forward slashes.
* new style docs should be added to the "overview" files in
`doc/src/Commands_*.txt`, `doc/src/{fixes,computes,pairs,bonds,...}.txt`
and `doc/src/lammps.book`
`doc/src/Commands_*.rst`, `doc/src/{fixes,computes,pairs,bonds,...}.rst`
* check whether manual cleanly translates with `make html` and `make pdf`
* if documentation is (still) provided as a .txt file, convert to .rst
and remove the .txt file. For files in doc/txt the conversion is automatic.
* remove all .txt files in `doc/txt` that are out of sync with their .rst counterparts in `doc/src`
* check spelling of manual with `make spelling` in doc folder
* check style tables and command lists with `make style_check`
* new source files in packages should be added to `src/.gitignore`
* removed or renamed files in packages should be added to `src/Purge.list`
* C++ source files should use C++ style include files for accessing
@ -136,7 +139,7 @@ Here are some items to check:
* Code should follow the C++-98 standard. C++-11 is only accepted
in individual special purpose packages
* indentation is 2 spaces per level
* there should be NO tabs and no trailing whitespace
* there should be NO tabs and no trailing whitespace (review the "checkstyle" test on pull requests)
* header files, especially of new styles, should not include any
other headers, except the header with the base class or cstdio.
Forward declarations should be used instead when possible.

View File

@ -1,4 +1,4 @@
.TH LAMMPS "20 November 2019" "2019-11-20"
.TH LAMMPS "27 February 2020" "2020-02-27"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator.
@ -11,13 +11,18 @@ or
mpirun \-np 2
.B lmp
<input file> [OPTIONS] ...
\-in <input file> [OPTIONS] ...
or
.B lmp
\-r2data file.restart file.data
or
.B lmp
\-h
.SH DESCRIPTION
.B LAMMPS
is a classical molecular dynamics code, and an acronym for \fBL\fRarge-scale
@ -249,7 +254,7 @@ the chapter on errors in the
manual gives some additional information about error messages, if possible.
.SH COPYRIGHT
© 2003--2019 Sandia Corporation
© 2003--2020 Sandia Corporation
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as

5
doc/src/.gitignore vendored
View File

@ -1,2 +1,3 @@
Eqs
JPG
/Eqs
/JPG
/false_positives.txt

View File

@ -21,8 +21,3 @@ as described on the :doc:`Install <Install>` doc page.
Build_extras
Build_windows
Build_development
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -19,94 +19,115 @@ CMake and make:
Serial vs parallel build
-------------------------------------
LAMMPS can be built to run in parallel using the ubiquitous `MPI (message-passing interface) <https://en.wikipedia.org/wiki/Message_Passing_Interface>`_
library. Or it can built to run on a single processor (serial)
without MPI. It can also be built with support for OpenMP threading
(see more discussion below).
LAMMPS is written to use the ubiquitous `MPI (Message Passing Interface)
<https://en.wikipedia.org/wiki/Message_Passing_Interface>`_ library API
for distributed memory parallel computation. You need to have such a
library installed for building and running LAMMPS in parallel using a
domain decomposition parallelization. It is compatible with the MPI
standard version 2.x and later. LAMMPS can also be built into a
"serial" executable for use with a single processor using the bundled
MPI STUBS library.
**CMake variables**\ :
Independent of the distributed memory MPI parallelization, parts of
LAMMPS are also written with support for shared memory parallelization
using the OpenMP threading standard. A more detailed discussion of that
is below.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D BUILD_MPI=value # yes or no, default is yes if CMake finds MPI, else no
-D BUILD_OMP=value # yes or no (default)
-D BUILD_OMP=value # yes or no, default is yes if a compatible compiler is detected
-D LAMMPS_MACHINE=name # name = mpi, serial, mybox, titan, laptop, etc
# no default value
The executable created by CMake (after running make) is lmp\_name. If
the LAMMPS\_MACHINE variable is not specified, the executable is just
lmp. Using BUILD\_MPI=no will produce a serial executable.
The executable created by CMake (after running make) is named *lmp* unless
the LAMMPS\_MACHINE option is set. When setting `LAMMPS_MACHINE=name`
the executable will be named *lmp\_name*\. Using `BUILD\_MPI=no` will
enforce building a serial executable using the MPI STUBS library.
**Traditional make**\ :
The build with traditional makefiles has to be done inside the source folder `src`.
.. parsed-literal::
.. code-block:: bash
cd lammps/src
make mpi # parallel build, produces lmp_mpi using Makefile.mpi
make serial # serial build, produces lmp_serial using Makefile/serial
make mybox # uses Makefile.mybox to produce lmp_mybox
Serial build (see src/MAKE/Makefile.serial):
make mybox # uses Makefile.mybox to produce lmp_mybox
.. parsed-literal::
Any "make machine" command will look up the make settings from a file
Makefile.machine, create a folder Obj\_machine with all objects and
generated files and an executable called *lmp\_machine*\ . The standard
parallel build with `make mpi` assumes a standard MPI installation with
MPI compiler wrappers where all necessary compiler and linker flags to
get access and link with the suitable MPI headers and libraries are set
by the wrapper programs. For other cases or the serial build, you have
to adjust the make file variables MPI\_INC, MPI\_PATH, MPI\_LIB as well
as CC and LINK. To enable OpenMP threading usually a compiler specific
flag needs to be added to the compile and link commands. For the GNU
compilers, this is *-fopenmp*\ , which can be added to the CC and LINK
makefile variables.
For the serial build the following make variables are set (see src/MAKE/Makefile.serial):
.. code-block:: make
CC = g++
LINK = g++
MPI_INC = -I../STUBS
MPI_PATH = -L../STUBS
MPI_LIB = -lmpi_stubs
For a parallel build, if MPI is installed on your system in the usual
place (e.g. under /usr/local), you do not need to specify the 3
variables MPI\_INC, MPI\_PATH, MPI\_LIB. The MPI wrapper on the compiler
(e.g. mpicxx, mpiCC) knows where to find the needed include and
library files. Failing this, these 3 variables can be used to specify
where the mpi.h file (MPI\_INC), and the MPI library files (MPI\_PATH)
are found, and the name of the library files (MPI\_LIB).
You also need to build the STUBS library for your platform before making
LAMMPS itself. A "make serial" build does this for you automatically,
otherwise, type "make mpi-stubs" from the src directory, or "make" from
the src/STUBS dir. If the build fails, you will need to edit the
STUBS/Makefile for your platform. The stubs library does not provide
MPI/IO functions required by some LAMMPS packages, e.g. MPIIO or USER-LB,
and thus is not compatible with those packages.
For a serial build, you need to specify the 3 variables, as shown
above.
.. note::
For a serial LAMMPS build, use the dummy MPI library provided in
src/STUBS. You also need to build the STUBS library for your platform
before making LAMMPS itself. A "make serial" build does this for.
Otherwise, type "make mpi-stubs" from the src directory, or "make"
from the src/STUBS dir. If the build fails, you will need to edit the
STUBS/Makefile for your platform.
The file STUBS/mpi.c provides a CPU timer function called
MPI\_Wtime() that calls gettimeofday() . If your operating system
does not support gettimeofday() , you will need to insert code to
call another timer. Note that the ANSI-standard function clock()
rolls over after an hour or so, and is therefore insufficient for
timing long LAMMPS simulations.
The file STUBS/mpi.c provides a CPU timer function called MPI\_Wtime()
that calls gettimeofday() . If your system doesn't support
gettimeofday() , you'll need to insert code to call another timer.
Note that the ANSI-standard function clock() rolls over after an hour
or so, and is therefore insufficient for timing long LAMMPS
simulations.
**MPI and OpenMP support info**\ :
**CMake and make info**\ :
If you are installing MPI yourself to build a parallel LAMMPS
executable, we recommend either MPICH or OpenMPI which are regularly
used and tested with LAMMPS by the LAMMPS developers. MPICH can be
downloaded from the `MPICH home page <https://www.mpich.org>`_ and
OpenMPI can be downloaded correspondingly from the `OpenMPI home page
<https://www.open-mpi.org>`_. Other MPI packages should also work. No
specific vendor provided and standard compliant MPI library is currently
known to be incompatible with LAMMPS. If you are running on a large
parallel machine, your system admins or the vendor should have already
installed a version of MPI, which is likely to be faster than a
self-installed MPICH or OpenMPI, so you should study the provided
documentation to find out how to build and link with it.
If you are installing MPI yourself, we recommend MPICH2 from Argonne
National Laboratory or OpenMPI. MPICH can be downloaded from the
`Argonne MPI site <http://www.mcs.anl.gov/research/projects/mpich2/>`_.
OpenMPI can be downloaded from the `OpenMPI site <http://www.open-mpi.org>`_. Other MPI packages should also work.
If you are running on a large parallel machine, your system admins or
the vendor should have already installed a version of MPI, which is
likely to be faster than a self-installed MPICH or OpenMPI, so find
out how to build and link with it.
The majority of OpenMP (threading) support in LAMMPS is provided by
the USER-OMP package; see the :doc:`Speed omp <Speed_omp>` doc page for
details. The USER-INTEL package also provides OpenMP support (it is
The majority of OpenMP (threading) support in LAMMPS is provided by the
USER-OMP package; see the :doc:`Speed omp <Speed_omp>` doc page for
details. The USER-INTEL package also includes OpenMP threading (it is
compatible with USER-OMP) and adds vectorization support when compiled
with the Intel compilers on top of that. Also, the KOKKOS package can
be compiled for using OpenMP threading.
with compatible compilers, in particular the Intel compilers on top of
OpenMP. Also, the KOKKOS package can be compiled to include OpenMP
threading.
However, there are a few commands in LAMMPS that have native OpenMP
support. These are commands in the MPIIO, SNAP, USER-DIFFRACTION, and
USER-DPD packages. In addition some packages support OpenMP threading
indirectly through the libraries they interface to: e.g. LATTE and
USER-COLVARS. See the :doc:`Packages details <Packages_details>` doc
page for more info on these packages and the doc pages for their
respective commands for OpenMP threading info.
In addition, there are a few commands in LAMMPS that have native OpenMP
support included as well. These are commands in the MPIIO, SNAP,
USER-DIFFRACTION, and USER-DPD packages. In addition some packages
support OpenMP threading indirectly through the libraries they interface
to: e.g. LATTE and USER-COLVARS. See the :doc:`Packages details
<Packages_details>` doc page for more info on these packages and the doc
pages for their respective commands for OpenMP threading info.
For CMake, if you use BUILD\_OMP=yes, you can use these packages and
turn on their native OpenMP support and turn on their native OpenMP
@ -143,22 +164,37 @@ Choice of compiler and compile/link options
---------------------------------------------------------
The choice of compiler and compiler flags can be important for
performance. Vendor compilers can produce faster code than
open-source compilers like GNU. On boxes with Intel CPUs, we suggest
trying the `Intel C++ compiler <intel_>`_.
performance. Vendor provided compilers for a specific hardware can
produce faster code than open-source compilers like the GNU compilers.
On x86 hardware most popular compilers are quite similar in performance
of C/C++ code at high optimization levels. When using the USER-INTEL
package, there is a distinct advantage in using the `Intel C++ compiler
<intel_>`_ due to much improved vectorization through SSE and AVX
instructions on compatible hardware as the source code includes changes
and compiler directives to enable high degrees of vectorization.
.. _intel: https://software.intel.com/en-us/intel-compilers
On parallel clusters or supercomputers which use "environment modules"
for their compile/link environments, you can often access different
compilers by simply loading the appropriate module before building
LAMMPS.
**CMake build**\ :
On parallel clusters or supercomputers which use "modules" for their
compile/link environments, you can often access different compilers by
simply loading the appropriate module before building LAMMPS.
By default CMake will use a compiler it finds and it will add
optimization flags appropriate to that compiler and any
:doc:`accelerator packages <Speed_packages>` you have included in the
build.
**CMake variables**\ :
You can tell CMake to look for a specific compiler with these variable
settings. Likewise you can specify the FLAGS variables if you want to
experiment with alternate optimization flags. You should specify all
3 compilers, so that the small number of LAMMPS source files written
in C or Fortran are built with a compiler consistent with the one used
for all the C++ files:
.. parsed-literal::
.. code-block:: bash
-D CMAKE_CXX_COMPILER=name # name of C++ compiler
-D CMAKE_C_COMPILER=name # name of C compiler
@ -168,42 +204,42 @@ simply loading the appropriate module before building LAMMPS.
-D CMAKE_C_FLAGS=string # flags to use with C compiler
-D CMAKE_Fortran_FLAGS=string # flags to use with Fortran compiler
By default CMake will use a compiler it finds and it will add
optimization flags appropriate to that compiler and any :doc:`accelerator packages <Speed_packages>` you have included in the build.
You can tell CMake to look for a specific compiler with these variable
settings. Likewise you can specify the FLAGS variables if you want to
experiment with alternate optimization flags. You should specify all
3 compilers, so that the small number of LAMMPS source files written
in C or Fortran are built with a compiler consistent with the one used
for all the C++ files:
A few example command lines are:
.. code-block:: bash
.. parsed-literal::
Building with GNU Compilers:
# Building with GNU Compilers:
cmake ../cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran
Building with Intel Compilers:
# Building with Intel Compilers:
cmake ../cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort
Building with LLVM/Clang Compilers:
# Building with LLVM/Clang Compilers:
cmake ../cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_Fortran_COMPILER=flang
For compiling with the Clang/LLVM compilers a special CMake preset is
included that can be loaded with `-C ../cmake/presets/clang.cmake`.
.. note::
When the cmake command completes, it prints info to the screen
as to which compilers it is using, and what flags will be used in the
compilation. Note that if the top-level compiler is mpicxx, it is
simply a wrapper on a real compiler. The underlying compiler info is
what will be listed in the CMake output. You should check to insure
you are using the compiler and optimization flags are the ones you
want.
When the cmake command completes, it prints a summary to the screen
which compilers it is using and what flags and settings will be used
for the compilation. Note that if the top-level compiler is mpicxx,
it is simply a wrapper on a real compiler. The underlying compiler
info is what CMake will try to determine and report. You should check
to confirm you are using the compiler and optimization flags you want.
**Makefile.machine settings**\ :
**Makefile.machine settings for traditional make**\ :
The "compiler/linker settings" section of a Makefile.machine lists
compiler and linker settings for your C++ compiler, including
optimization flags. For a parallel build it is recommended to use
mpicxx or mpiCC, since these compiler wrappers will include a variety of
settings appropriate for your MPI installation and thus avoiding the
guesswork of finding the right flags.
Parallel build (see src/MAKE/Makefile.mpi):
.. parsed-literal::
.. code-block:: bash
CC = mpicxx
CCFLAGS = -g -O3
@ -212,33 +248,26 @@ Parallel build (see src/MAKE/Makefile.mpi):
Serial build (see src/MAKE/Makefile.serial):
.. parsed-literal::
.. code-block:: make
CC = g++
CCFLAGS = -g -O3
LINK = g++
LINKFLAGS = -g -O
The "compiler/linker settings" section of a Makefile.machine lists
compiler and linker settings for your C++ compiler, including
optimization flags. You should always use mpicxx or mpiCC for
a parallel build, since these compiler wrappers will include
a variety of settings appropriate for your MPI installation.
.. note::
If you build LAMMPS with any :doc:`accelerator packages <Speed_packages>` included, they have specific
optimization flags that are either required or recommended for optimal
performance. You need to include these in the CCFLAGS and LINKFLAGS
settings above. For details, see the individual package doc pages
listed on the :doc:`Speed packages <Speed_packages>` doc page. Or
examine these files in the src/MAKE/OPTIONS directory. They
correspond to each of the 5 accelerator packages and their hardware
variants:
If you build LAMMPS with any :doc:`accelerator packages <Speed_packages>`
included, there may be specific optimization flags that are either
required or recommended to enable required features and to achieve
optimal performance. You need to include these in the CCFLAGS and
LINKFLAGS settings above. For details, see the individual package
doc pages listed on the :doc:`Speed packages <Speed_packages>` doc
page. Or examine these files in the src/MAKE/OPTIONS directory.
They correspond to each of the 5 accelerator packages and their
hardware variants:
.. parsed-literal::
.. code-block:: bash
Makefile.opt # OPT package
Makefile.omp # USER-OMP package
@ -249,10 +278,8 @@ a variety of settings appropriate for your MPI installation.
Makefile.kokkos_omp # KOKKOS package for CPUs (OpenMP)
Makefile.kokkos_phi # KOKKOS package for KNLs (OpenMP)
----------
.. _exe:
Build LAMMPS as an executable or a library
@ -265,10 +292,13 @@ page for more info on coupling LAMMPS to other codes. See the
:doc:`Python <Python_head>` doc page for more info on wrapping and
running LAMMPS from Python via its library interface.
**CMake variables**\ :
**CMake build**\ :
For CMake builds, you can select through setting CMake variables which
files the compilation produces during the configuration step. If none
are set, defaults are applied.
.. parsed-literal::
.. code-block:: bash
-D BUILD_EXE=value # yes (default) or no
-D BUILD_LIB=value # yes or no (default)
@ -277,24 +307,32 @@ running LAMMPS from Python via its library interface.
# no default value
Setting BUILD\_EXE=no will not produce an executable. Setting
BUILD\_LIB=yes will produce a static library named liblammps.a.
BUILD\_LIB=yes will produce a static library named *liblammps.a*\ .
Setting both BUILD\_LIB=yes and BUILD\_SHARED\_LIBS=yes will produce a
shared library named liblammps.so. If LAMMPS\_LIB\_SUFFIX is set the generated
libraries will be named liblammps\_name.a or liblammps\_name.so instead.
shared library named *liblammps.so* instead. If LAMMPS\_LIB\_SUFFIX is
set to *name* in addition, the name of the generated libraries will be
changed to either *liblammps\_name.a* or *liblammps\_name.so*\ ,
respectively.
**Traditional make**\ :
With the traditional makefile based build process, the choice of
the generated executable or library depends on the "mode" setting.
Several options are available and "mode=exe" is the default.
.. parsed-literal::
.. code-block:: bash
cd lammps/src
make machine # build LAMMPS executable lmp_machine
mkae mode=exe machine # same as "make machine"
make mode=lib machine # build LAMMPS static lib liblammps_machine.a
make mode=shlib machine # build LAMMPS shared lib liblammps_machine.so
make mode=shexe machine # same as "mode=exe" but uses objects from "mode=shlib"
The two library builds also create generic soft links, named
liblammps.a and liblammps.so, which point to the liblammps\_machine
files.
The two "exe" builds will generate and executable *lmp\_machine*\ ,
while the two library builds will create a file *liblammps\_machine.a*
or *liblammps\_machine.so*\ . They will also create generic soft links,
named *liblammps.a* and *liblammps.so*\ , which point to the specific
*liblammps\_machine.a/so* files.
**CMake and make info**\ :
@ -302,32 +340,40 @@ Note that for a shared library to be usable by a calling program, all
the auxiliary libraries it depends on must also exist as shared
libraries. This will be the case for libraries included with LAMMPS,
such as the dummy MPI library in src/STUBS or any package libraries in
the lib/packages directory, since they are always built as shared
libraries using the -fPIC switch. However, if a library like MPI or
FFTW does not exist as a shared library, the shared library build will
generate an error. This means you will need to install a shared
library version of the auxiliary library. The build instructions for
the library should tell you how to do this.
As an example, here is how to build and install the `MPICH library <mpich_>`_, a popular open-source version of MPI, distributed by
Argonne National Lab, as a shared library in the default
/usr/local/lib location:
.. _mpich: http://www-unix.mcs.anl.gov/mpi
the lib/packages directory, since they are always built in a shared
library compatible way using the -fPIC switch. However, if a library
like MPI or FFTW does not exist as a shared library, the shared library
build may generate an error. This means you will need to install a
shared library version of the auxiliary library. The build instructions
for the library should tell you how to do this.
As an example, here is how to build and install the `MPICH library
<mpich_>`_, a popular open-source version of MPI, as a shared library
in the default /usr/local/lib location:
.. _mpich: https://www.mpich.org
.. parsed-literal::
.. code-block:: bash
./configure --enable-shared
make
make install
You may need to use "sudo make install" in place of the last line if
you do not have write privileges for /usr/local/lib. The end result
should be the file /usr/local/lib/libmpich.so.
You may need to use "sudo make install" in place of the last line if you
do not have write privileges for /usr/local/lib. The end result should
be the file /usr/local/lib/libmpich.so. On many Linux installations the
folder "${HOME}/.local" is an alternative to using /usr/local and does
not require superuser or sudo access. In that case the configuration
step becomes:
.. code-block:: bash
./configure --enable-shared --prefix=${HOME}/.local
Avoiding using "sudo" for custom software installation (i.e. from source
and not through a package manager tool provided by the OS) is generally
recommended to ensure the integrity of the system software installation.
----------
@ -337,30 +383,39 @@ should be the file /usr/local/lib/libmpich.so.
Build the LAMMPS documentation
----------------------------------------
**CMake variable**\ :
The LAMMPS manual is written in `reStructuredText <rst_>`_ format which
can be translated to different output format using the `Sphinx <sphinx_>`_
document generator tool. Currently the translation to HTML and PDF (via
LaTeX) are supported. For that to work a Python 3 interpreter and
internet access is required. For the documentation build a python
based virtual environment is set up in the folder doc/docenv and various
python packages are installed into that virtual environment via the pip
tool. The actual translation is then done via make commands.
.. _rst: https://docutils.readthedocs.io/en/sphinx-docs/user/rst/quickstart.html
.. _sphinx: https://sphinx-doc.org
**Documentation make option**\ :
The following make commands can be issued in the doc folder of the
LAMMPS source distribution.
.. code-block:: bash
make html # create HTML doc pages in html directory
make pdf # create Developer.pdf and Manual.pdf in this directory
make fetch # fetch HTML and PDF files from LAMMPS web site
make clean # remove all intermediate files
make clean-all # reset the entire doc build environment
make anchor_check # scan for duplicate anchor labels
make style_check # check for complete and consistent style lists
make package_check # check for complete and consistent package lists
make spelling # spell-check the manual
.. parsed-literal::
-D BUILD_DOC=value # yes or no (default)
This will create the HTML doc pages within the CMake build directory.
The reason to do this is if you want to "install" LAMMPS on a system
after the CMake build via "make install", and include the doc pages in
the install.
**Traditional make**\ :
.. parsed-literal::
cd lammps/doc
make html # html doc pages
make pdf # single Manual.pdf file
This will create a lammps/doc/html dir with the HTML doc pages so that
you can browse them locally on your system. Type "make" from the
lammps/doc dir to see other options.
Thus "make html" will create a "doc/html" directory with the HTML format
manual pages so that you can browse them with a web browser locally on
your system.
.. note::
@ -369,6 +424,19 @@ lammps/doc dir to see other options.
`download page <http://lammps.sandia.gov/download.html>`_.
**CMake build option**\ :
It is also possible to create the HTML version of the manual within
the :doc:`CMake build directory <Build_cmake>`. The reason for this
option is to include the installation of the HTML manual pages into
the "install" step when installing LAMMPS after the CMake build via
"make install".
.. code-block:: bash
-D BUILD_DOC=value # yes or no (default)
----------
@ -380,19 +448,20 @@ Build LAMMPS tools
Some tools described in :doc:`Auxiliary tools <Tools>` can be built directly
using CMake or Make.
**CMake variable**\ :
**CMake build3**\ :
.. parsed-literal::
.. code-block:: bash
-D BUILD_TOOLS=value # yes or no (default)
The generated binaries will also become part of the LAMMPS installation (see below)
The generated binaries will also become part of the LAMMPS installation
(see below).
**Traditional make**\ :
.. parsed-literal::
.. code-block:: bash
cd lammps/tools
make all # build all binaries of tools
@ -416,10 +485,10 @@ a globally visible place on your system, for others to access. Note
that you may need super-user privileges (e.g. sudo) if the directory
you want to copy files to is protected.
**CMake variable**\ :
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
cmake -D CMAKE_INSTALL_PREFIX=path [options ...] ../cmake
make # perform make after CMake command
@ -430,8 +499,3 @@ you want to copy files to is protected.
There is no "install" option in the src/Makefile for LAMMPS. If you
wish to do this you will need to first build LAMMPS, then manually
copy the desired LAMMPS files to the appropriate system directories.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -20,7 +20,7 @@ make command to build LAMMPS, which uses the created
Makefile(s). Example:
.. parsed-literal::
.. code-block:: bash
cd lammps # change to the LAMMPS distribution directory
mkdir build; cd build # create a new directory (folder) for build
@ -52,7 +52,7 @@ After compilation, you may optionally install the LAMMPS executable into
your system with:
.. parsed-literal::
.. code-block:: bash
make install # optional, copy LAMMPS executable & library elsewhere
@ -115,7 +115,7 @@ folder, recreate the directory and start over.
**Command-line version of CMake**\ :
.. parsed-literal::
.. code-block:: bash
cmake [options ...] /path/to/lammps/cmake # build from any dir
cmake [options ...] ../cmake # build from lammps/build
@ -127,7 +127,7 @@ The argument can be preceeded or followed by various CMake
command-line options. Several useful ones are:
.. parsed-literal::
.. code-block:: bash
-D CMAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired
-D CMAKE_BUILD_TYPE=type # type = RelWithDebInfo (default), Release, MinSizeRel, or Debug
@ -177,7 +177,7 @@ directory.
**Curses version (terminal-style menu) of CMake**\ :
.. parsed-literal::
.. code-block:: bash
ccmake ../cmake
@ -195,7 +195,7 @@ more information.
**GUI version of CMake**\ :
.. parsed-literal::
.. code-block:: bash
cmake-gui ../cmake
@ -216,7 +216,7 @@ for more information.
Check if your machine already has CMake installed:
.. parsed-literal::
.. code-block:: bash
which cmake # do you have it?
which cmake3 # version 3 may have this name
@ -226,10 +226,10 @@ On clusters or supercomputers which use environment modules to manage
software packages, do this:
.. parsed-literal::
.. code-block:: bash
module list # is a cmake module already loaded?
module avail # is a cmake module available?
module list # is a module for cmake already loaded?
module avail # is a module for cmake available?
module load cmake3 # load cmake module with appropriate name
Most Linux distributions offer pre-compiled cmake packages through
@ -238,8 +238,3 @@ enough version, you can download the latest version at
`https://cmake.org/download/ <https://cmake.org/download/>`_.
Instructions on how to install it on various platforms can be found
`on this page <https://cmake.org/install/>`_.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -18,14 +18,14 @@ generated by the CMake build. To enable a more verbose output during
compilation you can use the following option.
.. parsed-literal::
.. code-block:: bash
-D CMAKE_VERBOSE_MAKEFILE=value # value = no (default) or yes
Another way of doing this without reconfiguration is calling make with variable VERBOSE set to 1:
.. parsed-literal::
.. code-block:: bash
make VERBOSE=1
@ -48,7 +48,7 @@ it. Please note that they come with a performance hit. However, they are
usually faster than using tools like Valgrind.
.. parsed-literal::
.. code-block:: bash
-D ENABLE_SANITIZE_ADDRESS=value # enable Address Sanitizer, value = no (default) or yes
-D ENABLE_SANITIZE_UNDEFINED=value # enable Undefined Behaviour Sanitizer, value = no (default) or yes
@ -72,7 +72,7 @@ developers can run the tests directly on their workstation.
this is incomplete and only represents a small subset of tests that we run
.. parsed-literal::
.. code-block:: bash
-D ENABLE_TESTING=value # enable simple run tests of LAMMPS, value = no (default) or yes
-D LAMMPS_TESTING_SOURCE_DIR=path # path to lammps-testing repository (option if in custom location)
@ -81,7 +81,7 @@ developers can run the tests directly on their workstation.
If you enable testing in the CMake build it will create an additional target called "test". You can run them with:
.. parsed-literal::
.. code-block:: bash
make test
@ -93,14 +93,14 @@ You can also collect code coverage metrics while running the tests by enabling
coverage support during building.
.. parsed-literal::
.. code-block:: bash
-D ENABLE_COVERAGE=value # enable coverage measurements, value = no (default) or yes
This will also add the following targets to generate coverage reports after running the LAMMPS executable:
.. parsed-literal::
.. code-block:: bash
make test # run tests first!
make gen_coverage_html # generate coverage report in HTML format
@ -109,12 +109,6 @@ This will also add the following targets to generate coverage reports after runn
These reports require GCOVR to be installed. The easiest way to do this to install it via pip:
.. parsed-literal::
.. code-block:: bash
pip install git+https://github.com/gcovr/gcovr.git
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -5,10 +5,15 @@ When building with some packages, additional steps may be required,
in addition to:
.. parsed-literal::
.. code-block:: bash
-D PKG_NAME=yes # CMake
make yes-name # make
$ cmake -D PKG_NAME=yes
or
.. code-block:: bash
$ make yes-name
as described on the :doc:`Build\_package <Build_package>` doc page.
@ -20,18 +25,35 @@ You may need to tell LAMMPS where it is found on your system.
This is the list of packages that may require additional steps.
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
| :ref:`COMPRESS <compress>` | :ref:`GPU <gpu>` | :ref:`KIM <kim>` | :ref:`KOKKOS <kokkos>` | :ref:`LATTE <latte>` | :ref:`MESSAGE <message>` |
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
| :ref:`MSCG <mscg>` | :ref:`OPT <opt>` | :ref:`POEMS <poems>` | :ref:`PYTHON <python>` | :ref:`VORONOI <voronoi>` | :ref:`USER-ADIOS <user-adios>` |
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
| :ref:`USER-ATC <user-atc>` | :ref:`USER-AWPMD <user-awpmd>` | :ref:`USER-COLVARS <user-colvars>` | :ref:`USER-H5MD <user-h5md>` | :ref:`USER-INTEL <user-intel>` | :ref:`USER-MOLFILE <user-molfile>` |
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
| :ref:`USER-NETCDF <user-netcdf>` | :ref:`USER-PLUMED <user-plumed>` | :ref:`USER-OMP <user-omp>` | :ref:`USER-QMMM <user-qmmm>` | :ref:`USER-QUIP <user-quip>` | :ref:`USER-SCAFACOS <user-scafacos>` |
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
| :ref:`USER-SMD <user-smd>` | :ref:`USER-VTK <user-vtk>` | | | | |
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
.. table_from_list::
:columns: 6
* :ref:`COMPRESS <compress>`
* :ref:`GPU <gpu>`
* :ref:`KIM <kim>`
* :ref:`KOKKOS <kokkos>`
* :ref:`LATTE <latte>`
* :ref:`MESSAGE <message>`
* :ref:`MSCG <mscg>`
* :ref:`OPT <opt>`
* :ref:`POEMS <poems>`
* :ref:`PYTHON <python>`
* :ref:`VORONOI <voronoi>`
* :ref:`USER-ADIOS <user-adios>`
* :ref:`USER-ATC <user-atc>`
* :ref:`USER-AWPMD <user-awpmd>`
* :ref:`USER-COLVARS <user-colvars>`
* :ref:`USER-H5MD <user-h5md>`
* :ref:`USER-INTEL <user-intel>`
* :ref:`USER-MOLFILE <user-molfile>`
* :ref:`USER-NETCDF <user-netcdf>`
* :ref:`USER-PLUMED <user-plumed>`
* :ref:`USER-OMP <user-omp>`
* :ref:`USER-QMMM <user-qmmm>`
* :ref:`USER-QUIP <user-quip>`
* :ref:`USER-SCAFACOS <user-scafacos>`
* :ref:`USER-SMD <user-smd>`
* :ref:`USER-VTK <user-vtk>`
----------
@ -49,15 +71,15 @@ available on your system.
If CMake cannot find the library, you can set these variables:
.. parsed-literal::
.. code-block:: bash
-D ZLIB_INCLUDE_DIR=path # path to zlib.h header file
-D ZLIB_LIBRARIES=path # path to libz.a (.so) file
**Traditional make**\ :
If make cannot find the library, you can edit the
lib/compress/Makefile.lammps file to specify the paths and library
If make cannot find the library, you can edit the file
lib/compress/Makefile.lammps to specify the paths and library
name.
@ -75,7 +97,7 @@ which GPU hardware to build for.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D GPU_API=value # value = opencl (default) or cuda
-D GPU_PREC=value # precision setting
@ -125,12 +147,12 @@ using a command like these, which simply invoke the lib/gpu/Install.py
script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-gpu # print help message
make lib-gpu args="-b" # build GPU library with default Makefile.linux
make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision
make lib-gpu args="-m mpi -a sm_60 -p mixed -b" # build GPU library with mixed precision and P100 using other settings in Makefile.mpi
$ make lib-gpu # print help message
$ make lib-gpu args="-b" # build GPU library with default Makefile.linux
$ make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision
$ make lib-gpu args="-m mpi -a sm_60 -p mixed -b" # build GPU library with mixed precision and P100 using other settings in Makefile.mpi
Note that this procedure starts with a Makefile.machine in lib/gpu, as
specified by the "-m" switch. For your convenience, machine makefiles
@ -177,11 +199,12 @@ KIM package
To build with this package, the KIM library with API v2 must be downloaded
and built on your system. It must include the KIM models that you want to
use with LAMMPS. If you want to use the :doc:`kim\_query <kim_commands>`
use with LAMMPS. If you want to use the :doc:`kim_query <kim_commands>`
command, you also need to have libcurl installed with the matching
development headers and the curl-config tool.
See `Obtaining KIM Models <http://openkim.org/doc/usage/obtaining-models>`_ to
See the `Obtaining KIM Models <http://openkim.org/doc/usage/obtaining-models>`_
web page to
learn how to install a pre-build binary of the OpenKIM Repository of Models.
See the list of all KIM models here: https://openkim.org/browse/models
@ -192,15 +215,35 @@ minutes to hours) to build. Of course you only need to do that once.)
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D DOWNLOAD_KIM=value # download OpenKIM API v2 for build, value = no (default) or yes
-D LMP_DEBUG_CURL=value # set libcurl verbose mode on/off, value = off (default) or on
-D LMP_NO_SSL_CHECK=value # tell libcurl to not verify the peer, value = no (default) or yes
If DOWNLOAD\_KIM is set, the KIM library will be downloaded and built
inside the CMake build directory. If the KIM library is already on
your system (in a location CMake cannot find it), set the PKG\_CONFIG\_PATH
environment variable so that libkim-api can be found.
*For using OpenKIM web queries in LAMMPS*\ :
If LMP\_DEBUG\_CURL is set, the libcurl verbose mode will be on, and any
libcurl calls within the KIM web query display a lot of information about
libcurl operations. You hardly ever want this set in production use, you will
almost always want this when you debug/report problems.
The libcurl performs peer SSL certificate verification by default. This
verification is done using a CA certificate store that the SSL library can
use to make sure the peer's server certificate is valid. If SSL reports an
error ("certificate verify failed") during the handshake and thus refuses
further communication with that server, you can set LMP\_NO\_SSL\_CHECK.
If LMP\_NO\_SSL\_CHECK is set, libcurl does not verify the peer and connection
succeeds regardless of the names in the certificate. This option is insecure.
As an alternative, you can specify your own CA cert path by setting the
environment variable CURL\_CA\_BUNDLE to the path of your choice. A call to the
KIM web query would get this value from the environmental variable.
**Traditional make**\ :
You can download and build the KIM library manually if you prefer;
@ -209,16 +252,23 @@ step from the lammps/src dir, using a command like these, which simply
invoke the lib/kim/Install.py script with the specified args.
.. parsed-literal::
.. code-block:: bash
make lib-kim # print help message
make lib-kim args="-b " # (re-)install KIM API lib with only example models
make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model
make lib-kim args="-b -a everything" # install KIM API lib with all models
make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver
make lib-kim args="-p /usr/local" # use an existing KIM API installation at the provided location
make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver
$ make lib-kim # print help message
$ make lib-kim args="-b " # (re-)install KIM API lib with only example models
$ make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model
$ make lib-kim args="-b -a everything" # install KIM API lib with all models
$ make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver
$ make lib-kim args="-p /usr/local" # use an existing KIM API installation at the provided location
$ make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver
Settings for OpenKIM web queries discussed above need to be applied by adding
them to the LMP\_INC variable through editing the Makefile.machine you are
using. For example:
.. code-block:: make
LMP_INC = -DLMP_NO_SSL_CHECK
----------
@ -267,7 +317,7 @@ case-sensitive values, e.g. BDW, not bdw.
For multicore CPUs using OpenMP, set these 2 variables.
.. parsed-literal::
.. code-block:: bash
-D KOKKOS_ARCH=archCPU # archCPU = CPU from list above
-D KOKKOS_ENABLE_OPENMP=yes
@ -275,7 +325,7 @@ For multicore CPUs using OpenMP, set these 2 variables.
For Intel KNLs using OpenMP, set these 2 variables:
.. parsed-literal::
.. code-block:: bash
-D KOKKOS_ARCH=KNL
-D KOKKOS_ENABLE_OPENMP=yes
@ -283,7 +333,7 @@ For Intel KNLs using OpenMP, set these 2 variables:
For NVIDIA GPUs using CUDA, set these 4 variables:
.. parsed-literal::
.. code-block:: bash
-D KOKKOS_ARCH="archCPU;archGPU" # archCPU = CPU from list above that is hosting the GPU
# archGPU = GPU from list above
@ -296,7 +346,7 @@ Kokkos library: lib/kokkos/bin/nvcc\_wrapper. The setting should
include the full path name to the wrapper, e.g.
.. parsed-literal::
.. code-block:: bash
-D CMAKE_CXX_COMPILER=/home/username/lammps/lib/kokkos/bin/nvcc_wrapper
@ -309,7 +359,7 @@ src/MAKE/OPTIONS/Makefile.kokkos\* files for examples.
For multicore CPUs using OpenMP:
.. parsed-literal::
.. code-block:: make
KOKKOS_DEVICES = OpenMP
KOKKOS_ARCH = archCPU # archCPU = CPU from list above
@ -317,7 +367,7 @@ For multicore CPUs using OpenMP:
For Intel KNLs using OpenMP:
.. parsed-literal::
.. code-block:: make
KOKKOS_DEVICES = OpenMP
KOKKOS_ARCH = KNL
@ -325,20 +375,22 @@ For Intel KNLs using OpenMP:
For NVIDIA GPUs using CUDA:
.. parsed-literal::
.. code-block:: make
KOKKOS_DEVICES = Cuda
KOKKOS_ARCH = archCPU,archGPU # archCPU = CPU from list above that is hosting the GPU
# archGPU = GPU from list above
FFT_INC = -DFFT_CUFFT # enable use of cuFFT (optional)
FFT_LIB = -lcufft # link to cuFFT library
For GPUs, you also need these 2 lines in your Makefile.machine before
the CC line is defined, in this case for use with OpenMPI mpicxx. The
2 lines define a nvcc wrapper compiler, which will use nvcc for
For GPUs, you also need the following 2 lines in your Makefile.machine
before the CC line is defined, in this case for use with OpenMPI mpicxx.
The 2 lines define a nvcc wrapper compiler, which will use nvcc for
compiling CUDA files and use a C++ compiler for non-Kokkos, non-CUDA
files.
.. parsed-literal::
.. code-block:: make
KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd)
export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper
@ -359,7 +411,7 @@ library.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D DOWNLOAD_LATTE=value # download LATTE for build, value = no (default) or yes
-D LATTE_LIBRARY=path # LATTE library file (only needed if a custom location)
@ -379,12 +431,12 @@ simply invokes the lib/latte/Install.py script with the specified
args:
.. parsed-literal::
.. code-block:: bash
make lib-latte # print help message
make lib-latte args="-b" # download and build in lib/latte/LATTE-master
make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte
make lib-latte args="-b -m gfortran" # download and build in lib/latte and
$ make lib-latte # print help message
$ make lib-latte args="-b" # download and build in lib/latte/LATTE-master
$ make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte
$ make lib-latte args="-b -m gfortran" # download and build in lib/latte and
# copy Makefile.lammps.gfortran to Makefile.lammps
Note that 3 symbolic (soft) links, "includelink" and "liblink" and
@ -409,7 +461,7 @@ be installed on your system.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
-D ZMQ_LIBRARY=path # ZMQ library file (only needed if a custom location)
@ -424,11 +476,11 @@ one step from the lammps/src dir, using a command like these, which
simply invoke the lib/message/Install.py script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-message # print help message
make lib-message args="-m -z" # build with MPI and socket (ZMQ) support
make lib-message args="-s" # build as serial lib with no ZMQ support
$ make lib-message # print help message
$ make lib-message args="-m -z" # build with MPI and socket (ZMQ) support
$ make lib-message args="-s" # build as serial lib with no ZMQ support
The build should produce two files: lib/message/cslib/src/libmessage.a
and lib/message/Makefile.lammps. The latter is copied from an
@ -453,7 +505,7 @@ lib/mscg/README and MSCG/Install files for more details.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D DOWNLOAD_MSCG=value # download MSCG for build, value = no (default) or yes
-D MSCG_LIBRARY=path # MSCG library file (only needed if a custom location)
@ -474,14 +526,14 @@ step from the lammps/src dir, using a command like these, which simply
invoke the lib/mscg/Install.py script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-mscg # print help message
make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master
$ make lib-mscg # print help message
$ make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master
# with the settings compatible with "make serial"
make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master
$ make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master
# with the settings compatible with "make mpi"
make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release
$ make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release
Note that 2 symbolic (soft) links, "includelink" and "liblink", will
be created in lib/mscg to point to the MS-CG src/installation dir.
@ -530,12 +582,12 @@ dir, using a command like these, which simply invoke the
lib/poems/Install.py script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-poems # print help message
make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
make lib-poems args="-m icc" # build with Intel icc compiler
$ make lib-poems # print help message
$ make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
$ make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
$ make lib-poems args="-m icc" # build with Intel icc compiler
The build should produce two files: lib/poems/libpoems.a and
lib/poems/Makefile.lammps. The latter is copied from an existing
@ -562,7 +614,7 @@ lib/python/README for more details.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D PYTHON_EXECUTABLE=path # path to Python executable to use
@ -598,7 +650,7 @@ To build with this package, you must download and build the `Voro++ library <vor
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D DOWNLOAD_VORO=value # download Voro++ for build, value = no (default) or yes
-D VORO_LIBRARY=path # Voro++ library file (only needed if at custom location)
@ -620,12 +672,12 @@ simply invoke the lib/voronoi/Install.py script with the specified
args:
.. parsed-literal::
.. code-block:: bash
make lib-voronoi # print help message
make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++-<version>
make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++
make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6
$ make lib-voronoi # print help message
$ make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++-<version>
$ make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++
$ make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6
Note that 2 symbolic (soft) links, "includelink" and "liblink", are
created in lib/voronoi to point to the Voro++ src dir. When LAMMPS
@ -651,7 +703,7 @@ installation and the instructions below are followed for the respective build sy
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D ADIOS2_DIR=path # path is where ADIOS 2.x is installed
-D PKG_USER-ADIOS=yes
@ -661,16 +713,16 @@ installation and the instructions below are followed for the respective build sy
Turn on the USER-ADIOS package before building LAMMPS. If the ADIOS 2.x software is installed in PATH, there is nothing else to do:
.. parsed-literal::
.. code-block:: bash
make yes-user-adios
$ make yes-user-adios
otherwise, set ADIOS2\_DIR environment variable when turning on the package:
.. parsed-literal::
.. code-block:: bash
ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed
$ ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed
----------
@ -697,12 +749,12 @@ dir, using a command like these, which simply invoke the
lib/atc/Install.py script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-atc # print help message
make lib-atc args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-atc args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
make lib-atc args="-m icc" # build with Intel icc compiler
$ make lib-atc # print help message
$ make lib-atc args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
$ make lib-atc args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
$ make lib-atc args="-m icc" # build with Intel icc compiler
The build should produce two files: lib/atc/libatc.a and
lib/atc/Makefile.lammps. The latter is copied from an existing
@ -719,12 +771,12 @@ lib/linalg. In the latter case you also need to build the library in
lib/linalg with a command like these:
.. parsed-literal::
.. code-block:: bash
make lib-linalg # print help message
make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
make lib-linalg args="-m gfortran" # build with GNU Fortran compiler
$ make lib-linalg # print help message
$ make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
$ make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
$ make lib-linalg args="-m gfortran" # build with GNU Fortran compiler
----------
@ -748,12 +800,12 @@ dir, using a command like these, which simply invoke the
lib/awpmd/Install.py script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-awpmd # print help message
make lib-awpmd args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
make lib-awpmd args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
make lib-awpmd args="-m icc" # build with Intel icc compiler
$ make lib-awpmd # print help message
$ make lib-awpmd args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
$ make lib-awpmd args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
$ make lib-awpmd args="-m icc" # build with Intel icc compiler
The build should produce two files: lib/awpmd/libawpmd.a and
lib/awpmd/Makefile.lammps. The latter is copied from an existing
@ -770,12 +822,12 @@ provided in lib/linalg. In the latter case you also need to build the
library in lib/linalg with a command like these:
.. parsed-literal::
.. code-block:: bash
make lib-linalg # print help message
make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
make lib-linalg args="-m gfortran" # build with GNU Fortran compiler
$ make lib-linalg # print help message
$ make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
$ make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
$ make lib-linalg args="-m gfortran" # build with GNU Fortran compiler
----------
@ -822,12 +874,12 @@ command like these, which simply invoke the lib/colvars/Install.py script with
the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-colvars # print help message
make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled
$ make lib-colvars # print help message
$ make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
$ make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
$ make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled
The "machine" argument of the "-m" flag is used to find a Makefile.machine to
use as build recipe. If it does not already exist in lib/colvars, it will be
@ -836,8 +888,10 @@ core LAMMPS makefiles.
Optional flags may be specified as environment variables:
COLVARS\_DEBUG=yes make lib-colvars args="-m machine" # Build with debug code (much slower)
COLVARS\_LEPTON=no make lib-colvars args="-m machine" # Build without Lepton (included otherwise)
.. code-block:: bash
$ COLVARS_DEBUG=yes make lib-colvars args="-m machine" # Build with debug code (much slower)
$ COLVARS_LEPTON=no make lib-colvars args="-m machine" # Build without Lepton (included otherwise)
The build should produce two files: the library lib/colvars/libcolvars.a
(which also includes Lepton objects if enabled) and the specification file
@ -858,6 +912,9 @@ USER-PLUMED package
Before building LAMMPS with this package, you must first build PLUMED.
PLUMED can be built as part of the LAMMPS build or installed separately
from LAMMPS using the generic `plumed installation instructions <plumedinstall_>`_.
The USER-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
with a different version of the Plumed kernel.
PLUMED can be linked into MD codes in three different modes: static,
@ -896,7 +953,7 @@ your environment. There are then two additional commands that control
the manner in which PLUMED is obtained and linked into LAMMPS.
.. parsed-literal::
.. code-block:: bash
-D DOWNLOAD_PLUMED=value # download PLUMED for build, value = no (default) or yes
-D PLUMED_MODE=value # Linkage mode for PLUMED, value = static (default), shared, or runtime
@ -932,12 +989,12 @@ Download/compilation/configuration of the plumed library can be done
from the src folder through the following make args:
.. parsed-literal::
.. code-block:: bash
make lib-plumed # print help message
make lib-plumed args="-b" # download and build PLUMED in lib/plumed/plumed2
make lib-plumed args="-p $HOME/.local" # use existing PLUMED installation in $HOME/.local
make lib-plumed args="-p /usr/local -m shared" # use existing PLUMED installation in
$ make lib-plumed # print help message
$ make lib-plumed args="-b" # download and build PLUMED in lib/plumed/plumed2
$ make lib-plumed args="-p $HOME/.local" # use existing PLUMED installation in $HOME/.local
$ make lib-plumed args="-p /usr/local -m shared" # use existing PLUMED installation in
# /usr/local and use shared linkage mode
Note that 2 symbolic (soft) links, "includelink" and "liblink" are
@ -948,10 +1005,10 @@ mode. After this step is completed, you can install the USER-PLUMED
package and compile LAMMPS in the usual manner:
.. parsed-literal::
.. code-block:: bash
make yes-user-plumed
make machine
$ make yes-user-plumed
$ make machine
Once this compilation completes you should be able to run LAMMPS in the
usual way. For shared linkage mode, libplumed.so must be found by the
@ -999,10 +1056,10 @@ dir, using a command like these, which simply invoke the
lib/h5md/Install.py script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-h5md # print help message
make lib-h5md args="-m h5cc" # build with h5cc compiler
$ make lib-h5md # print help message
$ make lib-h5md args="-m h5cc" # build with h5cc compiler
The build should produce two files: lib/h5md/libch5md.a and
lib/h5md/Makefile.lammps. The latter is copied from an existing
@ -1030,7 +1087,7 @@ on the :doc:`Speed intel <Speed_intel>` doc page.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D INTEL_ARCH=value # value = cpu (default) or knl
-D INTEL_LRT_MODE=value # value = threads, none, or c++11
@ -1057,7 +1114,7 @@ additional information.
For CPUs:
.. parsed-literal::
.. code-block:: make
OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
@ -1067,7 +1124,7 @@ For CPUs:
For KNLs:
.. parsed-literal::
.. code-block:: make
OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS)
@ -1086,7 +1143,7 @@ USER-MOLFILE package
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D MOLFILE_INCLUDE_DIRS=path # (optional) path where VMD molfile plugin headers are installed
-D PKG_USER-MOLFILE=yes
@ -1166,9 +1223,9 @@ See src/MAKE/OPTIONS/Makefile.omp for an example.
.. parsed-literal::
CCFLAGS: -fopenmp # for GNU Compilers
CCFLAGS: -fopenmp # for GNU and Clang Compilers
CCFLAGS: -qopenmp -restrict # for Intel compilers on Linux
LINKFLAGS: -fopenmp # for GNU Compilers
LINKFLAGS: -fopenmp # for GNU and Clang Compilers
LINKFLAGS: -qopenmp # for Intel compilers on Linux
For other platforms and compilers, please consult the documentation
@ -1184,25 +1241,40 @@ how to address compatibility :ref:`issues with the 'default(none)' directive <de
USER-QMMM package
---------------------------------
.. note::
The LAMMPS executable these steps produce is not yet functional
for a QM/MM simulation. You must also build Quantum ESPRESSO and
create a new executable (pwqmmm.x) which links LAMMPS and Quantum
ESPRESSO together. These are steps 3 and 4 described in the
lib/qmmm/README file. Unfortunately, the Quantum ESPRESSO developers
have been breaking the interface that the QM/MM code in LAMMPS is using,
so that currently (Summer 2018) using this feature requires either
correcting the library interface feature in recent Quantum ESPRESSO
releases, or using an outdated version of QE. The last version of
Quantum ESPRESSO known to work with this QM/MM interface was version
5.4.1 from 2016.
For using LAMMPS to do QM/MM simulations via the USER-QMMM package you
need to build LAMMPS as a library. A LAMMPS executable with 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 only Quantum
ESPRESSO (QE) is supported - and create a new executable which links
LAMMPS and the QM code together. Details are given in the
lib/qmmm/README file. It is also recommended to read the instructions
for :doc:`linking with LAMMPS as a library <Build_link>` for
background information. This requires compatible Quantum Espresso
and LAMMPS versions. The current interface and makefiles have last
been verified to work in February 2020 with Quantum Espresso versions
6.3 to 6.5.
**CMake build**\ :
The CMake build system currently does not support building the full
QM/MM-capable hybrid executable of LAMMPS and QE called pwqmmm.x.
You must use the traditional make build for this package.
When using CMake, building a LAMMPS library is required and it is
recommended to build a shared library, since any libraries built from
the sources in the *lib* folder (including the essential libqmmm.a)
are not included in the static LAMMPS library and (currently) not
installed, while their code is included in the shared LAMMPS library.
Thus a typical command line to configure building LAMMPS for USER-QMMM
would be:
.. code-block:: bash
cmake -C ../cmake/presets/minimal.cmake -D PKG_USER-QMMM=yes \
-D BUILD_LIB=yes -DBUILD_SHARED_LIBS=yes ../cmake
After completing the LAMMPS build and also configuring and compiling
Quantum ESPRESSO with external library support (via "make couple"),
go back to the lib/qmmm folder and follow the instructions on the
README file to build the combined LAMMPS/QE QM/MM executable
(pwqmmm.x) in the lib/qmmm folder. You need to make certain, that
**Traditional make**\ :
@ -1213,12 +1285,12 @@ lammps/src dir, using a command like these, which simply invoke the
lib/qmmm/Install.py script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-qmmm # print help message
make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial")
make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi")
make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler
$ make lib-qmmm # print help message
$ make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial")
$ make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi")
$ make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler
The build should produce two files: lib/qmmm/libqmmm.a and
lib/qmmm/Makefile.lammps. The latter is copied from an existing
@ -1230,10 +1302,10 @@ a corresponding Makefile.lammps.machine file.
You can then install QMMM package and build LAMMPS in the usual
manner. After completing the LAMMPS build and compiling Quantum
ESPRESSO with external library support, go back to the lib/qmmm folder
and follow the instructions on the README file to build the combined
LAMMPS/QE QM/MM executable (pwqmmm.x) in the lib/qmmm folder.
ESPRESSO with external library support (via "make couple"), go back to
the lib/qmmm folder and follow the instructions in the README file to
build the combined LAMMPS/QE QM/MM executable (pwqmmm.x) in the
lib/qmmm folder.
----------
@ -1252,7 +1324,7 @@ lib/quip/README file for details on how to do this.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
@ -1288,7 +1360,7 @@ To build with this package, you must download and build the `ScaFaCoS Coulomb so
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D DOWNLOAD_SCAFACOS=value # download ScaFaCoS for build, value = no (default) or yes
-D SCAFACOS_LIBRARY=path # ScaFaCos library file (only needed if at custom location)
@ -1333,7 +1405,7 @@ Eigen3 is a template library, so you do not need to build it.
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location)
@ -1351,11 +1423,11 @@ the lammps/src dir, using a command like these, which simply invoke
the lib/smd/Install.py script with the specified args:
.. parsed-literal::
.. code-block:: bash
make lib-smd # print help message
make lib-smd args="-b" # download to lib/smd/eigen3
make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3
$ make lib-smd # print help message
$ make lib-smd args="-b" # download to lib/smd/eigen3
$ make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3
Note that a symbolic (soft) link named "includelink" is created in
lib/smd to point to the Eigen dir. When LAMMPS builds it will use
@ -1392,8 +1464,3 @@ the settings are not valid for your system, check if one of the other
lib/vtk/Makefile.lammps.\* files is compatible and copy it to
Makefile.lammps. If none of the provided files work, you will need to
edit the Makefile.lammps file. See lib/vtk/README for details.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -3,62 +3,228 @@ Link LAMMPS as a library to another code
LAMMPS can be used as a library by another application, including
Python scripts. The files src/library.cpp and library.h define the
C-style API for using LAMMPS as a library. See the :doc:`Howto library <Howto_library>` doc page for a description of the
interface and how to extend it for your needs.
C-style API for using LAMMPS as a library. See the :doc:`Howto
library <Howto_library>` doc page for a description of the interface
and how to extend it for your needs.
The :doc:`Build basics <Build_basics>` doc page explains how to build
LAMMPS as either a shared or static library. This results in one of
these 2 files:
liblammps.so # shared library
liblammps.a # static library
.. parsed-literal::
liblammps.so # shared library
liblammps.a # static library
.. note::
Care should be taken to use the same MPI library for the calling
code and the LAMMPS library. The library.h file includes mpi.h and
uses definitions from it so those need to be available and
consistent. When LAMMPS is compiled with the MPI STUBS library,
then its mpi.h file needs to be included. While it is technically
possible to use a full MPI library in the calling code and link to
a serial LAMMPS library compiled with MPI STUBS, it is recommended
to use the *same* MPI library for both, and then use MPI\_Comm\_split()
in the calling code to pass a suitable communicator with a subset
of MPI ranks to the function creating the LAMMPS instance.
----------
**Link with LAMMPS as a static library**\ :
The calling application can link to LAMMPS as a static library with a
link command like this:
The calling application can link to LAMMPS as a static library with
compilation and link commands as in the examples shown below. These
are examples for a code written in C in the file *caller.c*.
The benefit of linking to a static library is, that the resulting
executable is independent of that library since all required
executable code from the library is copied into the calling executable.
g++ caller.o -L/home/sjplimp/lammps/src -llammps -o caller
*CMake build*\ :
The -L argument is the path to where the liblammps.a file is. The
-llammps argument is shorthand for the file liblammps.a.
This assumes that LAMMPS has been configured with "-D BUILD_LIB=yes"
and installed with "make install" and the PKG\_CONFIG\_PATH environment
variable updated to include the *liblammps.pc* file installed into the
configured destination folder, if needed. The commands to compile and
link the coupled executable are then:
.. code-block:: bash
mpicc -c -O $(pkgconf liblammps --cflags) caller.c
mpicxx -o caller caller.o -$(pkgconf liblammps --libs)
*Traditional make*\ :
This assumes that LAMMPS has been compiled in the folder
"${HOME}/lammps/src" with "make mode=lib mpi". The commands to compile
and link the coupled executable are then:
.. code-block:: bash
mpicc -c -O -I${HOME}/lammps/src caller.c
mpicxx -o caller caller.o -L${HOME}/lammps/src -llammps
The *-I* argument is the path to the location of the *library.h*
header file containing the interface to the LAMMPS C-style library
interface. The *-L* argument is the path to where the *liblammps.a*
file is located. The *-llammps* argument is shorthand for telling the
compiler to link the file *liblammps.a*\ .
However, it is only as simple as shown above for the case of a plain
LAMMPS library without any optional packages that depend on libraries
(bundled or external). Otherwise, you need to include all flags,
libraries, and paths for the coupled executable, that are also
required to link the LAMMPS executable.
*CMake build*\ :
When using CMake, additional libraries with sources in the lib folder
are built, but not included in liblammps.a and (currently) not
installed with "make install" and not included in the *pkgconfig*
configuration file. They can be found in the top level build folder,
but you have to determine the necessary link flags manually. It is
therefore recommended to either use the traditional make procedure to
build and link with a static library or build and link with a shared
library instead.
*Traditional make*\ :
After you have compiled a static LAMMPS library using the conventional
build system for example with "make mode=lib serial". And you also
have installed the POEMS package after building its bundled library in
lib/poems. Then the commands to build and link the coupled executable
change to:
.. code-block:: bash
gcc -c -O -I${HOME}/lammps/src/STUBS -I${HOME}/lammps/src -caller.c
g++ -o caller caller.o -L${HOME}/lammps/lib/poems \
-L${HOME}/lammps/src/STUBS -L${HOME}/lammps/src -llammps -lpoems -lmpi_stubs
Note, that you need to link with "g++" instead of "gcc", since LAMMPS
is C++ code. You can display the currently applied settings for building
LAMMPS for the "serial" machine target by using the command:
.. code-block:: bash
make mode=print serial
Which should output something like:
.. code-block:: bash
# Compiler:
CXX=g++
# Linker:
LD=g++
# Compilation:
CXXFLAGS=-g -O3 -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 -I${HOME}/lammps/lib/poems -I${HOME}/lammps/src/STUBS
# Linking:
LDFLAGS=-g -O
# Libraries:
LDLIBS=-L${HOME}/lammps/lib/poems -L${HOME}/lammps/src/STUBS -lpoems -lmpi_stubs
From this you can gather the necessary paths and flags. With
makefiles for other *machine* configurations you need to do the
equivalent and replace "serial" with the corresponding *machine* name
of the makefile.
----------
**Link with LAMMPS as a shared library**\ :
If you wish to link to liblammps.so, the operating system finds shared
libraries to load at run-time using the environment variable
LD\_LIBRARY\_PATH. To enable this you can do one of two things:
When linking to LAMMPS built as a shared library, the situation
becomes much simpler, as all dependent libraries and objects are
included in the shared library, which is - technically speaking -
effectively a regular LAMMPS executable that is missing the `main()`
function. Thus those libraries need not to be specified when linking
the calling executable. Only the *-I* flags are needed. So the
example case from above of the serial version static LAMMPS library
with the POEMS package installed becomes:
(1) Copy the liblammps.so file to a location the system can find it,
such as /usr/local/lib. I.e. a directory already listed in your
LD\_LIBRARY\_PATH variable. You can type
*CMake build*\ :
The commands with a shared LAMMPS library compiled with the CMake
build process are the same as for the static library.
.. parsed-literal::
.. code-block:: bash
mpicc -c -O $(pkgconf liblammps --cflags) caller.c
mpicxx -o caller caller.o -$(pkgconf --libs)
*Traditional make*\ :
The commands with a shared LAMMPS library compiled with the
traditional make build using "make mode=shlib serial" becomes:
.. code-block:: bash
gcc -c -O -I${HOME}/lammps/src/STUBS -I${HOME}/lammps/src -caller.c
g++ -o caller caller.o -L${HOME}/lammps/src -llammps
*Locating liblammps.so at runtime*\ :
However, now the `liblammps.so` file is required at runtime and needs
to be in a folder, where the shared linker program of the operating
system can find it. This would be either a folder like "/usr/local/lib64"
or "${HOME}/.local/lib64" or a folder pointed to by the LD\_LIBRARY\_PATH
environment variable. You can type
.. code-block:: bash
printenv LD_LIBRARY_PATH
to see what directories are in that list.
(2) Add the LAMMPS src directory (or the directory you perform CMake
build in) to your LD\_LIBRARY\_PATH, so that the current version of the
shared library is always available to programs that use it.
Or you can add the LAMMPS src directory (or the directory you performed
a CMake style build in) to your LD\_LIBRARY\_PATH, so that the current
version of the shared library is always available to programs that use it.
For the csh or tcsh shells, you would add something like this to your
~/.cshrc file:
For the Bourne or Korn shells (/bin/sh, /bin/ksh, /bin/bash etc.), you
would add something like this to your ~/.profile file:
.. code-block:: bash
LD_LIBRARY_PATH ${LD_LIBRARY_PATH-/usr/lib64}:${HOME}/lammps/src
export LD_LIBRARY_PATH
For the csh or tcsh shells, you would equivalently add something like this
to your ~/.cshrc file:
.. parsed-literal::
.. code-block:: csh
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/src
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HOME}/lammps/src
You can verify whether all required shared libraries are found with the
`ldd` tool. Example:
.. code-block:: bash
$ LD_LIBRARY_PATH=/home/user/lammps/src ldd caller
linux-vdso.so.1 (0x00007ffe729e0000)
liblammps.so => /home/user/lammps/src/liblammps.so (0x00007fc91bb9e000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fc91b984000)
libm.so.6 => /lib64/libm.so.6 (0x00007fc91b83e000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc91b824000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc91b65b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc91c094000)
If a required library is missing, you would get a 'not found' entry:
.. code-block:: bash
$ ldd caller
linux-vdso.so.1 (0x00007ffd672fe000)
liblammps.so => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fb7c7e86000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007fb7c7d40000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007fb7c7d26000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007fb7c7b5d000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb7c80a2000)
----------
@ -67,25 +233,22 @@ For the csh or tcsh shells, you would add something like this to your
**Calling the LAMMPS library**\ :
Either flavor of library (static or shared) allows one or more LAMMPS
objects to be instantiated from the calling program.
objects to be instantiated from the calling program. When used from a
C++ program, most of the symbols and functions in LAMMPS are wrapped
in a LAMMPS\_NS namespace; you can safely use any of its classes and
methods from within the calling code, as needed, and you will not incur
conflicts with functions and variables in your code that share the name.
This, however, does not extend to all additional libraries bundled with
LAMMPS in the lib folder and some of the low-level code of some packages.
When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS\_NS
namespace; you can safely use any of its classes and methods from
within the calling code, as needed.
When used from a C or Fortran program, the library has a simple
To be compatible with C, Fortran, Python programs, the library has a simple
C-style interface, provided in src/library.cpp and src/library.h.
See the :doc:`Python library <Python_library>` doc page for a
description of the Python interface to LAMMPS, which wraps the C-style
interface.
interface from a shared library through the ctypes python module.
See the sample codes in examples/COUPLE/simple for examples of C++ and
C and Fortran codes that invoke LAMMPS through its library interface.
Other examples in the COUPLE directory use coupling ideas discussed on
the :doc:`Howto couple <Howto_couple>` doc page.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -7,18 +7,33 @@ src/MAKE/MACHINES, src/MAKE/OPTIONS, or src/MAKE/MINE directory (see
below). It can include various options for customizing your LAMMPS
build with a number of global compilation options and features.
Those makefiles are written for and tested with GNU make and may not
be compatible with other make programs. In most cases, if the "make"
program is not GNU make, then there will be a GNU make program
available under the name "gmake". If GNU make or a compatible make is
not available, you may have to first install it or switch to building
with :doc:`CMake <Build_cmake>`. The makefiles of the traditional
make based build process and the scripts they are calling expect a few
additional tools to be available and functioning.
* a Bourne shell compatible "Unix" shell program (often this is bash)
* a few shell utilities: ls, mv, ln, rm, grep, sed, tr, cat, touch, diff, dirname
* python (optional, required for "make lib-XXX" in the src folder)
To include LAMMPS packages (i.e. optional commands and styles) you
must install them first, as discussed on the :doc:`Build package <Build_package>` doc page. If the packages require
provided or external libraries, you must build those libraries before
building LAMMPS. Building :doc:`LAMMPS with CMake <Build_cmake>` can
automate all of this for many types of machines, especially
workstations, desktops and laptops, so we suggest you try it first.
must enable them first, as discussed on the :doc:`Build package
<Build_package>` doc page. If a packages requires (provided or
external) libraries, you must configure and build those libraries
**before** building LAMMPS itself and especially **before** enabling
such a package with "make yes-<package>". Building :doc:`LAMMPS
with CMake <Build_cmake>` can automate much of this for many types of
machines, especially workstations, desktops, and laptops, so we suggest
you try it first when building LAMMPS in those cases.
These commands perform a default LAMMPS build, producing the LAMMPS
executable lmp\_serial or lmp\_mpi in lammps/src:
The commands below perform a default LAMMPS build, producing the LAMMPS
executable lmp\_serial and lmp\_mpi in lammps/src:
.. parsed-literal::
.. code-block:: bash
cd lammps/src
make serial # build a serial LAMMPS executable
@ -42,18 +57,21 @@ re-compiled.
.. note::
When you build LAMMPS for the first time, a long list of \*.d
files will be printed out rapidly. This is not an error; it is the
Makefile doing its normal creation of dependencies.
Before the actual compilation starts, LAMMPS will perform several
steps to collect information from the configuration and setup that
is then embedded into the executable. When you build LAMMPS for
the first time, it will also compile a tool to quickly assemble
a list of dependencies, that are required for the make program to
correctly detect which parts need to be recompiled after changes
were made to the sources.
----------
The lammps/src/MAKE tree contains all the Makefile.machine files
included in the LAMMPS distribution. Typing "make machine" uses
Makefile.machine. Thus the "make serial" or "make mpi" lines above
use Makefile.serial and Makefile.mpi. Others are in these dirs:
The lammps/src/MAKE tree contains the Makefile.machine files included
in the LAMMPS distribution. Typing "make machine" uses
*Makefile.machine*\ . Thus the "make serial" or "make mpi" lines above
use Makefile.serial and Makefile.mpi, respectively. Other makefiles
are in these directories:
.. parsed-literal::
@ -64,7 +82,7 @@ use Makefile.serial and Makefile.mpi. Others are in these dirs:
Typing "make" lists all the available Makefile.machine files. A file
with the same name can appear in multiple folders (not a good idea).
The order the dirs are searched is as follows: src/MAKE/MINE,
The order the directories are searched is as follows: src/MAKE/MINE,
src/MAKE, src/MAKE/OPTIONS, src/MAKE/MACHINES. This gives preference
to a customized file you put in src/MAKE/MINE.
@ -76,7 +94,7 @@ compilers, OS configurations, and LAMMPS itself keep changing, their
settings may become outdated:
.. parsed-literal::
.. code-block:: bash
make mac # build serial LAMMPS on a Mac
make mac_mpi # build parallel LAMMPS on a Mac
@ -87,8 +105,3 @@ settings may become outdated:
make kokkos_omp # build with the KOKKOS package for OpenMP
make kokkos_cuda_mpi # build with the KOKKOS package for GPUs
make kokkos_phi # build with the KOKKOS package for KNLs
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -14,10 +14,13 @@ package. In general there is no need to include a package if you
never plan to use its features.
If you get a run-time error that a LAMMPS command or style is
"Unknown", it is often because the command is contained in a package,
and your build did not include that package. Running LAMMPS with the
:doc:`-h command-line switch <Run_options>` will print all the included
packages and commands for that executable.
"unknown", it is often because the command is contained in a package,
and your build did not include that package. If the command or style
*is* available in a package included in the LAMMPS distribution,
the error message will indicate which package would be needed.
Running LAMMPS with the :doc:`-h command-line switch <Run_options>`
will print *all* optional commands and packages that were enabled
when building that executable.
For the majority of packages, if you follow the single step below to
include it, you can then build LAMMPS exactly the same as you would
@ -42,17 +45,17 @@ packages:
The mechanism for including packages is simple but different for CMake
versus make.
**CMake variables**\ :
**CMake build**\ :
.. parsed-literal::
.. code-block:: bash
-D PKG_NAME=value # yes or no (default)
Examples:
.. parsed-literal::
.. code-block:: bash
-D PKG_MANYBODY=yes
-D PKG_USER-INTEL=yes
@ -74,7 +77,7 @@ once with CMake.
**Traditional make**\ :
.. parsed-literal::
.. code-block:: bash
cd lammps/src
make ps # check which packages are currently installed
@ -85,7 +88,7 @@ once with CMake.
Examples:
.. parsed-literal::
.. code-block:: bash
make no-rigid
make yes-user-intel
@ -119,7 +122,7 @@ are already included. Likewise, if a package is excluded, other files
dependent on that package are also excluded.
When you download a LAMMPS tarball or download LAMMPS source files
from the Git or SVN repositories, no packages are pre-installed in the
from the git repository, no packages are pre-installed in the
src directory.
.. note::
@ -136,9 +139,10 @@ src directory.
**CMake shortcuts for installing many packages**\ :
Instead of specifying all the CMake options via the command-line,
CMake allows initializing the variable cache using script files. These
are regular CMake files which can manipulate and set variables, and
can also contain control flow constructs.
CMake allows initializing its settings cache using script files.
These are regular CMake files which can manipulate and set CMake
variables (which represent selected options), and can also contain
control flow constructs for more complex operations.
LAMMPS includes several of these files to define configuration
"presets", similar to the options that exist for the Make based
@ -146,25 +150,19 @@ system. Using these files you can enable/disable portions of the
available packages in LAMMPS. If you need a custom preset you can take
one of them as a starting point and customize it to your needs.
+-------------------------------------------------------------+-----------------------------------------------------------+
| cmake -C ../cmake/presets/all\_on.cmake [OPTIONS] ../cmake | enable all packages |
+-------------------------------------------------------------+-----------------------------------------------------------+
| cmake -C ../cmake/presets/all\_off.cmake [OPTIONS] ../cmake | disable all packages |
+-------------------------------------------------------------+-----------------------------------------------------------+
| cmake -C ../cmake/presets/minimal.cmake [OPTIONS] ../cmake | enable just a few core packages |
+-------------------------------------------------------------+-----------------------------------------------------------+
| cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake | enable most common packages |
+-------------------------------------------------------------+-----------------------------------------------------------+
| cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake | disable packages that do require extra libraries or tools |
+-------------------------------------------------------------+-----------------------------------------------------------+
| cmake -C ../cmake/presets/clang.cmake [OPTIONS] ../cmake | change settings to use the Clang compilers by default |
+-------------------------------------------------------------+-----------------------------------------------------------+
| cmake -C ../cmake/presets/mingw.cmake [OPTIONS] ../cmake | enable all packages compatible with MinGW compilers |
+-------------------------------------------------------------+-----------------------------------------------------------+
.. code-block:: bash
cmake -C ../cmake/presets/all_on.cmake [OPTIONS] ../cmake # enable all packages
cmake -C ../cmake/presets/all_off.cmake [OPTIONS] ../cmake # disable all packages
cmake -C ../cmake/presets/minimal.cmake [OPTIONS] ../cmake # enable just a few core packages
cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake # enable most common packages
cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake # disable packages that do require extra libraries or tools
cmake -C ../cmake/presets/clang.cmake [OPTIONS] ../cmake # change settings to use the Clang compilers by default
cmake -C ../cmake/presets/mingw.cmake [OPTIONS] ../cmake # enable all packages compatible with MinGW compilers
.. note::
Running cmake this way manipulates the variable cache in your
Running cmake this way manipulates the CMake settings cache in your
current build directory. You can combine multiple presets and options
in a single cmake run, or change settings incrementally by running
cmake with new flags.
@ -172,7 +170,7 @@ one of them as a starting point and customize it to your needs.
**Example:**
.. parsed-literal::
.. code-block:: bash
# build LAMMPS with most commonly used packages, but then remove
# those requiring additional library or tools, but still enable
@ -200,37 +198,30 @@ Just type "make" in lammps/src to see a one-line summary.
These commands install/un-install sets of packages:
+-----------------------------------+-----------------------------------------------------+
| make yes-all | install all packages |
+-----------------------------------+-----------------------------------------------------+
| make no-all | un-install all packages |
+-----------------------------------+-----------------------------------------------------+
| make yes-standard or make yes-std | install standard packages |
+-----------------------------------+-----------------------------------------------------+
| make no-standard or make no-std | un-install standard packages |
+-----------------------------------+-----------------------------------------------------+
| make yes-user | install user packages |
+-----------------------------------+-----------------------------------------------------+
| make no-user | un-install user packages |
+-----------------------------------+-----------------------------------------------------+
| make yes-lib | install packages that require extra libraries |
+-----------------------------------+-----------------------------------------------------+
| make no-lib | un-install packages that require extra libraries |
+-----------------------------------+-----------------------------------------------------+
| make yes-ext | install packages that require external libraries |
+-----------------------------------+-----------------------------------------------------+
| make no-ext | un-install packages that require external libraries |
+-----------------------------------+-----------------------------------------------------+
.. code-block:: bash
make yes-all # install all packages
make no-all # uninstall all packages
make yes-standard or make yes-std # install standard packages
make no-standard or make no-std # uninstall standard packages
make yes-user # install user packages
make no-user # uninstall user packages
make yes-lib # install packages that require extra libraries
make no-lib # uninstall packages that require extra libraries
make yes-ext # install packages that require external libraries
make no-ext # uninstall packages that require external libraries
which install/un-install various sets of packages. Typing "make
package" will list all the these commands.
.. note::
Installing or un-installing a package works by simply copying
files back and forth between the main src directory and
sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC),
so that the files are included or excluded when LAMMPS is built.
Installing or un-installing a package for the make based build process
works by simply copying files back and forth between the main source
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
when LAMMPS is built. Only source files in the src folder will be
compiled.
The following make commands help manage files that exist in both the
src directory and in package sub-directories. You do not normally
@ -257,9 +248,4 @@ Type "make package-overwrite" to overwrite files in the package
sub-directories with src files.
Type "make package-diff" to list all differences between pairs of
files in both the src dir and a package dir.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
files in both the source directory and the package directory.

View File

@ -4,16 +4,15 @@ Optional build settings
LAMMPS can be built with several optional settings. Each sub-section
explain how to do this for building both with CMake and make.
| :ref:`C++11 standard compliance test <cxx11>` when building all of LAMMPS
| :ref:`FFT library <fft>` for use with the :doc:`kspace\_style pppm <kspace_style>` command
| :ref:`Size of LAMMPS data types <size>`
| :ref:`Read or write compressed files <gzip>`
| :ref:`Output of JPG and PNG files <graphics>` via the :doc:`dump image <dump_image>` command
| :ref:`Output of movie files <graphics>` via the :doc:`dump\_movie <dump_image>` command
| :ref:`Memory allocation alignment <align>`
| :ref:`Workaround for long long integers <longlong>`
| :ref:`Error handling exceptions <exceptions>` when using LAMMPS as a library
|
* :ref:`C++11 standard compliance <cxx11>` when building all of LAMMPS
* :ref:`FFT library <fft>` for use with the :doc:`kspace_style pppm <kspace_style>` command
* :ref:`Size of LAMMPS data types <size>`
* :ref:`Read or write compressed files <gzip>`
* :ref:`Output of JPG and PNG files <graphics>` via the :doc:`dump image <dump_image>` command
* :ref:`Output of movie files <graphics>` via the :doc:`dump_movie <dump_image>` command
* :ref:`Memory allocation alignment <align>`
* :ref:`Workaround for long long integers <longlong>`
* :ref:`Error handling exceptions <exceptions>` when using LAMMPS as a library
----------
@ -21,41 +20,18 @@ explain how to do this for building both with CMake and make.
.. _cxx11:
C++11 standard compliance test
C++11 standard compliance
------------------------------------------
The LAMMPS developers plan to transition to make the C++11 standard the
minimum requirement for compiling LAMMPS. Currently this only applies to
some packages like KOKKOS while the rest aims to be compatible with the C++98
standard. Most currently used compilers are compatible with C++11; some need
to set extra flags to switch. To determine the impact of requiring C++11,
we have added a simple compliance test to the source code, that will cause
the compilation to abort, if C++11 compliance is not available or enabled.
To bypass this check, you need to change a setting in the makefile or
when calling CMake.
to set extra flags to enable C++11 compliance. Example for GNU c++:
**CMake variable**\ :
.. parsed-literal::
-D DISABLE_CXX11_REQUIREMENT=yes
You can set additional C++ compiler flags (beyond those selected by CMake)
through the CMAKE\_CXX\_FLAGS variable. Example for CentOS 7:
.. parsed-literal::
-D CMAKE_CXX_FLAGS="-O3 -g -fopenmp -DNDEBUG -std=c++11"
**Makefile.machine setting**\ :
.. parsed-literal::
LMP_INC = -DLAMMPS_CXX98
.. code-block:: make
CCFLAGS = -g -O3 -std=c++11
----------
@ -66,7 +42,7 @@ FFT library
---------------------
When the KSPACE package is included in a LAMMPS build, the
:doc:`kspace\_style pppm <kspace_style>` command performs 3d FFTs which
:doc:`kspace_style pppm <kspace_style>` command performs 3d FFTs which
require use of an FFT library to compute 1d FFTs. The KISS FFT
library is included with LAMMPS but other libraries can be faster.
LAMMPS can use them if they are available on your system.
@ -74,7 +50,7 @@ LAMMPS can use them if they are available on your system.
**CMake variables**\ :
.. parsed-literal::
.. code-block:: bash
-D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS
-D FFT_SINGLE=value # yes or no (default), no = double precision
@ -86,56 +62,71 @@ LAMMPS can use them if they are available on your system.
an exception to the rule that all CMake variables can be specified
with lower-case values.
Usually these settings are all that is needed. If CMake cannot find
the FFT library, you can set these variables:
Usually these settings are all that is needed. If FFTW3 is selected,
then CMake will try to detect, if threaded FFTW libraries are available
and enable them by default. This setting is independent of whether
OpenMP threads are enabled and a packages like KOKKOS or USER-OMP is
used. If CMake cannot detect the FFT library, you can set these variables
to assist:
.. parsed-literal::
.. code-block:: bash
-D FFTW3_INCLUDE_DIRS=path # path to FFTW3 include files
-D FFTW3_LIBRARIES=path # path to FFTW3 libraries
-D FFT_FFTW_THREADS=on # enable using threaded FFTW3 libraries
-D MKL_INCLUDE_DIRS=path # ditto for Intel MKL library
-D FFT_MKL_THREADS=on # enable using threaded FFTs with MKL libraries
-D MKL_LIBRARIES=path
**Makefile.machine settings**\ :
.. parsed-literal::
.. code-block:: make
FFT_INC = -DFFT_FFTW3 # -DFFT_FFTW3, -DFFT_FFTW (same as -DFFT_FFTW3), -DFFT_MKL, or -DFFT_KISS
# default is KISS if not specified
FFT_INC = -DFFT_SINGLE # do not specify for double precision
FFT_INC = -DFFT_FFTW_THREADS # enable using threaded FFTW3 libraries
FFT_INC = -DFFT_MKL_THREADS # enable using threaded FFTs with MKL libraries
FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY
# default is FFT\_PACK\_ARRAY if not specified
.. parsed-literal::
.. code-block:: make
FFT_INC = -I/usr/local/include
FFT_PATH = -L/usr/local/lib
FFT_LIB = -lfftw3 # FFTW3 double precision
FFT_LIB = -lfftw3 -lfftw3_omp # FFTW3 double precision with threads (needs -DFFT_FFTW_THREADS)
FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision
FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler
FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier
FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler, serial interface
FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier, serial interface
FFT_LIB = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core # MKL with Intel compiler, threaded interface
FFT_LIB = -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core # MKL with GNU compiler, threaded interface
FFT_LIB = -lmkl_rt # MKL with automatic runtime selection of interface libs
As with CMake, you do not need to set paths in FFT\_INC or FFT\_PATH, if
make can find the FFT header and library files. You must specify
FFT\_LIB with the appropriate FFT libraries to include in the link.
the compiler can find the FFT header and library files in its default search path.
You must specify FFT\_LIB with the appropriate FFT libraries to include in the link.
**CMake and make info**\ :
The `KISS FFT library <http://kissfft.sf.net>`_ is included in the LAMMPS
distribution. It is portable across all platforms. Depending on the
size of the FFTs and the number of processors used, the other
libraries listed here can be faster.
distribution. It is portable across all platforms. Depending on the size
of the FFTs and the number of processors used, the other libraries listed
here can be faster.
However, note that long-range Coulombics are only a portion of the
per-timestep CPU cost, FFTs are only a portion of long-range
Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel
communication can be costly). A breakdown of these timings is printed
to the screen at the end of a run using the :doc:`kspace\_style pppm <kspace_style>` command. The :doc:`Run output <Run_output>`
doc page gives more details.
to the screen at the end of a run when using the
:doc:`kspace_style pppm <kspace_style>` command. The :doc:`Run output <Run_output>`
doc page gives more details. A more detailed (and time consuming)
report of the FFT performance is generated with the
:doc:`kspace_modify fftbench yes <kspace_modify>` command.
FFTW is a fast, portable FFT library that should also work on any
platform and can be faster than the KISS FFT library. You can
@ -166,10 +157,10 @@ When using -DFFT\_SINGLE with FFTW3 you may need to build the FFTW
library a second time with support for single-precision.
For FFTW3, do the following, which should produce the additional
library libfftw3f.a
library libfftw3f.a or libfftw3f.so.
.. parsed-literal::
.. code-block:: bash
make clean
./configure --enable-single; make; make install
@ -197,14 +188,14 @@ adequate.
**CMake variable**\ :
.. parsed-literal::
.. code-block:: bash
-D LAMMPS_SIZES=value # smallbig (default) or bigbig or smallsmall
**Makefile.machine setting**\ :
.. parsed-literal::
.. code-block:: make
LMP_INC = -DLAMMPS_SMALLBIG # or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL
@ -235,7 +226,7 @@ support 8-byte integers. It allows for:
Atom IDs are not required for atomic systems which do not store bond
topology information, though IDs are enabled by default. The
:doc:`atom\_modify id no <atom_modify>` command will turn them off. Atom
:doc:`atom_modify id no <atom_modify>` command will turn them off. Atom
IDs are required for molecular systems with bond topology (bonds,
angles, dihedrals, etc). Thus if you model a molecular system with
more than 2 billion atoms, you need the "bigbig" setting.
@ -275,21 +266,21 @@ following settings:
**CMake variables**\ :
.. parsed-literal::
.. code-block:: bash
-D WITH_JPEG=value # yes or no
# default = yes if CMake finds JPEG files, else no
# default = yes if CMake finds JPEG files, else no
-D WITH_PNG=value # yes or no
# default = yes if CMake finds PNG and ZLIB files, else no
# default = yes if CMake finds PNG and ZLIB files, else no
-D WITH_FFMPEG=value # yes or no
# default = yes if CMake can find ffmpeg, else no
# default = yes if CMake can find ffmpeg, else no
Usually these settings are all that is needed. If CMake cannot find
the graphics header, library, executable files, you can set these
variables:
.. parsed-literal::
.. code-block:: bash
-D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file
-D JPEG_LIBRARIES=path # path to libjpeg.a (.so) file
@ -302,7 +293,7 @@ variables:
**Makefile.machine settings**\ :
.. parsed-literal::
.. code-block:: make
LMP_INC = -DLAMMPS_JPEG
LMP_INC = -DLAMMPS_PNG
@ -316,7 +307,7 @@ As with CMake, you do not need to set JPG\_INC or JPG\_PATH, if make can
find the graphics header and library files. You must specify JPG\_LIB
with a list of graphics libraries to include in the link. You must
insure ffmpeg is in a directory where LAMMPS can find it at runtime,
i.e. a dir in your PATH environment variable.
that is a directory in your PATH environment variable.
**CMake and make info**\ :
@ -326,7 +317,7 @@ supports the "popen" function in the standard runtime library.
.. note::
On some clusters with high-speed networks, using the fork()
library calls (required by popen()) can interfere with the fast
library call (required by popen()) can interfere with the fast
communication library and lead to simulations using ffmpeg to hang or
crash.
@ -341,12 +332,12 @@ Read or write compressed files
If this option is enabled, large files can be read or written with
gzip compression by several LAMMPS commands, including
:doc:`read\_data <read_data>`, :doc:`rerun <rerun>`, and :doc:`dump <dump>`.
:doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and :doc:`dump <dump>`.
**CMake variables**\ :
.. parsed-literal::
.. code-block:: bash
-D WITH_GZIP=value # yes or no
# default is yes if CMake can find gzip, else no
@ -355,7 +346,7 @@ gzip compression by several LAMMPS commands, including
**Makefile.machine setting**\ :
.. parsed-literal::
.. code-block:: make
LMP_INC = -DLAMMPS_GZIP
@ -368,7 +359,7 @@ found by LAMMPS during a run.
.. note::
On some clusters with high-speed networks, using the fork()
library calls (required by popen()) can interfere with the fast
library call (required by popen()) can interfere with the fast
communication library and lead to simulations using compressed output
or input to hang or crash. For selected operations, compressed file
I/O is also available using a compression library instead, which is
@ -395,7 +386,7 @@ aligned on 64-byte boundaries.
**CMake variable**\ :
.. parsed-literal::
.. code-block:: bash
-D LAMMPS_MEMALIGN=value # 0, 8, 16, 32, 64 (default)
@ -407,7 +398,7 @@ and this setting ignored.
**Makefile.machine setting**\ :
.. parsed-literal::
.. code-block:: make
LMP_INC = -DLAMMPS_MEMALIGN=value # 8, 16, 32, 64
@ -434,14 +425,14 @@ those systems:
**CMake variable**\ :
.. parsed-literal::
.. code-block:: bash
-D LAMMPS_LONGLONG_TO_LONG=value # yes or no (default)
**Makefile.machine setting**\ :
.. parsed-literal::
.. code-block:: make
LMP_INC = -DLAMMPS_LONGLONG_TO_LONG
@ -455,25 +446,21 @@ Exception handling when using LAMMPS as a library
------------------------------------------------------------------
This setting is useful when external codes drive LAMMPS as a library.
With this option enabled LAMMPS errors do not kill the caller.
With this option enabled, LAMMPS errors do not kill the calling code.
Instead, the call stack is unwound and control returns to the caller,
e.g. to Python.
e.g. to Python. Of course the calling code has to be set up to
*catch* exceptions from within LAMMPS.
**CMake variable**\ :
.. parsed-literal::
.. code-block:: bash
-D LAMMPS_EXCEPTIONS=value # yes or no (default)
**Makefile.machine setting**\ :
.. parsed-literal::
.. code-block:: make
LMP_INC = -DLAMMPS_EXCEPTIONS
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -17,9 +17,9 @@ General remarks
LAMMPS is developed and tested primarily on Linux machines. The vast
majority of HPC clusters and supercomputers today runs on Linux as well.
Thus portability to other platforms is desired, but not always achieved.
While portability to other platforms is desired, it is not always achieved.
The LAMMPS developers strongly rely on LAMMPS users giving feedback and
providing assistance in resolving portability issues. This particularly
providing assistance in resolving portability issues. This is particularly
true for compiling LAMMPS on Windows, since this platform has significant
differences with some low-level functionality.
@ -31,18 +31,20 @@ Running Linux on Windows
So before trying to build LAMMPS on Windows, please consider if using
the pre-compiled Windows binary packages are sufficient for your needs
(as an aside, those packages themselves are build on a Linux machine
using cross-compilers). If it is necessary for your to compile LAMMPS
using cross-compilers). If it is necessary for you to compile LAMMPS
on a Windows machine (e.g. because it is your main desktop), please also
consider using a virtual machine software and run a Linux virtual machine,
or - if have a recently updated Windows 10 installation - consider using
the Windows subsystem for Linux, which allows to run a bash shell from
Ubuntu and from there on, you can pretty much use that shell like you
are running on an Ubuntu Linux machine (e.g. installing software via
apt-get). For more details on that, please see :doc:`this tutorial <Howto_bash>`
consider using a virtual machine software and compile and run LAMMPS in
a Linux virtual machine, or - if you have a recently updated Windows 10
installation - consider using the Windows subsystem for Linux. This
optional Windows feature allows you to run the bash shell from Ubuntu
from within Windows and from there on, you can pretty much use that
shell like you are running on an Ubuntu Linux machine (e.g. installing
software via apt-get and more). For more details on that, please
see :doc:`this tutorial <Howto_bash>`
.. _gnu:
Using GNU GCC ported to Windows
Using a GNU GCC ported to Windows
-----------------------------------------
One option for compiling LAMMPS on Windows natively, that has been known
@ -83,13 +85,13 @@ traditional build system, but CMake has also been successfully tested
using the mingw32-cmake and mingw64-cmake wrappers that are bundled
with the cross-compiler environment on Fedora machines. A CMake preset
selecting all packages compatible with this cross-compilation build
is provided. You likely need to disable the GPU package unless you
is provided. You will likely need to disable the GPU package unless you
download and install the contents of the pre-compiled `OpenCL ICD loader library <https://download.lammps.org/thirdparty/opencl-win-devel.tar.gz>`_
into your MinGW64 cross-compiler environment. The cross-compilation
currently will only produce non-MPI serial binaries.
Please keep in mind, though, that this only applies to compiling LAMMPS.
Whether the resulting binaries do work correctly is no tested by the
Please keep in mind, though, that this only applies to **compiling** LAMMPS.
Whether the resulting binaries do work correctly is not tested by the
LAMMPS developers. We instead rely on the feedback of the users
of these pre-compiled LAMMPS packages for Windows. We will try to resolve
issues to the best of our abilities if we become aware of them. However
@ -104,8 +106,3 @@ Support for the Visual C++ compilers is currently not available. The
CMake build system is capable of creating suitable a Visual Studio
style build environment, but the LAMMPS code itself is not fully ported
to support Visual C++. Volunteers to take on this task are welcome.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -27,8 +27,3 @@ commands in it are used to define a LAMMPS simulation.
:maxdepth: 1
Commands_removed
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -1,59 +1,138 @@
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`General commands <Commands_all>` | :doc:`Fix styles <Commands_fix>` | :doc:`Compute styles <Commands_compute>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`Pair styles <Commands_pair>` | :doc:`Bond styles <Commands_bond>` | :ref:`Angle styles <angle>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :ref:`Dihedral styles <dihedral>` | :ref:`Improper styles <improper>` | :doc:`KSpace styles <Commands_kspace>` |
+----------------------------------------+------------------------------------+------------------------------------------+
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
General commands
================
An alphabetic list of all general LAMMPS commands.
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`angle\_coeff <angle_coeff>` | :doc:`angle\_style <angle_style>` | :doc:`atom\_modify <atom_modify>` | :doc:`atom\_style <atom_style>` | :doc:`balance <balance>` | :doc:`bond\_coeff <bond_coeff>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`bond\_style <bond_style>` | :doc:`bond\_write <bond_write>` | :doc:`boundary <boundary>` | :doc:`box <box>` | :doc:`change\_box <change_box>` | :doc:`clear <clear>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`comm\_modify <comm_modify>` | :doc:`comm\_style <comm_style>` | :doc:`compute <compute>` | :doc:`compute\_modify <compute_modify>` | :doc:`create\_atoms <create_atoms>` | :doc:`create\_bonds <create_bonds>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`create\_box <create_box>` | :doc:`delete\_atoms <delete_atoms>` | :doc:`delete\_bonds <delete_bonds>` | :doc:`dielectric <dielectric>` | :doc:`dihedral\_coeff <dihedral_coeff>` | :doc:`dihedral\_style <dihedral_style>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`dimension <dimension>` | :doc:`displace\_atoms <displace_atoms>` | :doc:`dump <dump>` | :doc:`dump adios <dump_adios>` | :doc:`dump image <dump_image>` | :doc:`dump movie <dump_image>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`dump netcdf <dump_netcdf>` | :doc:`dump netcdf/mpiio <dump_netcdf>` | :doc:`dump vtk <dump_vtk>` | :doc:`dump\_modify <dump_modify>` | :doc:`dynamical\_matrix <dynamical_matrix>` | :doc:`echo <echo>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`fix <fix>` | :doc:`fix\_modify <fix_modify>` | :doc:`group <group>` | :doc:`group2ndx <group2ndx>` | :doc:`hyper <hyper>` | :doc:`if <if>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`info <info>` | :doc:`improper\_coeff <improper_coeff>` | :doc:`improper\_style <improper_style>` | :doc:`include <include>` | :doc:`jump <jump>` | :doc:`kim\_init <kim_commands>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`kim\_interactions <kim_commands>` | :doc:`kim\_query <kim_commands>` | :doc:`kspace\_modify <kspace_modify>` | :doc:`kspace\_style <kspace_style>` | :doc:`label <label>` | :doc:`lattice <lattice>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`log <log>` | :doc:`mass <mass>` | :doc:`message <message>` | :doc:`minimize <minimize>` | :doc:`min\_modify <min_modify>` | :doc:`min\_style <min_style>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`min\_style spin <min_spin>` | :doc:`molecule <molecule>` | :doc:`ndx2group <group2ndx>` | :doc:`neb <neb>` | :doc:`neb/spin <neb_spin>` | :doc:`neigh\_modify <neigh_modify>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`neighbor <neighbor>` | :doc:`newton <newton>` | :doc:`next <next>` | :doc:`package <package>` | :doc:`pair\_coeff <pair_coeff>` | :doc:`pair\_modify <pair_modify>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`pair\_style <pair_style>` | :doc:`pair\_write <pair_write>` | :doc:`partition <partition>` | :doc:`prd <prd>` | :doc:`print <print>` | :doc:`processors <processors>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`python <python>` | :doc:`quit <quit>` | :doc:`read\_data <read_data>` | :doc:`read\_dump <read_dump>` | :doc:`read\_restart <read_restart>` | :doc:`region <region>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`replicate <replicate>` | :doc:`rerun <rerun>` | :doc:`reset\_ids <reset_ids>` | :doc:`reset\_timestep <reset_timestep>` | :doc:`restart <restart>` | :doc:`run <run>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`run\_style <run_style>` | :doc:`server <server>` | :doc:`set <set>` | :doc:`shell <shell>` | :doc:`special\_bonds <special_bonds>` | :doc:`suffix <suffix>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`tad <tad>` | :doc:`temper <temper>` | :doc:`temper/grem <temper_grem>` | :doc:`temper/npt <temper_npt>` | :doc:`thermo <thermo>` | :doc:`thermo\_modify <thermo_modify>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`thermo\_style <thermo_style>` | :doc:`third\_order <third_order>` | :doc:`timer <timer>` | :doc:`timestep <timestep>` | :doc:`uncompute <uncompute>` | :doc:`undump <undump>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`unfix <unfix>` | :doc:`units <units>` | :doc:`variable <variable>` | :doc:`velocity <velocity>` | :doc:`write\_coeff <write_coeff>` | :doc:`write\_data <write_data>` |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
| :doc:`write\_dump <write_dump>` | :doc:`write\_restart <write_restart>` | | | | |
+-----------------------------------------+-----------------------------------------+-----------------------------------------+-----------------------------------------+---------------------------------------------+-----------------------------------------+
.. table_from_list::
:columns: 6
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
* :doc:`angle_coeff <angle_coeff>`
* :doc:`angle_style <angle_style>`
* :doc:`atom_modify <atom_modify>`
* :doc:`atom_style <atom_style>`
* :doc:`balance <balance>`
* :doc:`bond_coeff <bond_coeff>`
* :doc:`bond_style <bond_style>`
* :doc:`bond_write <bond_write>`
* :doc:`boundary <boundary>`
* :doc:`box <box>`
* :doc:`change_box <change_box>`
* :doc:`clear <clear>`
* :doc:`comm_modify <comm_modify>`
* :doc:`comm_style <comm_style>`
* :doc:`compute <compute>`
* :doc:`compute_modify <compute_modify>`
* :doc:`create_atoms <create_atoms>`
* :doc:`create_bonds <create_bonds>`
* :doc:`create_box <create_box>`
* :doc:`delete_atoms <delete_atoms>`
* :doc:`delete_bonds <delete_bonds>`
* :doc:`dielectric <dielectric>`
* :doc:`dihedral_coeff <dihedral_coeff>`
* :doc:`dihedral_style <dihedral_style>`
* :doc:`dimension <dimension>`
* :doc:`displace_atoms <displace_atoms>`
* :doc:`dump <dump>`
* :doc:`dump atom/adios <dump_adios>`
* :doc:`dump custom/adios <dump_adios>`
* :doc:`dump image <dump_image>`
* :doc:`dump movie <dump_image>`
* :doc:`dump netcdf <dump_netcdf>`
* :doc:`dump netcdf/mpiio <dump_netcdf>`
* :doc:`dump vtk <dump_vtk>`
* :doc:`dump_modify <dump_modify>`
* :doc:`dynamical_matrix <dynamical_matrix>`
* :doc:`echo <echo>`
* :doc:`fix <fix>`
* :doc:`fix_modify <fix_modify>`
* :doc:`group <group>`
* :doc:`group2ndx <group2ndx>`
* :doc:`hyper <hyper>`
* :doc:`if <if>`
* :doc:`improper_coeff <improper_coeff>`
* :doc:`improper_style <improper_style>`
* :doc:`include <include>`
* :doc:`info <info>`
* :doc:`jump <jump>`
* :doc:`kim_init <kim_commands>`
* :doc:`kim_interactions <kim_commands>`
* :doc:`kim_param <kim_commands>`
* :doc:`kim_query <kim_commands>`
* :doc:`kspace_modify <kspace_modify>`
* :doc:`kspace_style <kspace_style>`
* :doc:`label <label>`
* :doc:`lattice <lattice>`
* :doc:`log <log>`
* :doc:`mass <mass>`
* :doc:`message <message>`
* :doc:`minimize <minimize>`
* :doc:`min_modify <min_modify>`
* :doc:`min_style <min_style>`
* :doc:`min_style spin <min_spin>`
* :doc:`molecule <molecule>`
* :doc:`ndx2group <group2ndx>`
* :doc:`neb <neb>`
* :doc:`neb/spin <neb_spin>`
* :doc:`neigh_modify <neigh_modify>`
* :doc:`neighbor <neighbor>`
* :doc:`newton <newton>`
* :doc:`next <next>`
* :doc:`package <package>`
* :doc:`pair_coeff <pair_coeff>`
* :doc:`pair_modify <pair_modify>`
* :doc:`pair_write <pair_write>`
* :doc:`partition <partition>`
* :doc:`prd <prd>`
* :doc:`print <print>`
* :doc:`processors <processors>`
* :doc:`python <python>`
* :doc:`quit <quit>`
* :doc:`read_data <read_data>`
* :doc:`read_dump <read_dump>`
* :doc:`read_restart <read_restart>`
* :doc:`region <region>`
* :doc:`replicate <replicate>`
* :doc:`rerun <rerun>`
* :doc:`reset_ids <reset_ids>`
* :doc:`reset_timestep <reset_timestep>`
* :doc:`restart <restart>`
* :doc:`run <run>`
* :doc:`run_style <run_style>`
* :doc:`server <server>`
* :doc:`set <set>`
* :doc:`shell <shell>`
* :doc:`special_bonds <special_bonds>`
* :doc:`suffix <suffix>`
* :doc:`tad <tad>`
* :doc:`temper <temper>`
* :doc:`temper/grem <temper_grem>`
* :doc:`temper/npt <temper_npt>`
* :doc:`thermo <thermo>`
* :doc:`thermo_modify <thermo_modify>`
* :doc:`thermo_style <thermo_style>`
* :doc:`third_order <third_order>`
* :doc:`timer <timer>`
* :doc:`timestep <timestep>`
* :doc:`uncompute <uncompute>`
* :doc:`undump <undump>`
* :doc:`unfix <unfix>`
* :doc:`units <units>`
* :doc:`variable <variable>`
* :doc:`velocity <velocity>`
* :doc:`write_coeff <write_coeff>`
* :doc:`write_data <write_data>`
* :doc:`write_dump <write_dump>`
* :doc:`write_restart <write_restart>`

View File

@ -1,112 +1,160 @@
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
.. _bond:
Bond\_style potentials
=================================
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
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
OPT.
+---------------------------------------+-------------------------------------------------+---------------------------------------------------------+---------------------------------+
| :doc:`none <bond_none>` | :doc:`zero <bond_zero>` | :doc:`hybrid <bond_hybrid>` | |
+---------------------------------------+-------------------------------------------------+---------------------------------------------------------+---------------------------------+
| | | | |
+---------------------------------------+-------------------------------------------------+---------------------------------------------------------+---------------------------------+
| :doc:`class2 (ko) <bond_class2>` | :doc:`fene (iko) <bond_fene>` | :doc:`fene/expand (o) <bond_fene_expand>` | :doc:`gromos (o) <bond_gromos>` |
+---------------------------------------+-------------------------------------------------+---------------------------------------------------------+---------------------------------+
| :doc:`harmonic (iko) <bond_harmonic>` | :doc:`harmonic/shift (o) <bond_harmonic_shift>` | :doc:`harmonic/shift/cut (o) <bond_harmonic_shift_cut>` | :doc:`mm3 <bond_mm3>` |
+---------------------------------------+-------------------------------------------------+---------------------------------------------------------+---------------------------------+
| :doc:`morse (o) <bond_morse>` | :doc:`nonlinear (o) <bond_nonlinear>` | :doc:`oxdna/fene <bond_oxdna>` | :doc:`oxdna2/fene <bond_oxdna>` |
+---------------------------------------+-------------------------------------------------+---------------------------------------------------------+---------------------------------+
| :doc:`quartic (o) <bond_quartic>` | :doc:`table (o) <bond_table>` | | |
+---------------------------------------+-------------------------------------------------+---------------------------------------------------------+---------------------------------+
----------
.. table_from_list::
:columns: 4
* :doc:`none <bond_none>`
* :doc:`zero <bond_zero>`
* :doc:`hybrid <bond_hybrid>`
*
*
*
*
*
* :doc:`class2 (ko) <bond_class2>`
* :doc:`fene (iko) <bond_fene>`
* :doc:`fene/expand (o) <bond_fene_expand>`
* :doc:`gromos (o) <bond_gromos>`
* :doc:`harmonic (iko) <bond_harmonic>`
* :doc:`harmonic/shift (o) <bond_harmonic_shift>`
* :doc:`harmonic/shift/cut (o) <bond_harmonic_shift_cut>`
* :doc:`mm3 <bond_mm3>`
* :doc:`morse (o) <bond_morse>`
* :doc:`nonlinear (o) <bond_nonlinear>`
* :doc:`oxdna/fene <bond_oxdna>`
* :doc:`oxdna2/fene <bond_oxdna>`
* :doc:`oxrna2/fene <bond_oxdna>`
* :doc:`quartic (o) <bond_quartic>`
* :doc:`table (o) <bond_table>`
.. _angle:
Angle\_style potentials
===================================
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
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
OPT.
+------------------------------------------------------+--------------------------------------------------+----------------------------------------------------+----------------------------------------------+
| :doc:`none <angle_none>` | :doc:`zero <angle_zero>` | :doc:`hybrid <angle_hybrid>` | |
+------------------------------------------------------+--------------------------------------------------+----------------------------------------------------+----------------------------------------------+
| | | | |
+------------------------------------------------------+--------------------------------------------------+----------------------------------------------------+----------------------------------------------+
| :doc:`charmm (iko) <angle_charmm>` | :doc:`class2 (ko) <angle_class2>` | :doc:`class2/p6 <angle_class2>` | :doc:`cosine (ko) <angle_cosine>` |
+------------------------------------------------------+--------------------------------------------------+----------------------------------------------------+----------------------------------------------+
| :doc:`cosine/buck6d <angle_cosine_buck6d>` | :doc:`cosine/delta (o) <angle_cosine_delta>` | :doc:`cosine/periodic (o) <angle_cosine_periodic>` | :doc:`cosine/shift (o) <angle_cosine_shift>` |
+------------------------------------------------------+--------------------------------------------------+----------------------------------------------------+----------------------------------------------+
| :doc:`cosine/shift/exp (o) <angle_cosine_shift_exp>` | :doc:`cosine/squared (o) <angle_cosine_squared>` | :doc:`cross <angle_cross>` | :doc:`dipole (o) <angle_dipole>` |
+------------------------------------------------------+--------------------------------------------------+----------------------------------------------------+----------------------------------------------+
| :doc:`fourier (o) <angle_fourier>` | :doc:`fourier/simple (o) <angle_fourier_simple>` | :doc:`harmonic (iko) <angle_harmonic>` | :doc:`mm3 <angle_mm3>` |
+------------------------------------------------------+--------------------------------------------------+----------------------------------------------------+----------------------------------------------+
| :doc:`quartic (o) <angle_quartic>` | :doc:`sdk (o) <angle_sdk>` | :doc:`table (o) <angle_table>` | |
+------------------------------------------------------+--------------------------------------------------+----------------------------------------------------+----------------------------------------------+
----------
.. table_from_list::
:columns: 4
* :doc:`none <angle_none>`
* :doc:`zero <angle_zero>`
* :doc:`hybrid <angle_hybrid>`
*
*
*
*
*
* :doc:`charmm (iko) <angle_charmm>`
* :doc:`class2 (ko) <angle_class2>`
* :doc:`class2/p6 <angle_class2>`
* :doc:`cosine (ko) <angle_cosine>`
* :doc:`cosine/buck6d <angle_cosine_buck6d>`
* :doc:`cosine/delta (o) <angle_cosine_delta>`
* :doc:`cosine/periodic (o) <angle_cosine_periodic>`
* :doc:`cosine/shift (o) <angle_cosine_shift>`
* :doc:`cosine/shift/exp (o) <angle_cosine_shift_exp>`
* :doc:`cosine/squared (o) <angle_cosine_squared>`
* :doc:`cross <angle_cross>`
* :doc:`dipole (o) <angle_dipole>`
* :doc:`fourier (o) <angle_fourier>`
* :doc:`fourier/simple (o) <angle_fourier_simple>`
* :doc:`harmonic (iko) <angle_harmonic>`
* :doc:`mm3 <angle_mm3>`
* :doc:`quartic (o) <angle_quartic>`
* :doc:`sdk (o) <angle_sdk>`
* :doc:`table (o) <angle_table>`
.. _dihedral:
Dihedral\_style potentials
=========================================
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
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
OPT.
+-------------------------------------------+-------------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`none <dihedral_none>` | :doc:`zero <dihedral_zero>` | :doc:`hybrid <dihedral_hybrid>` | |
+-------------------------------------------+-------------------------------------------+-------------------------------------------+---------------------------------------------------------+
| | | | |
+-------------------------------------------+-------------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`charmm (iko) <dihedral_charmm>` | :doc:`charmmfsw <dihedral_charmm>` | :doc:`class2 (ko) <dihedral_class2>` | :doc:`cosine/shift/exp (o) <dihedral_cosine_shift_exp>` |
+-------------------------------------------+-------------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`fourier (io) <dihedral_fourier>` | :doc:`harmonic (iko) <dihedral_harmonic>` | :doc:`helix (o) <dihedral_helix>` | :doc:`multi/harmonic (o) <dihedral_multi_harmonic>` |
+-------------------------------------------+-------------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`nharmonic (o) <dihedral_nharmonic>` | :doc:`opls (iko) <dihedral_opls>` | :doc:`quadratic (o) <dihedral_quadratic>` | :doc:`spherical <dihedral_spherical>` |
+-------------------------------------------+-------------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`table (o) <dihedral_table>` | :doc:`table/cut <dihedral_table_cut>` | | |
+-------------------------------------------+-------------------------------------------+-------------------------------------------+---------------------------------------------------------+
.. table_from_list::
:columns: 4
----------
* :doc:`none <dihedral_none>`
* :doc:`zero <dihedral_zero>`
* :doc:`hybrid <dihedral_hybrid>`
*
*
*
*
*
* :doc:`charmm (iko) <dihedral_charmm>`
* :doc:`charmmfsw <dihedral_charmm>`
* :doc:`class2 (ko) <dihedral_class2>`
* :doc:`cosine/shift/exp (o) <dihedral_cosine_shift_exp>`
* :doc:`fourier (io) <dihedral_fourier>`
* :doc:`harmonic (iko) <dihedral_harmonic>`
* :doc:`helix (o) <dihedral_helix>`
* :doc:`multi/harmonic (o) <dihedral_multi_harmonic>`
* :doc:`nharmonic (o) <dihedral_nharmonic>`
* :doc:`opls (iko) <dihedral_opls>`
* :doc:`quadratic (o) <dihedral_quadratic>`
* :doc:`spherical <dihedral_spherical>`
* :doc:`table (o) <dihedral_table>`
* :doc:`table/cut <dihedral_table_cut>`
.. _improper:
Improper\_style potentials
=========================================
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
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
OPT.
+--------------------------------------+-----------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`none <improper_none>` | :doc:`zero <improper_zero>` | :doc:`hybrid <improper_hybrid>` | |
+--------------------------------------+-----------------------------------------+-------------------------------------------+---------------------------------------------------------+
| | | | |
+--------------------------------------+-----------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`class2 (ko) <improper_class2>` | :doc:`cossq (o) <improper_cossq>` | :doc:`cvff (io) <improper_cvff>` | :doc:`distance <improper_distance>` |
+--------------------------------------+-----------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`distharm <improper_distharm>` | :doc:`fourier (o) <improper_fourier>` | :doc:`harmonic (iko) <improper_harmonic>` | :doc:`inversion/harmonic <improper_inversion_harmonic>` |
+--------------------------------------+-----------------------------------------+-------------------------------------------+---------------------------------------------------------+
| :doc:`ring (o) <improper_ring>` | :doc:`sqdistharm <improper_sqdistharm>` | :doc:`umbrella (o) <improper_umbrella>` | |
+--------------------------------------+-----------------------------------------+-------------------------------------------+---------------------------------------------------------+
.. table_from_list::
:columns: 4
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
* :doc:`none <improper_none>`
* :doc:`zero <improper_zero>`
* :doc:`hybrid <improper_hybrid>`
*
*
*
*
*
* :doc:`class2 (ko) <improper_class2>`
* :doc:`cossq (o) <improper_cossq>`
* :doc:`cvff (io) <improper_cvff>`
* :doc:`distance <improper_distance>`
* :doc:`distharm <improper_distharm>`
* :doc:`fourier (o) <improper_fourier>`
* :doc:`harmonic (iko) <improper_harmonic>`
* :doc:`inversion/harmonic <improper_inversion_harmonic>`
* :doc:`ring (o) <improper_ring>`
* :doc:`sqdistharm <improper_sqdistharm>`
* :doc:`umbrella (o) <improper_umbrella>`

View File

@ -7,6 +7,7 @@ alphabetically. Style options for entries like fix, compute, pair etc.
have their own pages where they are listed alphabetically.
Initialization:
------------------------------
* :doc:`newton <newton>`,
* :doc:`package <package>`,
@ -15,100 +16,107 @@ Initialization:
* :doc:`units <units>`
Setup simulation box:
------------------------------
* :doc:`boundary <boundary>`,
* :doc:`box <box>`,
* :doc:`change\_box <change_box>`,
* :doc:`create\_box <create_box>`,
* :doc:`change_box <change_box>`,
* :doc:`create_box <create_box>`,
* :doc:`dimension <dimension>`,
* :doc:`lattice <lattice>`,
* :doc:`region <region>`
Setup atoms:
------------------------------
* :doc:`atom\_modify <atom_modify>`,
* :doc:`atom\_style <atom_style>`,
* :doc:`atom_modify <atom_modify>`,
* :doc:`atom_style <atom_style>`,
* :doc:`balance <balance>`,
* :doc:`create\_atoms <create_atoms>`,
* :doc:`create\_bonds <create_bonds>`,
* :doc:`delete\_atoms <delete_atoms>`,
* :doc:`delete\_bonds <delete_bonds>`,
* :doc:`displace\_atoms <displace_atoms>`,
* :doc:`create_atoms <create_atoms>`,
* :doc:`create_bonds <create_bonds>`,
* :doc:`delete_atoms <delete_atoms>`,
* :doc:`delete_bonds <delete_bonds>`,
* :doc:`displace_atoms <displace_atoms>`,
* :doc:`group <group>`,
* :doc:`mass <mass>`,
* :doc:`molecule <molecule>`,
* :doc:`read\_data <read_data>`,
* :doc:`read\_dump <read_dump>`,
* :doc:`read\_restart <read_restart>`,
* :doc:`read_data <read_data>`,
* :doc:`read_dump <read_dump>`,
* :doc:`read_restart <read_restart>`,
* :doc:`replicate <replicate>`,
* :doc:`set <set>`,
* :doc:`velocity <velocity>`
Force fields:
------------------------------
* :doc:`angle\_coeff <angle_coeff>`,
* :doc:`angle\_style <angle_style>`,
* :doc:`bond\_coeff <bond_coeff>`,
* :doc:`bond\_style <bond_style>`,
* :doc:`bond\_write <bond_write>`,
* :doc:`angle_coeff <angle_coeff>`,
* :doc:`angle_style <angle_style>`,
* :doc:`bond_coeff <bond_coeff>`,
* :doc:`bond_style <bond_style>`,
* :doc:`bond_write <bond_write>`,
* :doc:`dielectric <dielectric>`,
* :doc:`dihedral\_coeff <dihedral_coeff>`,
* :doc:`dihedral\_style <dihedral_style>`,
* :doc:`improper\_coeff <improper_coeff>`,
* :doc:`improper\_style <improper_style>`,
* :doc:`kspace\_modify <kspace_modify>`,
* :doc:`kspace\_style <kspace_style>`,
* :doc:`pair\_coeff <pair_coeff>`,
* :doc:`pair\_modify <pair_modify>`,
* :doc:`pair\_style <pair_style>`,
* :doc:`pair\_write <pair_write>`,
* :doc:`special\_bonds <special_bonds>`
* :doc:`dihedral_coeff <dihedral_coeff>`,
* :doc:`dihedral_style <dihedral_style>`,
* :doc:`improper_coeff <improper_coeff>`,
* :doc:`improper_style <improper_style>`,
* :doc:`kspace_modify <kspace_modify>`,
* :doc:`kspace_style <kspace_style>`,
* :doc:`pair_coeff <pair_coeff>`,
* :doc:`pair_modify <pair_modify>`,
* :doc:`pair_style <pair_style>`,
* :doc:`pair_write <pair_write>`,
* :doc:`special_bonds <special_bonds>`
Settings:
------------------------------
* :doc:`comm\_modify <comm_modify>`,
* :doc:`comm\_style <comm_style>`,
* :doc:`comm_modify <comm_modify>`,
* :doc:`comm_style <comm_style>`,
* :doc:`info <info>`,
* :doc:`min\_modify <min_modify>`,
* :doc:`min\_style <min_style>`,
* :doc:`neigh\_modify <neigh_modify>`,
* :doc:`min_modify <min_modify>`,
* :doc:`min_style <min_style>`,
* :doc:`neigh_modify <neigh_modify>`,
* :doc:`neighbor <neighbor>`,
* :doc:`partition <partition>`,
* :doc:`reset\_timestep <reset_timestep>`,
* :doc:`run\_style <run_style>`,
* :doc:`reset_timestep <reset_timestep>`,
* :doc:`run_style <run_style>`,
* :doc:`timer <timer>`,
* :doc:`timestep <timestep>`
Operations within timestepping (fixes) and diagnostics (computes):
------------------------------------------------------------------------------------------
* :doc:`compute <compute>`,
* :doc:`compute\_modify <compute_modify>`,
* :doc:`compute_modify <compute_modify>`,
* :doc:`fix <fix>`,
* :doc:`fix\_modify <fix_modify>`,
* :doc:`fix_modify <fix_modify>`,
* :doc:`uncompute <uncompute>`,
* :doc:`unfix <unfix>`
Output:
------------------------------
* :doc:`dump image <dump_image>`,
* :doc:`dump movie <dump_image>`,
* :doc:`dump <dump>`,
* :doc:`dump\_modify <dump_modify>`,
* :doc:`dump_modify <dump_modify>`,
* :doc:`restart <restart>`,
* :doc:`thermo <thermo>`,
* :doc:`thermo\_modify <thermo_modify>`,
* :doc:`thermo\_style <thermo_style>`,
* :doc:`thermo_modify <thermo_modify>`,
* :doc:`thermo_style <thermo_style>`,
* :doc:`undump <undump>`,
* :doc:`write\_coeff <write_coeff>`,
* :doc:`write\_data <write_data>`,
* :doc:`write\_dump <write_dump>`,
* :doc:`write\_restart <write_restart>`
* :doc:`write_coeff <write_coeff>`,
* :doc:`write_data <write_data>`,
* :doc:`write_dump <write_dump>`,
* :doc:`write_restart <write_restart>`
Actions:
------------------------------
* :doc:`minimize <minimize>`,
* :doc:`neb <neb>`,
* :doc:`neb\_spin <neb_spin>`,
* :doc:`neb_spin <neb_spin>`,
* :doc:`prd <prd>`,
* :doc:`rerun <rerun>`,
* :doc:`run <run>`,
@ -116,6 +124,7 @@ Actions:
* :doc:`temper <temper>`
Input script control:
------------------------------
* :doc:`clear <clear>`,
* :doc:`echo <echo>`,
@ -130,8 +139,3 @@ Input script control:
* :doc:`quit <quit>`,
* :doc:`shell <shell>`,
* :doc:`variable <variable>`
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -1,10 +1,15 @@
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`General commands <Commands_all>` | :doc:`Fix styles <Commands_fix>` | :doc:`Compute styles <Commands_compute>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`Pair styles <Commands_pair>` | :doc:`Bond styles <Commands_bond>` | :ref:`Angle styles <angle>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :ref:`Dihedral styles <dihedral>` | :ref:`Improper styles <improper>` | :doc:`KSpace styles <Commands_kspace>` |
+----------------------------------------+------------------------------------+------------------------------------------+
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
Compute commands
================
@ -14,57 +19,147 @@ Some styles have accelerated versions. This is indicated by
additional letters in parenthesis: g = GPU, i = USER-INTEL, k =
KOKKOS, o = USER-OMP, t = OPT.
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`ackland/atom <compute_ackland_atom>` | :doc:`adf <compute_adf>` | :doc:`aggregate/atom <compute_cluster_atom>` | :doc:`angle <compute_angle>` | :doc:`angle/local <compute_angle_local>` | :doc:`angmom/chunk <compute_angmom_chunk>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`basal/atom <compute_basal_atom>` | :doc:`body/local <compute_body_local>` | :doc:`bond <compute_bond>` | :doc:`bond/local <compute_bond_local>` | :doc:`centro/atom <compute_centro_atom>` | :doc:`centroid/stress/atom <compute_stress_atom>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`chunk/atom <compute_chunk_atom>` | :doc:`chunk/spread/atom <compute_chunk_spread_atom>` | :doc:`cluster/atom <compute_cluster_atom>` | :doc:`cna/atom <compute_cna_atom>` | :doc:`cnp/atom <compute_cnp_atom>` | :doc:`com <compute_com>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`com/chunk <compute_com_chunk>` | :doc:`contact/atom <compute_contact_atom>` | :doc:`coord/atom <compute_coord_atom>` | :doc:`damage/atom <compute_damage_atom>` | :doc:`dihedral <compute_dihedral>` | :doc:`dihedral/local <compute_dihedral_local>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`dilatation/atom <compute_dilatation_atom>` | :doc:`dipole/chunk <compute_dipole_chunk>` | :doc:`displace/atom <compute_displace_atom>` | :doc:`dpd <compute_dpd>` | :doc:`dpd/atom <compute_dpd_atom>` | :doc:`edpd/temp/atom <compute_edpd_temp_atom>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`entropy/atom <compute_entropy_atom>` | :doc:`erotate/asphere <compute_erotate_asphere>` | :doc:`erotate/rigid <compute_erotate_rigid>` | :doc:`erotate/sphere <compute_erotate_sphere>` | :doc:`erotate/sphere/atom <compute_erotate_sphere_atom>` | :doc:`event/displace <compute_event_displace>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`fep <compute_fep>` | :doc:`force/tally <compute_tally>` | :doc:`fragment/atom <compute_cluster_atom>` | :doc:`global/atom <compute_global_atom>` | :doc:`group/group <compute_group_group>` | :doc:`gyration <compute_gyration>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`gyration/chunk <compute_gyration_chunk>` | :doc:`gyration/shape <compute_gyration_shape>` | :doc:`gyration/shape/chunk <compute_gyration_shape_chunk>` | :doc:`heat/flux <compute_heat_flux>` | :doc:`heat/flux/tally <compute_tally>` | :doc:`hexorder/atom <compute_hexorder_atom>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`hma <compute_hma>` | :doc:`improper <compute_improper>` | :doc:`improper/local <compute_improper_local>` | :doc:`inertia/chunk <compute_inertia_chunk>` | :doc:`ke <compute_ke>` | :doc:`ke/atom <compute_ke_atom>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`ke/atom/eff <compute_ke_atom_eff>` | :doc:`ke/eff <compute_ke_eff>` | :doc:`ke/rigid <compute_ke_rigid>` | :doc:`meso/e/atom <compute_meso_e_atom>` | :doc:`meso/rho/atom <compute_meso_rho_atom>` | :doc:`meso/t/atom <compute_meso_t_atom>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`momentum <compute_momentum>` | :doc:`msd <compute_msd>` | :doc:`msd/chunk <compute_msd_chunk>` | :doc:`msd/nongauss <compute_msd_nongauss>` | :doc:`omega/chunk <compute_omega_chunk>` | :doc:`orientorder/atom <compute_orientorder_atom>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`pair <compute_pair>` | :doc:`pair/local <compute_pair_local>` | :doc:`pe <compute_pe>` | :doc:`pe/atom <compute_pe_atom>` | :doc:`pe/mol/tally <compute_tally>` | :doc:`pe/tally <compute_tally>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`plasticity/atom <compute_plasticity_atom>` | :doc:`pressure <compute_pressure>` | :doc:`pressure/cylinder <compute_pressure_cylinder>` | :doc:`pressure/uef <compute_pressure_uef>` | :doc:`property/atom <compute_property_atom>` | :doc:`property/chunk <compute_property_chunk>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`property/local <compute_property_local>` | :doc:`ptm/atom <compute_ptm_atom>` | :doc:`rdf <compute_rdf>` | :doc:`reduce <compute_reduce>` | :doc:`reduce/chunk <compute_reduce_chunk>` | :doc:`reduce/region <compute_reduce>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`rigid/local <compute_rigid_local>` | :doc:`saed <compute_saed>` | :doc:`slice <compute_slice>` | :doc:`smd/contact/radius <compute_smd_contact_radius>` | :doc:`smd/damage <compute_smd_damage>` | :doc:`smd/hourglass/error <compute_smd_hourglass_error>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`smd/internal/energy <compute_smd_internal_energy>` | :doc:`smd/plastic/strain <compute_smd_plastic_strain>` | :doc:`smd/plastic/strain/rate <compute_smd_plastic_strain_rate>` | :doc:`smd/rho <compute_smd_rho>` | :doc:`smd/tlsph/defgrad <compute_smd_tlsph_defgrad>` | :doc:`smd/tlsph/dt <compute_smd_tlsph_dt>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`smd/tlsph/num/neighs <compute_smd_tlsph_num_neighs>` | :doc:`smd/tlsph/shape <compute_smd_tlsph_shape>` | :doc:`smd/tlsph/strain <compute_smd_tlsph_strain>` | :doc:`smd/tlsph/strain/rate <compute_smd_tlsph_strain_rate>` | :doc:`smd/tlsph/stress <compute_smd_tlsph_stress>` | :doc:`smd/triangle/vertices <compute_smd_triangle_vertices>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`smd/ulsph/num/neighs <compute_smd_ulsph_num_neighs>` | :doc:`smd/ulsph/strain <compute_smd_ulsph_strain>` | :doc:`smd/ulsph/strain/rate <compute_smd_ulsph_strain_rate>` | :doc:`smd/ulsph/stress <compute_smd_ulsph_stress>` | :doc:`smd/vol <compute_smd_vol>` | :doc:`sna/atom <compute_sna_atom>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`snad/atom <compute_sna_atom>` | :doc:`snav/atom <compute_sna_atom>` | :doc:`spin <compute_spin>` | :doc:`stress/atom <compute_stress_atom>` | :doc:`stress/mop <compute_stress_mop>` | :doc:`stress/mop/profile <compute_stress_mop>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`stress/tally <compute_tally>` | :doc:`tdpd/cc/atom <compute_tdpd_cc_atom>` | :doc:`temp (k) <compute_temp>` | :doc:`temp/asphere <compute_temp_asphere>` | :doc:`temp/body <compute_temp_body>` | :doc:`temp/chunk <compute_temp_chunk>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`temp/com <compute_temp_com>` | :doc:`temp/cs <compute_temp_cs>` | :doc:`temp/deform <compute_temp_deform>` | :doc:`temp/deform/eff <compute_temp_deform_eff>` | :doc:`temp/drude <compute_temp_drude>` | :doc:`temp/eff <compute_temp_eff>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`temp/partial <compute_temp_partial>` | :doc:`temp/profile <compute_temp_profile>` | :doc:`temp/ramp <compute_temp_ramp>` | :doc:`temp/region <compute_temp_region>` | :doc:`temp/region/eff <compute_temp_region_eff>` | :doc:`temp/rotate <compute_temp_rotate>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`temp/sphere <compute_temp_sphere>` | :doc:`temp/uef <compute_temp_uef>` | :doc:`ti <compute_ti>` | :doc:`torque/chunk <compute_torque_chunk>` | :doc:`vacf <compute_vacf>` | :doc:`vcm/chunk <compute_vcm_chunk>` |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
| :doc:`voronoi/atom <compute_voronoi_atom>` | :doc:`xrd <compute_xrd>` | | | | |
+------------------------------------------------------------+--------------------------------------------------------+------------------------------------------------------------------+--------------------------------------------------------------+----------------------------------------------------------+--------------------------------------------------------------+
.. table_from_list::
:columns: 6
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
* :doc:`ackland/atom <compute_ackland_atom>`
* :doc:`adf <compute_adf>`
* :doc:`aggregate/atom <compute_cluster_atom>`
* :doc:`angle <compute_angle>`
* :doc:`angle/local <compute_angle_local>`
* :doc:`angmom/chunk <compute_angmom_chunk>`
* :doc:`basal/atom <compute_basal_atom>`
* :doc:`body/local <compute_body_local>`
* :doc:`bond <compute_bond>`
* :doc:`bond/local <compute_bond_local>`
* :doc:`centro/atom <compute_centro_atom>`
* :doc:`centroid/stress/atom <compute_stress_atom>`
* :doc:`chunk/atom <compute_chunk_atom>`
* :doc:`chunk/spread/atom <compute_chunk_spread_atom>`
* :doc:`cluster/atom <compute_cluster_atom>`
* :doc:`cna/atom <compute_cna_atom>`
* :doc:`cnp/atom <compute_cnp_atom>`
* :doc:`com <compute_com>`
* :doc:`com/chunk <compute_com_chunk>`
* :doc:`contact/atom <compute_contact_atom>`
* :doc:`coord/atom <compute_coord_atom>`
* :doc:`damage/atom <compute_damage_atom>`
* :doc:`dihedral <compute_dihedral>`
* :doc:`dihedral/local <compute_dihedral_local>`
* :doc:`dilatation/atom <compute_dilatation_atom>`
* :doc:`dipole/chunk <compute_dipole_chunk>`
* :doc:`displace/atom <compute_displace_atom>`
* :doc:`dpd <compute_dpd>`
* :doc:`dpd/atom <compute_dpd_atom>`
* :doc:`edpd/temp/atom <compute_edpd_temp_atom>`
* :doc:`entropy/atom <compute_entropy_atom>`
* :doc:`erotate/asphere <compute_erotate_asphere>`
* :doc:`erotate/rigid <compute_erotate_rigid>`
* :doc:`erotate/sphere <compute_erotate_sphere>`
* :doc:`erotate/sphere/atom <compute_erotate_sphere_atom>`
* :doc:`event/displace <compute_event_displace>`
* :doc:`fep <compute_fep>`
* :doc:`force/tally <compute_tally>`
* :doc:`fragment/atom <compute_cluster_atom>`
* :doc:`global/atom <compute_global_atom>`
* :doc:`group/group <compute_group_group>`
* :doc:`gyration <compute_gyration>`
* :doc:`gyration/chunk <compute_gyration_chunk>`
* :doc:`gyration/shape <compute_gyration_shape>`
* :doc:`gyration/shape/chunk <compute_gyration_shape_chunk>`
* :doc:`heat/flux <compute_heat_flux>`
* :doc:`heat/flux/tally <compute_tally>`
* :doc:`hexorder/atom <compute_hexorder_atom>`
* :doc:`hma <compute_hma>`
* :doc:`improper <compute_improper>`
* :doc:`improper/local <compute_improper_local>`
* :doc:`inertia/chunk <compute_inertia_chunk>`
* :doc:`ke <compute_ke>`
* :doc:`ke/atom <compute_ke_atom>`
* :doc:`ke/atom/eff <compute_ke_atom_eff>`
* :doc:`ke/eff <compute_ke_eff>`
* :doc:`ke/rigid <compute_ke_rigid>`
* :doc:`meso/e/atom <compute_meso_e_atom>`
* :doc:`meso/rho/atom <compute_meso_rho_atom>`
* :doc:`meso/t/atom <compute_meso_t_atom>`
* :doc:`momentum <compute_momentum>`
* :doc:`msd <compute_msd>`
* :doc:`msd/chunk <compute_msd_chunk>`
* :doc:`msd/nongauss <compute_msd_nongauss>`
* :doc:`omega/chunk <compute_omega_chunk>`
* :doc:`orientorder/atom <compute_orientorder_atom>`
* :doc:`pair <compute_pair>`
* :doc:`pair/local <compute_pair_local>`
* :doc:`pe <compute_pe>`
* :doc:`pe/atom <compute_pe_atom>`
* :doc:`pe/mol/tally <compute_tally>`
* :doc:`pe/tally <compute_tally>`
* :doc:`plasticity/atom <compute_plasticity_atom>`
* :doc:`pressure <compute_pressure>`
* :doc:`pressure/cylinder <compute_pressure_cylinder>`
* :doc:`pressure/uef <compute_pressure_uef>`
* :doc:`property/atom <compute_property_atom>`
* :doc:`property/chunk <compute_property_chunk>`
* :doc:`property/local <compute_property_local>`
* :doc:`ptm/atom <compute_ptm_atom>`
* :doc:`rdf <compute_rdf>`
* :doc:`reduce <compute_reduce>`
* :doc:`reduce/chunk <compute_reduce_chunk>`
* :doc:`reduce/region <compute_reduce>`
* :doc:`rigid/local <compute_rigid_local>`
* :doc:`saed <compute_saed>`
* :doc:`slice <compute_slice>`
* :doc:`smd/contact/radius <compute_smd_contact_radius>`
* :doc:`smd/damage <compute_smd_damage>`
* :doc:`smd/hourglass/error <compute_smd_hourglass_error>`
* :doc:`smd/internal/energy <compute_smd_internal_energy>`
* :doc:`smd/plastic/strain <compute_smd_plastic_strain>`
* :doc:`smd/plastic/strain/rate <compute_smd_plastic_strain_rate>`
* :doc:`smd/rho <compute_smd_rho>`
* :doc:`smd/tlsph/defgrad <compute_smd_tlsph_defgrad>`
* :doc:`smd/tlsph/dt <compute_smd_tlsph_dt>`
* :doc:`smd/tlsph/num/neighs <compute_smd_tlsph_num_neighs>`
* :doc:`smd/tlsph/shape <compute_smd_tlsph_shape>`
* :doc:`smd/tlsph/strain <compute_smd_tlsph_strain>`
* :doc:`smd/tlsph/strain/rate <compute_smd_tlsph_strain_rate>`
* :doc:`smd/tlsph/stress <compute_smd_tlsph_stress>`
* :doc:`smd/triangle/vertices <compute_smd_triangle_vertices>`
* :doc:`smd/ulsph/num/neighs <compute_smd_ulsph_num_neighs>`
* :doc:`smd/ulsph/strain <compute_smd_ulsph_strain>`
* :doc:`smd/ulsph/strain/rate <compute_smd_ulsph_strain_rate>`
* :doc:`smd/ulsph/stress <compute_smd_ulsph_stress>`
* :doc:`smd/vol <compute_smd_vol>`
* :doc:`snap <compute_sna_atom>`
* :doc:`sna/atom <compute_sna_atom>`
* :doc:`snad/atom <compute_sna_atom>`
* :doc:`snav/atom <compute_sna_atom>`
* :doc:`spin <compute_spin>`
* :doc:`stress/atom <compute_stress_atom>`
* :doc:`stress/mop <compute_stress_mop>`
* :doc:`stress/mop/profile <compute_stress_mop>`
* :doc:`stress/tally <compute_tally>`
* :doc:`tdpd/cc/atom <compute_tdpd_cc_atom>`
* :doc:`temp (k) <compute_temp>`
* :doc:`temp/asphere <compute_temp_asphere>`
* :doc:`temp/body <compute_temp_body>`
* :doc:`temp/chunk <compute_temp_chunk>`
* :doc:`temp/com <compute_temp_com>`
* :doc:`temp/cs <compute_temp_cs>`
* :doc:`temp/deform <compute_temp_deform>`
* :doc:`temp/deform/eff <compute_temp_deform_eff>`
* :doc:`temp/drude <compute_temp_drude>`
* :doc:`temp/eff <compute_temp_eff>`
* :doc:`temp/partial <compute_temp_partial>`
* :doc:`temp/profile <compute_temp_profile>`
* :doc:`temp/ramp <compute_temp_ramp>`
* :doc:`temp/region <compute_temp_region>`
* :doc:`temp/region/eff <compute_temp_region_eff>`
* :doc:`temp/rotate <compute_temp_rotate>`
* :doc:`temp/sphere <compute_temp_sphere>`
* :doc:`temp/uef <compute_temp_uef>`
* :doc:`ti <compute_ti>`
* :doc:`torque/chunk <compute_torque_chunk>`
* :doc:`vacf <compute_vacf>`
* :doc:`vcm/chunk <compute_vcm_chunk>`
* :doc:`voronoi/atom <compute_voronoi_atom>`
* :doc:`xrd <compute_xrd>`

View File

@ -1,10 +1,15 @@
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`General commands <Commands_all>` | :doc:`Fix styles <Commands_fix>` | :doc:`Compute styles <Commands_compute>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`Pair styles <Commands_pair>` | :doc:`Bond styles <Commands_bond>` | :ref:`Angle styles <angle>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :ref:`Dihedral styles <dihedral>` | :ref:`Improper styles <improper>` | :doc:`KSpace styles <Commands_kspace>` |
+----------------------------------------+------------------------------------+------------------------------------------+
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
Fix commands
============
@ -14,81 +19,224 @@ have accelerated versions. This is indicated by additional letters in
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
OPT.
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`adapt <fix_adapt>` | :doc:`adapt/fep <fix_adapt_fep>` | :doc:`addforce <fix_addforce>` | :doc:`addtorque <fix_addtorque>` | :doc:`append/atoms <fix_append_atoms>` | :doc:`atc <fix_atc>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`atom/swap <fix_atom_swap>` | :doc:`ave/atom <fix_ave_atom>` | :doc:`ave/chunk <fix_ave_chunk>` | :doc:`ave/correlate <fix_ave_correlate>` | :doc:`ave/correlate/long <fix_ave_correlate_long>` | :doc:`ave/histo <fix_ave_histo>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`ave/histo/weight <fix_ave_histo>` | :doc:`ave/time <fix_ave_time>` | :doc:`aveforce <fix_aveforce>` | :doc:`balance <fix_balance>` | :doc:`bocs <fix_bocs>` | :doc:`bond/break <fix_bond_break>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`bond/create <fix_bond_create>` | :doc:`bond/react <fix_bond_react>` | :doc:`bond/swap <fix_bond_swap>` | :doc:`box/relax <fix_box_relax>` | :doc:`client/md <fix_client_md>` | :doc:`cmap <fix_cmap>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`colvars <fix_colvars>` | :doc:`controller <fix_controller>` | :doc:`deform (k) <fix_deform>` | :doc:`deposit <fix_deposit>` | :doc:`dpd/energy (k) <fix_dpd_energy>` | :doc:`drag <fix_drag>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`drude <fix_drude>` | :doc:`drude/transform/direct <fix_drude_transform>` | :doc:`drude/transform/inverse <fix_drude_transform>` | :doc:`dt/reset <fix_dt_reset>` | :doc:`edpd/source <fix_dpd_source>` | :doc:`efield <fix_efield>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`ehex <fix_ehex>` | :doc:`electron/stopping <fix_electron_stopping>` | :doc:`enforce2d (k) <fix_enforce2d>` | :doc:`eos/cv <fix_eos_cv>` | :doc:`eos/table <fix_eos_table>` | :doc:`eos/table/rx (k) <fix_eos_table_rx>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`evaporate <fix_evaporate>` | :doc:`external <fix_external>` | :doc:`ffl <fix_ffl>` | :doc:`filter/corotate <fix_filter_corotate>` | :doc:`flow/gauss <fix_flow_gauss>` | :doc:`freeze (k) <fix_freeze>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`gcmc <fix_gcmc>` | :doc:`gld <fix_gld>` | :doc:`gle <fix_gle>` | :doc:`gravity (ko) <fix_gravity>` | :doc:`grem <fix_grem>` | :doc:`halt <fix_halt>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`heat <fix_heat>` | :doc:`hyper/global <fix_hyper_global>` | :doc:`hyper/local <fix_hyper_local>` | :doc:`imd <fix_imd>` | :doc:`indent <fix_indent>` | :doc:`ipi <fix_ipi>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`langevin (k) <fix_langevin>` | :doc:`langevin/drude <fix_langevin_drude>` | :doc:`langevin/eff <fix_langevin_eff>` | :doc:`langevin/spin <fix_langevin_spin>` | :doc:`latte <fix_latte>` | :doc:`lb/fluid <fix_lb_fluid>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`lb/momentum <fix_lb_momentum>` | :doc:`lb/pc <fix_lb_pc>` | :doc:`lb/rigid/pc/sphere <fix_lb_rigid_pc_sphere>` | :doc:`lb/viscous <fix_lb_viscous>` | :doc:`lineforce <fix_lineforce>` | :doc:`manifoldforce <fix_manifoldforce>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`meso <fix_meso>` | :doc:`meso/move <fix_meso_move>` | :doc:`meso/stationary <fix_meso_stationary>` | :doc:`momentum (k) <fix_momentum>` | :doc:`move <fix_move>` | :doc:`mscg <fix_mscg>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`msst <fix_msst>` | :doc:`mvv/dpd <fix_mvv_dpd>` | :doc:`mvv/edpd <fix_mvv_dpd>` | :doc:`mvv/tdpd <fix_mvv_dpd>` | :doc:`neb <fix_neb>` | :doc:`neb\_spin <fix_neb_spin>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`nph (ko) <fix_nh>` | :doc:`nph/asphere (o) <fix_nph_asphere>` | :doc:`nph/body <fix_nph_body>` | :doc:`nph/eff <fix_nh_eff>` | :doc:`nph/sphere (o) <fix_nph_sphere>` | :doc:`nphug (o) <fix_nphug>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`npt (iko) <fix_nh>` | :doc:`npt/asphere (o) <fix_npt_asphere>` | :doc:`npt/body <fix_npt_body>` | :doc:`npt/eff <fix_nh_eff>` | :doc:`npt/sphere (o) <fix_npt_sphere>` | :doc:`npt/uef <fix_nh_uef>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`nve (iko) <fix_nve>` | :doc:`nve/asphere (i) <fix_nve_asphere>` | :doc:`nve/asphere/noforce <fix_nve_asphere_noforce>` | :doc:`nve/awpmd <fix_nve_awpmd>` | :doc:`nve/body <fix_nve_body>` | :doc:`nve/dot <fix_nve_dot>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`nve/dotc/langevin <fix_nve_dotc_langevin>` | :doc:`nve/eff <fix_nve_eff>` | :doc:`nve/limit <fix_nve_limit>` | :doc:`nve/line <fix_nve_line>` | :doc:`nve/manifold/rattle <fix_nve_manifold_rattle>` | :doc:`nve/noforce <fix_nve_noforce>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`nve/sphere (ko) <fix_nve_sphere>` | :doc:`nve/spin <fix_nve_spin>` | :doc:`nve/tri <fix_nve_tri>` | :doc:`nvk <fix_nvk>` | :doc:`nvt (iko) <fix_nh>` | :doc:`nvt/asphere (o) <fix_nvt_asphere>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`nvt/body <fix_nvt_body>` | :doc:`nvt/eff <fix_nh_eff>` | :doc:`nvt/manifold/rattle <fix_nvt_manifold_rattle>` | :doc:`nvt/sllod (io) <fix_nvt_sllod>` | :doc:`nvt/sllod/eff <fix_nvt_sllod_eff>` | :doc:`nvt/sphere (o) <fix_nvt_sphere>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`nvt/uef <fix_nh_uef>` | :doc:`oneway <fix_oneway>` | :doc:`orient/bcc <fix_orient>` | :doc:`orient/fcc <fix_orient>` | :doc:`phonon <fix_phonon>` | :doc:`pimd <fix_pimd>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`planeforce <fix_planeforce>` | :doc:`plumed <fix_plumed>` | :doc:`poems <fix_poems>` | :doc:`pour <fix_pour>` | :doc:`precession/spin <fix_precession_spin>` | :doc:`press/berendsen <fix_press_berendsen>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`print <fix_print>` | :doc:`property/atom (k) <fix_property_atom>` | :doc:`python/invoke <fix_python_invoke>` | :doc:`python/move <fix_python_move>` | :doc:`qbmsst <fix_qbmsst>` | :doc:`qeq/comb (o) <fix_qeq_comb>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`qeq/dynamic <fix_qeq>` | :doc:`qeq/fire <fix_qeq>` | :doc:`qeq/point <fix_qeq>` | :doc:`qeq/reax (ko) <fix_qeq_reax>` | :doc:`qeq/shielded <fix_qeq>` | :doc:`qeq/slater <fix_qeq>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`qmmm <fix_qmmm>` | :doc:`qtb <fix_qtb>` | :doc:`rattle <fix_shake>` | :doc:`reax/c/bonds (k) <fix_reaxc_bonds>` | :doc:`reax/c/species (k) <fix_reaxc_species>` | :doc:`recenter <fix_recenter>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`restrain <fix_restrain>` | :doc:`rhok <fix_rhok>` | :doc:`rigid (o) <fix_rigid>` | :doc:`rigid/meso <fix_rigid_meso>` | :doc:`rigid/nph (o) <fix_rigid>` | :doc:`rigid/nph/small <fix_rigid>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`rigid/npt (o) <fix_rigid>` | :doc:`rigid/npt/small <fix_rigid>` | :doc:`rigid/nve (o) <fix_rigid>` | :doc:`rigid/nve/small <fix_rigid>` | :doc:`rigid/nvt (o) <fix_rigid>` | :doc:`rigid/nvt/small <fix_rigid>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`rigid/small (o) <fix_rigid>` | :doc:`rx (k) <fix_rx>` | :doc:`saed/vtk <fix_saed_vtk>` | :doc:`setforce (k) <fix_setforce>` | :doc:`shake <fix_shake>` | :doc:`shardlow (k) <fix_shardlow>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`smd <fix_smd>` | :doc:`smd/adjust\_dt <fix_smd_adjust_dt>` | :doc:`smd/integrate\_tlsph <fix_smd_integrate_tlsph>` | :doc:`smd/integrate\_ulsph <fix_smd_integrate_ulsph>` | :doc:`smd/move\_tri\_surf <fix_smd_move_triangulated_surface>` | :doc:`smd/setvel <fix_smd_setvel>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`smd/wall\_surface <fix_smd_wall_surface>` | :doc:`spring <fix_spring>` | :doc:`spring/chunk <fix_spring_chunk>` | :doc:`spring/rg <fix_spring_rg>` | :doc:`spring/self <fix_spring_self>` | :doc:`srd <fix_srd>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`store/force <fix_store_force>` | :doc:`store/state <fix_store_state>` | :doc:`tdpd/source <fix_dpd_source>` | :doc:`temp/berendsen <fix_temp_berendsen>` | :doc:`temp/csld <fix_temp_csvr>` | :doc:`temp/csvr <fix_temp_csvr>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`temp/rescale <fix_temp_rescale>` | :doc:`temp/rescale/eff <fix_temp_rescale_eff>` | :doc:`tfmc <fix_tfmc>` | :doc:`thermal/conductivity <fix_thermal_conductivity>` | :doc:`ti/spring <fix_ti_spring>` | :doc:`tmd <fix_tmd>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`ttm <fix_ttm>` | :doc:`ttm/mod <fix_ttm>` | :doc:`tune/kspace <fix_tune_kspace>` | :doc:`vector <fix_vector>` | :doc:`viscosity <fix_viscosity>` | :doc:`viscous <fix_viscous>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`wall/body/polygon <fix_wall_body_polygon>` | :doc:`wall/body/polyhedron <fix_wall_body_polyhedron>` | :doc:`wall/colloid <fix_wall>` | :doc:`wall/ees <fix_wall_ees>` | :doc:`wall/gran <fix_wall_gran>` | :doc:`wall/gran/region <fix_wall_gran_region>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`wall/harmonic <fix_wall>` | :doc:`wall/lj1043 <fix_wall>` | :doc:`wall/lj126 <fix_wall>` | :doc:`wall/lj93 (k) <fix_wall>` | :doc:`wall/morse <fix_wall>` | :doc:`wall/piston <fix_wall_piston>` |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
| :doc:`wall/reflect (k) <fix_wall_reflect>` | :doc:`wall/region <fix_wall_region>` | :doc:`wall/region/ees <fix_wall_ees>` | :doc:`wall/srd <fix_wall_srd>` | | |
+--------------------------------------------------+--------------------------------------------------------+-------------------------------------------------------+--------------------------------------------------------+----------------------------------------------------------------+------------------------------------------------+
.. table_from_list::
:columns: 6
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
* :doc:`adapt <fix_adapt>`
* :doc:`adapt/fep <fix_adapt_fep>`
* :doc:`addforce <fix_addforce>`
* :doc:`addtorque <fix_addtorque>`
* :doc:`append/atoms <fix_append_atoms>`
* :doc:`atc <fix_atc>`
* :doc:`atom/swap <fix_atom_swap>`
* :doc:`ave/atom <fix_ave_atom>`
* :doc:`ave/chunk <fix_ave_chunk>`
* :doc:`ave/correlate <fix_ave_correlate>`
* :doc:`ave/correlate/long <fix_ave_correlate_long>`
* :doc:`ave/histo <fix_ave_histo>`
* :doc:`ave/histo/weight <fix_ave_histo>`
* :doc:`ave/time <fix_ave_time>`
* :doc:`aveforce <fix_aveforce>`
* :doc:`balance <fix_balance>`
* :doc:`bocs <fix_bocs>`
* :doc:`bond/break <fix_bond_break>`
* :doc:`bond/create <fix_bond_create>`
* :doc:`bond/react <fix_bond_react>`
* :doc:`bond/swap <fix_bond_swap>`
* :doc:`box/relax <fix_box_relax>`
* :doc:`client/md <fix_client_md>`
* :doc:`cmap <fix_cmap>`
* :doc:`colvars <fix_colvars>`
* :doc:`controller <fix_controller>`
* :doc:`deform (k) <fix_deform>`
* :doc:`deposit <fix_deposit>`
* :doc:`dpd/energy (k) <fix_dpd_energy>`
* :doc:`drag <fix_drag>`
* :doc:`drude <fix_drude>`
* :doc:`drude/transform/direct <fix_drude_transform>`
* :doc:`drude/transform/inverse <fix_drude_transform>`
* :doc:`dt/reset <fix_dt_reset>`
* :doc:`edpd/source <fix_dpd_source>`
* :doc:`efield <fix_efield>`
* :doc:`ehex <fix_ehex>`
* :doc:`electron/stopping <fix_electron_stopping>`
* :doc:`enforce2d (k) <fix_enforce2d>`
* :doc:`eos/cv <fix_eos_cv>`
* :doc:`eos/table <fix_eos_table>`
* :doc:`eos/table/rx (k) <fix_eos_table_rx>`
* :doc:`evaporate <fix_evaporate>`
* :doc:`external <fix_external>`
* :doc:`ffl <fix_ffl>`
* :doc:`filter/corotate <fix_filter_corotate>`
* :doc:`flow/gauss <fix_flow_gauss>`
* :doc:`freeze (k) <fix_freeze>`
* :doc:`gcmc <fix_gcmc>`
* :doc:`gld <fix_gld>`
* :doc:`gle <fix_gle>`
* :doc:`gravity (ko) <fix_gravity>`
* :doc:`grem <fix_grem>`
* :doc:`halt <fix_halt>`
* :doc:`heat <fix_heat>`
* :doc:`hyper/global <fix_hyper_global>`
* :doc:`hyper/local <fix_hyper_local>`
* :doc:`imd <fix_imd>`
* :doc:`indent <fix_indent>`
* :doc:`ipi <fix_ipi>`
* :doc:`langevin (k) <fix_langevin>`
* :doc:`langevin/drude <fix_langevin_drude>`
* :doc:`langevin/eff <fix_langevin_eff>`
* :doc:`langevin/spin <fix_langevin_spin>`
* :doc:`latte <fix_latte>`
* :doc:`lb/fluid <fix_lb_fluid>`
* :doc:`lb/momentum <fix_lb_momentum>`
* :doc:`lb/pc <fix_lb_pc>`
* :doc:`lb/rigid/pc/sphere <fix_lb_rigid_pc_sphere>`
* :doc:`lb/viscous <fix_lb_viscous>`
* :doc:`lineforce <fix_lineforce>`
* :doc:`manifoldforce <fix_manifoldforce>`
* :doc:`meso <fix_meso>`
* :doc:`meso/move <fix_meso_move>`
* :doc:`meso/stationary <fix_meso_stationary>`
* :doc:`momentum (k) <fix_momentum>`
* :doc:`move <fix_move>`
* :doc:`mscg <fix_mscg>`
* :doc:`msst <fix_msst>`
* :doc:`mvv/dpd <fix_mvv_dpd>`
* :doc:`mvv/edpd <fix_mvv_dpd>`
* :doc:`mvv/tdpd <fix_mvv_dpd>`
* :doc:`neb <fix_neb>`
* :doc:`neb/spin <fix_neb_spin>`
* :doc:`nph (ko) <fix_nh>`
* :doc:`nph/asphere (o) <fix_nph_asphere>`
* :doc:`nph/body <fix_nph_body>`
* :doc:`nph/eff <fix_nh_eff>`
* :doc:`nph/sphere (o) <fix_nph_sphere>`
* :doc:`nphug <fix_nphug>`
* :doc:`npt (iko) <fix_nh>`
* :doc:`npt/asphere (o) <fix_npt_asphere>`
* :doc:`npt/body <fix_npt_body>`
* :doc:`npt/cauchy <fix_npt_cauchy>`
* :doc:`npt/eff <fix_nh_eff>`
* :doc:`npt/sphere (o) <fix_npt_sphere>`
* :doc:`npt/uef <fix_nh_uef>`
* :doc:`nve (iko) <fix_nve>`
* :doc:`nve/asphere (i) <fix_nve_asphere>`
* :doc:`nve/asphere/noforce <fix_nve_asphere_noforce>`
* :doc:`nve/awpmd <fix_nve_awpmd>`
* :doc:`nve/body <fix_nve_body>`
* :doc:`nve/dot <fix_nve_dot>`
* :doc:`nve/dotc/langevin <fix_nve_dotc_langevin>`
* :doc:`nve/eff <fix_nve_eff>`
* :doc:`nve/limit <fix_nve_limit>`
* :doc:`nve/line <fix_nve_line>`
* :doc:`nve/manifold/rattle <fix_nve_manifold_rattle>`
* :doc:`nve/noforce <fix_nve_noforce>`
* :doc:`nve/sphere (ko) <fix_nve_sphere>`
* :doc:`nve/spin <fix_nve_spin>`
* :doc:`nve/tri <fix_nve_tri>`
* :doc:`nvk <fix_nvk>`
* :doc:`nvt (iko) <fix_nh>`
* :doc:`nvt/asphere (o) <fix_nvt_asphere>`
* :doc:`nvt/body <fix_nvt_body>`
* :doc:`nvt/eff <fix_nh_eff>`
* :doc:`nvt/manifold/rattle <fix_nvt_manifold_rattle>`
* :doc:`nvt/sllod (io) <fix_nvt_sllod>`
* :doc:`nvt/sllod/eff <fix_nvt_sllod_eff>`
* :doc:`nvt/sphere (o) <fix_nvt_sphere>`
* :doc:`nvt/uef <fix_nh_uef>`
* :doc:`oneway <fix_oneway>`
* :doc:`orient/bcc <fix_orient>`
* :doc:`orient/fcc <fix_orient>`
* :doc:`phonon <fix_phonon>`
* :doc:`pimd <fix_pimd>`
* :doc:`planeforce <fix_planeforce>`
* :doc:`plumed <fix_plumed>`
* :doc:`poems <fix_poems>`
* :doc:`pour <fix_pour>`
* :doc:`precession/spin <fix_precession_spin>`
* :doc:`press/berendsen <fix_press_berendsen>`
* :doc:`print <fix_print>`
* :doc:`propel/self <fix_propel_self>`
* :doc:`property/atom (k) <fix_property_atom>`
* :doc:`python/invoke <fix_python_invoke>`
* :doc:`python/move <fix_python_move>`
* :doc:`qbmsst <fix_qbmsst>`
* :doc:`qeq/comb (o) <fix_qeq_comb>`
* :doc:`qeq/dynamic <fix_qeq>`
* :doc:`qeq/fire <fix_qeq>`
* :doc:`qeq/point <fix_qeq>`
* :doc:`qeq/reax (ko) <fix_qeq_reax>`
* :doc:`qeq/shielded <fix_qeq>`
* :doc:`qeq/slater <fix_qeq>`
* :doc:`qmmm <fix_qmmm>`
* :doc:`qtb <fix_qtb>`
* :doc:`rattle <fix_shake>`
* :doc:`reax/c/bonds (k) <fix_reaxc_bonds>`
* :doc:`reax/c/species (k) <fix_reaxc_species>`
* :doc:`recenter <fix_recenter>`
* :doc:`restrain <fix_restrain>`
* :doc:`rhok <fix_rhok>`
* :doc:`rigid (o) <fix_rigid>`
* :doc:`rigid/meso <fix_rigid_meso>`
* :doc:`rigid/nph (o) <fix_rigid>`
* :doc:`rigid/nph/small <fix_rigid>`
* :doc:`rigid/npt (o) <fix_rigid>`
* :doc:`rigid/npt/small <fix_rigid>`
* :doc:`rigid/nve (o) <fix_rigid>`
* :doc:`rigid/nve/small <fix_rigid>`
* :doc:`rigid/nvt (o) <fix_rigid>`
* :doc:`rigid/nvt/small <fix_rigid>`
* :doc:`rigid/small (o) <fix_rigid>`
* :doc:`rx (k) <fix_rx>`
* :doc:`saed/vtk <fix_saed_vtk>`
* :doc:`setforce (k) <fix_setforce>`
* :doc:`setforce/spin <fix_setforce>`
* :doc:`shake <fix_shake>`
* :doc:`shardlow (k) <fix_shardlow>`
* :doc:`smd <fix_smd>`
* :doc:`smd/adjust_dt <fix_smd_adjust_dt>`
* :doc:`smd/integrate_tlsph <fix_smd_integrate_tlsph>`
* :doc:`smd/integrate_ulsph <fix_smd_integrate_ulsph>`
* :doc:`smd/move_tri_surf <fix_smd_move_triangulated_surface>`
* :doc:`smd/setvel <fix_smd_setvel>`
* :doc:`smd/wall_surface <fix_smd_wall_surface>`
* :doc:`spring <fix_spring>`
* :doc:`spring/chunk <fix_spring_chunk>`
* :doc:`spring/rg <fix_spring_rg>`
* :doc:`spring/self <fix_spring_self>`
* :doc:`srd <fix_srd>`
* :doc:`store/force <fix_store_force>`
* :doc:`store/state <fix_store_state>`
* :doc:`tdpd/source <fix_dpd_source>`
* :doc:`temp/berendsen <fix_temp_berendsen>`
* :doc:`temp/csld <fix_temp_csvr>`
* :doc:`temp/csvr <fix_temp_csvr>`
* :doc:`temp/rescale <fix_temp_rescale>`
* :doc:`temp/rescale/eff <fix_temp_rescale_eff>`
* :doc:`tfmc <fix_tfmc>`
* :doc:`thermal/conductivity <fix_thermal_conductivity>`
* :doc:`ti/spring <fix_ti_spring>`
* :doc:`tmd <fix_tmd>`
* :doc:`ttm <fix_ttm>`
* :doc:`ttm/mod <fix_ttm>`
* :doc:`tune/kspace <fix_tune_kspace>`
* :doc:`vector <fix_vector>`
* :doc:`viscosity <fix_viscosity>`
* :doc:`viscous <fix_viscous>`
* :doc:`wall/body/polygon <fix_wall_body_polygon>`
* :doc:`wall/body/polyhedron <fix_wall_body_polyhedron>`
* :doc:`wall/colloid <fix_wall>`
* :doc:`wall/ees <fix_wall_ees>`
* :doc:`wall/gran <fix_wall_gran>`
* :doc:`wall/gran/region <fix_wall_gran_region>`
* :doc:`wall/harmonic <fix_wall>`
* :doc:`wall/lj1043 <fix_wall>`
* :doc:`wall/lj126 <fix_wall>`
* :doc:`wall/lj93 (k) <fix_wall>`
* :doc:`wall/morse <fix_wall>`
* :doc:`wall/piston <fix_wall_piston>`
* :doc:`wall/reflect (k) <fix_wall_reflect>`
* :doc:`wall/reflect/stochastic <fix_wall_reflect_stochastic>`
* :doc:`wall/region <fix_wall_region>`
* :doc:`wall/region/ees <fix_wall_ees>`
* :doc:`wall/srd <fix_wall_srd>`

View File

@ -45,7 +45,7 @@ belong to the group.
(3) Sometimes command B will use values that can be set by command A.
This means command A must precede command B in the input script if it
is to have the desired effect. For example, the
:doc:`read\_data <read_data>` command initializes the system by setting
:doc:`read_data <read_data>` command initializes the system by setting
up the simulation box and assigning atoms to processors. If default
values are not desired, the :doc:`processors <processors>` and
:doc:`boundary <boundary>` commands need to be used before read\_data to
@ -55,8 +55,3 @@ Many input script errors are detected by LAMMPS and an ERROR or
WARNING message is printed. The :doc:`Errors <Errors>` doc page gives
more information on what errors mean. The documentation for each
command lists restrictions on how the command can be used.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -1,28 +1,39 @@
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`General commands <Commands_all>` | :doc:`Fix styles <Commands_fix>` | :doc:`Compute styles <Commands_compute>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`Pair styles <Commands_pair>` | :doc:`Bond styles <Commands_bond>` | :ref:`Angle styles <angle>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :ref:`Dihedral styles <dihedral>` | :ref:`Improper styles <improper>` | :doc:`KSpace styles <Commands_kspace>` |
+----------------------------------------+------------------------------------+------------------------------------------+
.. table_from_list::
:columns: 3
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
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
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
OPT.
+------------------------------------+--------------------------------------+-------------------------------------+---------------------------------------+
| :doc:`ewald (o) <kspace_style>` | :doc:`ewald/disp <kspace_style>` | :doc:`msm (o) <kspace_style>` | :doc:`msm/cg (o) <kspace_style>` |
+------------------------------------+--------------------------------------+-------------------------------------+---------------------------------------+
| :doc:`pppm (gok) <kspace_style>` | :doc:`pppm/cg (o) <kspace_style>` | :doc:`pppm/disp (i) <kspace_style>` | :doc:`pppm/disp/tip4p <kspace_style>` |
+------------------------------------+--------------------------------------+-------------------------------------+---------------------------------------+
| :doc:`pppm/stagger <kspace_style>` | :doc:`pppm/tip4p (o) <kspace_style>` | :doc:`scafacos <kspace_style>` | |
+------------------------------------+--------------------------------------+-------------------------------------+---------------------------------------+
.. table_from_list::
:columns: 4
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
* :doc:`ewald (o) <kspace_style>`
* :doc:`ewald/disp <kspace_style>`
* :doc:`ewald/dipole <kspace_style>`
* :doc:`ewald/dipole/spin <kspace_style>`
* :doc:`msm (o) <kspace_style>`
* :doc:`msm/cg (o) <kspace_style>`
* :doc:`pppm (giko) <kspace_style>`
* :doc:`pppm/cg (o) <kspace_style>`
* :doc:`pppm/dipole <kspace_style>`
* :doc:`pppm/dipole/spin <kspace_style>`
* :doc:`pppm/disp (io) <kspace_style>`
* :doc:`pppm/disp/tip4p (o) <kspace_style>`
* :doc:`pppm/stagger <kspace_style>`
* :doc:`pppm/tip4p (o) <kspace_style>`
* :doc:`scafacos <kspace_style>`

View File

@ -1,136 +1,259 @@
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`General commands <Commands_all>` | :doc:`Fix styles <Commands_fix>` | :doc:`Compute styles <Commands_compute>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :doc:`Pair styles <Commands_pair>` | :doc:`Bond styles <Commands_bond>` | :ref:`Angle styles <angle>` |
+----------------------------------------+------------------------------------+------------------------------------------+
| :ref:`Dihedral styles <dihedral>` | :ref:`Improper styles <improper>` | :doc:`KSpace styles <Commands_kspace>` |
+----------------------------------------+------------------------------------+------------------------------------------+
.. table_from_list::
:columns: 3
Pair\_style potentials
* :doc:`General commands <Commands_all>`
* :doc:`Fix styles <Commands_fix>`
* :doc:`Compute styles <Commands_compute>`
* :doc:`Pair styles <Commands_pair>`
* :ref:`Bond styles <bond>`
* :ref:`Angle styles <angle>`
* :ref:`Dihedral styles <dihedral>`
* :ref:`Improper styles <improper>`
* :doc:`KSpace styles <Commands_kspace>`
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
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
OPT.
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`none <pair_none>` | :doc:`zero <pair_zero>` | :doc:`hybrid (k) <pair_hybrid>` | :doc:`hybrid/overlay (k) <pair_hybrid>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| | | | |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`adp (o) <pair_adp>` | :doc:`agni (o) <pair_agni>` | :doc:`airebo (io) <pair_airebo>` | :doc:`airebo/morse (io) <pair_airebo>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`atm <pair_atm>` | :doc:`awpmd/cut <pair_awpmd>` | :doc:`beck (go) <pair_beck>` | :doc:`body/nparticle <pair_body_nparticle>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`body/rounded/polygon <pair_body_rounded_polygon>` | :doc:`body/rounded/polyhedron <pair_body_rounded_polyhedron>` | :doc:`bop <pair_bop>` | :doc:`born (go) <pair_born>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`born/coul/dsf <pair_born>` | :doc:`born/coul/dsf/cs <pair_cs>` | :doc:`born/coul/long (go) <pair_born>` | :doc:`born/coul/long/cs (g) <pair_cs>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`born/coul/msm (o) <pair_born>` | :doc:`born/coul/wolf (go) <pair_born>` | :doc:`born/coul/wolf/cs (g) <pair_cs>` | :doc:`brownian (o) <pair_brownian>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`brownian/poly (o) <pair_brownian>` | :doc:`buck (giko) <pair_buck>` | :doc:`buck/coul/cut (giko) <pair_buck>` | :doc:`buck/coul/long (giko) <pair_buck>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`buck/coul/long/cs <pair_cs>` | :doc:`buck/coul/msm (o) <pair_buck>` | :doc:`buck/long/coul/long (o) <pair_buck_long>` | :doc:`buck/mdf <pair_mdf>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`buck6d/coul/gauss/dsf <pair_buck6d_coul_gauss>` | :doc:`buck6d/coul/gauss/long <pair_buck6d_coul_gauss>` | :doc:`colloid (go) <pair_colloid>` | :doc:`comb (o) <pair_comb>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`comb3 <pair_comb>` | :doc:`cosine/squared <pair_cosine_squared>` | :doc:`coul/cut (gko) <pair_coul>` | :doc:`coul/cut/soft (o) <pair_fep_soft>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`coul/debye (gko) <pair_coul>` | :doc:`coul/diel (o) <pair_coul_diel>` | :doc:`coul/dsf (gko) <pair_coul>` | :doc:`coul/long (gko) <pair_coul>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`coul/long/cs (g) <pair_cs>` | :doc:`coul/long/soft (o) <pair_fep_soft>` | :doc:`coul/msm (o) <pair_coul>` | :doc:`coul/shield <pair_coul_shield>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`coul/streitz <pair_coul>` | :doc:`coul/wolf (ko) <pair_coul>` | :doc:`coul/wolf/cs <pair_cs>` | :doc:`dpd (gio) <pair_dpd>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`dpd/fdt <pair_dpd_fdt>` | :doc:`dpd/fdt/energy (k) <pair_dpd_fdt>` | :doc:`dpd/tstat (go) <pair_dpd>` | :doc:`dsmc <pair_dsmc>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`e3b <pair_e3b>` | :doc:`drip <pair_drip>` | :doc:`eam (gikot) <pair_eam>` | :doc:`eam/alloy (gikot) <pair_eam>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`eam/cd (o) <pair_eam>` | :doc:`eam/cd/old (o) <pair_eam>` | :doc:`eam/fs (gikot) <pair_eam>` | :doc:`edip (o) <pair_edip>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`edip/multi <pair_edip>` | :doc:`edpd <pair_meso>` | :doc:`eff/cut <pair_eff>` | :doc:`eim (o) <pair_eim>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`exp6/rx (k) <pair_exp6_rx>` | :doc:`extep <pair_extep>` | :doc:`gauss (go) <pair_gauss>` | :doc:`gauss/cut (o) <pair_gauss>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`gayberne (gio) <pair_gayberne>` | :doc:`gran/hertz/history (o) <pair_gran>` | :doc:`gran/hooke (o) <pair_gran>` | :doc:`gran/hooke/history (ko) <pair_gran>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`granular <pair_granular>` | :doc:`gw <pair_gw>` | :doc:`gw/zbl <pair_gw>` | :doc:`hbond/dreiding/lj (o) <pair_hbond_dreiding>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`hbond/dreiding/morse (o) <pair_hbond_dreiding>` | :doc:`ilp/graphene/hbn <pair_ilp_graphene_hbn>` | :doc:`kim <pair_kim>` | :doc:`kolmogorov/crespi/full <pair_kolmogorov_crespi_full>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`kolmogorov/crespi/z <pair_kolmogorov_crespi_z>` | :doc:`lcbop <pair_lcbop>` | :doc:`lebedeva/z <pair_lebedeva_z>` | :doc:`lennard/mdf <pair_mdf>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`line/lj <pair_line_lj>` | :doc:`list <pair_list>` | :doc:`lj/charmm/coul/charmm (iko) <pair_charmm>` | :doc:`lj/charmm/coul/charmm/implicit (ko) <pair_charmm>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/charmm/coul/long (gikot) <pair_charmm>` | :doc:`lj/charmm/coul/long/soft (o) <pair_fep_soft>` | :doc:`lj/charmm/coul/msm (o) <pair_charmm>` | :doc:`lj/charmmfsw/coul/charmmfsh <pair_charmm>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/charmmfsw/coul/long <pair_charmm>` | :doc:`lj/class2 (gko) <pair_class2>` | :doc:`lj/class2/coul/cut (ko) <pair_class2>` | :doc:`lj/class2/coul/cut/soft <pair_fep_soft>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/class2/coul/long (gko) <pair_class2>` | :doc:`lj/class2/coul/long/soft <pair_fep_soft>` | :doc:`lj/class2/soft <pair_fep_soft>` | :doc:`lj/cubic (go) <pair_lj_cubic>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/cut (gikot) <pair_lj>` | :doc:`lj/cut/coul/cut (gko) <pair_lj>` | :doc:`lj/cut/coul/cut/soft (o) <pair_fep_soft>` | :doc:`lj/cut/coul/debye (gko) <pair_lj>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/cut/coul/dsf (gko) <pair_lj>` | :doc:`lj/cut/coul/long (gikot) <pair_lj>` | :doc:`lj/cut/coul/long/cs <pair_cs>` | :doc:`lj/cut/coul/long/soft (o) <pair_fep_soft>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/cut/coul/msm (go) <pair_lj>` | :doc:`lj/cut/coul/wolf (o) <pair_lj>` | :doc:`lj/cut/dipole/cut (go) <pair_dipole>` | :doc:`lj/cut/dipole/long (g) <pair_dipole>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/cut/dipole/sf (go) <pair_dipole>` | :doc:`lj/cut/soft (o) <pair_fep_soft>` | :doc:`lj/cut/thole/long (o) <pair_thole>` | :doc:`lj/cut/tip4p/cut (o) <pair_lj>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/cut/tip4p/long (ot) <pair_lj>` | :doc:`lj/cut/tip4p/long/soft (o) <pair_fep_soft>` | :doc:`lj/expand (gko) <pair_lj_expand>` | :doc:`lj/expand/coul/long (g) <pair_lj_expand>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/gromacs (gko) <pair_gromacs>` | :doc:`lj/gromacs/coul/gromacs (ko) <pair_gromacs>` | :doc:`lj/long/coul/long (iot) <pair_lj_long>` | :doc:`lj/long/dipole/long <pair_dipole>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/long/tip4p/long (o) <pair_lj_long>` | :doc:`lj/mdf <pair_mdf>` | :doc:`lj/sdk (gko) <pair_sdk>` | :doc:`lj/sdk/coul/long (go) <pair_sdk>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/sdk/coul/msm (o) <pair_sdk>` | :doc:`lj/sf/dipole/sf (go) <pair_dipole>` | :doc:`lj/smooth (o) <pair_lj_smooth>` | :doc:`lj/smooth/linear (o) <pair_lj_smooth_linear>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lj/switch3/coulgauss/long <pair_lj_switch3_coulgauss>` | :doc:`lj96/cut (go) <pair_lj96>` | :doc:`local/density <pair_local_density>` | :doc:`lubricate (o) <pair_lubricate>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`lubricate/poly (o) <pair_lubricate>` | :doc:`lubricateU <pair_lubricateU>` | :doc:`lubricateU/poly <pair_lubricateU>` | :doc:`mdpd <pair_meso>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`mdpd/rhosum <pair_meso>` | :doc:`meam/c <pair_meamc>` | :doc:`meam/spline (o) <pair_meam_spline>` | :doc:`meam/sw/spline <pair_meam_sw_spline>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`mgpt <pair_mgpt>` | :doc:`mie/cut (g) <pair_mie>` | :doc:`momb <pair_momb>` | :doc:`morse (gkot) <pair_morse>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`morse/smooth/linear (o) <pair_morse>` | :doc:`morse/soft <pair_fep_soft>` | :doc:`multi/lucy <pair_multi_lucy>` | :doc:`multi/lucy/rx (k) <pair_multi_lucy_rx>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`nb3b/harmonic <pair_nb3b_harmonic>` | :doc:`nm/cut (o) <pair_nm>` | :doc:`nm/cut/coul/cut (o) <pair_nm>` | :doc:`nm/cut/coul/long (o) <pair_nm>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`oxdna/coaxstk <pair_oxdna>` | :doc:`oxdna/excv <pair_oxdna>` | :doc:`oxdna/hbond <pair_oxdna>` | :doc:`oxdna/stk <pair_oxdna>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`oxdna/xstk <pair_oxdna>` | :doc:`oxdna2/coaxstk <pair_oxdna2>` | :doc:`oxdna2/dh <pair_oxdna2>` | :doc:`oxdna2/excv <pair_oxdna2>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`oxdna2/hbond <pair_oxdna2>` | :doc:`oxdna2/stk <pair_oxdna2>` | :doc:`oxdna2/xstk <pair_oxdna2>` | :doc:`peri/eps <pair_peri>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`peri/lps (o) <pair_peri>` | :doc:`peri/pmb (o) <pair_peri>` | :doc:`peri/ves <pair_peri>` | :doc:`polymorphic <pair_polymorphic>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`python <pair_python>` | :doc:`quip <pair_quip>` | :doc:`reax/c (ko) <pair_reaxc>` | :doc:`rebo (io) <pair_airebo>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`resquared (go) <pair_resquared>` | :doc:`sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>` | :doc:`smd/hertz <pair_smd_hertz>` | :doc:`smd/tlsph <pair_smd_tlsph>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`smd/tri\_surface <pair_smd_triangulated_surface>` | :doc:`smd/ulsph <pair_smd_ulsph>` | :doc:`smtbq <pair_smtbq>` | :doc:`snap (k) <pair_snap>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`snap (k) <pair_snap>` | :doc:`soft (go) <pair_soft>` | :doc:`sph/heatconduction <pair_sph_heatconduction>` | :doc:`sph/idealgas <pair_sph_idealgas>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`sph/lj <pair_sph_lj>` | :doc:`sph/rhosum <pair_sph_rhosum>` | :doc:`sph/taitwater <pair_sph_taitwater>` | :doc:`sph/taitwater/morris <pair_sph_taitwater_morris>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`spin/dipole/cut <pair_spin_dipole>` | :doc:`spin/dipole/long <pair_spin_dipole>` | :doc:`spin/dmi <pair_spin_dmi>` | :doc:`spin/exchange <pair_spin_exchange>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`spin/magelec <pair_spin_magelec>` | :doc:`spin/neel <pair_spin_neel>` | :doc:`srp <pair_srp>` | :doc:`sw (giko) <pair_sw>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`table (gko) <pair_table>` | :doc:`table/rx (k) <pair_table_rx>` | :doc:`tdpd <pair_meso>` | :doc:`tersoff (giko) <pair_tersoff>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`tersoff/mod (gko) <pair_tersoff_mod>` | :doc:`tersoff/mod/c (o) <pair_tersoff_mod>` | :doc:`tersoff/table (o) <pair_tersoff>` | :doc:`tersoff/zbl (gko) <pair_tersoff_zbl>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`thole <pair_thole>` | :doc:`tip4p/cut (o) <pair_coul>` | :doc:`tip4p/long (o) <pair_coul>` | :doc:`tip4p/long/soft (o) <pair_fep_soft>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`tri/lj <pair_tri_lj>` | :doc:`ufm (got) <pair_ufm>` | :doc:`vashishta (gko) <pair_vashishta>` | :doc:`vashishta/table (o) <pair_vashishta>` |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
| :doc:`yukawa (gko) <pair_yukawa>` | :doc:`yukawa/colloid (go) <pair_yukawa_colloid>` | :doc:`zbl (gko) <pair_zbl>` | |
+--------------------------------------------------------------+-------------------------------------------------------------------+-----------------------------------------------------+-------------------------------------------------------------+
.. table_from_list::
:columns: 4
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html
* :doc:`none <pair_none>`
* :doc:`zero <pair_zero>`
* :doc:`hybrid (k) <pair_hybrid>`
* :doc:`hybrid/overlay (k) <pair_hybrid>`
*
*
*
*
* :doc:`adp (o) <pair_adp>`
* :doc:`agni (o) <pair_agni>`
* :doc:`airebo (io) <pair_airebo>`
* :doc:`airebo/morse (io) <pair_airebo>`
* :doc:`atm <pair_atm>`
* :doc:`awpmd/cut <pair_awpmd>`
* :doc:`beck (go) <pair_beck>`
* :doc:`body/nparticle <pair_body_nparticle>`
* :doc:`body/rounded/polygon <pair_body_rounded_polygon>`
* :doc:`body/rounded/polyhedron <pair_body_rounded_polyhedron>`
* :doc:`bop <pair_bop>`
* :doc:`born (go) <pair_born>`
* :doc:`born/coul/dsf <pair_born>`
* :doc:`born/coul/dsf/cs <pair_cs>`
* :doc:`born/coul/long (go) <pair_born>`
* :doc:`born/coul/long/cs (g) <pair_cs>`
* :doc:`born/coul/msm (o) <pair_born>`
* :doc:`born/coul/wolf (go) <pair_born>`
* :doc:`born/coul/wolf/cs (g) <pair_cs>`
* :doc:`brownian (o) <pair_brownian>`
* :doc:`brownian/poly (o) <pair_brownian>`
* :doc:`buck (giko) <pair_buck>`
* :doc:`buck/coul/cut (giko) <pair_buck>`
* :doc:`buck/coul/long (giko) <pair_buck>`
* :doc:`buck/coul/long/cs <pair_cs>`
* :doc:`buck/coul/msm (o) <pair_buck>`
* :doc:`buck/long/coul/long (o) <pair_buck_long>`
* :doc:`buck/mdf <pair_mdf>`
* :doc:`buck6d/coul/gauss/dsf <pair_buck6d_coul_gauss>`
* :doc:`buck6d/coul/gauss/long <pair_buck6d_coul_gauss>`
* :doc:`colloid (go) <pair_colloid>`
* :doc:`comb (o) <pair_comb>`
* :doc:`comb3 <pair_comb>`
* :doc:`cosine/squared <pair_cosine_squared>`
* :doc:`coul/cut (gko) <pair_coul>`
* :doc:`coul/cut/soft (o) <pair_fep_soft>`
* :doc:`coul/debye (gko) <pair_coul>`
* :doc:`coul/diel (o) <pair_coul_diel>`
* :doc:`coul/dsf (gko) <pair_coul>`
* :doc:`coul/long (gko) <pair_coul>`
* :doc:`coul/long/cs (g) <pair_cs>`
* :doc:`coul/long/soft (o) <pair_fep_soft>`
* :doc:`coul/msm (o) <pair_coul>`
* :doc:`coul/shield <pair_coul_shield>`
* :doc:`coul/streitz <pair_coul>`
* :doc:`coul/wolf (ko) <pair_coul>`
* :doc:`coul/wolf/cs <pair_cs>`
* :doc:`dpd (gio) <pair_dpd>`
* :doc:`dpd/fdt <pair_dpd_fdt>`
* :doc:`dpd/fdt/energy (k) <pair_dpd_fdt>`
* :doc:`dpd/tstat (go) <pair_dpd>`
* :doc:`dsmc <pair_dsmc>`
* :doc:`e3b <pair_e3b>`
* :doc:`drip <pair_drip>`
* :doc:`eam (gikot) <pair_eam>`
* :doc:`eam/alloy (gikot) <pair_eam>`
* :doc:`eam/cd (o) <pair_eam>`
* :doc:`eam/cd/old (o) <pair_eam>`
* :doc:`eam/fs (gikot) <pair_eam>`
* :doc:`edip (o) <pair_edip>`
* :doc:`edip/multi <pair_edip>`
* :doc:`edpd <pair_meso>`
* :doc:`eff/cut <pair_eff>`
* :doc:`eim (o) <pair_eim>`
* :doc:`exp6/rx (k) <pair_exp6_rx>`
* :doc:`extep <pair_extep>`
* :doc:`gauss (go) <pair_gauss>`
* :doc:`gauss/cut (o) <pair_gauss>`
* :doc:`gayberne (gio) <pair_gayberne>`
* :doc:`gran/hertz/history (o) <pair_gran>`
* :doc:`gran/hooke (o) <pair_gran>`
* :doc:`gran/hooke/history (ko) <pair_gran>`
* :doc:`granular <pair_granular>`
* :doc:`gw <pair_gw>`
* :doc:`gw/zbl <pair_gw>`
* :doc:`hbond/dreiding/lj (o) <pair_hbond_dreiding>`
* :doc:`hbond/dreiding/morse (o) <pair_hbond_dreiding>`
* :doc:`ilp/graphene/hbn <pair_ilp_graphene_hbn>`
* :doc:`kim <pair_kim>`
* :doc:`kolmogorov/crespi/full <pair_kolmogorov_crespi_full>`
* :doc:`kolmogorov/crespi/z <pair_kolmogorov_crespi_z>`
* :doc:`lcbop <pair_lcbop>`
* :doc:`lebedeva/z <pair_lebedeva_z>`
* :doc:`lennard/mdf <pair_mdf>`
* :doc:`line/lj <pair_line_lj>`
* :doc:`list <pair_list>`
* :doc:`lj/charmm/coul/charmm (iko) <pair_charmm>`
* :doc:`lj/charmm/coul/charmm/implicit (ko) <pair_charmm>`
* :doc:`lj/charmm/coul/long (gikot) <pair_charmm>`
* :doc:`lj/charmm/coul/long/soft (o) <pair_fep_soft>`
* :doc:`lj/charmm/coul/msm (o) <pair_charmm>`
* :doc:`lj/charmmfsw/coul/charmmfsh <pair_charmm>`
* :doc:`lj/charmmfsw/coul/long <pair_charmm>`
* :doc:`lj/class2 (gko) <pair_class2>`
* :doc:`lj/class2/coul/cut (ko) <pair_class2>`
* :doc:`lj/class2/coul/cut/soft <pair_fep_soft>`
* :doc:`lj/class2/coul/long (gko) <pair_class2>`
* :doc:`lj/class2/coul/long/soft <pair_fep_soft>`
* :doc:`lj/class2/soft <pair_fep_soft>`
* :doc:`lj/cubic (go) <pair_lj_cubic>`
* :doc:`lj/cut (gikot) <pair_lj>`
* :doc:`lj/cut/coul/cut (gko) <pair_lj>`
* :doc:`lj/cut/coul/cut/soft (o) <pair_fep_soft>`
* :doc:`lj/cut/coul/debye (gko) <pair_lj>`
* :doc:`lj/cut/coul/dsf (gko) <pair_lj>`
* :doc:`lj/cut/coul/long (gikot) <pair_lj>`
* :doc:`lj/cut/coul/long/cs <pair_cs>`
* :doc:`lj/cut/coul/long/soft (o) <pair_fep_soft>`
* :doc:`lj/cut/coul/msm (go) <pair_lj>`
* :doc:`lj/cut/coul/wolf (o) <pair_lj>`
* :doc:`lj/cut/dipole/cut (go) <pair_dipole>`
* :doc:`lj/cut/dipole/long (g) <pair_dipole>`
* :doc:`lj/cut/dipole/sf (go) <pair_dipole>`
* :doc:`lj/cut/soft (o) <pair_fep_soft>`
* :doc:`lj/cut/thole/long (o) <pair_thole>`
* :doc:`lj/cut/tip4p/cut (o) <pair_lj>`
* :doc:`lj/cut/tip4p/long (got) <pair_lj>`
* :doc:`lj/cut/tip4p/long/soft (o) <pair_fep_soft>`
* :doc:`lj/expand (gko) <pair_lj_expand>`
* :doc:`lj/expand/coul/long (g) <pair_lj_expand>`
* :doc:`lj/gromacs (gko) <pair_gromacs>`
* :doc:`lj/gromacs/coul/gromacs (ko) <pair_gromacs>`
* :doc:`lj/long/coul/long (iot) <pair_lj_long>`
* :doc:`lj/long/dipole/long <pair_dipole>`
* :doc:`lj/long/tip4p/long (o) <pair_lj_long>`
* :doc:`lj/mdf <pair_mdf>`
* :doc:`lj/sdk (gko) <pair_sdk>`
* :doc:`lj/sdk/coul/long (go) <pair_sdk>`
* :doc:`lj/sdk/coul/msm (o) <pair_sdk>`
* :doc:`lj/sf/dipole/sf (go) <pair_dipole>`
* :doc:`lj/smooth (o) <pair_lj_smooth>`
* :doc:`lj/smooth/linear (o) <pair_lj_smooth_linear>`
* :doc:`lj/switch3/coulgauss/long <pair_lj_switch3_coulgauss_long>`
* :doc:`lj96/cut (go) <pair_lj96>`
* :doc:`local/density <pair_local_density>`
* :doc:`lubricate (o) <pair_lubricate>`
* :doc:`lubricate/poly (o) <pair_lubricate>`
* :doc:`lubricateU <pair_lubricateU>`
* :doc:`lubricateU/poly <pair_lubricateU>`
* :doc:`mdpd <pair_meso>`
* :doc:`mdpd/rhosum <pair_meso>`
* :doc:`meam/c <pair_meamc>`
* :doc:`meam/spline (o) <pair_meam_spline>`
* :doc:`meam/sw/spline <pair_meam_sw_spline>`
* :doc:`mesocnt <pair_mesocnt>`
* :doc:`mgpt <pair_mgpt>`
* :doc:`mie/cut (g) <pair_mie>`
* :doc:`mm3/switch3/coulgauss/long <pair_mm3_switch3_coulgauss_long>`
* :doc:`momb <pair_momb>`
* :doc:`morse (gkot) <pair_morse>`
* :doc:`morse/smooth/linear (o) <pair_morse>`
* :doc:`morse/soft <pair_fep_soft>`
* :doc:`multi/lucy <pair_multi_lucy>`
* :doc:`multi/lucy/rx (k) <pair_multi_lucy_rx>`
* :doc:`nb3b/harmonic <pair_nb3b_harmonic>`
* :doc:`nm/cut (o) <pair_nm>`
* :doc:`nm/cut/coul/cut (o) <pair_nm>`
* :doc:`nm/cut/coul/long (o) <pair_nm>`
* :doc:`oxdna/coaxstk <pair_oxdna>`
* :doc:`oxdna/excv <pair_oxdna>`
* :doc:`oxdna/hbond <pair_oxdna>`
* :doc:`oxdna/stk <pair_oxdna>`
* :doc:`oxdna/xstk <pair_oxdna>`
* :doc:`oxdna2/coaxstk <pair_oxdna2>`
* :doc:`oxdna2/dh <pair_oxdna2>`
* :doc:`oxdna2/excv <pair_oxdna2>`
* :doc:`oxdna2/hbond <pair_oxdna2>`
* :doc:`oxdna2/stk <pair_oxdna2>`
* :doc:`oxdna2/xstk <pair_oxdna2>`
* :doc:`oxrna2/excv <pair_oxrna2>`
* :doc:`oxrna2/hbond <pair_oxrna2>`
* :doc:`oxrna2/dh <pair_oxrna2>`
* :doc:`oxrna2/stk <pair_oxrna2>`
* :doc:`oxrna2/xstk <pair_oxrna2>`
* :doc:`oxrna2/coaxstk <pair_oxrna2>`
* :doc:`peri/eps <pair_peri>`
* :doc:`peri/lps (o) <pair_peri>`
* :doc:`peri/pmb (o) <pair_peri>`
* :doc:`peri/ves <pair_peri>`
* :doc:`polymorphic <pair_polymorphic>`
* :doc:`python <pair_python>`
* :doc:`quip <pair_quip>`
* :doc:`reax/c (ko) <pair_reaxc>`
* :doc:`rebo (io) <pair_airebo>`
* :doc:`resquared (go) <pair_resquared>`
* :doc:`sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>`
* :doc:`smd/hertz <pair_smd_hertz>`
* :doc:`smd/tlsph <pair_smd_tlsph>`
* :doc:`smd/tri_surface <pair_smd_triangulated_surface>`
* :doc:`smd/ulsph <pair_smd_ulsph>`
* :doc:`smtbq <pair_smtbq>`
* :doc:`snap (k) <pair_snap>`
* :doc:`snap (k) <pair_snap>`
* :doc:`soft (go) <pair_soft>`
* :doc:`sph/heatconduction <pair_sph_heatconduction>`
* :doc:`sph/idealgas <pair_sph_idealgas>`
* :doc:`sph/lj <pair_sph_lj>`
* :doc:`sph/rhosum <pair_sph_rhosum>`
* :doc:`sph/taitwater <pair_sph_taitwater>`
* :doc:`sph/taitwater/morris <pair_sph_taitwater_morris>`
* :doc:`spin/dipole/cut <pair_spin_dipole>`
* :doc:`spin/dipole/long <pair_spin_dipole>`
* :doc:`spin/dmi <pair_spin_dmi>`
* :doc:`spin/exchange <pair_spin_exchange>`
* :doc:`spin/magelec <pair_spin_magelec>`
* :doc:`spin/neel <pair_spin_neel>`
* :doc:`srp <pair_srp>`
* :doc:`sw (giko) <pair_sw>`
* :doc:`table (gko) <pair_table>`
* :doc:`table/rx (k) <pair_table_rx>`
* :doc:`tdpd <pair_meso>`
* :doc:`tersoff (giko) <pair_tersoff>`
* :doc:`tersoff/mod (gko) <pair_tersoff_mod>`
* :doc:`tersoff/mod/c (o) <pair_tersoff_mod>`
* :doc:`tersoff/table (o) <pair_tersoff>`
* :doc:`tersoff/zbl (gko) <pair_tersoff_zbl>`
* :doc:`thole <pair_thole>`
* :doc:`tip4p/cut (o) <pair_coul>`
* :doc:`tip4p/long (o) <pair_coul>`
* :doc:`tip4p/long/soft (o) <pair_fep_soft>`
* :doc:`tri/lj <pair_tri_lj>`
* :doc:`ufm (got) <pair_ufm>`
* :doc:`vashishta (gko) <pair_vashishta>`
* :doc:`vashishta/table (o) <pair_vashishta>`
* :doc:`yukawa (gko) <pair_yukawa>`
* :doc:`yukawa/colloid (go) <pair_yukawa_colloid>`
* :doc:`zbl (gko) <pair_zbl>`

View File

@ -9,134 +9,151 @@ file names or user-chosen ID strings.
Here are 6 rules for how each line in the input script is parsed by
LAMMPS:
(1) If the last printable character on the line is a "&" character,
the command is assumed to continue on the next line. The next line is
concatenated to the previous line by removing the "&" character and
line break. This allows long commands to be continued across two or
more lines. See the discussion of triple quotes in (6) for how to
continue a command across multiple line without using "&" characters.
.. _one:
(2) All characters from the first "#" character onward are treated as
comment and discarded. See an exception in (6). Note that a
comment after a trailing "&" character will prevent the command from
continuing on the next line. Also note that for multi-line commands a
single leading "#" will comment out the entire command.
1. If the last printable character on the line is a "&" character, the
command is assumed to continue on the next line. The next line is
concatenated to the previous line by removing the "&" character and
line break. This allows long commands to be continued across two or
more lines. See the discussion of triple quotes in :ref:`6 <six>`
for how to continue a command across multiple line without using "&"
characters.
.. code-block:: LAMMPS
.. _two:
# this is a comment
2. All characters from the first "#" character onward are treated as
comment and discarded. The exception to this rule is described in
:ref:`6 <six>`. Note that a comment after a trailing "&" character
will prevent the command from continuing on the next line. Also note
that for multi-line commands a single leading "#" will comment out
the entire command.
(3) The line is searched repeatedly for $ characters, which indicate
variables that are replaced with a text string. See an exception in
(6).
.. code-block:: LAMMPS
If the $ is followed by curly brackets, then the variable name is the
text inside the curly brackets. If no curly brackets follow the $,
then the variable name is the single character immediately following
the $. Thus ${myTemp} and $x refer to variable names "myTemp" and
"x".
# this is a comment
timestep 1.0 # this is also a comment
How the variable is converted to a text string depends on what style
of variable it is; see the :doc:`variable <variable>` doc page for details.
It can be a variable that stores multiple text strings, and return one
of them. The returned text string can be multiple "words" (space
separated) which will then be interpreted as multiple arguments in the
input command. The variable can also store a numeric formula which
will be evaluated and its numeric result returned as a string.
.. _three:
As a special case, if the $ is followed by parenthesis, then the text
inside the parenthesis is treated as an "immediate" variable and
evaluated as an :doc:`equal-style variable <variable>`. This is a way
to use numeric formulas in an input script without having to assign
them to variable names. For example, these 3 input script lines:
3. The line is searched repeatedly for $ characters, which indicate
variables that are replaced with a text string. The exception to
this rule is described in :ref:`6 <six>`.
If the $ is followed by text in curly brackets '{}', then the
variable name is the text inside the curly brackets. If no curly
brackets follow the $, then the variable name is the single character
immediately following the $. Thus ${myTemp} and $x refer to variables
named "myTemp" and "x", while "$xx" will be interpreted as a variable
named "x" followed by an "x" character.
How the variable is converted to a text string depends on what style
of variable it is; see the :doc:`variable <variable>` doc page for
details. It can be a variable that stores multiple text strings, and
return one of them. The returned text string can be multiple "words"
(space separated) which will then be interpreted as multiple
arguments in the input command. The variable can also store a
numeric formula which will be evaluated and its numeric result
returned as a string.
As a special case, if the $ is followed by parenthesis "()", then the
text inside the parenthesis is treated as an "immediate" variable and
evaluated as an :doc:`equal-style variable <variable>`. This is a
way to use numeric formulas in an input script without having to
assign them to variable names. For example, these 3 input script
lines:
.. code-block:: LAMMPS
variable X equal (xlo+xhi)/2+sqrt(v_area)
region 1 block $X 2 INF INF EDGE EDGE
variable X delete
can be replaced by:
.. code-block:: LAMMPS
region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE
so that you do not have to define (or discard) a temporary variable,
"X" in this case.
Additionally, the "immediate" variable expression may be followed by
a colon, followed by a C-style format string, e.g. ":%f" or ":%.10g".
The format string must be appropriate for a double-precision
floating-point value. The format string is used to output the result
of the variable expression evaluation. If a format string is not
specified a high-precision "%.20g" is used as the default.
This can be useful for formatting print output to a desired precision:
.. code-block:: LAMMPS
.. code-block:: LAMMPS
variable X equal (xlo+xhi)/2+sqrt(v_area)
region 1 block $X 2 INF INF EDGE EDGE
variable X delete
print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom"
can be replaced by
Note that neither the curly-bracket or immediate form of variables
can contain nested $ characters for other variables to substitute
for. Thus you may **NOT** do this:
.. code-block:: LAMMPS
.. code-block:: LAMMPS
variable a equal 2
variable b2 equal 4
print "B2 = ${b$a}"
region 1 block $((xlo+xhi)/2+sqrt(v_area)) 2 INF INF EDGE EDGE
Nor can you specify an expression like "$($x-1.0)" for an immediate
variable, but you could use $(v\_x-1.0), since the latter is valid
syntax for an :doc:`equal-style variable <variable>`.
so that you do not have to define (or discard) a temporary variable X.
See the :doc:`variable <variable>` command for more details of how
strings are assigned to variables and evaluated, and how they can
be used in input script commands.
Additionally, the "immediate" variable expression may be followed by a
colon, followed by a C-style format string, e.g. ":%f" or ":%.10g".
The format string must be appropriate for a double-precision
floating-point value. The format string is used to output the result
of the variable expression evaluation. If a format string is not
specified a high-precision "%.20g" is used as the default.
.. _four:
This can be useful for formatting print output to a desired precision:
4. The line is broken into "words" separated by white-space (tabs,
spaces). Note that words can thus contain letters, digits,
underscores, or punctuation characters.
.. _five:
5. The first word is the command name. All successive words in the line
are arguments.
.. code-block:: LAMMPS
.. _six:
print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom"
6. If you want text with spaces to be treated as a single argument, it
can be enclosed in either single or double or triple quotes. A long
single argument enclosed in single or double quotes can span multiple
lines if the "&" character is used, as described above. When the
lines are concatenated together (and the "&" characters and line
breaks removed), the text will become a single line. If you want
multiple lines of an argument to retain their line breaks, the text
can be enclosed in triple quotes, in which case "&" characters are
not needed. For example:
Note that neither the curly-bracket or immediate form of variables can
contain nested $ characters for other variables to substitute for.
Thus you cannot do this:
.. code-block:: LAMMPS
.. code-block:: LAMMPS
variable a equal 2
variable b2 equal 4
print "B2 = ${b$a}"
Nor can you specify this $($x-1.0) for an immediate variable, but
you could use $(v\_x-1.0), since the latter is valid syntax for an
:doc:`equal-style variable <variable>`.
See the :doc:`variable <variable>` command for more details of how
strings are assigned to variables and evaluated, and how they can be
used in input script commands.
(4) The line is broken into "words" separated by white-space (tabs,
spaces). Note that words can thus contain letters, digits,
underscores, or punctuation characters.
(5) The first word is the command name. All successive words in the
line are arguments.
(6) If you want text with spaces to be treated as a single argument,
it can be enclosed in either single or double or triple quotes. A
long single argument enclosed in single or double quotes can span
multiple lines if the "&" character is used, as described above. When
the lines are concatenated together (and the "&" characters and line
breaks removed), the text will become a single line. If you want
multiple lines of an argument to retain their line breaks, the text
can be enclosed in triple quotes, in which case "&" characters are not
needed. For example:
.. code-block:: LAMMPS
print "Volume = $v"
print 'Volume = $v'
if "${steps} > 1000" then quit
variable a string "red green blue &
print "Volume = $v"
print 'Volume = $v'
if "${steps} > 1000" then quit
variable a string "red green blue &
purple orange cyan"
print """
System volume = $v
System temperature = $t
"""
print """
System volume = $v
System temperature = $t
"""
In each case, the single, double, or triple quotes are removed when
the single argument they enclose is stored internally.
In each case, the single, double, or triple quotes are removed when
the single argument they enclose is stored internally.
See the :doc:`dump modify format <dump_modify>`, :doc:`print <print>`,
:doc:`if <if>`, and :doc:`python <python>` commands for examples.
See the :doc:`dump modify format <dump_modify>`, :doc:`print
<print>`, :doc:`if <if>`, and :doc:`python <python>` commands for
examples.
A "#" or "$" character that is between quotes will not be treated as a
comment indicator in (2) or substituted for as a variable in (3).
A "#" or "$" character that is between quotes will not be treated as
a comment indicator in :ref:`2 <two>` or substituted for as a
variable in :ref:`3 <three>`.
.. note::
@ -146,8 +163,3 @@ comment indicator in (2) or substituted for as a variable in (3).
triple quotes can be nested in the usual manner. See the doc pages
for those commands for examples. Only one of level of nesting is
allowed, but that should be sufficient for most use cases.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -57,11 +57,6 @@ restart2data tool
The functionality of the restart2data tool has been folded into the
LAMMPS executable directly instead of having a separate tool. A
combination of the commands :doc:`read\_restart <read_restart>` and
:doc:`write\_data <write_data>` can be used to the same effect. For added
combination of the commands :doc:`read_restart <read_restart>` and
:doc:`write_data <write_data>` can be used to the same effect. For added
convenience this conversion can also be triggered by :doc:`command line flags <Run_options>`
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

View File

@ -8,17 +8,20 @@ page.
A LAMMPS input script typically has 4 parts:
1. Initialization
2. Atom definition
3. Settings
4. Run a simulation
1. :ref:`Initialization <init>`
2. :ref:`System definition <system>`
3. :ref:`Simulation settings <settings>`
4. :ref:`Run a simulation <run>`
The last 2 parts can be repeated as many times as desired. I.e. run a
simulation, change some settings, run some more, etc. Each of the 4
parts is now described in more detail. Remember that almost all
commands need only be used if a non-default value is desired.
(1) Initialization
.. _init:
Initialization
------------------------------
Set parameters that need to be defined before atoms are created or
read-in from a file.
@ -26,66 +29,74 @@ read-in from a file.
The relevant commands are :doc:`units <units>`,
:doc:`dimension <dimension>`, :doc:`newton <newton>`,
:doc:`processors <processors>`, :doc:`boundary <boundary>`,
:doc:`atom\_style <atom_style>`, :doc:`atom\_modify <atom_modify>`.
:doc:`atom_style <atom_style>`, :doc:`atom_modify <atom_modify>`.
If force-field parameters appear in the files that will be read, these
commands tell LAMMPS what kinds of force fields are being used:
:doc:`pair\_style <pair_style>`, :doc:`bond\_style <bond_style>`,
:doc:`angle\_style <angle_style>`, :doc:`dihedral\_style <dihedral_style>`,
:doc:`improper\_style <improper_style>`.
:doc:`pair_style <pair_style>`, :doc:`bond_style <bond_style>`,
:doc:`angle_style <angle_style>`, :doc:`dihedral_style <dihedral_style>`,
:doc:`improper_style <improper_style>`.
(2) Atom definition
.. _system:
There are 3 ways to define atoms in LAMMPS. Read them in from a data
or restart file via the :doc:`read\_data <read_data>` or
:doc:`read\_restart <read_restart>` commands. These files can contain
molecular topology information. Or create atoms on a lattice (with no
molecular topology), using these commands: :doc:`lattice <lattice>`,
:doc:`region <region>`, :doc:`create\_box <create_box>`,
:doc:`create\_atoms <create_atoms>`. The entire set of atoms can be
duplicated to make a larger simulation using the
:doc:`replicate <replicate>` command.
System definition
------------------------------
(3) Settings
There are 3 ways to define the simulation cell and reserve space for
force field info and fill it with atoms in LAMMPS. Read them in from
(1) a data file or (2) a restart file via the :doc:`read_data
<read_data>` or :doc:`read_restart <read_restart>` commands,
respectively. These files can also contain molecular topology
information. Or (3) create a simulation cell and fill it with atoms on
a lattice (with no molecular topology), using these commands:
:doc:`lattice <lattice>`, :doc:`region <region>`, :doc:`create_box
<create_box>`, :doc:`create_atoms <create_atoms>` or
:doc:`read_dump <read_dump>`.
The entire set of atoms can be duplicated to make a larger simulation
using the :doc:`replicate <replicate>` command.
.. _settings:
Simulation settings
------------------------------
Once atoms and molecular topology are defined, a variety of settings
can be specified: force field coefficients, simulation parameters,
output options, etc.
output options, and more.
Force field coefficients are set by these commands (they can also be
set in the read-in files): :doc:`pair\_coeff <pair_coeff>`,
:doc:`bond\_coeff <bond_coeff>`, :doc:`angle\_coeff <angle_coeff>`,
:doc:`dihedral\_coeff <dihedral_coeff>`,
:doc:`improper\_coeff <improper_coeff>`,
:doc:`kspace\_style <kspace_style>`, :doc:`dielectric <dielectric>`,
:doc:`special\_bonds <special_bonds>`.
set in the read-in files): :doc:`pair_coeff <pair_coeff>`,
:doc:`bond_coeff <bond_coeff>`, :doc:`angle_coeff <angle_coeff>`,
:doc:`dihedral_coeff <dihedral_coeff>`,
:doc:`improper_coeff <improper_coeff>`,
:doc:`kspace_style <kspace_style>`, :doc:`dielectric <dielectric>`,
:doc:`special_bonds <special_bonds>`.
Various simulation parameters are set by these commands:
:doc:`neighbor <neighbor>`, :doc:`neigh\_modify <neigh_modify>`,
:doc:`neighbor <neighbor>`, :doc:`neigh_modify <neigh_modify>`,
:doc:`group <group>`, :doc:`timestep <timestep>`,
:doc:`reset\_timestep <reset_timestep>`, :doc:`run\_style <run_style>`,
:doc:`min\_style <min_style>`, :doc:`min\_modify <min_modify>`.
:doc:`reset_timestep <reset_timestep>`, :doc:`run_style <run_style>`,
:doc:`min_style <min_style>`, :doc:`min_modify <min_modify>`.
Fixes impose a variety of boundary conditions, time integration, and
diagnostic options. The :doc:`fix <fix>` command comes in many flavors.
Various computations can be specified for execution during a
simulation using the :doc:`compute <compute>`,
:doc:`compute\_modify <compute_modify>`, and :doc:`variable <variable>`
:doc:`compute_modify <compute_modify>`, and :doc:`variable <variable>`
commands.
Output options are set by the :doc:`thermo <thermo>`, :doc:`dump <dump>`,
and :doc:`restart <restart>` commands.
(4) Run a simulation
.. _run:
Run a simulation
------------------------------
A molecular dynamics simulation is run using the :doc:`run <run>`
command. Energy minimization (molecular statics) is performed using
the :doc:`minimize <minimize>` command. A parallel tempering
(replica-exchange) simulation can be run using the
:doc:`temper <temper>` command.
.. _lws: http://lammps.sandia.gov
.. _ld: Manual.html
.. _lc: Commands_all.html

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,15 +0,0 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
$$
E_{a} = K_2\left(\theta - \theta_0\right)^2 + K_3\left(\theta - \theta_0\right)^3 + K_4\left(\theta - \theta_0\right)^4 + K_5\left(\theta - \theta_0\right)^5 + K_6\left(\theta - \theta_0\right)^6
$$
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,14 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
a &=& {\rm lx} \\
b^2 &=& {\rm ly}^2 + {\rm xy}^2 \\
c^2 &=& {\rm lz}^2 + {\rm xz}^2 + {\rm yz}^2 \\
\cos{\alpha} &=& \frac{{\rm xy}*{\rm xz} + {\rm ly}*{\rm yz}}{b*c} \\
\cos{\beta} &=& \frac{\rm xz}{c} \\
\cos{\gamma} &=& \frac{\rm xy}{b} \\
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,14 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{eqnarray*}
{\rm lx} &=& a \\
{\rm xy} &=& b \cos{\gamma} \\
{\rm xz} &=& c \cos{\beta}\\
{\rm ly}^2 &=& b^2 - {\rm xy}^2 \\
{\rm yz} &=& \frac{b*c \cos{\alpha} - {\rm xy}*{\rm xz}}{\rm ly} \\
{\rm lz}^2 &=& c^2 - {\rm xz}^2 - {\rm yz}^2 \\
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -1,9 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
$$
CS = \sum_{i = 1}^{N/2} | \vec{R}_i + \vec{R}_{i+N/2} |^2
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,14 +0,0 @@
\documentclass[12pt,article]{article}
\usepackage{indentfirst}
\usepackage{amsmath}
\begin{document}
\begin{eqnarray*}
r_{c}^{fcc} & = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\
r_{c}^{bcc} & = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\
r_{c}^{hcp} & = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a}
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,12 +0,0 @@
\documentclass[12pt,article]{article}
\usepackage{indentfirst}
\usepackage{amsmath}
\begin{document}
$$
Rc + Rs > 2*{\rm cutoff}
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,14 +0,0 @@
\documentclass[12pt,article]{article}
\usepackage{indentfirst}
\usepackage{amsmath}
\begin{document}
\begin{eqnarray*}
r_{c}^{fcc} & = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\
r_{c}^{bcc} & = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\
r_{c}^{hcp} & = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a}
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1,12 +0,0 @@
\documentclass[12pt,article]{article}
\usepackage{indentfirst}
\usepackage{amsmath}
\begin{document}
$$
Rc + Rs > 2*{\rm cutoff}
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@ -1,9 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
$$
Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} |^2
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@ -1,13 +0,0 @@
\documentstyle[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
U^{cond} = \displaystyle\sum_{i=1}^{N} u_{i}^{cond} \\
U^{mech} = \displaystyle\sum_{i=1}^{N} u_{i}^{mech} \\
U^{chem} = \displaystyle\sum_{i=1}^{N} u_{i}^{chem} \\
U = \displaystyle\sum_{i=1}^{N} (u_{i}^{cond} + u_{i}^{mech} + u_{i}^{chem}) \\
\theta_{avg} = (\frac{1}{N}\displaystyle\sum_{i=1}^{N} \frac{1}{\theta_{i}})^{-1} \\
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,7 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
\[ \left< \frac{1}{1 + \exp\left[\left(U_1 - U_0 - \Delta_0^1A \right) /kT \right]} \right>_0 = \left< \frac{1}{1 + \exp\left[\left(U_0 - U_1 + \Delta_0^1A \right) /kT \right]} \right>_1 \]
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,10 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
\[ \Delta_0^1 A = \int_{\lambda=0}^{\lambda=1} \left( \frac{\partial
A(\lambda)}{\partial\lambda} \right)_\lambda \mathrm{d}\lambda
\approx \sum_{i=0}^{n-1} w_i \frac{A(\lambda_{i} + \delta) -
A(\lambda_i)}{\delta} \]
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,9 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
\[ \Delta_0^1 A = \sum_{i=0}^{n-1} \Delta_{\lambda_i}^{\lambda_{i+1}} A =
- kT \sum_{i=0}^{n-1} \ln \left< \exp \left( - \frac{U(\lambda_{i+1}) -
U(\lambda_i)}{kT} \right) \right>_{\lambda_i} \]
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,10 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
\begin{eqnarray*}
\lambda = 0 \quad\Rightarrow\quad U = U_{\mathrm{bg}} + U_0 \\
\lambda = 1 \quad\Rightarrow\quad U = U_{\mathrm{bg}} + U_1
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,10 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
\[ \Delta_0^1 A = \int_{\lambda=0}^{\lambda=1} \left< \frac{\partial
U(\lambda)}{\partial\lambda} \right>_\lambda \mathrm{d}\lambda
\approx \sum_{i=0}^{n-1} w_i \left< \frac{U(\lambda_{i} + \delta) -
U(\lambda_i)}{\delta} \right>_{\lambda_i} \]
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

View File

@ -1,7 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
\[ U(\lambda) = U_{\mathrm{bg}} + U_1(\lambda) + U_0(\lambda) \]
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,9 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
\[ \Delta_0^1 A = - kT \sum_{i=0}^{n-1} \ln \frac{\left< V \exp \left( -
\frac{U(\lambda_{i+1}) - U(\lambda_i)}{kT} \right)
\right>_{\lambda_i}}{\left< V \right>_{\lambda_i}} \]
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -1,9 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
$$
{R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

View File

@ -1,9 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
$$
NGP(t) = 3<(r(t)-r(0))^4>/(5<(r(t)-r(0))^2>^2) - 1
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,10 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
$$
I=\frac{F^{*}F}{N}
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -1,9 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
$$
F(\mathbf{k})=\sum_{j=1}^{N}f_j(\theta)exp(2\pi i \mathbf{k}\cdot \mathbf{r}_j)
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -1,10 +0,0 @@
\documentstyle[12pt]{article}
\begin{document}
$$
f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{5}
a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right )
$$
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -1,13 +0,0 @@
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
c = l_z - 0.5(l_y+l_x) \\
b = l_y - l_x \\
k = \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2}
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,11 +0,0 @@
\documentclass[24pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
\theta_0 = {\tt rfac0} \frac{r-r_{min0}}{R_{ii'}-r_{min0}} \pi
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,11 +0,0 @@
\documentclass[24pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
u^j_{m,m'} = U^j_{m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{f_c(r_{ii'}) w_{i'} U^j_{m,m'}(\theta_0,\theta,\phi)}
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,16 +0,0 @@
\documentclass[24pt]{article}
\pagestyle{empty}
\begin{document}
\newcommand{\hcoeff}[9]{H\!\!{\tiny\begin{array}{l}#1 #2 #3 \\ #4 #5 #6 \\ #7 #8 #9 \end{array}}}
\begin{equation}
B_{j_1,j_2,j} = \\
\sum_{m_1,m'_1=-j_1}^{j_1}\sum_{m_2,m'_2=-j_2}^{j_2}\sum_{m,m'=-j}^{j} (u^j_{m,m'})^*
\hcoeff{j}{m}{m'}{j_1}{\!m_1}{\!m'_1}{j_2}{m_2}{m'_2}
u^{j_1}_{m_1,m'_1} u^{j_2}_{m_2,m'_2}
\end{equation}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1,14 +0,0 @@
\documentclass[24pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
\label{eqn:f_c}
f_c(r) & = & \frac{1}{2}(\cos(\pi \frac{r-r_{min0}}{R_{ii'}-r_{min0}}) + 1), r \leq R_{ii'} \\
& = & 0, r > R_{ii'}
\end{eqnarray*}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,12 +0,0 @@
\documentclass[24pt]{article}
\pagestyle{empty}
\begin{document}
\begin{equation}
- \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j} }}{\partial {\bf r}_i}
\end{equation}
\end{document}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,12 +0,0 @@
\documentclass[24pt]{article}
\pagestyle{empty}
\begin{document}
\begin{eqnarray*}
- {\bf r}_i \otimes \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j}}}{\partial {\bf r}_i}
\end{eqnarray*}
\end{document}

Some files were not shown because too many files have changed in this diff Show More