Compare commits

...

877 Commits

Author SHA1 Message Date
9085662e2b Merge pull request #2899 from akohlmey/next_patch_release
Step version strings for the next patch release
2021-08-31 19:43:41 -04:00
66008a519b Merge pull request #2913 from akohlmey/last-minute-fixes
Some last minute fixes for the next patch release
2021-08-31 18:24:17 -04:00
000b4c5fda integrate fix ttm/grid properly into the documentation 2021-08-31 16:20:21 -04:00
c567f33cc1 apply spelling fixes and update formatting a little 2021-08-31 16:17:03 -04:00
ae2f0ef18d whitespace 2021-08-31 16:05:11 -04:00
e9ef26c2be Merge branch 'master' into last-minute-fixes 2021-08-31 16:03:50 -04:00
6448f44fa5 Merge pull request #2914 from rbberger/doc_updates
Minor documentation updates
2021-08-31 15:59:34 -04:00
08eb3345af silence some compiler warnings 2021-08-31 15:11:46 -04:00
6b243845c0 update HIP preset for CMake 2021-08-31 15:11:37 -04:00
b8ed4b28b3 add test for fix adapt with hybrid pair 2021-08-31 14:28:09 -04:00
c66a51bca1 fix bug in fix adapt: reinit must be called for the top-level pair/bond style 2021-08-31 14:23:13 -04:00
888d6fd9b4 small update 2021-08-31 14:20:52 -04:00
191e4671b6 Add section about how to output YAML or JSON 2021-08-31 11:28:13 -04:00
de0aa1e97a Fixup ttm doc page 2021-08-31 11:28:08 -04:00
8f600f6db7 Merge pull request #2912 from stanmoore1/kk_foward_comm_array
Add missing Kokkos sync-to-host to fix false-positive warning
2021-08-31 10:21:31 -04:00
16c063cba5 Fix OPENMP install script properly remove -DLMP_OPENMP from Makefile.packages 2021-08-30 18:39:24 -04:00
c76949e0f0 Merge pull request #2902 from lammps/fix-ttm-grid
Add fix ttm/grid and refactor grid communication to make it globally available.
2021-08-30 17:43:39 -04:00
5b42d5f302 Fix compile issue 2021-08-30 15:21:24 -06:00
1703cd4ca2 Whitespace 2021-08-30 14:57:59 -06:00
0e639a2c5b Add missing Kokkos sync to host 2021-08-30 14:52:26 -06:00
66fc0438a8 Merge branch 'master' into fix-ttm-grid
# Conflicts:
#	doc/src/pair_snap.rst
2021-08-30 16:37:51 -04:00
25a6c59cea Merge pull request #2900 from stanmoore1/kk_bugfixes
Fix issues in KOKKOS package
2021-08-30 15:28:41 -04:00
00c3c5cf06 Port changes from #2903 to Kokkos 2021-08-30 12:43:07 -06:00
2de482f825 Merge pull request #2911 from akohlmey/fix-gpu-package-issues
Fix minor GPU package issues for the stable release
2021-08-30 13:45:23 -04:00
6635b402c6 Merge pull request #2910 from wmbrownIntel/intel-mm-scale-fix
Fix (the fix) for _MM_SCALE preprocessor defines for future Intel compilers
2021-08-30 13:10:21 -04:00
22ce955065 Merge pull request #2909 from wmbrownIntel/born_coul_wolf_nofast
Override any OpenCL fast math JIT settings for born/coul/wolf{/cs}/gpu…
2021-08-30 11:51:04 -04:00
d9c1a299bf Merge pull request #2908 from jrgissing/bond-react-fixes
Bond/react: memory leak
2021-08-30 11:23:26 -04:00
284ed98fb8 fix spelling error and reformat paragraph 2021-08-29 22:08:49 -04:00
5d03028028 Merge branch 'master' into kk_bugfixes 2021-08-29 22:07:40 -04:00
664a07a3fe disallow GPU neighbor list with hybrid pair styles (which has still problems) 2021-08-29 17:57:30 -04:00
39d8b239ff don't report bogus timings 2021-08-29 17:56:47 -04:00
05eba8e484 move patch release date to august 31st 2021-08-29 16:33:14 -04:00
fb72e00081 Fix (the fix) for _MM_SCALE preprocessor defines for future Intel compilers. 2021-08-28 17:18:05 -07:00
89556f0bcb Override any OpenCL fast math JIT settings for born/coul/wolf{/cs}/gpu to resolve numerical deviations seen with some OpenCL implementations. 2021-08-28 17:01:58 -07:00
653f6f994f Merge branch 'lammps:master' into bond-react-fixes 2021-08-28 16:05:59 -04:00
cddac395c6 some more cleanup 2021-08-28 07:52:14 -04:00
993826989c modernize fix ttm/mod implementation and align with fix ttm 2021-08-28 07:44:06 -04:00
1e37595055 pretty 2021-08-28 07:43:18 -04:00
f49b94e126 update docs. mention support for comments in electron temperature grid files 2021-08-28 07:42:55 -04:00
da1fb924bb modernize code some more. avoid string pointer magic. 2021-08-28 05:43:39 -04:00
e6a45c1fa7 refactor grid data file reader. support descriptive comment(s) and metadata 2021-08-27 23:23:12 -04:00
90d95466c2 add UNITS: metadata 2021-08-27 23:21:04 -04:00
6be84b72a8 simplify and plug memory leak with file output 2021-08-27 21:10:05 -04:00
c779798f3f properly disable clang-format processing 2021-08-27 20:34:46 -04:00
59a6c08a43 correct spelling 2021-08-27 20:32:42 -04:00
9c2b96286f print GPU available info only when GPU package is included 2021-08-27 20:32:22 -04:00
28b6649f0c whitespace 2021-08-27 20:31:58 -04:00
cf33f0bb96 silence compiler warnings, remove dead code, and do some reformatting 2021-08-27 20:22:29 -04:00
a66f3dfbdd Merge branch 'master' into fix-ttm-grid 2021-08-27 19:56:42 -04:00
e93ae9ba12 apply clang-format 2021-08-27 19:56:33 -04:00
c513fc8784 update pppm/gpu to use the refactored GridComm class 2021-08-27 19:52:39 -04:00
90f82a8ef1 memory leak 2021-08-27 17:03:11 -04:00
4d1a6cbd73 Merge pull request #2904 from lammps/memory-null
force all memory methods to return nullptr if requested size <= 0
2021-08-27 16:59:04 -04:00
3e058b734b Merge pull request #2887 from jrgissing/bond-react-fixes
Bond react fixes
2021-08-27 16:58:33 -04:00
cc69431dd3 Merge pull request #2897 from dxhisboy/master
Correcting non-fdotr Virial tensor computation for interlayer potentials
2021-08-27 16:54:56 -04:00
1795e1530f Merge pull request #2896 from akohlmey/collected-small-changes
Collected changes and updates for the next patch release
2021-08-27 15:58:05 -04:00
a58e4fc876 whitespace 2021-08-27 14:59:26 -04:00
4eef3eaac6 Merge branch 'master' into collected-small-changes 2021-08-27 14:58:42 -04:00
4be33df8fb relax force test epsilon values a little for cross-platform tests 2021-08-27 14:57:31 -04:00
e363b4aeff Merge pull request #2905 from weinbe2/fea-snap-large-system
Kokkos SNAP large system optimizations and cleanup
2021-08-27 14:23:37 -04:00
66da0ebada adjust INTEL pppm files for new GridComm interface 2021-08-27 11:01:27 -06:00
9658d1d983 Bump up the default chunksize in SNAP and update the docs 2021-08-27 12:34:19 -04:00
6ab951fedc only change functions known to break with zero-length 2021-08-27 10:28:40 -06:00
2387e12464 Merge pull request #2893 from lammps/doc-intro-updates
Update Intro section of LAMMPS Manual for stable release
2021-08-27 12:09:10 -04:00
0879484827 sync OPENMP package with new GridComm syntax 2021-08-27 09:48:35 -06:00
4089d7757d error->one to error->all corrections 2021-08-27 11:24:04 -04:00
89b4cc9498 Remove comment 2021-08-27 11:03:54 -04:00
aa9f337ef5 Small tweak to docs 2021-08-27 10:47:11 -04:00
27cabbf734 Add missing variable 2021-08-27 10:38:47 -04:00
ecba2d8489 Update doc page 2021-08-27 10:33:18 -04:00
1970ede534 Add user-settable threshold for extra parallelism 2021-08-27 10:22:10 -04:00
cfaa3040ed add a comment explaining the restriction to C and H elements in AIREBO/REBO 2021-08-27 10:02:53 -04:00
7ac2c0c66e refactor custom constraint
evaluates per-atom variables once, and correctly communicates values to ghosts
2021-08-26 23:00:15 -04:00
8c96f1a14b Merge branch 'collected-small-changes' of github.com:akohlmey/lammps into collected-small-changes 2021-08-26 22:56:08 -04:00
a686ce33c6 Added less-parallelism-higher-perf paths to recursive polynomial routines. Fixed qSNAP memory coalescing issue. Various modularity improvements. 2021-08-26 22:55:07 -04:00
bbb3f35aa3 "int64_t" is defined in stdint.h; must use "long" in OpenCL kernels instead 2021-08-26 22:46:08 -04:00
fc6b17b82a improve whitespace handling
previously, spaces inside of custom 'rxn' functions could cause issues
2021-08-26 22:28:44 -04:00
42a3a7d10f Merge branch 'master' into collected-small-changes
# Conflicts:
#	src/fix_property_atom.cpp
2021-08-26 21:14:23 -04:00
a587f67423 Merge pull request #2903 from lammps/fix-property-tweak
Fix property/atom tweak
2021-08-26 20:07:13 -04:00
a519dc3e9a make DIELECTRIC package use of GridComm compatible with new version 2021-08-26 16:33:39 -06:00
21b017368b force all memory methods to return nullptr if requested size <= 0 2021-08-26 15:43:12 -06:00
ab8c9851b2 change style to styles to remove override of fix->style string 2021-08-26 15:20:52 -06:00
a85f125ee7 whitespace 2021-08-26 16:58:14 -04:00
892a18c3f6 Merge branch 'master' into fix-ttm-grid 2021-08-26 16:57:19 -04:00
f63d0202be Rely on auto_sync in verlet setup 2021-08-26 14:54:48 -06:00
6fea5dd316 avoid creating empty per atom position arrays for enforcing pbc for dumps 2021-08-26 16:16:30 -04:00
16d73c86ba adjust example TTM input scripts 2021-08-26 13:37:00 -06:00
ddbb8f1aa6 Remove unnecessary data tranfer in fix_nve_sphere_kokkos 2021-08-26 13:36:32 -06:00
49b0623d6b Fix issue with Kokkos granular and pair/only on 2021-08-26 13:26:46 -06:00
62fcaedd33 update example log files 2021-08-26 13:25:46 -06:00
7b3e7d3d3a allow for command-line setting of initial temp 2021-08-26 11:52:07 -06:00
d38549e05f Update ancient Kokkos Arch in Makefile.kokkos_cuda_mpi 2021-08-26 11:03:57 -06:00
beffa0d1a1 remove old fix ttm 2021-08-26 10:19:56 -06:00
cbe27096b3 final tweaks 2021-08-26 10:19:22 -06:00
0fb03072b1 restart bug fix in new fix ttm/grid 2021-08-26 10:08:34 -06:00
be98d0bbd9 Fix memory issue in fix_nvt_sllod_kokkos 2021-08-26 09:36:16 -06:00
0e8facdcbb Makefile.kokkos: fix (standard_in) 1: syntax error (kokkos PR4173) 2021-08-26 08:58:58 -06:00
c1ca58ba82 Merge branch 'master' of github.com:lammps/lammps into kk_bugfixes 2021-08-26 08:21:39 -06:00
7e5782a81b Fix deallocation issue in pair_lj_charmm_coul_charmm_kokkos 2021-08-26 08:21:16 -06:00
45854bab0c step version strings for next patch release 2021-08-26 07:46:24 -04:00
0d8c58db02 synchronize DomainOMP::pbc() code with Domain::pbc() 2021-08-26 07:41:57 -04:00
a7f4bbffcf avoid segfault when trying to apply (strict) pbc or convert to/from fractional coordinates on an MPI rank without atoms 2021-08-26 07:10:47 -04:00
84896fc7d4 add building micelle2d.x 2021-08-26 06:36:27 -04:00
e20d66ac19 avoid module name conflict 2021-08-26 06:36:17 -04:00
49a81d6fba silence compiler warnings 2021-08-26 06:30:16 -04:00
c7357d5731 Merge remote-tracking branch 'github/master' into collected-small-changes 2021-08-26 05:30:50 -04:00
6fcd4c0e30 Merge remote-tracking branch 'github/master' into doc-intro-updates 2021-08-26 05:29:53 -04:00
e3af1544f1 Merge pull request #2804 from Vsevak/tip4p_fix_types
Fix atom types handling in the tip4p/gpu kernels
2021-08-26 01:08:19 -04:00
1d33bd1264 whitespace 2021-08-26 01:05:25 -04:00
484f2f4c95 must exclude two more folders from whitespace checking 2021-08-26 01:05:14 -04:00
acf80f5c89 Merge branch 'master' into doc-intro-updates 2021-08-26 01:03:25 -04:00
2845269bdb use MBytes consistently 2021-08-26 01:00:08 -04:00
0aded3931b convert to Fortran 2003 2021-08-26 00:37:25 -04:00
4b707b8684 small tweak 2021-08-26 00:35:43 -04:00
f13fe138cc apply clang-format 2021-08-26 00:35:31 -04:00
9dd1dcab30 remove call to non-portable FDATE() function (a GNU Fortran extension) 2021-08-25 23:56:20 -04:00
61855c5058 apply whitespace checking/fixing also to free-format Fortran files 2021-08-25 23:46:48 -04:00
45e599cb33 modernize Fortran 2021-08-25 23:42:07 -04:00
fe4ec9d1ea select Fortran 2003 as standard for compiling bundled Fortran code 2021-08-25 23:36:12 -04:00
8468d89ec8 tweak epsilon for passing test on macOS 2021-08-25 23:31:53 -04:00
5361af7082 notes on reducing disk space requirements when building LAMMPS from source 2021-08-25 22:51:21 -04:00
c3083785b7 list some more features 2021-08-25 22:02:51 -04:00
a2d77593bb fix typo 2021-08-25 22:01:42 -04:00
4846d8283e convert chain.f to fortran 90+ style free format file chain.f90
this is to maintain compatibility with some newer fortran compilers
that do not support legacy style fortran by default anymore.
2021-08-25 18:38:08 -04:00
a0dfae9876 more debugging of restarts 2021-08-25 16:28:40 -06:00
abd4a6cfa3 remove calls to Modify::end_of_step() during the full_energy() functions
the fixes atom/swap, gcmc, widom, and charge_regulation would call
Modify::end_of_step() in order to make certain that all energy contributions
to the total energy are properly tallied. However, this is no longer
true and it causes lots of unexpected problems, since fixes like
fix ave/time, fix store/state, fix print and many more are called at
the wrong time during a timestep and possibly multiple times which can
lead to very unexpected and incorrect results. fix atc and fix colvars
are currently the only fixes that signal that they contribute to the
global energy *and* run during Modify::end_of_step(). However, they
do not perform any actions related to the global energy in those calls.
2021-08-25 16:41:25 -04:00
51d4e91086 Merge pull request #2882 from CTCMS-UQ/SLLOD-Kokkos
Add Kokkos accelerated styles for shear flow simulations (SLLOD)
2021-08-25 14:44:50 -04:00
ae94a60d4a more debugging 2021-08-25 12:42:47 -06:00
1c0ac4adb7 correct citation string 2021-08-25 07:57:16 -04:00
cc98f9b1e6 add unit test 2021-08-25 07:42:37 -04:00
ce0f1478cb correct stress tally to give results consistent with fdotr 2021-08-25 07:42:37 -04:00
b55673f0a6 add unit test 2021-08-25 07:42:37 -04:00
3a8faa8966 correct stress tally 2021-08-25 07:42:37 -04:00
b1e40a05bc disallow newton pair off 2021-08-25 07:42:37 -04:00
61b9d4a19f update epsilon 2021-08-25 07:42:37 -04:00
d9579c4ecd Changed the virial computation method for pair/ilp/graphene/hbn and pair/kolmogorov/crespi/full from fk x rkj to fk x rki 2021-08-25 14:55:28 +08:00
caaea35c64 Merge pull request #2 from akohlmey/SLLOD-Kokkos
Update pull request to current upstream and resolve merge conflict
2021-08-25 15:29:23 +10:00
0a07f4eae0 spelling issues 2021-08-24 23:48:17 -04:00
c6145e029a update features list 2021-08-24 23:46:06 -04:00
026d7bd112 update description of development model and release cycles 2021-08-24 23:26:22 -04:00
e4e08972f8 update overview text 2021-08-24 23:02:49 -04:00
a1e0341d8c detect and update output for OpenMP version 5.1 2021-08-24 23:01:43 -04:00
7ddfa382dc enable and process pair style table with clang-format 2021-08-24 22:27:11 -04:00
d79c42ac41 improve error messages for incorrect/inconsistent table data 2021-08-24 22:26:59 -04:00
5ba6fee94e Merge branch 'master' into SLLOD-Kokkos
# Conflicts:
#	src/KOKKOS/compute_temp_kokkos.h
2021-08-24 21:48:03 -04:00
857d0d255d change OFFSET to correct value 2021-08-24 17:25:53 -06:00
30fc6e3790 consistency between fix TTM variants 2021-08-24 17:17:54 -06:00
ccbf39d2c9 add unit tests using pppm and ewald with a tilted box 2021-08-24 16:00:26 -04:00
dfc03bd107 avoid 32bit integer overflow on 64-bit storage sizes 2021-08-24 15:49:41 -04:00
588f821ac8 add support for text output and restart output 2021-08-24 13:46:29 -06:00
2150fb7413 adjust epsilon for portability 2021-08-24 15:41:42 -04:00
2239130798 randomize bilayer data file positions to make interlayer tests more reliable 2021-08-24 15:41:28 -04:00
eaf5e08542 detect invalid use and silence compiler warnings 2021-08-24 14:27:20 -04:00
25d9d5dfff Merge pull request #2895 from rbberger/python_coverage_fix
Use .coveragerc to configure Python coverage reporting
2021-08-24 14:07:23 -04:00
3d34ee5087 Merge branch 'master' into fix-ttm-grid 2021-08-24 11:34:27 -06:00
8dd2428294 Merge pull request #2891 from akohlmey/collected-small-changes
Collected small changes and bug fixes
2021-08-24 13:34:20 -04:00
0bb26ff296 make fix qeq/reaxff/kk consistent with REAXFF package version 2021-08-24 12:13:06 -04:00
a26da031aa Use .coveragerc to configure Python coverage reporting 2021-08-24 11:27:30 -04:00
af14e3227d skip folders/files in lib with downloaded content 2021-08-24 10:32:10 -04:00
1c7cc42846 fix parallel programming bug in interlayer pair styles 2021-08-24 10:28:57 -04:00
862cb43fa9 Enable unittest for GPU lj/cut/tip4p/long 2021-08-24 17:07:51 +03:00
3dc142c0b0 Added fix_nvt_sllod_kokkos and compute_temp_deform_kokkos to Install.sh 2021-08-24 16:23:05 +10:00
d34083dd54 update false positives 2021-08-23 23:25:25 -04:00
4fb67c0cc6 mention pre-C++-11 version as C++-98 version. 2021-08-23 23:25:16 -04:00
d561fe3457 clarify license terms description and reduce redundancy. mention LGPL verison 2021-08-23 23:24:47 -04:00
897dfdfb19 some updates to authors list 2021-08-23 23:24:06 -04:00
e6455c2153 fix spelling errors 2021-08-23 23:12:23 -04:00
3bce886ab7 workaround style checker issue 2021-08-23 22:16:39 -04:00
49c9f4597f apply clang-format 2021-08-23 21:46:54 -04:00
72679f6127 Merge branch 'master' into collected-small-changes 2021-08-23 21:44:21 -04:00
c84ebd1c93 update docs for build options for development 2021-08-23 21:43:49 -04:00
d72d8fa938 we require python 3.5 or later 2021-08-23 21:43:06 -04:00
1ee1471b56 fix spelling errors 2021-08-23 21:42:48 -04:00
43261c3a4f Merge pull request #2885 from lammps/grid-adjust
Grid adjust
2021-08-23 21:39:35 -04:00
7b3755bcf4 remove redundant '// clang-format off' marker 2021-08-23 21:17:04 -04:00
7fe6e95d3a make clang-format processing verbose to show progress 2021-08-23 21:11:05 -04:00
1bd6e56369 simplify code using utils::strdup() 2021-08-23 21:06:56 -04:00
9a19a814e4 apply clang-format to packages 2021-08-23 21:06:33 -04:00
686f41731f disable applying clang-format to all "style" classes in the KOKKOS package (for now) 2021-08-23 20:55:41 -04:00
8f71979ba1 update formatting in src folder with clang-format 2021-08-23 20:46:09 -04:00
cb19806020 update ReaxFF reference data due to use of more precise constants in fix qeq/reax 2021-08-23 20:34:44 -04:00
d44edeb32e make clang-format custom targets in CMake similar to the ones in GNU make 2021-08-23 18:36:44 -04:00
6b6e63f77f avoid redundant defines 2021-08-23 18:36:07 -04:00
fec77e49bd add clang-format commands to Makefile 2021-08-23 18:22:12 -04:00
2cfc629388 reformat REAXFF headers with clang-format 2021-08-23 18:21:47 -04:00
86739c46d9 Merge pull request #2889 from jrgissing/property/atom-group-bugfix
property/atom group bugfix
2021-08-23 18:20:53 -04:00
6bc8da05b9 reformat unittest tree with clang-format 2021-08-23 17:06:30 -04:00
4e715da2f3 Merge branch 'grid-adjust' of github.com:lammps/lammps into grid-adjust 2021-08-23 14:57:12 -06:00
0dea376e1a restart support for TTM fixes 2021-08-23 14:56:33 -06:00
d640cd6838 Merge pull request #2890 from stanmoore1/kk_deform
Fix bug with v remap option in Kokkos fix deform
2021-08-23 16:41:23 -04:00
3a3f32d3a8 Merge branch 'master' into tip4p_fix_types 2021-08-23 16:43:55 +03:00
0f8b331d8f enable check/fix scripts in traditional makefile 2021-08-22 22:47:55 -04:00
0c7cf3cdaa protect against use with Python 2.x, use full absolute directory path internally 2021-08-22 22:47:09 -04:00
bc91d05857 fix typo 2021-08-22 20:46:58 -04:00
92b5b159e5 replace tabs and remove trailing whitespace in lib folder with updated script 2021-08-22 20:45:24 -04:00
30821b37e5 replace tabs 2021-08-22 20:43:27 -04:00
0c4752b858 add support to check for tabs as whitespace errors including option to fix 2021-08-22 20:43:08 -04:00
607e75f984 remove tabs 2021-08-22 19:42:55 -04:00
8b2e3ad3ee add unit tests for fix addtorque 2021-08-22 14:27:38 -04:00
bb852f2393 skip some more aliased styles 2021-08-22 14:21:31 -04:00
bb5a11b330 add timestepping unit tests for atom style sphere 2021-08-22 14:16:50 -04:00
bf618b3128 support tests for integrators with dipoles and extended particles 2021-08-22 12:44:02 -04:00
d9538a4745 skip some aliases when checking for missing force style tests 2021-08-22 11:55:37 -04:00
db887b4d7a add unit test for angle style dipole 2021-08-22 11:49:29 -04:00
433ece22ec add unit test for dihedral style spherical 2021-08-22 11:28:32 -04:00
9b4317335a reorder includes 2021-08-22 11:28:04 -04:00
9ce9d36ac5 correct package designations for styles in the EXTRA-MOLECULES package 2021-08-22 11:27:48 -04:00
403ee3a85f apply clang-format 2021-08-22 11:13:34 -04:00
ce71e45db0 plug memory leak 2021-08-22 11:11:32 -04:00
eeff288541 tweak settings to pass OpenCL GPU tests in mixed precision 2021-08-22 10:50:28 -04:00
dd670bab66 update dipole data file with randomized dipole orientations 2021-08-21 20:50:16 -04:00
46e4e1b60e add kspace tests with dipoles 2021-08-21 20:45:25 -04:00
1b72cf01a9 add unit test inputs for pair styles with point dipoles 2021-08-21 20:31:18 -04:00
384330aff2 update/correct extract function 2021-08-21 20:31:02 -04:00
1c7bf82930 initialize scale array 2021-08-21 20:30:38 -04:00
4032c6da98 fix restart bug 2021-08-21 20:30:15 -04:00
09b0809d75 add template files for testing dipolar pair styles and kspace styles 2021-08-21 19:18:21 -04:00
3083e6f4cb make ewald/disp/dipole an alias for ewald/disp for more obvious choices for users 2021-08-21 15:56:46 -04:00
2afa00ae66 pretty 2021-08-21 15:18:54 -04:00
ad5cc694dc correctly check for and enable/disable dipole and dispersion support 2021-08-21 15:18:44 -04:00
d8f0cec031 updates/bug-fixes to parallel fix ttm/grid 2021-08-20 16:57:20 -06:00
7c61e96f0b Fix bug with v remap option in Kokkos fix deform 2021-08-20 16:08:06 -06:00
1a81a94dfb fix up whitespace issues (remove tabs, trailing whitespace) 2021-08-20 15:00:19 -04:00
29fe006e46 fix issue in non-perioidic msm.cpp to allow it to work with any grid partitioning 2021-08-20 12:43:47 -06:00
1eb506002b Merge pull request #2888 from lammps/sticker-bonds
Sticker bonds
2021-08-20 14:28:57 -04:00
8735555e00 1 liner fix for PR #2342 2021-08-20 14:17:05 -04:00
fcc6cc628e fix whitespace 2021-08-20 13:47:24 -04:00
55605167ab Merge pull request #135 from lammps/master
rebase
2021-08-20 10:26:57 -04:00
7a8afb6eef add fragment count to molecule file output 2021-08-19 20:10:26 -04:00
f0a041799f add original TTM for testing 2021-08-19 16:55:57 -06:00
95bae4d78c sync with current master 2021-08-19 16:09:41 -06:00
9577db6578 Merge branch 'master' into fix-ttm-grid 2021-08-19 16:00:56 -06:00
3404920e98 Merge pull request #2342 from lammps/fix-property-array
Enable fix property/atom to create custom arrays
2021-08-19 17:33:55 -04:00
b0197e0607 Merge branch 'master' into grid-adjust 2021-08-19 17:29:51 -04:00
d4de26f6ef fix whitespace issues 2021-08-19 17:28:48 -04:00
537f0eed8e Merge pull request #2886 from akohlmey/pair-coul-exclude
Add a pair style coul/exclude for removing excluded coulomb interactions
2021-08-19 17:25:57 -04:00
f7c8b0c88b address spellcheck issues 2021-08-19 17:00:46 -04:00
bc6e805c99 fix doc formatting issues 2021-08-19 16:53:03 -04:00
e1c1c663c4 correction to doc page 2021-08-19 14:21:15 -06:00
845cebaab1 Add comment 2021-08-19 14:02:57 -06:00
eebbbe9f73 support a second usage model with fix bond/swap 2021-08-19 14:01:06 -06:00
7d0c052425 Fix deallocation with Kokkos 2021-08-19 14:00:37 -06:00
9470a0eeb6 clarified doc pages for fix property/atom and read_data 2021-08-19 11:34:25 -06:00
8aeaa82909 improve error message 2021-08-19 11:08:04 -04:00
1c67561be8 Merge branch 'fix-property-array' of github.com:lammps/lammps into fix-property-array 2021-08-19 09:00:51 -06:00
7046b75861 remove evil tabs 2021-08-19 10:06:34 -04:00
11b4ae641f add unit test for pair style coul/exclude 2021-08-19 05:46:12 -04:00
23231118d1 add a couple explanatory comments 2021-08-19 05:29:54 -04:00
093fbfd4b5 add documentation for pair style coul/exclude 2021-08-19 05:25:36 -04:00
8b680d43e5 add pair style coul/exclude for use with kspace style scafacos 2021-08-19 05:00:52 -04:00
7d0cdea282 allow using kspace_style scafacos for molecular systems under certain conditions 2021-08-19 05:00:11 -04:00
4ce71fd767 pretty 2021-08-19 04:23:44 -04:00
89de4eb7c4 make sure that coul/exclude special neighbors are always flagged 2021-08-19 04:23:26 -04:00
3a7a5d13ef apply clang-format 2021-08-19 04:22:55 -04:00
e149c2fe10 function no longer needs to be public 2021-08-19 04:20:12 -04:00
5c46c6d3a6 update unit test for per-atom arrays and vectors 2021-08-18 22:51:09 -04:00
c53875421b fix read_data bug 2021-08-18 22:50:42 -04:00
b942c4d122 fix data corruption bug affecting write_data 2021-08-18 22:31:46 -04:00
04b0f98a5f fix logic bug in utils::expand_args() 2021-08-18 20:26:51 -04:00
d9f3745eff pretty 2021-08-18 20:26:01 -04:00
546c9a109e fix uninitialized data bug 2021-08-18 20:25:49 -04:00
5e6079c2fc Merge branch 'fix-property-array' of github.com:lammps/lammps into fix-property-array 2021-08-18 16:54:02 -06:00
b19a211d70 update code 2021-08-18 18:06:21 -04:00
f6874af7e5 pretty 2021-08-18 18:05:36 -04:00
104fa4624e correct utils::expand_args() 2021-08-18 18:04:44 -04:00
4e16df9a21 remove prototype for early version of partition_grid method 2021-08-18 15:56:52 -06:00
2119b59d97 code documentation tweaks 2021-08-18 15:49:23 -06:00
1c5bdadcfb small alteration to code that assigns grid pts to procs 2021-08-18 15:43:54 -06:00
dbfba25e04 Merge pull request #1 from akohlmey/SLLOD-Kokkos
Update to current upstream, fix a few cosmetic issues, use alternative to str(n)cmp()
2021-08-19 07:29:51 +10:00
cf25a586bd debugging merged version 2021-08-18 13:07:49 -06:00
de61b3a547 update utils::expand_args 2021-08-18 14:35:27 -04:00
0a99d338f2 update argument parsing 2021-08-18 14:35:02 -04:00
1e37d1ad7f pretty 2021-08-18 14:34:03 -04:00
40fcfef35b create_atoms serial build bugfix 2021-08-18 14:17:04 -04:00
355dd5db9b include 2 use cases in doc page 2021-08-18 11:55:47 -06:00
e08c4abb4b whitespace fixes 2021-08-18 13:06:00 -04:00
4fed16fe8b pretty 2021-08-18 13:00:40 -04:00
f9b32f0eef use ArgInfo class to process references to custom vectors and arrays 2021-08-18 13:00:32 -04:00
300fee0437 add some more checks for typical string matches for references to fixes and alike 2021-08-18 12:59:56 -04:00
c50abed92b recover compilation 2021-08-18 12:59:31 -04:00
c6819e30cf simplify 2021-08-18 12:58:39 -04:00
c57da0661d update package name 2021-08-18 12:49:16 -04:00
6db856fd68 refactor dynamic constraints array
cannot use memory->* routines with non-primitive types
2021-08-18 11:24:32 -04:00
08e71eee6d corrections to recent large reformatting PR 2021-08-18 10:30:35 -04:00
f30434659e Merge branch 'master' into SLLOD-Kokkos 2021-08-18 05:55:34 -04:00
511ac49949 reformat, minor cosmetic changes 2021-08-18 05:53:23 -04:00
ee5273fbb1 Merge pull request #2879 from akohlmey/interlayer-refactor
Unit tests, bugfixes and file reader refactor for some INTERLAYER pair styles
2021-08-18 04:54:13 -04:00
4876e0cbb6 Changed URLs in the headers to point to the new LAMMPS site. 2021-08-18 17:37:00 +10:00
2e59b5c4de Fixed whitespace errors and removed some extraneous comments. 2021-08-18 15:23:46 +10:00
b385c85440 Refactored PPPMKokkos::setup_triclinic kernel indexing to be more consistent the rest of the codebase.
This commit "fixes" the temporary solution using Kokkos::MDRange in commit a98b8bee88.
2021-08-18 15:23:46 +10:00
d7f9f9fead Updated documentation to include Kokkos accelerated NEMD styles.
Also tidied up header files and attribution to fit LAMMPS coding style.
2021-08-18 15:23:46 +10:00
8ae9d51466 Fixed memory issues in ComputeTempDeformKokkos. 2021-08-18 15:23:46 +10:00
8945d81be3 Added Kokkos accelerated SLLOD thermostat (nvt/sllod/kk). 2021-08-18 15:23:46 +10:00
e7ba4179a7 Added Kokkos-enabled version of compute temp/deform. 2021-08-18 15:23:46 +10:00
e400e5b6f7 Fixed bug in PPPMKokkos::setup_triclinic for MPI calculations.
This fix should probably be considered a temporary fix - it relies on a
3-dimensional Kokkos range which seems to be disfavoured in the rest of
LAMMPS' codebase.
2021-08-18 15:23:46 +10:00
cfd9cf625d Initial draft of Kokkos acclerated PPPM routines for triclinic cells. 2021-08-18 15:23:46 +10:00
a1dd2c7655 move inline functions from header to cpp file 2021-08-17 22:37:47 -04:00
f470964393 apply clang-format 2021-08-17 22:35:05 -04:00
96b563dffc move common taper functions for interlayer potentials to separate header 2021-08-17 22:34:32 -04:00
bbb8adf656 update kolmogorov/crespi/z and lebedeva/z pair styles to use new file reader and unit conversion 2021-08-17 21:56:17 -04:00
661ec1acc3 fix typo 2021-08-17 21:55:22 -04:00
bb3c4797b3 update some more interlayer potential files 2021-08-17 21:55:12 -04:00
c758d224e0 Merge pull request #2881 from stanmoore1/kk_cmake
Fix issue when building Kokkos with CMake
2021-08-17 21:12:18 -04:00
62564b0a5c cmake: only use LMP_KOKKOS define in build interface 2021-08-17 15:52:09 -06:00
58a86412ec recover compilation 2021-08-17 16:26:59 -04:00
6dafbd2fbe support metal2real unit conversion 2021-08-17 16:20:00 -04:00
0906e94207 small fixes 2021-08-17 16:13:01 -04:00
e5a194d8d4 sync Kokkos changes with current master 2021-08-17 14:12:47 -06:00
2bf9fa91db more changes to merge with current master 2021-08-17 14:03:58 -06:00
05bd545cd3 flush tiny stresses to zero to avoid false positives when testing 2021-08-17 15:10:46 -04:00
4f9941e18d support metal2real unit conversion in pair style drip 2021-08-17 15:05:23 -04:00
6d53cd1986 refactor potential file reader in pair style drip 2021-08-17 14:50:34 -04:00
96280dc185 Merge branch 'master' into fix-property-array 2021-08-17 12:19:27 -06:00
8b8cce4399 add unit test YAML file for DRIP pair style 2021-08-17 14:12:50 -04:00
e6af1eecb8 resolved merge conflicts with master 2021-08-17 11:55:33 -06:00
82871ca515 Merge branch 'master' into interlayer-refactor 2021-08-17 13:25:13 -04:00
527240e941 Merge pull request #2880 from akohlmey/arginfo_update
Collected bugfixes and small update for ArgInfo class
2021-08-17 13:24:02 -04:00
d321202908 Add change from @junghans 2021-08-17 10:27:50 -06:00
9fa255b3ff Fix issue when building Kokkos with CMake 2021-08-17 10:09:39 -06:00
18cc43a560 extend ArgInfo class to also accept "i2_name" and "d2_name" 2021-08-17 12:04:58 -04:00
95a2041df3 reformat potential file headers to comply with LAMMPS' conventions 2021-08-17 10:48:51 -04:00
01503535f4 remove unused symlinks 2021-08-17 10:48:09 -04:00
6ccdeafa78 reformat with clang-format 2021-08-17 10:22:42 -04:00
42fadf55cf fix typos 2021-08-17 10:05:58 -04:00
0dbcb5dd66 replace #define with constrexpr for better compiler error reports on integer constants 2021-08-17 09:42:08 -04:00
f24054f7b3 test utils::fgets_trunc() with buffer size of exactly the length of string 2021-08-17 09:41:19 -04:00
e91185869d fix bug in utils::fgets_trunc(). closes #2878 2021-08-17 09:38:12 -04:00
a901427ee0 Merge pull request #2876 from akohlmey/address-lgtm-issues
Address code quality issues flagged by lgtm.com
2021-08-17 08:53:09 -04:00
dad9942bb8 Merge pull request #2869 from akohlmey/modify-add-returns-index
Have add_fix(), replace_fix() and add_compute() in Modify return class instance and refactor/simplify code
2021-08-16 15:44:16 -04:00
436d200a9a refactor file reader code 2021-08-16 15:29:43 -04:00
9e559de601 pretty 2021-08-16 15:21:51 -04:00
56a74bbe3d refactor file reader code 2021-08-16 15:21:38 -04:00
6f46ac57b9 plug small memory leak in pppm/gpu 2021-08-16 13:50:43 -04:00
7b873ffc0b add unit tests for ilp/graphene/hbn and kolmogorov/crespi/full 2021-08-15 19:07:57 -04:00
832f6499ed add suppression for OpenMP in newer GCC compilers 2021-08-15 18:39:42 -04:00
7efbdb24cc fix memory leak 2021-08-15 18:39:21 -04:00
e15c51c7e1 correctly use global cutoff instead of per-type-pair cutoffs 2021-08-15 17:44:22 -04:00
cba8e8237a avoid memory leak with MPI-IO 2021-08-13 06:25:21 -04:00
eaedd9ad48 fix output issues 2021-08-13 06:24:57 -04:00
9cb8a6205e apply "no" argument correctly 2021-08-13 06:24:39 -04:00
a765cf373a update formatting 2021-08-13 06:24:22 -04:00
f08c249d40 don't hide parameter with local variable 2021-08-13 06:23:46 -04:00
1abce8e821 remove dead code 2021-08-13 05:51:05 -04:00
3bfb235070 fix memory leak 2021-08-13 05:50:53 -04:00
3e99e24f41 make calls to virtual functions from constructors explicit 2021-08-13 05:50:44 -04:00
0928c912c0 fix memory leaks and reformat 2021-08-13 05:50:03 -04:00
26c681cf73 update for changes in base class 2021-08-09 16:28:19 -04:00
c8b7b8271d add missing dependency 2021-08-09 16:28:03 -04:00
1d98388129 Merge branch 'modify-add-returns-index' of github.com:akohlmey/lammps into modify-add-returns-index
# Conflicts:
#	src/GRANULAR/pair_gran_hooke_history.cpp
2021-08-09 16:00:48 -04:00
fe008b93d7 remove obsolete line 2021-08-07 10:33:26 -04:00
42625a82d1 simplify more code for creating fix instances using the improved APIs 2021-08-07 10:09:06 -04:00
68c15ebf04 refactor/simplify code due to changes in Modify 2021-08-07 10:09:06 -04:00
f23b04f9b6 update Eigen3 to support the latest stable release 3.3.9 2021-08-07 10:09:06 -04:00
88604328f5 workaround for PGI compilers 2021-08-07 10:09:06 -04:00
156790df2c apply changes to modify class 2021-08-07 10:08:58 -04:00
0b30f57812 streamline code by using changes in Modify class 2021-08-07 10:04:49 -04:00
0d9344c9e2 simplify 2021-08-07 10:04:49 -04:00
01f5b7e095 when creating or replacing a fix or compute, return pointer to new instance 2021-08-07 10:04:49 -04:00
e789bf8925 use temporary vector container to avoid explicit delete[] 2021-08-07 10:04:49 -04:00
0123f9290f update Eigen3 to support the latest stable release 3.3.9 2021-08-06 18:59:56 -04:00
06371629d6 workaround for PGI compilers 2021-08-06 18:44:42 -04:00
c84e7a5040 Merge pull request #2868 from akohlmey/collected-small-changes
Collected small changes
2021-08-06 18:35:29 -04:00
29bf3acd9e apply changes to modify class 2021-08-06 18:34:32 -04:00
03f9ef7de9 add unique identifier to the history fix so the gran/*/history styles can be used multiple times with pair style hybrid 2021-08-06 15:34:43 -04:00
e9e6cdca1d using GPU package is not compatible with fix qeq variants 2021-08-06 14:22:48 -04:00
e29bd3d157 update defines from -DLMP_USER-<PKG> to -DLMP_<PKG> for consistency 2021-08-06 14:07:43 -04:00
93465f98d8 improve error message 2021-08-06 13:55:53 -04:00
aeef6e6773 reformat with clang-format 2021-08-06 13:55:53 -04:00
8baaed5724 use const std::string & instead of const char *. avoid exception in sfree() 2021-08-06 13:55:53 -04:00
a7d05cff09 streamline code by using changes in Modify class 2021-08-06 13:39:02 -04:00
b16bca2f45 simplify 2021-08-06 13:39:02 -04:00
06f6434b38 when creating or replacing a fix or compute, return pointer to new instance 2021-08-06 13:39:02 -04:00
5861577a72 use temporary vector container to avoid explicit delete[] 2021-08-06 13:39:02 -04:00
912a1fc561 Merge pull request #2865 from rbberger/python_update
Python package update
2021-08-06 13:37:14 -04:00
eece77eecf Merge pull request #2866 from Colvars/colvars-update
Update Colvars to version 2021-08-06 (silence Coverity Scan warnings)
2021-08-06 11:20:46 -04:00
eb52f7c290 Update Colvars to version 2021-08-06 (silence Coverity Scan warnings)
Also include PDF copy of the manual forgotten in previous PR.
2021-08-06 10:32:37 -04:00
b9fa4e1db2 avoid memory leaks on specifying keywords multiple times 2021-08-06 10:22:31 -04:00
f3a03d6a84 Catch ValueError instead of base exception 2021-08-06 10:21:40 -04:00
53b94ac94d Allow fix python/move to load class from __main__ 2021-08-05 18:10:19 -04:00
980b817f3f Allow python pair style to load class from __main__ 2021-08-05 18:03:05 -04:00
5045595ad8 Merge pull request #2861 from akohlmey/fix-valgrind-issues
Address issues flagged by running unit tests with valgrind and sanitizer instrumentation
2021-08-05 16:07:57 -04:00
3fc97e9466 Merge branch 'fix-valgrind-issues' of github.com:akohlmey/lammps into fix-valgrind-issues 2021-08-05 12:20:33 -04:00
5295bb5109 fix refactoring bugs 2021-08-05 12:20:20 -04:00
177e60830e Merge branch 'master' into fix-valgrind-issues 2021-08-05 12:11:59 -04:00
c23dc22a3e Merge pull request #2862 from akohlmey/intel-set_ntypes-consistent
Make ForceConst::set_ntypes() more robust and fix related bug in pair style sw/intel
2021-08-05 11:50:50 -04:00
50c476b6af Merge pull request #2863 from Colvars/colvars-update
Update Colvars library to version 2021-08-03
2021-08-05 11:16:51 -04:00
9a60ab0c23 correctly insert atoms/molecules any nfreq timesteps even with multiple run
this changes the computation of "next_reneighbor" so that it is based
on "nfirst" which is set during the constructor of the class.
This still maintains the property that the first deposit attempt is not
done during setup, but on the next step.
2021-08-04 21:32:10 -04:00
bc6dfdb656 update readme 2021-08-04 17:44:56 -04:00
08a727d510 make some class members temporaries since they don't need to persist 2021-08-04 17:19:23 -04:00
2e7b3081a1 fix bug enumerating output when using python invoke with multiple functions 2021-08-04 17:07:16 -04:00
bb9c0630f8 suppressions for readline function calls from lammps-shell 2021-08-04 17:06:02 -04:00
0ea6406bb9 Merge branch 'fix-valgrind-issues' of github.com:akohlmey/lammps into fix-valgrind-issues 2021-08-04 12:25:12 -04:00
c4442206d4 add special case for heredocs in utils::split_words() to avoid segfaults 2021-08-04 12:03:34 -04:00
7068f3e77b add a few more test cases for testing utils::split_words() 2021-08-04 12:02:55 -04:00
2a9be42758 Update Colvars to version 2021-08-03 2021-08-03 18:03:18 -04:00
0938bc8999 update docs for hybrid style updates 2021-08-02 21:53:31 -04:00
c1c31c6b04 may not call memmove() on a null pointer, even if 'n' is 0. 2021-08-02 21:35:25 -04:00
04c7e7543e use friend statement instead of (incorrect) cast to give access to protected class member 2021-08-02 21:34:30 -04:00
37ca6a8e0b make handling of reference to Memory class in ForceConst class more robust 2021-08-02 15:50:44 -04:00
b7be9415de fix segfault with pair style sw/intel 2021-08-02 15:49:26 -04:00
53050a0429 add suppressions for FlexiBLAS on Fedora 2021-08-02 15:45:32 -04:00
a3bfcc68ef add libgomp suppression for newer GCC 2021-08-02 15:45:15 -04:00
848db31a77 reformat with clang-format 2021-08-02 15:25:01 -04:00
8aa39a6c40 make compatible with CLASS2 2021-08-02 15:23:16 -04:00
45858be1b6 avoid uninitialized data access for hybrid styles with OPENMP 2021-08-02 15:22:21 -04:00
50e8d7c36b Merge pull request #2859 from akohlmey/next_patch_release
Step version strings for next patch release
2021-07-30 16:40:10 -04:00
29eee29241 Merge pull request #2860 from evoyiatzis/patch-1
fixing compute gyration/shape indexing bug
2021-07-30 15:45:51 -04:00
db4fcd7537 update package dependency 2021-07-30 15:24:23 -04:00
75214f1eeb Merge pull request #2857 from akohlmey/update-formatted-output
Modernize formatted output and string handling in packages
2021-07-30 12:50:25 -04:00
82936b1e4f fixing indexing bug
The gyration_tensor[4] element  as computed by "compute gyration" corresponds to the xz component of the gyration tensor and the gyration_tensor[5] to the yz component. The  code  assumed that gyration_tensor[4] corresponds to the yz component and the gyration_tensor[5] to the xz.
2021-07-30 18:14:44 +02:00
f5b82ea3ef Merge pull request #2856 from akohlmey/collected-small-changes
Collected small changes and fixes
2021-07-30 11:36:40 -04:00
5f401da462 correct bug in derived CG-DNA FENE bond classes and optimize code 2021-07-30 10:48:15 -04:00
9dc662973e step version strings for next patch release 2021-07-29 21:18:03 -04:00
d211bbc0d6 expand ArgInfo class unit tests 2021-07-29 20:58:02 -04:00
cb32bb972b fix bugs in ArgInfo class 2021-07-29 20:57:42 -04:00
6b20da7549 update lammps shell test to use a fix that is always available 2021-07-29 17:48:35 -04:00
4710b7bc9e modernize and simplify code to find best matching restart file 2021-07-29 17:25:42 -04:00
5cdf55937d move pair style tracker to a better location 2021-07-29 17:17:06 -04:00
ca2abd22be remove unused file 2021-07-29 17:08:16 -04:00
a80829bd79 avoid compilation error 2021-07-29 16:14:52 -04:00
a6d66c3518 update .gitignore 2021-07-29 16:07:23 -04:00
33905fd689 fix one more KOKKOS package installation dependency 2021-07-29 16:07:14 -04:00
246b70ae46 update codeowners list 2021-07-29 15:56:21 -04:00
c49a533ad9 reformat, simplify, add reference log files 2021-07-29 15:40:43 -04:00
b108da3e5c simplify format handling 2021-07-29 15:26:29 -04:00
dcff3d70e0 simplify fix instance creation 2021-07-29 15:18:58 -04:00
520109bda0 simplify 2021-07-29 14:55:22 -04:00
ebe5e6c024 reformat 2021-07-29 14:44:15 -04:00
5b6b6b8767 simplify and use utils functions 2021-07-29 14:33:41 -04:00
b5830b672a simplify logging code 2021-07-29 14:18:38 -04:00
9cf790a2fe simplify and use fmtlib 2021-07-29 14:09:49 -04:00
3a968b81ad update 2021-07-29 13:59:59 -04:00
b4e3795913 fix copy-n-paste error 2021-07-29 13:58:27 -04:00
43b3c97cc0 add unit tests for scafacos kspace solver (skipping p3m) 2021-07-29 13:57:02 -04:00
2a1177fa92 reformat with clang-format 2021-07-29 13:29:56 -04:00
508798ab2b simplify code, make use of fmtlib and utils 2021-07-29 13:25:06 -04:00
a9271b6d9a replace temporary char buffer with using fmtlib 2021-07-29 12:36:50 -04:00
211d6636b4 modernize and simplify code to find best matching restart file 2021-07-29 12:09:55 -04:00
5f2b947b99 fix typo 2021-07-29 11:48:24 -04:00
1e48be92aa avoid segfault 2021-07-28 21:50:20 -04:00
b9ab0eb607 fix broken symbolic links 2021-07-28 21:32:52 -04:00
bf6c982b49 skip using neighbor list load balancing weight when using KOKKOS with GPU 2021-07-28 21:30:06 -04:00
b8d3297659 add missing package dependency 2021-07-28 18:45:09 -04:00
d33863839e update pair style installation dependencies 2021-07-28 18:37:59 -04:00
294ac76f41 forgot to move pair style beck to EXTRA-PAIR 2021-07-28 18:33:33 -04:00
6fcfbb7793 add missing dependency for conventional build 2021-07-28 18:18:54 -04:00
3a5d3fc541 fix compilation 2021-07-28 18:11:59 -04:00
218467b385 use fabs() instead of abs() on floating point number 2021-07-28 16:17:12 -04:00
9a4bc8eda1 apply citation reminder 2021-07-28 16:16:54 -04:00
f46e1c98f7 removed dead code and make consistent with non-OPENMP version 2021-07-28 16:16:42 -04:00
32be894ae2 silence compiler warnings 2021-07-28 16:16:22 -04:00
b59f23068f Merge pull request #2851 from akohlmey/next_patch_release
Step version number strings for the next patch release
2021-07-28 15:26:03 -04:00
b2f70f4e1f Merge pull request #2855 from akohlmey/update-unittest
Correct a couple of unit tests for package reorganization
2021-07-28 14:15:01 -04:00
600471d07f skip run test with fix when fix is not available 2021-07-28 12:11:54 -04:00
74a27c102e correct prerequisite 2021-07-28 12:11:35 -04:00
ed34856961 Merge pull request #2854 from akohlmey/final-fixes-for-patch-release
Final fixes for the patch release
2021-07-27 20:31:52 -04:00
8e6b7bf6e5 Merge pull request #2853 from stanmoore1/kk_verlet
Fix bug in verlet_kokkos.cpp with GRANULAR package
2021-07-27 18:59:20 -04:00
bb5da016d4 add dependencies for KOKKOS style to the conventional build 2021-07-27 18:21:45 -04:00
269690b771 document hard package dependencies 2021-07-27 18:21:22 -04:00
fe34fe26b2 add a hard dependency on EXTRA-PAIR to the DIELECTRIC package 2021-07-27 18:21:08 -04:00
416048e939 Fix compile error 2021-07-27 15:57:06 -06:00
f20479f10e Fix typo 2021-07-27 15:47:42 -06:00
e47bd5c490 Merge branch 'master' of github.com:lammps/lammps into kk_verlet 2021-07-27 14:28:54 -06:00
c4eee478b1 move back to src for dependencies 2021-07-27 15:53:35 -04:00
de4322b54c whitespace fixes 2021-07-27 14:32:04 -04:00
3ff096e517 Merge pull request #2848 from akohlmey/collected-small-changes
Collected small changes for the next patch release
2021-07-27 14:24:12 -04:00
b1331f52a5 Merge pull request #2849 from wmbrownIntel/intel-omp-simd
Convert Intel package simd vectorization directives to OpenMP standard
2021-07-27 13:37:58 -04:00
dbe14d9ee7 Add missing method to Kokkos verlet 2021-07-27 11:22:20 -06:00
d292da78ca address CodeQL warnings and reformat with clang-format 2021-07-27 12:29:44 -04:00
f7f85822a9 move some more computes from EXTRA-COMPUTE back to src because of dependencies 2021-07-27 12:07:27 -04:00
8838fbc1c3 Merge pull request #2850 from akohlmey/lammps-gather-bonds
Implement lammps_gather_bonds() into the C-library interface and the Python module
2021-07-27 11:30:19 -04:00
ec069595f7 move compute orientorder/atom because compute coord/atom depends on it 2021-07-27 11:16:40 -04:00
2d488bab6b Merge branch 'master' into collected-small-changes 2021-07-27 11:15:00 -04:00
dab884fd1f Merge pull request #2829 from akohlmey/package-reorganization2
Package reorganization (step 2)
2021-07-27 10:55:32 -04:00
f39c5178d8 update plumed to version 2.7.2 and drop workaround for 2.7.1 2021-07-27 09:56:52 -04:00
16fae72670 small tweak for MinGW-64 compilation on Fedora 34 2021-07-27 08:44:59 -04:00
a4ffffad33 update some version strings for library and python APIs 2021-07-26 23:10:24 -04:00
044fe2e49d step version number strings for the next patch release 2021-07-26 23:09:18 -04:00
458253b452 add python interface with optional numpy support for lammps_gather_bonds()
unit tests are included
2021-07-26 22:40:21 -04:00
cc87e7eee3 add unit test for c-library interface function lammps_gather_bonds() 2021-07-26 20:59:14 -04:00
829bc8a617 update equation for updated NEB code 2021-07-26 18:45:37 -04:00
fdc75dcf35 add lammps_gather_bonds() function to the C library interface 2021-07-26 18:32:06 -04:00
f34f6b2a27 Merge branch 'master' of https://github.com/wmbrownIntel/lammps into intel-omp-simd 2021-07-26 12:10:37 -07:00
af359df042 Allowing nofdotr for Intel package with newton off. 2021-07-26 12:04:31 -07:00
fefcd0e2af Converting cilk vectorization directives to the openmp standard and changing some more depracated vector intrinsics. Data alignment directives for compiler vectorization are still mostly intel specific. 2021-07-26 11:22:21 -07:00
cca17feb27 silence compiler warnings, remove dead code 2021-07-26 12:31:09 -04:00
1fa621d02d correct quoted screen output 2021-07-25 21:18:52 -04:00
ef244c3061 small updates to the introduction 2021-07-25 21:05:33 -04:00
7e6a06b1cc update Pizza.py URLs 2021-07-25 21:04:26 -04:00
0513ba2df5 spelling 2021-07-25 20:28:14 -04:00
5a79429f03 fix up some more package designations and clean up some legacy formatting 2021-07-25 20:23:37 -04:00
18b1e10be8 Merge branch 'master' into package-reorganization2 2021-07-25 19:21:47 -04:00
1ebd60e35e update and add explanation 2021-07-25 10:56:38 -04:00
afc54639c4 update references to USER-MISC package 2021-07-25 10:42:35 -04:00
41db4235d6 update package names for pair style moved away from USER-MISC 2021-07-25 10:28:40 -04:00
513e792ece fix required package message 2021-07-25 10:15:15 -04:00
9d9b089700 get rid of references to USER-MISC in the general discussion 2021-07-25 10:03:16 -04:00
9d162d865a move pimd to REPLICA 2021-07-25 09:59:56 -04:00
2e4119dca7 update package list and details for newly created packages and removed USER-MISC 2021-07-24 21:01:19 -04:00
f192102da9 move examples away from USER-MISC now that the package folder is gone 2021-07-24 20:53:23 -04:00
57270c5339 set flag to tell CMake to not use/link the MPI C++ interface in the correct place 2021-07-24 13:46:13 -04:00
add7565d9f recover unit test compilation 2021-07-23 18:24:40 -04:00
852f18525d complete moving packages and styles around 2021-07-23 18:11:25 -04:00
0de2167fb6 Merge pull request #2846 from stanmoore1/mpich
Add logic for GPU-enabled MPICH to Kokkos package
2021-07-23 14:42:18 -04:00
1bc0a5ca8a Merge branch 'master' of github.com:lammps/lammps into mpich 2021-07-23 10:28:28 -06:00
c587252894 rename unittest YAML files 2021-07-23 12:13:50 -04:00
25aa202976 tweak epsilon to pass reaxff unittests on macOS 2021-07-23 12:12:57 -04:00
594bf56ee3 silence compiler warnings on macOS 2021-07-23 12:12:40 -04:00
fd3be6176d remove dead code 2021-07-23 08:36:23 -04:00
d2684a2370 Merge branch 'master' into package-reorganization2 2021-07-23 07:41:10 -04:00
8889fa316e Merge pull request #2837 from akohlmey/fix-external-python-support
Update and document support for fix external in the library interface and python module
2021-07-23 07:30:47 -04:00
c33bead8b1 silence static code analysis warning 2021-07-22 23:26:22 -04:00
ff7f2e78a1 Merge branch 'master' into fix-external-python-support 2021-07-22 23:09:54 -04:00
320f7da91a Merge pull request #2708 from akohlmey/refactor-reaxff-parser
Refactoring and improving REAXFF and QEQ packages
2021-07-22 23:04:09 -04:00
c8cc5ecb9f implement setting per-atom virial from numpy array (thanks to stackoverflow) 2021-07-22 22:50:05 -04:00
a078d1ba53 check energy and virial per atom arrays for correct size 2021-07-22 22:49:16 -04:00
9066495d78 Merge pull request #2838 from kipbarrett/pair_rann
plugged memory leaks in ml-rann package. Resolves [2811]
2021-07-22 22:04:39 -04:00
bf8bde5b03 implement numpy wrapper for setting per-atom energy. virial not yet implemented 2021-07-22 16:59:04 -04:00
d0a654097f Merge branch 'collected-small-changes' into refactor-reaxff-parser 2021-07-22 16:46:07 -04:00
fbf3bcae70 correct automated substition mistake 2021-07-22 16:45:30 -04:00
74c306b32b whitespace 2021-07-22 16:37:06 -04:00
324ae3181b python interface for per-atom data for fix external 2021-07-22 15:27:51 -04:00
d3e19aa430 Merge branch 'info-create-atoms' of github.com:athomps/lammps into collected-small-changes 2021-07-22 15:00:21 -04:00
d211cea898 bugfix from Dan Bolintineanu. closes #2812 2021-07-22 14:58:33 -04:00
2d93edab1b Added one line of diagnostic output to create_atoms command 2021-07-22 12:22:34 -06:00
bb46dd7d1f update embedded documentation for the library interface functions for accessing fix external 2021-07-22 13:14:49 -04:00
fde6cae56d Add logic for GPU-enabled MPICH 2021-07-22 08:44:32 -06:00
d5ba7b2578 Propagate variable rename 2021-07-22 08:10:42 -06:00
b7334fc688 Merge pull request #2844 from rbberger/offline_update
Offline compilation tool update
2021-07-22 08:58:06 -04:00
f79b6ac373 recover compilation of KOKKOS package 2021-07-21 23:39:19 -04:00
c59dc079db correctly detect when to retrieve parameters from pair style reaxff 2021-07-21 22:53:18 -04:00
c78d4eab36 update standard examples for new style names 2021-07-21 22:52:43 -04:00
9cf50eb4db add allocation and reduction for per-atom stress with OpenMP 2021-07-21 22:44:18 -04:00
5b46e679c8 update style names 2021-07-21 22:00:43 -04:00
03249dec8b reformat 2021-07-21 22:00:27 -04:00
e12070316b fix spelling issue 2021-07-21 22:00:18 -04:00
f8f4af471f general rename of files, styles, and keywords from "reax/c", "reax", or "reaxc" to "reaxff" 2021-07-21 21:52:25 -04:00
6d3a5a6eb9 Port custom changes to atom_kokkos 2021-07-21 17:05:56 -06:00
aa885a9d8d make virial processing use the total global virial 2021-07-21 17:06:21 -04:00
5436975fa2 update unit test reference data for REAXFF also with OpenMP enabled 2021-07-21 16:01:28 -04:00
b20fcbd686 implement per-atom stress and nofdotr support for reax/c/omp 2021-07-21 16:00:28 -04:00
72744ea441 update swig interface file to the latest changes in the c library header 2021-07-21 12:08:19 -04:00
d7edc95193 Update init_http_cache.sh 2021-07-21 11:34:43 -04:00
13147707aa Add utility script to help update URLs for offline tool 2021-07-21 11:33:11 -04:00
f53c1978cc swap groups in the example snippet to get consistent pressure and heat flux sign 2021-07-21 10:23:12 -04:00
d16f751413 Merge branch 'master' into package-reorganization2 2021-07-21 10:23:04 -04:00
94ce07b2de Merge branch 'lammps:master' into tip4p_fix_types 2021-07-21 14:09:39 +03:00
f6e9c30818 update unit tests 2021-07-21 00:47:10 -04:00
cf3bf374fa Merge branch 'master' into refactor-reaxff-parser 2021-07-21 00:30:53 -04:00
9615867600 make contribution to global virial compatible with pf/array mode 2021-07-21 00:25:32 -04:00
f5e7e26ef9 Merge pull request #2836 from akohlmey/collected-small-changes
Collected small changes
2021-07-20 20:51:59 -04:00
6604508b55 Merge branch 'master' into collected-small-changes 2021-07-20 19:39:10 -04:00
96389213ab Merge pull request #2788 from jtclemm/track-contacts
Track properties of pair interactions
2021-07-20 19:38:21 -04:00
2c77adaefb reformat with clang-format 2021-07-20 19:36:44 -04:00
de092206b9 support using LAMMPS_POTENTIALS expansion for (primary) QUIP file and echo file and units 2021-07-20 19:35:00 -04:00
03f6244fef add quip SW potential file and corresponding unit test 2021-07-20 19:34:06 -04:00
8a4820a033 add data/units comments to example quip potential files 2021-07-20 19:31:52 -04:00
600b0d34ca disable install command for build libquip.a (not needed) 2021-07-20 19:31:04 -04:00
c19d37990d reformat with clang-format 2021-07-20 18:31:52 -04:00
b9cc8c8d24 Merge branch 'master' into collected-small-changes 2021-07-20 18:14:02 -04:00
2718596d65 Merge pull request #2835 from ohenrich/cg-dna
Documentation: CG-DNA package
2021-07-20 18:03:34 -04:00
63794aa698 Merge branch 'master' into track-contacts
# Conflicts:
#	doc/src/Packages_details.rst
#	src/DIELECTRIC/pair_coul_cut_dielectric.h
#	src/MISC/fix_pair_tracker.cpp
#	src/MISC/fix_pair_tracker.h
#	src/MISC/pair_tracker.cpp
#	src/MISC/pair_tracker.h
#	src/pair_tracker.h
2021-07-20 16:19:38 -04:00
acfe590343 whitespace 2021-07-20 16:03:33 -04:00
06d5bcb19b Merge branch 'master' into collected-small-changes 2021-07-20 16:02:46 -04:00
2a0c6ad979 Merge pull request #2841 from donatas-surblys/heat-flux-virial-tally
A new tally compute to obtain virial heat flow from group 2 to group 1
2021-07-20 16:01:30 -04:00
d8ca3e4b16 add support for automatically downloading and building libquip 2021-07-20 16:00:42 -04:00
eeea566093 correct typo 2021-07-20 14:32:30 -04:00
b6e749f7fc reformat with clang-format 2021-07-20 14:27:29 -04:00
64a85fc762 Merge pull request #2842 from wmbrownIntel/user-intel-llvm
Intel Package Update for CLANG/LLVM-based compiler
2021-07-20 14:22:33 -04:00
2a4b60d597 in the output info section: flux -> flow 2021-07-20 18:03:11 +09:00
6fd1cda2a6 update documentaion for heat/flux/tally and heat/flux/virial/tally 2021-07-20 17:48:12 +09:00
cfd9e31d18 add links to heat/flux/virial/tally and add short descriptions for tally computes 2021-07-20 13:31:41 +09:00
1345c25f41 Fixing issue where __INTEL_COMPILER not defined for next-gen (LLVM-based) in tersoff. 2021-07-19 17:49:11 -07:00
52a0b0a902 Merge branch 'master' into pair_rann 2021-07-19 18:04:43 -04:00
596845c8ef Merge branch 'master' of https://github.com/lammps/lammps into user-intel-llvm 2021-07-19 11:25:42 -07:00
d739c3bede Fixes to the Intel package to remove errors and warnings with clang-based compiler and support alternate preprocessor defines for the next-gen Intel compiler (currently not recommended for performance).. 2021-07-19 11:16:09 -07:00
4e0071c8cf rearranged deallocation 2021-07-19 12:52:09 -05:00
a1082f4de9 fix typo 2021-07-19 12:15:43 -04:00
008da35533 Merge branch 'master' into refactor-reaxff-parser 2021-07-19 11:52:43 -04:00
52156ccb35 Merge branch 'master' into package-reorganization2 2021-07-19 11:07:42 -04:00
5c4fb41ac0 Merge pull request #2839 from craabreu/respa_bug_fix
Fixed bug in fix np[ht] with runstyle respa
2021-07-19 11:02:25 -04:00
ef72ea9dd9 Fixed whitespace issues 2021-07-19 11:49:27 +01:00
cf85fba37c Corrected text in warning message 2021-07-19 11:27:08 +01:00
2881f95d7a Merge branch 'cg-dna' of https://github.com/ohenrich/lammps into cg-dna 2021-07-19 11:23:50 +01:00
170b5be906 Added missing pointer name, reformatting 2021-07-19 11:23:27 +01:00
15b3b6445e Updated tests and documentation, added warning message 2021-07-19 11:22:06 +01:00
f247a2aedf fix issues with pair style more/soft and reformat 2021-07-19 01:04:35 -04:00
0cb09786b6 need to make this functions virtual since they are overridded by morse/soft 2021-07-19 01:02:52 -04:00
b03f25a650 simplify 2021-07-19 01:02:06 -04:00
1c4e8aba12 add tests for per-atom values, global energy with pf/array mode 2021-07-19 00:29:27 -04:00
8460d67eb2 update embedded documentation to correctly describe the functionality 2021-07-19 00:25:00 -04:00
76ec9b8616 port changes from dump netcdf to dump netcdf/mpiio 2021-07-18 19:04:08 -04:00
1f9e0adfe9 more reformatting 2021-07-18 18:37:27 -04:00
536ba492fb error out on trying to dump strings or variables 2021-07-18 17:47:01 -04:00
ce7cca2ae4 use scoped enums from Dump and Thermo classes instead of replicating them, reformat 2021-07-18 17:44:06 -04:00
2eff15d1e6 move data type enum to header so it can be used in dump netcdf 2021-07-18 17:41:14 -04:00
418acea543 support wildcard dump keywords, simplify, modernize, reformat 2021-07-18 16:59:58 -04:00
3c0a2345cc simplify, reformat, and better error messages 2021-07-18 16:42:43 -04:00
8ed608abbf Fixed RESPA/kspace/barostat bug in BOCS, DRUDE, and USER-MISC 2021-07-18 16:22:25 -03:00
fa7ae99511 Fixed bug in fix np[ht] with runstyle respa 2021-07-18 12:48:05 -03:00
57df891572 avoid duplicate label 2021-07-17 07:49:41 -04:00
1ff90a9e8c ignore Testing folder in root dir (created when running "ctest --test-dir build") 2021-07-17 07:45:53 -04:00
f251bc544f support setting global virial for fix external from python 2021-07-17 07:38:53 -04:00
fa654f2270 add support for set_vector for fix external in c-library, python and unittest 2021-07-16 23:41:25 -04:00
d462bb3131 fix off-by-one bug 2021-07-16 22:44:04 -04:00
504b756a9a recover compilation. we don't use the energy, only the force 2021-07-16 22:06:39 -04:00
0ddd90fe0f reformat allocations and deallocations 2021-07-16 21:50:56 -04:00
626b93cfbb plug memory leak for alpha/alpha_k parameter 2021-07-16 21:44:53 -04:00
ba5bf0fb77 plugged memory leaks. Resolves [2811] 2021-07-16 17:37:06 -05:00
5912d0a1c2 add support for setting global energy for fix external to python module 2021-07-16 17:43:44 -04:00
f3dc13c9dd expand library interface for fix external functionality 2021-07-16 17:29:15 -04:00
8b1dedf04a add extract method to fix external 2021-07-16 17:21:57 -04:00
6d292b1bf2 small tweaks 2021-07-16 14:51:27 -04:00
88e363c0bb document and add unit tests for lammps_set_fix_external_callback() 2021-07-16 14:51:04 -04:00
034c337aaf reformat 2021-07-16 12:05:45 -04:00
ef2e5dbb73 reformat 2021-07-16 10:56:54 -04:00
a4d58462df simplify and avoid failure with -ffast-math where NaN signaling doesn't work reliably 2021-07-16 10:54:59 -04:00
fb1e757524 Merge branch 'lammps:master' into cg-dna 2021-07-16 12:58:26 +01:00
b7a17dc25d Added warning message in documentation and dsDNA ring test in examples 2021-07-16 12:57:21 +01:00
b00a281708 a tally compute to obtain virial heat flux into group 1 due to group 2 2021-07-16 14:29:07 +09:00
bed363cda9 Merge branch 'master' into collected-small-changes 2021-07-15 17:24:15 -04:00
741e13743c Merge branch 'master' into refactor-reaxff-parser 2021-07-15 17:23:56 -04:00
95792ac928 Merge pull request #2833 from athomps/delete-last-mol
Delete last mol
2021-07-15 17:16:48 -04:00
2a61f72790 Merge pull request #2827 from ohenrich/cg-dna
CG-DNA: New Class AtomVecOxdna
2021-07-15 16:43:08 -04:00
5be930fa76 cleanup 2021-07-15 16:40:15 -04:00
637eef51b9 reformat 2021-07-15 15:45:01 -04:00
dc70f97ad4 restore changes from upstream that were undone by incorrectly resolving merge conflicts 2021-07-15 15:44:35 -04:00
d97ea4ebf6 make dependency of CG-DNA on ASPHERE and MOLECULE a hard dependency 2021-07-15 15:42:50 -04:00
d024dc0e09 whitespace fixes 2021-07-15 15:12:04 -04:00
3402953f05 Merge pull request #2832 from stanmoore1/kk_snap_host
Revert Kokkos CPU SNAP to original code
2021-07-15 15:06:50 -04:00
a7619b8dae Removed virtual keyword, defined internal variable 2021-07-15 17:32:19 +01:00
e6181d14d7 Use latest versions in master branch 2021-07-15 13:53:15 +01:00
e99b8ed07c Merge branch 'master' into cg-dna 2021-07-15 13:37:24 +01:00
0f0059269d Modified data_bonds_post() and calling structure 2021-07-15 13:36:40 +01:00
54cf985280 Add message so no unexpected behavior 2021-07-14 20:54:50 -06:00
5f302b9035 temporarily skip testing REAXFF with OpenMP 2021-07-14 17:42:46 -04:00
1ce5e3bd00 Merge branch 'master' of github.com:lammps/lammps into kk_snap_host 2021-07-14 14:49:16 -06:00
e87fae5c92 remove unused variable 2021-07-14 14:38:29 -04:00
ece556b463 Merge branch 'master' into refactor-reaxff-parser
# Conflicts:
#	src/OPENMP/reaxc_init_md_omp.cpp
#	src/REAXFF/reaxc_allocate.cpp
#	src/REAXFF/reaxc_control.cpp
#	src/REAXFF/reaxc_defs.h
#	src/REAXFF/reaxc_ffield.cpp
#	src/REAXFF/reaxc_init_md.cpp
#	src/REAXFF/reaxc_io_tools.cpp
#	src/REAXFF/reaxc_list.cpp
#	src/REAXFF/reaxc_traj.cpp
2021-07-14 14:34:25 -04:00
5af74edcc0 Merge pull request #2815 from stanmoore1/kk_hash
Add atom_map hash option for Kokkos package
2021-07-14 14:20:11 -04:00
2295745318 Revert to original SNAP code for Kokkos CPU 2021-07-14 11:21:12 -06:00
fb73382c94 Documented restriction on molecular count >= 1 for fix rigid 2021-07-14 11:13:54 -06:00
38b156a08a Resolved bogus merge conflict and added change to last molecule deletion 2021-07-14 11:07:10 -06:00
c9c27ac7e2 Merge pull request #2831 from stanmoore1/kk_noinit
Remove deprecated Kokkos code ViewAllocateWithoutInitializing
2021-07-14 12:09:30 -04:00
3895ae194d Make function static 2021-07-13 12:17:24 -06:00
871ef80f83 Merge branch 'master' of github.com:lammps/lammps into kk_noinit 2021-07-13 11:42:41 -06:00
fc5f91b44c Revert accidental change 2021-07-13 10:34:50 -06:00
ac07253ed6 Fix GPU issues 2021-07-13 10:29:37 -06:00
d412a4c933 re-enable OpenMP testing for ReaxFF 2021-07-12 21:03:10 -04:00
01d7afdaa4 Small refactor 2021-07-12 15:54:02 -06:00
4c0036955e Merge branch 'kk_hash' of github.com:stanmoore1/lammps into kk_hash 2021-07-12 15:53:50 -06:00
e29577634d fix whitespace 2021-07-12 16:23:45 -04:00
65e2a8f070 Avoid unnecessary deep_copy when only a single memory space 2021-07-12 14:21:05 -06:00
e0ba11fbf0 update LAMMPS homepage URL 2021-07-12 16:19:31 -04:00
b4d3dbe0af Avoid unnecessary deep_copy when only a single memory space 2021-07-12 14:11:53 -06:00
f4239530bd recover virial and nofdotr related changes by @athomps and @akohlmey 2021-07-12 15:58:27 -04:00
b752bda1b9 Fix GPU issues 2021-07-12 13:06:54 -06:00
757e2f8cff Merge branch 'master' into refactor-reaxff-parser
# Conflicts:
#	doc/src/fix_qeq_reax.rst
#	src/OPENMP/reaxc_bond_orders_omp.h
#	src/OPENMP/reaxc_bonds_omp.h
#	src/OPENMP/reaxc_forces_omp.h
#	src/OPENMP/reaxc_hydrogen_bonds_omp.h
#	src/OPENMP/reaxc_init_md_omp.cpp
#	src/OPENMP/reaxc_init_md_omp.h
#	src/OPENMP/reaxc_multi_body_omp.h
#	src/OPENMP/reaxc_nonbonded_omp.h
#	src/OPENMP/reaxc_torsion_angles_omp.h
#	src/OPENMP/reaxc_valence_angles_omp.h
#	src/OPENMP/reaxff_omp.h
#	src/Purge.list
#	src/QEQ/fix_qeq.cpp
#	src/QEQ/fix_qeq.h
#	src/QEQ/fix_qeq_dynamic.cpp
#	src/QEQ/fix_qeq_fire.cpp
#	src/REAXFF/fix_qeq_reax.cpp
#	src/REAXFF/reaxc_allocate.h
#	src/REAXFF/reaxc_bond_orders.h
#	src/REAXFF/reaxc_bonds.h
#	src/REAXFF/reaxc_control.h
#	src/REAXFF/reaxc_defs.h
#	src/REAXFF/reaxc_ffield.h
#	src/REAXFF/reaxc_forces.h
#	src/REAXFF/reaxc_hydrogen_bonds.h
#	src/REAXFF/reaxc_init_md.cpp
#	src/REAXFF/reaxc_init_md.h
#	src/REAXFF/reaxc_io_tools.cpp
#	src/REAXFF/reaxc_io_tools.h
#	src/REAXFF/reaxc_list.h
#	src/REAXFF/reaxc_lookup.h
#	src/REAXFF/reaxc_multi_body.h
#	src/REAXFF/reaxc_nonbonded.h
#	src/REAXFF/reaxc_reset_tools.h
#	src/REAXFF/reaxc_system_props.cpp
#	src/REAXFF/reaxc_system_props.h
#	src/REAXFF/reaxc_tool_box.h
#	src/REAXFF/reaxc_torsion_angles.h
#	src/REAXFF/reaxc_traj.cpp
#	src/REAXFF/reaxc_traj.h
#	src/REAXFF/reaxc_types.h
#	src/REAXFF/reaxc_valence_angles.h
#	src/REAXFF/reaxc_vector.cpp
#	src/REAXFF/reaxc_vector.h
#	src/REAXFF/reaxff_api.h
#	src/REAXFF/reaxff_defs.h
#	src/REAXFF/reaxff_inline.h
#	src/REAXFF/reaxff_types.h
#	src/text_file_reader.cpp
#	src/text_file_reader.h
#	unittest/force-styles/tests/atomic-pair-reax_c.yaml
#	unittest/force-styles/tests/atomic-pair-reax_c_lgvdw.yaml
#	unittest/force-styles/tests/atomic-pair-yukawa_colloid.yaml
2021-07-12 14:25:47 -04:00
ad966e130b Fix typos 2021-07-12 10:41:31 -06:00
0540ce547b Merge branch 'master' into package-reorganization2 2021-07-12 11:45:27 -04:00
998b76520e Merge pull request #2830 from akohlmey/opencl-loader-3.0.8
Update OpenCL ICD loader and headers to latest spec 3.0.8
2021-07-12 11:44:34 -04:00
dfa5ecdc74 Merge pull request #2736 from akohlmey/nofdotr-tests-and-updates
Fix issues exposed by running pair style unit tests with `pair_modify nofdotr`
2021-07-12 11:10:47 -04:00
b361992292 Remove deprecated Kokkos code ViewAllocateWithoutInitializing 2021-07-12 08:53:07 -06:00
05f28661f2 temporarily skip some tests for REAXFF until working on PR #2708 2021-07-12 05:43:04 -04:00
bc4f2b65ae the INTEL package does not support pair_modify nofdotr
- no need to test for it
- add a check and report an error if the nofdotr setting is used
2021-07-12 05:19:41 -04:00
bc08d9a973 temporarily skip testing pair_modify nofdotr for reax/c until we merge PR #2708 2021-07-11 20:14:10 -04:00
6134164ad3 pair style rann does not support per-atom stress or pair_modify nofdotr 2021-07-11 20:03:52 -04:00
d774cd5ddc fix sign errors and pair_modify nofdotr behavior for pair style bop 2021-07-11 19:27:49 -04:00
7e3e786530 fix up pair style polymorphic for pair_modify nofdotr 2021-07-11 19:19:41 -04:00
90e0de8dca update MEAM package to correctly handle pair_modify nofdotr 2021-07-11 16:32:46 -04:00
5e096a7f9f correct ev_tally4() for pair_modify nofdotr 2021-07-11 16:04:17 -04:00
51d082ff2b reformat comments 2021-07-11 14:57:00 -04:00
eecc012525 sphinx 4.1.0 failes to parse utils::logmesg(lmp,format,...) template function 2021-07-11 14:56:47 -04:00
41a434ae1f fix compilation issues with new/old Intel compilers 2021-07-11 14:09:17 -04:00
b47a212b17 initialize "me" before using it. 2021-07-11 13:55:00 -04:00
0dcca23cdb whitespace 2021-07-11 09:22:38 -04:00
283da2649a fixes for pair_modify nofdotr 2021-07-11 09:16:47 -04:00
50da38722a make airebo compatible with pair_modify nofdotr 2021-07-11 08:47:30 -04:00
a4748b4c28 update several MANYBODY potentials for pair_modify nofdotr 2021-07-11 08:20:20 -04:00
9898941169 update tersoff docs about tersoff/intel requiring intel compilers 2021-07-11 08:00:01 -04:00
03c55c14bc avoid unneeded computations/tallying, small cleanups 2021-07-11 01:10:19 -04:00
0e440f9a42 more general mapping of tersoff/intel to tersoff when non-Intel compiler is used 2021-07-11 00:56:14 -04:00
467410d934 recover compilation due to changes in utility functions. still needs fixing 2021-07-11 00:55:45 -04:00
f82096c46c correct nofdotr handling for tersoff styles 2021-07-11 00:55:22 -04:00
bfc9df1302 exclude tersoff/intel. fix newton off instantiation. 2021-07-11 00:53:26 -04:00
eff03f1493 reformat and use std::numeric_limits<double>::min() instead of DBL_MIN (Posix-only) 2021-07-10 23:40:30 -04:00
2d9ea81b94 fix bug with virial tally in edip/omp 2021-07-10 23:18:27 -04:00
0e55c2c4f2 Merge branch 'master' into nofdotr-tests-and-updates
# Conflicts:
#	unittest/cplusplus/test_lammps_class.cpp
2021-07-10 22:36:43 -04:00
8f8dff758e reformat 2021-07-10 14:39:25 -04:00
ac903ec291 update list of non-style KOKKOS package sources with newly added file 2021-07-10 10:55:07 -04:00
4456e8151f use explicit scoping in destructor of polymorph class 2021-07-10 10:54:02 -04:00
89d7e34540 destructor in polymorph base class should be virtual 2021-07-10 10:53:36 -04:00
e8aa3823d3 Add virtual keyword to AtomKokkos destructor 2021-07-09 15:48:44 -06:00
4c1eea630c Merge branch 'package-reorganization2' of github.com:akohlmey/lammps into package-reorganization2 2021-07-09 16:54:31 -04:00
2e0ed643e4 update and reformat 2021-07-09 16:54:18 -04:00
6571a84884 move some styles around 2021-07-09 16:54:00 -04:00
0eaacea67d Whitespace 2021-07-09 14:17:06 -06:00
be3c0ce5a0 Fix typo 2021-07-09 14:13:54 -06:00
6c088b97ac Add missing data transfer for map_array 2021-07-09 14:08:32 -06:00
33ac10df7a Missed one instance of SUCCESS 2021-07-09 14:00:19 -06:00
8730fc3c6a Merge branch 'master' of https://github.com/lammps/lammps into kk_hash 2021-07-09 11:41:08 -06:00
8323b402fb update OpenCL ICD loader and headers to latest spec (3.0.8) from 2021-06-30 2021-07-08 14:49:54 -04:00
ab11482d7e add INTERLAYER package to CMake list of known packages 2021-07-08 09:30:18 -04:00
b2a396da3c Merge pull request #2828 from tomswinburne/snap-scale
Adding scale parameter to pair/snap for fix/adapt
2021-07-07 16:10:11 -04:00
46d5d9724a move interlayer potentials to their own package 2021-07-07 15:52:53 -04:00
39bd342913 Resolved conflict 2021-07-07 10:04:05 +01:00
d190ef09c2 Initialised id5p atom quantity 2021-07-07 09:58:53 +01:00
c9ddee5e38 Merge pull request #2824 from ndtrung81/dielectric-updates
Updates to the DIELECTRIC package
2021-07-06 20:58:23 -04:00
91790e8586 Update Commands_kspace.rst 2021-07-06 20:21:34 -04:00
18f5ef1a76 Merge pull request #2826 from akohlmey/collected-small-changes
Collected small changes
2021-07-06 19:35:17 -04:00
5f7766a71c Merge pull request #2823 from Ruyk/master
use SYCL team_reduce to mimic cuda __syncthreads_count
2021-07-06 16:38:18 -04:00
908587be56 Merge branch 'master' of github.com:lammps/lammps into kk_hash 2021-07-06 13:54:47 -06:00
4f6e28a0d8 Refactor use of Kokkos::UnorderedMap to fix Cuda issue 2021-07-06 13:49:12 -06:00
d041e5cba0 we require at least zstd API version 1.4 2021-07-06 13:39:07 -04:00
c805040e14 two more uses of temporary variable 2021-07-06 13:10:40 -04:00
0614cb16bb add missing dependency 2021-07-06 13:07:08 -04:00
9b31ed511b Merge branch 'fm' into ssc 2021-07-06 17:31:58 +02:00
71f82e81d7 Merge branch 'snap-scale' into fm 2021-07-06 17:23:24 +02:00
40e83088b0 update SNAP unit tests for added extract keyword 2021-07-06 11:11:35 -04:00
3675bef2b0 doc 2021-07-06 14:06:27 +02:00
2c0b87573f remove whitespace 2021-07-06 10:34:59 +02:00
edf623bc82 remove whitespace 2021-07-06 10:33:46 +02:00
ee751cf040 remove whitespace 2021-07-06 10:33:28 +02:00
65e2d8fd5e Added data_bonds_post2() method for testing purposes 2021-07-05 17:29:11 +01:00
4b81802ae8 Created new feature branch for PR as per request 2021-07-05 16:07:40 +01:00
f84ab6f26b clarify fix nve impact 2021-07-04 19:21:09 -04:00
455b7b9392 remove single precision floating point math and reformat 2021-07-04 18:24:46 -04:00
a61e79ad72 avoid integer overflow issues reported by CodeQL 2021-07-03 17:38:48 -04:00
4b42b51006 fix broken links 2021-07-03 16:23:55 -04:00
b314c83266 fix up mistyped package names 2021-07-03 16:19:15 -04:00
c61480eace fix indexing for pppm/disp/dielectric 2021-07-03 16:12:52 -04:00
da06535be5 fix doc build warnings 2021-07-03 16:06:43 -04:00
d471f13d27 non-portable OpenMP pragmas 2021-07-03 15:55:01 -04:00
9996d7eaad NULL -> nullptr, and coding style updates 2021-07-03 15:50:09 -04:00
de3ac9d440 update for package rename in upstream 2021-07-03 15:38:24 -04:00
430e7e962f Merge branch 'master' into dielectric-updates
# Conflicts:
#	src/DIELECTRIC/Install.sh
#	src/DIELECTRIC/pppm_disp_dielectric.cpp
#	src/DIELECTRIC/pppm_disp_dielectric.h
2021-07-03 15:27:57 -04:00
bee95e41ae Added references to example input scripts to the doc pages 2021-07-02 14:06:06 -05:00
48d3acb52b Updated the doc pages for the /dielectric styles 2021-07-02 13:45:08 -05:00
2a21c4b29f add sticker-bond support to fix bond/swap 2021-07-02 11:46:25 -06:00
021e8a404d Updated example data files 2021-07-02 12:20:26 -05:00
bc715ac7e8 Merge upstream master into dielectric-updates 2021-07-02 12:14:06 -05:00
e2a78cbed6 SYCL team_reduce to mimic cuda __syncthreads_count
This fixes a suspected out of bounds error later on in the kernel.
2021-07-02 15:41:32 +01:00
a8be4ca4b8 cleaner implementation 2021-06-29 11:31:49 +02:00
1a662b78d5 conform 2021-06-29 10:53:02 +02:00
49e8fead3a revert 2021-06-29 10:51:10 +02:00
84d94d9da0 Merge branch 'master' of github.com:tomswinburne/lammps 2021-06-29 10:48:39 +02:00
5e3fe19c9f revert 2021-06-29 10:48:19 +02:00
130a925f8f Merge branch 'lammps:master' into master 2021-06-29 10:43:23 +02:00
9a4735c6ef Temporarily rename variable to avoid name collision until #2708 is merged 2021-06-28 11:11:45 -06:00
39b99afb56 Remove error description in header file 2021-06-28 09:34:08 -06:00
91e0614cef Remove unnecessary virtual keyword 2021-06-28 08:51:28 -06:00
a4c2bc13cf Add atom_map hash option for Kokkos package 2021-06-28 08:38:31 -06:00
7b87b5c80b snap scaling 2021-06-27 15:46:14 +02:00
2726e0e923 Merge branch 'lammps:master' into master 2021-06-27 14:10:49 +02:00
d982d153f8 Fix conditions for correct results on other types 2021-06-18 18:26:53 +03:00
8fef6a10dd Fix atom types handling in the tip4p/gpu kernels 2021-06-18 00:52:23 +03:00
1c6ce70776 Updated qsum_qsq() in pppm/dielectric and pppm/disp/dielectric 2021-06-14 00:09:48 -05:00
2dfbdcbc40 Added pppm/disp/dielectric, minor updates to lj/long/coul/long/dielectric 2021-06-13 23:55:28 -05:00
26127e1fa0 more changes to fix ttm/grid 2021-06-09 15:49:20 -06:00
456b81417d first version of fix ttm/grid 2021-06-09 09:03:50 -06:00
f2a6329fe7 silence compiler warnings 2021-06-04 09:07:53 -04:00
5f4bd99544 Merge branch 'master' into track-contacts 2021-06-04 08:42:51 -04:00
1358f4549b doc updates for MISC package 2021-06-04 08:39:00 -04:00
2500169193 whitespace 2021-06-04 00:57:26 -04:00
337ba1f729 fix spelling issues 2021-06-04 00:56:24 -04:00
8e082c2f6a complete integration into manual 2021-06-04 00:56:09 -04:00
4d3897c482 update LAMMPS homepage URLs 2021-06-04 00:49:30 -04:00
d17b49a894 apply clang-format 2021-06-04 00:43:45 -04:00
edf734ed59 remove installed package files 2021-06-04 00:43:18 -04:00
80f28e7fa9 fixing merge conflicts, update to master 2021-06-02 12:33:37 -06:00
77f009126a Fixing comments and log files 2021-06-02 12:12:17 -06:00
b2ed89b21f Updating documentation 2021-06-02 12:02:02 -06:00
14617cf4d2 Increasing chances for copying neighborlists 2021-05-21 11:28:21 -06:00
afaf992ac2 Second working of bits for neigh/history 2021-05-21 11:06:34 -06:00
83a15ef03f fixing typos in documentation 2021-05-20 18:26:02 -06:00
0c6857914d Adding example, misc patches 2021-05-18 20:57:24 -06:00
f61c27ca12 Updating gitignore 2021-05-18 14:07:23 -06:00
1f89d9b315 Adding documentation, misc changes 2021-05-18 14:04:49 -06:00
4303f4a74e Adding type filter 2021-05-16 16:45:18 -06:00
fe2065a56c Adding requirement for same group to print contacts 2021-05-14 17:53:09 -06:00
d939a16d3b Completing pair and fix 2021-05-14 17:26:51 -06:00
fdf12c4abc Initial files 2021-05-14 13:03:24 -06:00
3a6e27e0e8 must skip nofdotr test for sw since that requires newton on with /intel 2021-04-27 12:33:33 -04:00
9a09378136 can only use and test fdotr with USER-INTEL when newton pair is off 2021-04-27 09:53:20 -04:00
081b322ecd use the correct way to look up a neighbor list request 2021-04-27 09:51:53 -04:00
73f4346056 add nofdotr test 2021-04-27 09:00:04 -04:00
7ec8d025c8 tweak epsilon to adjust for numeric noise when using pair_modify nofdotr 2021-04-27 08:29:21 -04:00
7d6f7a0984 disable check failing due to inconsistent behavior on different platforms 2021-04-27 07:44:44 -04:00
ae8c48bcec correct expected error message 2021-04-27 07:44:14 -04:00
f856030203 update example inputs and log files for current state of affairs 2021-04-21 15:22:00 -04:00
865759116e update some comments 2021-04-21 15:14:18 -04:00
4eaa45337c reorder functions for simpler side-by-side comparison 2021-04-21 15:14:12 -04:00
9b59e901bc update reax/c tests. disable OpenMP tests as that code is broken. 2021-04-21 09:54:59 -04:00
82ecfabe22 remove more unused code and structs 2021-04-21 01:29:48 -04:00
d2008aa362 add test for reaxff using coulomb tabulation 2021-04-21 01:19:45 -04:00
dbced62a65 reorder code for better plain vs. omp code comparison. remove unused stuff 2021-04-21 00:44:09 -04:00
08f4c30051 Merge branch 'master' into refactor-reaxff-parser 2021-04-20 20:52:18 -04:00
2a7e662d71 more whitespace 2021-04-20 20:14:30 -04:00
daf984835c whitespace 2021-04-20 17:31:43 -04:00
b014e8b94f revert standard reax/c test 2021-04-20 17:15:52 -04:00
66eea0b63a call destroy() before create() for multi-dimensional arrays to avoid leakage 2021-04-20 16:54:17 -04:00
83c1187e47 clear allocated data structure so that all included pointers are initialized to null 2021-04-20 16:53:39 -04:00
c543815692 small tweaks 2021-04-20 15:28:42 -04:00
daaebd55a6 add QEQ parameter file 2021-04-20 14:56:27 -04:00
2045667902 document QEQ package incompatibilities 2021-04-20 14:55:09 -04:00
678e243430 small update of unit test inputs 2021-04-20 14:54:14 -04:00
ae570c05d8 we don't need to hardcode pair styles to skip specific tests, but use YAML file for it 2021-04-20 14:53:44 -04:00
a959d65560 whitespace fixes 2021-04-20 14:52:42 -04:00
fec12020ac add unit tests for fix qeq/point and fix qeq/shielded 2021-04-20 14:52:29 -04:00
fe2efa4cb3 disallow usage of qeq fixes with incompatible GPU and USER-INTEL packages 2021-04-20 14:51:27 -04:00
799fb284c8 small updates to the QEQ package for better testing
- add a "warn no/yes" keyword/value pair to allow turning of the convergence warning
- add a scalar compute to retrieve the number of QEq itration from the fix
- update the buck example input to run all QEq methods from a common restart
- document changes
2021-04-20 14:00:51 -04:00
6c4ad8ad35 implement nowarn flag for qeq/reax fixes and add scalar compute function for number of qeq iterations
make behavior handling the maximum number of iterations consistent
across USER-REAXC, USER-OMP and KOKKOS package variants so that
they all give the same results for the same number of iterations
in serial and parallel
2021-04-19 07:38:50 -04:00
c11e9cc849 remove unused defines and enumerators 2021-04-18 22:59:55 -04:00
43491b4220 lift compile time limit to 25 atom types 2021-04-18 22:31:35 -04:00
f9d133dcba must use a reference for the shortcut to work 2021-04-18 22:07:38 -04:00
e901fff8b6 remove unused variable 2021-04-18 21:18:42 -04:00
937bfe7dd8 add some convenience variables to improve readability 2021-04-18 21:15:45 -04:00
0c88e57173 remove last remnants of OMP_TIMING code hack 2021-04-18 15:46:27 -04:00
6c88baceb7 remove support for writing "native" trajectory files from USER-REAXC 2021-04-18 05:20:35 -04:00
ab8d78c8f4 convert control file reader code to use text file reader class 2021-04-18 04:33:52 -04:00
238ed55313 small code tweaks and whitespace update 2021-04-18 04:33:06 -04:00
162e4e16a5 fix incorrect indentation 2021-04-18 04:15:58 -04:00
242fc2d212 modernize parameter file parser in QEQ package 2021-04-18 04:06:46 -04:00
09d7fe2fcf don't ignore comments in ReaxFF force field files 2021-04-18 04:05:01 -04:00
6bc6da7657 throw EOF exception in TextFileReader::next_values() if next_line() doesn't do it 2021-04-18 04:04:40 -04:00
6f343aaeed add UNITS keyword comments to fix qeq parameter files 2021-04-18 04:02:18 -04:00
ab3303ed7b fix indexing bug for hydrogen bond parameters 2021-04-18 02:45:23 -04:00
eaa064e01d remove unused tokenizer function 2021-04-18 02:35:08 -04:00
545f551c9d modernize force field parser for ReaxFF 2021-04-17 18:30:04 -04:00
f0ef44a496 fix small memory leak 2021-04-17 18:23:36 -04:00
87e74bc721 small tweaks for better alignment and access to the LAMMPS Memory class 2021-04-17 15:42:56 -04:00
04c5b23d90 add custom constructor for TextFileReader that uses an already opened file descriptor 2021-04-17 15:41:45 -04:00
3b55872a18 updates for legacy build system 2021-04-17 03:10:13 -04:00
1c6db4b0cb some more smaller tweaks 2021-04-17 02:51:18 -04:00
dcdb5cc0e0 whitespace fixes 2021-04-17 02:28:32 -04:00
eb4d7efd32 silence compiler warning 2021-04-17 02:27:45 -04:00
a8f54d097c Merge branch 'master' into refactor-reaxff-parser 2021-04-17 02:19:37 -04:00
224c593846 convert USER-REAXC to use a ReaxFF namespace
also bundle exported functions in fewer header files
2021-04-17 02:18:35 -04:00
81458fe132 convert control file reader to ReaxFF namespace 2021-04-16 16:59:49 -04:00
a46c901be6 remove unused data structure members 2021-04-16 16:59:23 -04:00
b96d1ac1a5 first step of adopting a ReaxFF namespace and reorganizing the ReaxFF headers 2021-04-16 16:45:46 -04:00
f2772e5894 PIMPL-ify reax/c pair styles; first steps toward a ReaxFF namespace 2021-04-16 10:50:53 -04:00
2c38d1b7d4 reax/c native trajectory output cleanup/simplification 2021-04-16 07:22:16 -04:00
6c07d2fb11 replace some more sprintf() calls to local buffers with fmtlib 2021-04-15 20:08:25 -04:00
3eed9f23c8 replace sprintf() into local char buffers with fmtlib 2021-04-15 19:02:59 -04:00
d1f004962a convert fix qeq/reax to use modern LAMMPS file parsing 2021-04-15 17:13:31 -04:00
8b87eb9468 remove unused file pointers and file streams 2021-04-15 15:49:51 -04:00
cc82e9b558 remove unused rtensor data type and support functions for it. 2021-04-15 14:36:07 -04:00
fb75e3e8b1 remove unused and commented out defines 2021-04-15 14:35:28 -04:00
b3bc2d3df1 adjust pair style reax/c to read control file on MPI rank 0 and use tokenizer class 2021-04-15 13:21:54 -04:00
499b685421 clean up workspace management, output control, and enumerators 2021-04-15 10:58:29 -04:00
4dfd06cd8f remove unused communication storage 2021-04-15 10:20:34 -04:00
8118c23a98 remove totals from energy_data struct 2021-04-15 10:11:24 -04:00
1fe2812c2b recover from CI compilation failure 2021-04-15 09:45:10 -04:00
06a8f746cc remove some more unused timer info and unused arguments 2021-04-15 09:36:21 -04:00
def09d4d7a remove unused simulation data struct members and related code 2021-04-15 07:36:02 -04:00
f0369ce72d remove unused timing data structure 2021-04-15 07:06:56 -04:00
7dc21842c2 ignore/remove unused control file settings and related functions and data structures 2021-04-15 06:58:20 -04:00
54ee33fe58 simplify creation of reaxc fix 2021-04-15 04:48:02 -04:00
112142be35 remove some unused structs, typedefs and data members 2021-04-15 00:18:47 -04:00
487e0b041c eliminate mpi_datatypes struct 2021-04-14 23:26:37 -04:00
390b1683f0 remove unusued function pointer typedefs 2021-04-14 17:53:29 -04:00
a2dcbf6a2d remove obsolete define 2021-04-14 17:52:10 -04:00
73cd6f8e4e read control file only on MPI rank 0, then broadcast its data 2021-04-14 17:51:41 -04:00
89b0227849 move file opening step to reax/c function. simplify code. 2021-04-14 16:42:37 -04:00
8255fca58f darwin library error 2021-03-23 12:30:16 +01:00
8af131424a Merge pull request #4 from lammps/master
update my fork
2021-03-23 11:20:29 +01:00
1eefc13cdb Merge pull request #3 from lammps/master
update fork
2021-01-27 08:34:04 +01:00
b2f96d92df remove print statement 2021-01-13 10:31:03 -07:00
fc79280548 other USER-DPD uses of dname vs new dvname 2021-01-12 12:37:50 -07:00
6f4d657061 enable pair table/rx for new custom vector syntax 2021-01-12 12:28:06 -07:00
386fe6158a edits to doc pages, including per-atom variables 2021-01-12 09:07:23 -07:00
bddd26ba6c additional changes needed to merge with current master 2021-01-11 17:26:00 -07:00
0b14770468 merge with current master 2021-01-11 16:13:33 -07:00
64257393b9 remove custom vector usage from USER-DPD:fix_rx.cpp 2020-09-09 10:21:59 -06:00
76725731fd changes in package files to match new find_custom() syntax 2020-09-08 13:48:41 -06:00
d1442b0538 enable per-atom custom arrays in addition to vectors 2020-09-04 11:33:49 -06:00
2759 changed files with 114345 additions and 73528 deletions

65
.github/CODEOWNERS vendored
View File

@ -22,42 +22,42 @@ src/MESSAGE/* @sjplimp
src/MLIAP/* @athomps
src/SNAP/* @athomps
src/SPIN/* @julient31
src/BROWNIAN/* @samueljmcameron
src/CG-DNA/* @ohenrich
src/CG-SDK/* @akohlmey
src/COLVARS/* @giacomofiorin
src/DIELECTRIC/* @ndtrung81
src/FEP/* @agiliopadua
src/ML-HDNNP/* @singraber
src/INTEL/* @wmbrownintel
src/MANIFOLD/* @Pakketeretet2
src/MDI/* @taylor-a-barnes
src/MEAM/* @martok
src/MESONT/* @iafoss
src/MOFFF/* @hheenen
src/MOLFILE/* @akohlmey
src/NETCDF/* @pastewka
src/ML-PACE/* @yury-lysogorskiy
src/PLUMED/* @gtribello
src/PHONON/* @lingtikong
src/PTM/* @pmla
src/OPENMP/* @akohlmey
src/QMMM/* @akohlmey
src/REAXFF/* @hasanmetin
src/REACTION/* @jrgissing
src/SCAFACOS/* @rhalver
src/TALLY/* @akohlmey
src/UEF/* @danicholson
src/VTK/* @rbberger
src/BROWNIAN/* @samueljmcameron
src/CG-DNA/* @ohenrich
src/CG-SDK/* @akohlmey
src/COLVARS/* @giacomofiorin
src/DIELECTRIC/* @ndtrung81
src/FEP/* @agiliopadua
src/ML-HDNNP/* @singraber
src/INTEL/* @wmbrownintel
src/MANIFOLD/* @Pakketeretet2
src/MDI/* @taylor-a-barnes
src/MEAM/* @martok
src/MESONT/* @iafoss
src/MOFFF/* @hheenen
src/MOLFILE/* @akohlmey
src/NETCDF/* @pastewka
src/ML-PACE/* @yury-lysogorskiy
src/PLUMED/* @gtribello
src/PHONON/* @lingtikong
src/PTM/* @pmla
src/OPENMP/* @akohlmey
src/QMMM/* @akohlmey
src/REAXFF/* @hasanmetin @stanmoore1
src/REACTION/* @jrgissing
src/SCAFACOS/* @rhalver
src/TALLY/* @akohlmey
src/UEF/* @danicholson
src/VTK/* @rbberger
# individual files in packages
src/GPU/pair_vashishta_gpu.* @andeplane
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
src/MANYBODY/pair_vashishta_table.* @andeplane
src/MANYBODY/pair_atm.* @sergeylishchuk
src/USER-MISC/*_grem.* @dstelter92
src/USER-MISC/compute_stress_mop*.* @RomainVermorel
src/REPLICA/*_grem.* @dstelter92
src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel
src/MISC/*_tracker.* @jtclemm
# core LAMMPS classes
src/lammps.* @sjplimp
@ -81,6 +81,7 @@ src/kspace.* @sjplimp
src/lmptyp.h @sjplimp
src/library.* @sjplimp
src/main.cpp @sjplimp
src/min_*.* @sjplimp
src/memory.* @sjplimp
src/modify.* @sjplimp
src/molecule.* @sjplimp
@ -109,7 +110,6 @@ src/thermo.* @sjplimp
src/universe.* @sjplimp
src/update.* @sjplimp
src/variable.* @sjplimp
src/verlet.* @sjplimp
src/velocity.* @sjplimp
src/write_data.* @sjplimp
src/write_restart.* @sjplimp
@ -122,13 +122,14 @@ src/info.* @akohlmey @rbberger
src/timer.* @akohlmey
src/min* @sjplimp @stanmoore1
src/utils.* @akohlmey @rbberger
src/verlet.* @sjplimp @stanmoore1
src/math_eigen_impl.h @jewettaij
# tools
tools/msi2lmp/* @akohlmey
tools/emacs/* @HaoZeke
tools/singularity/* @akohlmey @rbberger
tools/code_standard/* @rbberger
tools/coding_standard/* @rbberger
tools/valgrind/* @akohlmey
tools/swig/* @akohlmey
tools/offline/* @rbberger

2
.gitignore vendored
View File

@ -44,6 +44,8 @@ Thumbs.db
/build*
/CMakeCache.txt
/CMakeFiles/
/Testing
/Makefile
/Testing
/cmake_install.cmake
/lmp

10
cmake/.coveragerc.in Normal file
View File

@ -0,0 +1,10 @@
[run]
source = @LAMMPS_PYTHON_DIR@
parallel=True
branch=True
omit=*/install.py
*/setup.py
[paths]
sources = python
@LAMMPS_PYTHON_DIR@

View File

@ -77,7 +77,7 @@ check_for_autogen_files(${LAMMPS_SOURCE_DIR})
include(CheckIncludeFileCXX)
# set required compiler flags and compiler/CPU arch specific optimizations
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM"))
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512")
@ -161,9 +161,15 @@ set(STANDARD_PACKAGES
DPD-SMOOTH
DRUDE
EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GRANULAR
H5MD
INTERLAYER
KIM
KSPACE
LATBOLTZ
@ -190,6 +196,7 @@ set(STANDARD_PACKAGES
MPIIO
MSCG
NETCDF
ORIENT
PERI
PHONON
PLUGIN
@ -212,7 +219,6 @@ set(STANDARD_PACKAGES
SRD
TALLY
UEF
USER-MISC
VORONOI
VTK
YAFF)
@ -238,15 +244,16 @@ if(PKG_ADIOS)
endif()
if(NOT CMAKE_CROSSCOMPILING)
set(MPI_CXX_SKIP_MPICXX TRUE)
find_package(MPI QUIET)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
else()
set(MPI_CXX_SKIP_MPICXX TRUE)
option(BUILD_MPI "Build MPI version" OFF)
endif()
if(BUILD_MPI)
# do not include the (obsolete) MPI C++ bindings which makes
# for leaner object files and avoids namespace conflicts
set(MPI_CXX_SKIP_MPICXX TRUE)
# We use a non-standard procedure to cross-compile with MPI on Windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
include(MPI4WIN)
@ -305,6 +312,9 @@ pkg_depends(LATBOLTZ MPI)
pkg_depends(PHONON KSPACE)
pkg_depends(SCAFACOS MPI)
pkg_depends(DIELECTRIC KSPACE)
pkg_depends(DIELECTRIC EXTRA-PAIR)
pkg_depends(CG-DNA MOLECULE)
pkg_depends(CG-DNA ASPHERE)
# detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF)
@ -360,6 +370,8 @@ if(PKG_MSCG OR PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_LATTE)
endif()
endif()
# tweak jpeg library names to avoid linker errors with MinGW cross-compilation
set(JPEG_NAMES libjpeg libjpeg-62)
find_package(JPEG QUIET)
option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND})
if(WITH_JPEG)
@ -757,6 +769,13 @@ endif()
include(Testing)
include(CodeCoverage)
include(CodingStandard)
find_package(ClangFormat 8.0)
if(ClangFormat_FOUND)
add_custom_target(format-src
COMMAND ${ClangFormat_EXECUTABLE} --verbose -i -style=file *.cpp *.h */*.cpp */*.h
WORKING_DIRECTORY ${LAMMPS_SOURCE_DIR})
endif()
get_target_property(DEFINES lammps COMPILE_DEFINITIONS)
include(FeatureSummary)

View File

@ -54,6 +54,8 @@ if(ENABLE_COVERAGE)
if(COVERAGE_FOUND)
set(PYTHON_COVERAGE_HTML_DIR ${CMAKE_BINARY_DIR}/python_coverage_html)
configure_file(.coveragerc.in ${CMAKE_BINARY_DIR}/.coveragerc @ONLY)
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/unittest/python/.coverage
COMMAND ${COVERAGE_BINARY} combine
@ -63,16 +65,16 @@ if(ENABLE_COVERAGE)
add_custom_target(
gen_python_coverage_html
COMMAND ${COVERAGE_BINARY} html -d ${PYTHON_COVERAGE_HTML_DIR}
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage
COMMAND ${COVERAGE_BINARY} html --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -d ${PYTHON_COVERAGE_HTML_DIR}
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Generating HTML Python coverage report..."
)
add_custom_target(
gen_python_coverage_xml
COMMAND ${COVERAGE_BINARY} xml -o ${CMAKE_BINARY_DIR}/python_coverage.xml
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage
COMMAND ${COVERAGE_BINARY} xml --rcfile=${CMAKE_BINARY_DIR}/.coveragerc -o ${CMAKE_BINARY_DIR}/python_coverage.xml
DEPENDS ${CMAKE_BINARY_DIR}/unittest/python/.coverage ${CMAKE_BINARY_DIR}/.coveragerc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/unittest/python
COMMENT "Generating XML Python coverage report..."
)

View File

@ -38,7 +38,7 @@ if(FFTW3_FOUND)
add_library(FFTW3::FFTW3_OMP UNKNOWN IMPORTED)
set_target_properties(FFTW3::FFTW3_OMP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${FFTW3_OMP_LIBRARY}"
IMPORTED_LOCATION "${FFTW3_OMP_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIRS}")
endif()
endif()

View File

@ -37,7 +37,7 @@ if(FFTW3F_FOUND)
add_library(FFTW3F::FFTW3F_OMP UNKNOWN IMPORTED)
set_target_properties(FFTW3F::FFTW3F_OMP PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${FFTW3F_OMP_LIBRARY}"
IMPORTED_LOCATION "${FFTW3F_OMP_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${FFTW3F_INCLUDE_DIRS}")
endif()
endif()

View File

@ -1,6 +1,6 @@
message(STATUS "Downloading and building OpenCL loader library")
set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.05.02.tar.gz" CACHE STRING "URL for OpenCL loader tarball")
set(OPENCL_LOADER_MD5 "29180b05056578afda92f0d394c3a373" CACHE STRING "MD5 checksum of OpenCL loader tarball")
set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2021.06.30.tar.gz" CACHE STRING "URL for OpenCL loader tarball")
set(OPENCL_LOADER_MD5 "f9e55dd550cfbf77f46507adf7cb8fd2" CACHE STRING "MD5 checksum of OpenCL loader tarball")
mark_as_advanced(OPENCL_LOADER_URL)
mark_as_advanced(OPENCL_LOADER_MD5)

View File

@ -3,7 +3,7 @@ if(NOT FOUND_IMMINTRIN)
message(FATAL_ERROR "immintrin.h header not found, Intel package won't work without it")
endif()
target_compile_definitions(lammps PRIVATE -DLMP_USER_INTEL)
target_compile_definitions(lammps PRIVATE -DLMP_INTEL)
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by INTEL (cpu or knl)")
set(INTEL_ARCH_VALUES cpu knl)

View File

@ -74,11 +74,12 @@ else()
target_link_libraries(lammps PRIVATE kokkos)
target_link_libraries(lmp PRIVATE kokkos)
endif()
target_compile_definitions(lammps PRIVATE -DLMP_KOKKOS)
target_compile_definitions(lammps PUBLIC $<BUILD_INTERFACE:LMP_KOKKOS>)
set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS)
set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/atom_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/atom_map_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp
${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp
@ -126,4 +127,4 @@ endif()
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
target_sources(lammps PRIVATE ${KOKKOS_PKG_SOURCES})
target_include_directories(lammps PRIVATE ${KOKKOS_PKG_SOURCES_DIR})
target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${KOKKOS_PKG_SOURCES_DIR}>)

View File

@ -7,8 +7,8 @@ endif()
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT})
if(DOWNLOAD_EIGEN3)
message(STATUS "Eigen3 download requested - we will build our own")
set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz" CACHE STRING "URL for Eigen3 tarball")
set(EIGEN3_MD5 "9e30f67e8531477de4117506fe44669b" CACHE STRING "MD5 checksum of Eigen3 tarball")
set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.tar.gz" CACHE STRING "URL for Eigen3 tarball")
set(EIGEN3_MD5 "609286804b0f79be622ccf7f9ff2b660" CACHE STRING "MD5 checksum of Eigen3 tarball")
mark_as_advanced(EIGEN3_URL)
mark_as_advanced(EIGEN3_MD5)
include(ExternalProject)
@ -30,3 +30,8 @@ else()
endif()
target_link_libraries(lammps PRIVATE Eigen3::Eigen)
endif()
# PGI/Nvidia compiler internals collide with vector intrinsics support in Eigen3
if((CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC"))
target_compile_definitions(lammps PRIVATE -DEIGEN_DONT_VECTORIZE)
endif()

View File

@ -114,5 +114,5 @@ else()
target_link_libraries(lmp PRIVATE ${mdi_LIBRARY})
endif()
target_compile_definitions(lammps PRIVATE -DLMP_USER_MDI)
target_compile_definitions(lmp PRIVATE -DLMP_USER_MDI)
target_compile_definitions(lammps PRIVATE -DLMP_MDI)
target_compile_definitions(lmp PRIVATE -DLMP_MDI)

View File

@ -1,3 +1,70 @@
enable_language(Fortran)
find_package(QUIP REQUIRED)
target_link_libraries(lammps PRIVATE QUIP::QUIP ${LAPACK_LIBRARIES})
find_package(QUIP QUIET)
if(QUIP_FOUND)
set(DOWNLOAD_QUIP_DEFAULT OFF)
else()
set(DOWNLOAD_QUIP_DEFAULT ON)
endif()
option(DOWNLOAD_QUIP "Download the QUIP library instead of using an already installed one" ${DOWNLOAD_QUIP_DEFAULT})
if(DOWNLOAD_QUIP)
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
set(temp "F77 = ${CMAKE_Fortran_COMPILER}\nF90 = ${CMAKE_Fortran_COMPILER}\nF95 = ${CMAKE_Fortran_COMPILER}\n")
set(temp "${temp}CC=${CMAKE_C_COMPILER}\nCPLUSPLUS=${CMAKE_CXX_COMPILER}\nLINKER=${CMAKE_Fortran_COMPILER}\n")
if(CMAKE_Fortran_COMPILER_ID STREQUAL Intel)
set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}}\n")
set(temp "${temp}DEFINES += -DGETARG_F2003 -DFORTRAN_UNDERSCORE\n")
set(temp "${temp}F95FLAGS += -fpp -free -fPIC\n")
set(temp "${temp}F77FLAGS += -fpp -fixed -fPIC\n")
elseif(CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
set(temp "${temp}FPP=${CMAKE_Fortran_COMPILER} -E -x f95-cpp-input\nOPTIM=${CMAKE_Fortran_FLAGS_${BTYPE}}\n")
set(temp "${temp}DEFINES += -DGETARG_F2003 -DGETENV_F2003 -DGFORTRAN -DFORTRAN_UNDERSCORE\n")
set(temp "${temp}F95FLAGS += -x f95-cpp-input -ffree-line-length-none -ffree-form -fno-second-underscore -fPIC\n")
set(temp "${temp}F77FLAGS += -x f77-cpp-input -fno-second-underscore -fPIC\n")
else()
message(FATAL_ERROR "The ${CMAKE_Fortran_COMPILER_ID} Fortran compiler is not (yet) supported for building QUIP")
endif()
set(temp "${temp}CFLAGS += -fPIC \nCPLUSPLUSFLAGS += -fPIC\nAR_ADD=src\n")
set(temp "${temp}MATH_LINKOPTS=")
foreach(flag ${BLAS_LIBRARIES})
set(temp "${temp} ${flag}")
endforeach()
foreach(flag ${LAPACK_LIBRARIES})
set(temp "${temp} ${flag}")
endforeach()
set(temp "${temp}\n")
set(temp "${temp}PYTHON=python\nPIP=pip\nEXTRA_LINKOPTS=\n")
set(temp "${temp}HAVE_CP2K=0\nHAVE_VASP=0\nHAVE_TB=0\nHAVE_PRECON=1\nHAVE_LOTF=0\nHAVE_ONIOM=0\n")
set(temp "${temp}HAVE_LOCAL_E_MIX=0\nHAVE_QC=0\nHAVE_GAP=1\nHAVE_DESCRIPTORS_NONCOMMERCIAL=1\n")
set(temp "${temp}HAVE_TURBOGAP=0\nHAVE_QR=1\nHAVE_THIRDPARTY=0\nHAVE_FX=0\nHAVE_SCME=0\nHAVE_MTP=0\n")
set(temp "${temp}HAVE_MBD=0\nHAVE_TTM_NF=0\nHAVE_CH4=0\nHAVE_NETCDF4=0\nHAVE_MDCORE=0\nHAVE_ASAP=0\n")
set(temp "${temp}HAVE_CGAL=0\nHAVE_METIS=0\nHAVE_LMTO_TBE=0\n")
file(WRITE ${CMAKE_BINARY_DIR}/quip.config "${temp}")
message(STATUS "QUIP download via git requested - we will build our own")
# QUIP has no releases (except for a tag marking the end of Python 2 support). We use the current "public" branch
# The LAMMPS interface wrapper has a compatibility constant that is being checked at runtime.
include(ExternalProject)
ExternalProject_Add(quip_build
GIT_REPOSITORY "https://github.com/libAtoms/QUIP/"
GIT_TAG origin/public
GIT_SHALLOW YES
GIT_PROGRESS YES
PATCH_COMMAND cp ${CMAKE_BINARY_DIR}/quip.config <SOURCE_DIR>/arch/Makefile.lammps
CONFIGURE_COMMAND env QUIP_ARCH=lammps make config
BUILD_COMMAND env QUIP_ARCH=lammps make libquip
INSTALL_COMMAND ""
BUILD_IN_SOURCE YES
BUILD_BYPRODUCTS <SOURCE_DIR>/build/lammps/libquip.a
)
ExternalProject_get_property(quip_build SOURCE_DIR)
add_library(LAMMPS::QUIP UNKNOWN IMPORTED)
set_target_properties(LAMMPS::QUIP PROPERTIES
IMPORTED_LOCATION "${SOURCE_DIR}/build/lammps/libquip.a"
INTERFACE_LINK_LIBRARIES "${LAPACK_LIBRARIES}")
target_link_libraries(lammps PRIVATE LAMMPS::QUIP)
add_dependencies(LAMMPS::QUIP quip_build)
else()
find_package(QUIP REQUIRED)
target_link_libraries(lammps PRIVATE QUIP::QUIP ${LAPACK_LIBRARIES})
endif()

View File

@ -5,7 +5,7 @@
${OPENMP_SOURCES_DIR}/fix_nh_omp.cpp
${OPENMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
${OPENMP_SOURCES_DIR}/domain_omp.cpp)
target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP)
target_compile_definitions(lammps PRIVATE -DLMP_OPENMP)
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${OPENMP_SOURCES}")
# detects styles which have OPENMP version
@ -25,15 +25,15 @@
endif()
if(PKG_REAXFF)
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_init_md_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_forces_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp)
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxff_bond_orders_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_hydrogen_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_nonbonded_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_init_md_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_torsion_angles_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_forces_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_multi_body_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_valence_angles_omp.cpp)
endif()
target_sources(lammps PRIVATE ${OPENMP_SOURCES})

View File

@ -54,8 +54,8 @@ if(DOWNLOAD_PLUMED)
set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumedWrapper.a")
endif()
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.1/plumed-src-2.7.1.tgz" CACHE STRING "URL for PLUMED tarball")
set(PLUMED_MD5 "4eac6a462ec84dfe0cec96c82421b8e8" CACHE STRING "MD5 checksum of PLUMED tarball")
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.2/plumed-src-2.7.2.tgz" CACHE STRING "URL for PLUMED tarball")
set(PLUMED_MD5 "cfa0b4dd90a81c25d3302e8d97bfeaea" CACHE STRING "MD5 checksum of PLUMED tarball")
mark_as_advanced(PLUMED_URL)
mark_as_advanced(PLUMED_MD5)
@ -72,7 +72,6 @@ if(DOWNLOAD_PLUMED)
${PLUMED_CONFIG_OMP}
CXX=${PLUMED_CONFIG_CXX}
CC=${PLUMED_CONFIG_CC}
PATCH_COMMAND sed -i "/^#include <algorithm>/a #include <limits>" <SOURCE_DIR>/src/lepton/Operation.h
BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS}
)
ExternalProject_get_property(plumed_build INSTALL_DIR)

View File

@ -9,14 +9,16 @@ if(BUILD_TOOLS)
check_language(Fortran)
if(CMAKE_Fortran_COMPILER)
enable_language(Fortran)
add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f)
add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f90)
target_link_libraries(chain.x PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
install(TARGETS chain.x DESTINATION ${CMAKE_INSTALL_BINDIR})
add_executable(micelle2d.x ${LAMMPS_TOOLS_DIR}/micelle2d.f90)
target_link_libraries(micelle2d.x PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
install(TARGETS chain.x micelle2d.x DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
message(WARNING "No suitable Fortran compiler found, skipping build of 'chain.x'")
message(WARNING "No suitable Fortran compiler found, skipping build of 'chain.x' and 'micelle2d.x'")
endif()
else()
message(WARNING "CMake build doesn't support fortran, skipping build of 'chain.x'")
message(WARNING "CMake build doesn't support Fortran, skipping build of 'chain.x' and 'micelle2d.x'")
endif()
enable_language(C)

View File

@ -25,11 +25,17 @@ set(ALL_PACKAGES
DPD-SMOOTH
DRUDE
EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GPU
GRANULAR
H5MD
INTEL
INTERLAYER
KIM
KOKKOS
KSPACE
@ -59,6 +65,7 @@ set(ALL_PACKAGES
NETCDF
OPENMP
OPT
ORIENT
PERI
PHONON
PLUGIN
@ -81,7 +88,6 @@ set(ALL_PACKAGES
SRD
TALLY
UEF
USER-MISC
VORONOI
VTK
YAFF)

View File

@ -27,11 +27,17 @@ set(ALL_PACKAGES
DPD-SMOOTH
DRUDE
EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GPU
GRANULAR
H5MD
INTEL
INTERLAYER
KIM
KOKKOS
KSPACE
@ -61,6 +67,7 @@ set(ALL_PACKAGES
NETCDF
OPENMP
OPT
ORIENT
PERI
PHONON
PLUGIN
@ -83,7 +90,6 @@ set(ALL_PACKAGES
SRD
TALLY
UEF
USER-MISC
VORONOI
VTK
YAFF)

View File

@ -10,9 +10,9 @@ set(CMAKE_Fortran_COMPILER ${CLANG_FORTRAN} CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f95" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f95" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f95" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)

View File

@ -1,4 +1,4 @@
# preset that will restore gcc/g++ with support for MPI and OpenMP (on Linux boxes)
# preset that will explicitly request gcc/g++ compilers with support for MPI and OpenMP
set(CMAKE_CXX_COMPILER "g++" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "gcc" CACHE STRING "" FORCE)
@ -15,9 +15,9 @@ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(MPI_Fortran "gfortran" CACHE STRING "" FORCE)
set(MPI_Fortran_COMPILER "mpifort" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -g" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -g -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "gcc" CACHE STRING "" FORCE)

View File

@ -1,12 +1,26 @@
# preset that will enable hipcc plus gcc with support for MPI and OpenMP (on Linux boxes)
# preset that will enable hipcc plus gcc/gfortran with support for MPI and OpenMP (on Linux boxes)
set(CMAKE_CXX_COMPILER "hipcc" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "gcc" CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER gfortran CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(OpenMP_CXX "hipcc" CACHE STRING "" FORCE)
set(MPI_CXX "hipcc" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "gcc" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "gomp" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE)
set(OpenMP_CXX "hipcc" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libomp.so" CACHE PATH "" FORCE)

View File

@ -21,10 +21,16 @@ set(WIN_PACKAGES
DPD-SMOOTH
DRUDE
EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GPU
GRANULAR
INTEL
INTERLAYER
KSPACE
LATTE
MACHDYN
@ -39,11 +45,13 @@ set(WIN_PACKAGES
ML-HDNNP
ML-IAP
ML-SNAP
ML-RANN
MOFFF
MOLECULE
MOLFILE
OPENMP
OPT
ORIENT
PERI
PHONON
POEMS
@ -61,7 +69,6 @@ set(WIN_PACKAGES
SRD
TALLY
UEF
USER-MISC
VORONOI
YAFF)

View File

@ -23,8 +23,13 @@ set(ALL_PACKAGES
DPD-SMOOTH
DRUDE
EFF
EXTRA-COMPUTE
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP
GRANULAR
INTERLAYER
KSPACE
MACHDYN
MANYBODY
@ -37,6 +42,7 @@ set(ALL_PACKAGES
MOLECULE
OPENMP
OPT
ORIENT
PERI
PHONON
PLUGIN
@ -51,8 +57,8 @@ set(ALL_PACKAGES
SPH
SPIN
SRD
TALLY
UEF
USER-MISC
VORONOI
YAFF)

View File

@ -1,4 +1,4 @@
.TH LAMMPS "2 July 2021" "2021-07-2"
.TH LAMMPS "31 August 2021" "2021-08-31"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator.

View File

@ -191,7 +191,7 @@ Bibliography
A.\ Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, 415 (1996).
**(Campana)**
C.\ Campana and M. H. Muser, *Practical Green's function approach to the simulation of elastic semi-infinite solids*\ , `Phys. Rev. B [74], 075420 (2006) <https://doi.org/10.1103/PhysRevB.74.075420>`_
C.\ Campana and M. H. Muser, *Practical Green's function approach to the simulation of elastic semi-infinite solids*, `Phys. Rev. B [74], 075420 (2006) <https://doi.org/10.1103/PhysRevB.74.075420>`_
**(Cao1)**
J.\ Cao and B. Berne, J Chem Phys, 99, 2902 (1993).
@ -767,7 +767,7 @@ Bibliography
Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997).
**(Moustafa)**
Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*\ , `Phys. Rev. E [92], 043303 (2015) <https://link.aps.org/doi/10.1103/PhysRevE.92.043303>`_
Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*, `Phys. Rev. E [92], 043303 (2015) <https://link.aps.org/doi/10.1103/PhysRevE.92.043303>`_
**(Muller-Plathe1)**
Muller-Plathe, J Chem Phys, 106, 6082 (1997).

View File

@ -22,4 +22,5 @@ page.
Build_extras
Build_manual
Build_windows
Build_diskspace
Build_development

View File

@ -1,15 +1,15 @@
Development build options (CMake only)
======================================
Development build options
=========================
The CMake build procedure of LAMMPS offers a few extra options which are
The build procedures in LAMMPS offers a few extra options which are
useful during development, testing or debugging.
----------
.. _compilation:
Monitor compilation flags
-------------------------
Monitor compilation flags (CMake only)
--------------------------------------
Sometimes it is necessary to verify the complete sequence of compilation flags
generated by the CMake build. To enable a more verbose output during
@ -30,8 +30,8 @@ variable VERBOSE set to 1:
.. _clang-tidy:
Enable static code analysis with clang-tidy
-------------------------------------------
Enable static code analysis with clang-tidy (CMake only)
--------------------------------------------------------
The `clang-tidy tool <https://clang.llvm.org/extra/clang-tidy/>`_ is a
static code analysis tool to diagnose (and potentially fix) typical
@ -52,8 +52,8 @@ significantly more time consuming than the compilation itself.
.. _iwyu_processing:
Report missing and unneeded '#include' statements
-------------------------------------------------
Report missing and unneeded '#include' statements (CMake only)
--------------------------------------------------------------
The conventions for how and when to use and order include statements in
LAMMPS are `documented in a separate file <https://github.com/lammps/lammps/blob/master/doc/include-file-conventions.md>`_
@ -86,8 +86,8 @@ on recording all commands required to do the compilation.
.. _sanitizer:
Address, Undefined Behavior, and Thread Sanitizer Support
---------------------------------------------------------
Address, Undefined Behavior, and Thread Sanitizer Support (CMake only)
----------------------------------------------------------------------
Compilers such as GCC and Clang support generating instrumented binaries
which use different sanitizer libraries to detect problems in the code
@ -116,8 +116,8 @@ compilation and linking stages. This is done through setting the
.. _testing:
Code Coverage and Unit Testing
------------------------------
Code Coverage and Unit Testing (CMake only)
-------------------------------------------
The LAMMPS code is subject to multiple levels of automated testing
during development: integration testing (i.e. whether the code compiles
@ -464,7 +464,8 @@ Coding style utilities
To aid with enforcing some of the coding style conventions in LAMMPS
some additional build targets have been added. These require Python 3.5
or later and will only work on Unix-like operating and file systems.
or later and will only work properly on Unix-like operating and file systems.
The following options are available.
.. code-block:: bash
@ -476,17 +477,43 @@ The following options are available.
make check-permissions # search for files with permissions issues
make fix-permissions # correct permissions issues in files
These should help to replace all TAB characters with blanks and remove
any trailing whitespace. Also all LAMMPS homepage URL references can be
updated to the location change from Sandia to the lammps.org domain.
And the permission check can remove executable permissions from non-executable
files (like source code).
Clang-format support
--------------------
For the code in the ``unittest`` and ``src`` trees we are transitioning
to use the `clang-format` tool to assist with having a consistent source
code style. The `clang-format` command bundled with Clang version 8.0
or later is required. The configuration is in files ``.clang-format``
in the respective folders. Since the modifications from `clang-format`
can be significant and - especially for "legacy style code" - also is
not always improving readability, a large number of files currently have
a ``// clang-format off`` at the top, which will disable the processing.
Over time, files will be refactored and updated to that `clang-format`
may be applied to them (at least in part).
code formatting style. The `clang-format` command bundled with Clang
version 8.0 or later is required. The configuration is in files called
``.clang-format`` in the respective folders. Since the modifications
from `clang-format` can be significant and - especially for "legacy
style code" - they are not always improving readability, a large number
of files currently have a ``// clang-format off`` at the top, which will
disable the processing. As of fall 2021 all files have been either
"protected" this way or are enabled for full or partial `clang-format`
processing. Over time, the "protected" files will be refactored and
updated so that `clang-format` may be applied to them as well.
If `clang-format` is available, the source code files in the ``unittest``
tree can be updated to conform to the formatting settings using
``make format-tests`` and the files in ``src`` with ``make format-src``.
It is recommended for all newly contributed files to use the clang-format
processing while writing the code or do the coding style processing
(including the scripts mentioned in the previous paragraph)
If `clang-format` is available, files can be updated individually with
commands like the following:
.. code-block:: bash
$ clang-format -i some_file.cpp
The following target are available for both, GNU make and CMake:
.. code-block:: bash
make format-src # apply clang-format to all files in src and the package folders
make format-tests # apply clang-format to all files in the unittest tree

View File

@ -0,0 +1,45 @@
Notes for saving disk space when building LAMMPS from source
------------------------------------------------------------
LAMMPS is a large software project with a large number of source files,
extensive documentation, and a large collection of example files.
When downloading LAMMPS by cloning the
`git repository from GitHub <https://github.com/lammps/lammps>`_ this
will by default also download the entire commit history since September 2006.
Compiling LAMMPS will add the storage requirements of the compiled object
files and libraries to the tally.
In a user account on an HPC cluster with filesystem quotas or in other
environments with restricted disk space capacity it may be needed to
reduce the storage requirements. Here are some suggestions:
- Create a so-called shallow repository by cloning only the last commit
instead of the full project history by using ``git clone git@github.com:lammps/lammps --depth=1 --branch=master``.
This reduces the downloaded size to about half. With ``--depth=1`` it is not possible to check out different
versions/branches of LAMMPS, using ``--depth=1000`` will make multiple recent versions available at little
extra storage needs (the entire git history had nearly 30,000 commits in fall 2021).
- Download a tar archive from either the `download section on the LAMMPS homepage <https://www.lammps.org/download.html>`_
or from the `LAMMPS releases page on GitHub <https://github.com/lammps/lammps/releases>`_ these will not
contain the git history at all.
- Build LAMMPS without the debug flag (remove ``-g`` from the machine makefile or use ``-DCMAKE_BUILD_TYPE=Release``)
or use the ``strip`` command on the LAMMPS executable when no more debugging would be needed. The strip command
may also be applied to the LAMMPS shared library. The static library may be deleted entirely.
- Delete compiled object files and libraries after copying the LAMMPS executable to a permanent location.
When using the traditional build process, one may use ``make clean-<machine>`` or ``make clean-all``
to delete object files in the src folder. For CMake based builds, one may use ``make clean`` or just
delete the entire build folder.
- The folders containing the documentation tree (doc), the examples (examples) are not needed to build and
run LAMMPS and can be safely deleted. Some files in the potentials folder are large and may be deleted,
if not needed. The largest of those files (occupying about 120 MBytes combined) will only be downloaded on
demand, when the corresponding package is installed.
- When using the CMake build procedure, the compilation can be done on a (local) scratch storage that will not
count toward the quota. A local scratch file system may offer the additional benefit of speeding up creating
object files and linking with libraries compared to a networked file system. Also with CMake (and unlike with
the traditional make) it is possible to compile LAMMPS executables with different settings and packages included
from the same source tree since all the configuration information is stored in the build folder. So it is
not necessary to have multiple copies of LAMMPS.

View File

@ -31,36 +31,36 @@ This is the list of packages that may require additional steps.
.. table_from_list::
:columns: 6
* :ref:`COMPRESS <compress>`
* :ref:`GPU <gpu>`
* :ref:`KIM <kim>`
* :ref:`KOKKOS <kokkos>`
* :ref:`LATTE <latte>`
* :ref:`MESSAGE <message>`
* :ref:`ML-IAP <mliap>`
* :ref:`MSCG <mscg>`
* :ref:`OPT <opt>`
* :ref:`POEMS <poems>`
* :ref:`PYTHON <python>`
* :ref:`VORONOI <voronoi>`
* :ref:`ADIOS <adios>`
* :ref:`ATC <atc>`
* :ref:`AWPMD <awpmd>`
* :ref:`COLVARS <colvars>`
* :ref:`COMPRESS <compress>`
* :ref:`GPU <gpu>`
* :ref:`H5MD <h5md>`
* :ref:`ML-HDNNP <ml-hdnnp>`
* :ref:`INTEL <intel>`
* :ref:`KIM <kim>`
* :ref:`KOKKOS <kokkos>`
* :ref:`LATTE <latte>`
* :ref:`MACHDYN <machdyn>`
* :ref:`MDI <mdi>`
* :ref:`MESONT <mesont>`
* :ref:`MOLFILE <molfile>`
* :ref:`NETCDF <netcdf>`
* :ref:`MESSAGE <message>`
* :ref:`ML-HDNNP <ml-hdnnp>`
* :ref:`ML-IAP <mliap>`
* :ref:`ML-PACE <ml-pace>`
* :ref:`PLUMED <plumed>`
* :ref:`OPENMP <openmp>`
* :ref:`QMMM <qmmm>`
* :ref:`ML-QUIP <ml-quip>`
* :ref:`MOLFILE <molfile>`
* :ref:`MSCG <mscg>`
* :ref:`NETCDF <netcdf>`
* :ref:`OPENMP <openmp>`
* :ref:`OPT <opt>`
* :ref:`PLUMED <plumed>`
* :ref:`POEMS <poems>`
* :ref:`PYTHON <python>`
* :ref:`QMMM <qmmm>`
* :ref:`SCAFACOS <scafacos>`
* :ref:`MACHDYN <machdyn>`
* :ref:`VORONOI <voronoi>`
* :ref:`VTK <vtk>`
----------
@ -74,7 +74,8 @@ To build with this package you must have the `zlib compression library
<https://zlib.net>`_ available on your system to build dump styles with
a '/gz' suffix. There are also styles using the
`Zstandard <https://facebook.github.io/zstd/>`_ library which have a
'/zstd' suffix.
'/zstd' suffix. The zstd library version must be at least 1.4. Older
versions use an incompatible API and thus LAMMPS will fail to compile.
.. tabs::
@ -1856,8 +1857,8 @@ ML-QUIP package
To build with this package, you must download and build the QUIP
library. It can be obtained from GitHub. For support of GAP
potentials, additional files with specific licensing conditions need
to be downloaded and configured. See step 1 and step 1.1 in the
``lib/quip/README`` file for details on how to do this.
to be downloaded and configured. The automatic download will from
within CMake will download the non-commercial use version.
.. tabs::
@ -1865,11 +1866,14 @@ to be downloaded and configured. See step 1 and step 1.1 in the
.. code-block:: bash
-D DOWNLOAD_QUIP=value # download OpenKIM API v2 for build, value = no (default) or yes
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
CMake will **not** download and build the QUIP library. But once you have
done that, a CMake build of LAMMPS with ``-D PKG_ML-QUIP=yes`` should
work. Set the ``QUIP_LIBRARY`` variable if CMake cannot find the QUIP library.
CMake will try to download and build the QUIP library from GitHub, if it is not
found on the local machine. This requires to have git installed. It will use the same compilers
and flags as used for compiling LAMMPS. Currently this is only supported for the GNU and the
Intel compilers. Set the ``QUIP_LIBRARY`` variable if you want to use a previously compiled
and installed QUIP library and CMake cannot find it.
.. tab:: Traditional make

View File

@ -204,9 +204,9 @@ be multiple tests run automatically:
.. parsed-literal::
Found 74 packages
Standard package NEWPACKAGE missing in Packages_standard.rst
Standard package NEWPACKAGE missing in Packages_details.rst
Found 88 packages
Package NEWPACKAGE missing in Packages_list.rst
Package NEWPACKAGE missing in Packages_details.rst
- A test that only standard, printable ASCII text characters are used.
This runs the command ``env LC_ALL=C grep -n '[^ -~]' src/*.rst`` and

View File

@ -2,7 +2,7 @@ Commands by category
====================
This page lists most of the LAMMPS commands, grouped by category. The
:doc:`General commands <Commands_all>` doc page lists all general commands
:doc:`General commands <Commands_all>` page lists all general commands
alphabetically. Style options for entries like fix, compute, pair etc.
have their own pages where they are listed alphabetically.

View File

@ -72,6 +72,7 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`gyration/shape/chunk <compute_gyration_shape_chunk>`
* :doc:`heat/flux <compute_heat_flux>`
* :doc:`heat/flux/tally <compute_tally>`
* :doc:`heat/flux/virial/tally <compute_tally>`
* :doc:`hexorder/atom <compute_hexorder_atom>`
* :doc:`hma <compute_hma>`
* :doc:`improper <compute_improper>`
@ -151,7 +152,7 @@ KOKKOS, o = OPENMP, t = OPT.
* :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 (k) <compute_temp_deform>`
* :doc:`temp/deform/eff <compute_temp_deform_eff>`
* :doc:`temp/drude <compute_temp_drude>`
* :doc:`temp/eff <compute_temp_eff>`

View File

@ -148,7 +148,7 @@ OPT.
* :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 (iko) <fix_nvt_sllod>`
* :doc:`nvt/sllod/eff <fix_nvt_sllod_eff>`
* :doc:`nvt/sphere (o) <fix_nvt_sphere>`
* :doc:`nvt/uef <fix_nh_uef>`
@ -157,6 +157,7 @@ OPT.
* :doc:`orient/fcc <fix_orient>`
* :doc:`orient/eco <fix_orient_eco>`
* :doc:`pafi <fix_pafi>`
* :doc:`pair/tracker <fix_pair_tracker>`
* :doc:`phonon <fix_phonon>`
* :doc:`pimd <fix_pimd>`
* :doc:`planeforce <fix_planeforce>`
@ -178,14 +179,14 @@ OPT.
* :doc:`qeq/dynamic <fix_qeq>`
* :doc:`qeq/fire <fix_qeq>`
* :doc:`qeq/point <fix_qeq>`
* :doc:`qeq/reax (ko) <fix_qeq_reax>`
* :doc:`qeq/reaxff (ko) <fix_qeq_reaxff>`
* :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:`reaxff/bonds (k) <fix_reaxff_bonds>`
* :doc:`reaxff/species (k) <fix_reaxff_species>`
* :doc:`recenter <fix_recenter>`
* :doc:`restrain <fix_restrain>`
* :doc:`rhok <fix_rhok>`
@ -235,6 +236,7 @@ OPT.
* :doc:`ti/spring <fix_ti_spring>`
* :doc:`tmd <fix_tmd>`
* :doc:`ttm <fix_ttm>`
* :doc:`ttm/grid <fix_ttm>`
* :doc:`ttm/mod <fix_ttm>`
* :doc:`tune/kspace <fix_tune_kspace>`
* :doc:`vector <fix_vector>`

View File

@ -50,6 +50,6 @@ values are not desired, the :doc:`processors <processors>` and
tell LAMMPS how to map processors to the simulation box.
Many input script errors are detected by LAMMPS and an ERROR or
WARNING message is printed. The :doc:`Errors <Errors>` doc page gives
WARNING message is printed. The :doc:`Errors <Errors>` page gives
more information on what errors mean. The documentation for each
command lists restrictions on how the command can be used.

View File

@ -24,6 +24,7 @@ OPT.
* :doc:`ewald (o) <kspace_style>`
* :doc:`ewald/disp <kspace_style>`
* :doc:`ewald/disp/dipole <kspace_style>`
* :doc:`ewald/dipole <kspace_style>`
* :doc:`ewald/dipole/spin <kspace_style>`
* :doc:`msm (o) <kspace_style>`
@ -33,8 +34,10 @@ OPT.
* :doc:`pppm/cg (o) <kspace_style>`
* :doc:`pppm/dipole <kspace_style>`
* :doc:`pppm/dipole/spin <kspace_style>`
* :doc:`pppm/dielectric <kspace_style>`
* :doc:`pppm/disp (io) <kspace_style>`
* :doc:`pppm/disp/tip4p (o) <kspace_style>`
* :doc:`pppm/disp/dielectric <kspace_style>`
* :doc:`pppm/stagger <kspace_style>`
* :doc:`pppm/tip4p (o) <kspace_style>`
* :doc:`pppm/dielectric <kspace_style>`

View File

@ -29,7 +29,7 @@ OPT.
* :doc:`hybrid/scaled <pair_hybrid>`
* :doc:`kim <pair_kim>`
* :doc:`list <pair_list>`
*
* :doc:`tracker <pair_tracker>`
*
*
*
@ -75,6 +75,7 @@ OPT.
* :doc:`coul/debye (gko) <pair_coul>`
* :doc:`coul/diel (o) <pair_coul_diel>`
* :doc:`coul/dsf (gko) <pair_coul>`
* :doc:`coul/exclude <pair_coul>`
* :doc:`coul/long (gko) <pair_coul>`
* :doc:`coul/long/cs (g) <pair_cs>`
* :doc:`coul/long/dielectric <pair_dielectric>`
@ -235,7 +236,7 @@ OPT.
* :doc:`python <pair_python>`
* :doc:`quip <pair_quip>`
* :doc:`rann <pair_rann>`
* :doc:`reax/c (ko) <pair_reaxc>`
* :doc:`reaxff (ko) <pair_reaxff>`
* :doc:`rebo (io) <pair_airebo>`
* :doc:`resquared (go) <pair_resquared>`
* :doc:`sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>`

View File

@ -47,7 +47,7 @@ LAMMPS:
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
of variable it is; see the :doc:`variable <variable>` 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

View File

@ -17,7 +17,7 @@ currently supports building with :doc:`conventional makefiles
differ in how packages are enabled or disabled for inclusion into a
LAMMPS binary so they cannot be mixed. The source files for each
package are in all-uppercase sub-directories of the ``src`` folder, for
example ``src/MOLECULE`` or ``src/USER-MISC``. The ``src/STUBS``
example ``src/MOLECULE`` or ``src/EXTRA-MOLECULE``. The ``src/STUBS``
sub-directory is not a package but contains a dummy MPI library, that is
used when building a serial version of the code. The ``src/MAKE``
directory and its sub-directories contain makefiles with settings and

View File

@ -334,10 +334,11 @@ arguments of commands in LAMMPS are parsed and to make abstractions of
repetitive tasks.
The :cpp:class:`LAMMPS_NS::ArgInfo` class provides an abstraction
for parsing references to compute or fix styles or variables. These
would start with a "c\_", "f\_", "v\_" followed by the ID or name of
than instance and may be postfixed with one or two array indices
"[<number>]" with numbers > 0.
for parsing references to compute or fix styles, variables or custom
integer or double properties handled by :doc:`fix property/atom <fix_property_atom>`.
These would start with a "c\_", "f\_", "v\_", "d\_", "d2\_", "i\_", or "i2\_"
followed by the ID or name of than instance and may be postfixed with
one or two array indices "[<number>]" with numbers > 0.
A typical code segment would look like this:

View File

@ -17,8 +17,9 @@ the steps outlined below:
if your issue has already been reported and if it is still open.
* Check the `GitHub Pull Requests page <https://github.com/lammps/lammps/pulls>`_
to see if there is already a fix for your bug pending.
* Check the `mailing list archives <https://www.lammps.org/mail.html>`_
to see if the issue has been discussed before.
* Check the `mailing list archives <https://www.lammps.org/mail.html>`_ or
the `LAMMPS forum <https://www.lammps.org/forum.html>`_ to see if the
issue has been discussed before.
If none of these steps yields any useful information, please file a new
bug report on the `GitHub Issue page <https://github.com/lammps/lammps/issues>`_.

View File

@ -570,10 +570,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
See the region prism command for details.
*Can only use -plog with multiple partitions*
Self-explanatory. See doc page discussion of command-line switches.
Self-explanatory. See page discussion of command-line switches.
*Can only use -pscreen with multiple partitions*
Self-explanatory. See doc page discussion of command-line switches.
Self-explanatory. See page discussion of command-line switches.
*Can only use Kokkos supported regions with Kokkos package*
Self-explanatory.
@ -1154,7 +1154,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
Self-explanatory.
*Cannot use -reorder after -partition*
Self-explanatory. See doc page discussion of command-line switches.
Self-explanatory. See page discussion of command-line switches.
*Cannot use Ewald with 2d simulation*
The kspace style ewald cannot be used in 2d simulations. You can use
@ -2347,14 +2347,14 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
*Compute used in variable between runs is not current*
Computes cannot be invoked by a variable in between runs. Thus they
must have been evaluated on the last timestep of the previous run in
order for their value(s) to be accessed. See the doc page for the
order for their value(s) to be accessed. See the page for the
variable command for more info.
*Compute used in variable thermo keyword between runs is not current*
Some thermo keywords rely on a compute to calculate their value(s).
Computes cannot be invoked by a variable in between runs. Thus they
must have been evaluated on the last timestep of the previous run in
order for their value(s) to be accessed. See the doc page for the
order for their value(s) to be accessed. See the page for the
variable command for more info.
*Compute vcm/chunk does not use chunk/atom compute*
@ -3126,7 +3126,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
*Energy was not tallied on needed timestep*
You are using a thermo keyword that requires potentials to
have tallied energy, but they did not on this timestep. See the
variable doc page for ideas on how to make this work.
variable page for ideas on how to make this work.
*Epsilon or sigma reference not set by pair style in PPPMDisp*
Self-explanatory.
@ -4535,10 +4535,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
particles.
*Incorrect # of floating-point values in Bodies section of data file*
See doc page for body style.
See page for body style.
*Incorrect # of integer values in Bodies section of data file*
See doc page for body style.
See page for body style.
*Incorrect %s format in data file*
A section of the data file being read by fix property/atom does
@ -4573,7 +4573,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
The number of fields per line is not what expected.
*Incorrect bonus data format in data file*
See the read_data doc page for a description of how various kinds of
See the read_data page for a description of how various kinds of
bonus data must be formatted for certain atom styles.
*Incorrect boundaries with slab Ewald*
@ -4641,7 +4641,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
Incorrect number of words per line in the potential file.
*Incorrect integer value in Bodies section of data file*
See doc page for body style.
See page for body style.
*Incorrect multiplicity arg for dihedral coefficients*
Self-explanatory. Check the input script or data file.
@ -5996,7 +5996,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
Self-explanatory.
*Needed bonus data not in data file*
Some atom styles require bonus data. See the read_data doc page for
Some atom styles require bonus data. See the read_data page for
details.
*Needed molecular topology not in data file*
@ -6198,7 +6198,7 @@ keyword to allow for additional bonds to be formed
*One or more atom IDs is too big*
The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL
setting in your LAMMPS build. See the :doc:`Build settings <Build_settings>` doc page for more info.
setting in your LAMMPS build. See the :doc:`Build settings <Build_settings>` page for more info.
*One or more atom IDs is zero*
Either all atoms IDs must be zero or none of them.
@ -6593,7 +6593,7 @@ keyword to allow for additional bonds to be formed
*Pair style bop requires comm ghost cutoff at least 3x larger than %g*
Use the communicate ghost command to set this. See the pair bop
doc page for more details.
page for more details.
*Pair style born/coul/long requires atom attribute q*
An atom style that defines this attribute must be used.
@ -6913,7 +6913,7 @@ keyword to allow for additional bonds to be formed
*Per-atom energy was not tallied on needed timestep*
You are using a thermo keyword that requires potentials to
have tallied energy, but they did not on this timestep. See the
variable doc page for ideas on how to make this work.
variable page for ideas on how to make this work.
*Per-atom fix in equal-style variable formula*
Equal-style variables cannot use per-atom quantities.
@ -6921,7 +6921,7 @@ keyword to allow for additional bonds to be formed
*Per-atom virial was not tallied on needed timestep*
You are using a thermo keyword that requires potentials to have
tallied the virial, but they did not on this timestep. See the
variable doc page for ideas on how to make this work.
variable page for ideas on how to make this work.
*Per-processor system is too big*
The number of owned atoms plus ghost atoms on a single
@ -8408,7 +8408,7 @@ keyword to allow for additional bonds to be formed
*Virial was not tallied on needed timestep*
You are using a thermo keyword that requires potentials to
have tallied the virial, but they did not on this timestep. See the
variable doc page for ideas on how to make this work.
variable page for ideas on how to make this work.
*Voro++ error: narea and neigh have a different size*
This error is returned by the Voro++ library.

View File

@ -213,7 +213,7 @@ Doc page with :doc:`ERROR messages <Errors_messages>`
in unexpected behavior.
*Fix bond/swap will ignore defined angles*
See the doc page for fix bond/swap for more info on this
See the page for fix bond/swap for more info on this
restriction.
*Fix deposit near setting < possible overlap separation %g*
@ -514,7 +514,7 @@ This will most likely cause errors in kinetic fluctuations.
will integrate the body motion, but it would be more efficient to use
fix rigid.
*Not using real units with pair reax*
*Not using real units with pair reaxff*
This is most likely an error, unless you have created your own ReaxFF
parameter file in a different set of units.
@ -805,5 +805,3 @@ This will most likely cause errors in kinetic fluctuations.
*Using pair tail corrections with pair_modify compute no*
The tail corrections will thus not be computed.
*pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c*
Self-explanatory.

View File

@ -150,6 +150,8 @@ Lowercase directories
+-------------+------------------------------------------------------------------+
| threebody | regression test input for a variety of manybody potentials |
+-------------+------------------------------------------------------------------+
| tracker | track interactions in LJ melt |
+-------------+------------------------------------------------------------------+
| vashishta | use of the Vashishta potential |
+-------------+------------------------------------------------------------------+
| voronoi | Voronoi tesselation via compute voronoi/atom command |
@ -172,10 +174,10 @@ web site.
If you uncomment the :doc:`dump image <dump_image>` line(s) in the input
script a series of JPG images will be produced by the run (assuming
you built LAMMPS with JPG support; see the
:doc:`Build_settings <Build_settings>` doc page for details). These can
:doc:`Build_settings <Build_settings>` page for details). These can
be viewed individually or turned into a movie or animated by tools
like ImageMagick or QuickTime or various Windows-based tools. See the
:doc:`dump image <dump_image>` doc page for more details. E.g. this
:doc:`dump image <dump_image>` page for more details. E.g. this
Imagemagick command would create a GIF file suitable for viewing in a
browser.
@ -205,14 +207,12 @@ Uppercase directories
+------------+--------------------------------------------------------------------------------------------------+
| MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system |
+------------+--------------------------------------------------------------------------------------------------+
| PACKAGES | examples for specific packages and contributed commands in USER-MISC |
| PACKAGES | examples for specific packages and contributed commands |
+------------+--------------------------------------------------------------------------------------------------+
| SPIN | examples for features of the SPIN package |
+------------+--------------------------------------------------------------------------------------------------+
| UNITS | examples that run the same simulation in lj, real, metal units |
+------------+--------------------------------------------------------------------------------------------------+
| USER-MISC | examples for commands in the USER-MISC packages |
+------------+--------------------------------------------------------------------------------------------------+
| VISCOSITY | compute viscosity via several methods |
+------------+--------------------------------------------------------------------------------------------------+
@ -226,7 +226,4 @@ of the sub-directories have their own README files which give further
instructions. See the :doc:`Packages_details <Packages_details>` doc
page for more info on specific packages.
Similarly the USER-MISC directory has sub-directories for examples
corresponding to individual commands or styles in the USER-MISC package.
.. _openkim: https://openkim.org

View File

@ -54,6 +54,7 @@ Analysis howto
Howto_kappa
Howto_viscosity
Howto_diffusion
Howto_structured_data
Force fields howto
==================

View File

@ -50,7 +50,7 @@ a temperature or pressure compute to a barostatting fix.
Thermodynamic output, which can be setup via the
:doc:`thermo_style <thermo_style>` command, often includes pressure
values. As explained on the doc page for the
values. As explained on the page for the
:doc:`thermo_style <thermo_style>` command, the default pressure is
setup by the thermo command itself. It is NOT the pressure associated
with any barostatting fix you have defined or with any compute you

View File

@ -49,7 +49,7 @@ command's documentation for the formula it computes.
COMPASS is a general force field for atomistic simulation of common
organic molecules, inorganic small molecules, and polymers which was
developed using ab initio and empirical parameterization techniques.
See the :doc:`Tools <Tools>` doc page for the msi2lmp tool for creating
See the :doc:`Tools <Tools>` page for the msi2lmp tool for creating
LAMMPS template input and data files from BIOVIA's Materials Studio
files. Please note that the msi2lmp tool is very old and largely
unmaintained, so it does not support all features of Materials Studio

View File

@ -10,7 +10,7 @@ deformable objects, etc. Note that other kinds of finite-size
spherical and aspherical particles are also supported by LAMMPS, such
as spheres, ellipsoids, line segments, and triangles, but they are
simpler entities than body particles. See the :doc:`Howto spherical
<Howto_spherical>` doc page for a general overview of all these
<Howto_spherical>` page for a general overview of all these
particle types.
Body particles are used via the :doc:`atom_style body <atom_style>`
@ -170,14 +170,14 @@ with this body style to compute body/body and body/non-body interactions.
The *rounded/polygon* body style represents body particles as a 2d
polygon with a variable number of N vertices. This style can only be
used for 2d models; see the :doc:`boundary <boundary>` command. See the
"pair_style body/rounded/polygon" doc page for a diagram of two
"pair_style body/rounded/polygon" page for a diagram of two
squares with rounded circles at the vertices. Special cases for N = 1
(circle) and N = 2 (rod with rounded ends) can also be specified.
One use of this body style is for 2d discrete element models, as
described in :ref:`Fraige <body-Fraige>`.
Similar to body style *nparticle*\ , the atom_style body command for
Similar to body style *nparticle*, the atom_style body command for
this body style takes two additional arguments:
.. parsed-literal::
@ -284,7 +284,7 @@ The *rounded/polyhedron* body style represents body particles as a 3d
polyhedron with a variable number of N vertices, E edges and F faces.
This style can only be used for 3d models; see the
:doc:`boundary <boundary>` command. See the "pair_style
body/rounded/polygon" doc page for a diagram of a two 2d squares with
body/rounded/polygon" page for a diagram of a two 2d squares with
rounded circles at the vertices. A 3d cube with rounded spheres at
the 8 vertices and 12 rounded edges would be similar. Special cases
for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be
@ -293,7 +293,7 @@ specified.
This body style is for 3d discrete element models, as described in
:ref:`Wang <body-Wang>`.
Similar to body style *rounded/polygon*\ , the atom_style body command
Similar to body style *rounded/polygon*, the atom_style body command
for this body style takes two additional arguments:
.. parsed-literal::

View File

@ -51,7 +51,7 @@ scales the floating point value to spread it across multiple integers.
Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins =
pencils, 3d bins = boxes, spherical bins, cylindrical bins.
This compute also calculates the number of chunks *Nchunk*\ , which is
This compute also calculates the number of chunks *Nchunk*, which is
used by other commands to tally per-chunk data. *Nchunk* can be a
static value or change over time (e.g. the number of clusters). The
chunk ID for an individual atom can also be static (e.g. a molecule

View File

@ -119,7 +119,7 @@ server code. Another code could be substituted for either.
The examples below show launching both codes from the same window (or
batch script), using the "&" character to launch the first code in the
background. For all modes except *mpi/one*\ , you could also launch the
background. For all modes except *mpi/one*, you could also launch the
codes in separate windows on your desktop machine. It does not
matter whether you launch the client or server first.
@ -132,7 +132,7 @@ mpirun, even if one or both of them runs on a single processor. This
is so that MPI can figure out how to connect both MPI processes
together to exchange MPI messages between them.
For message exchange in *file*\ , *zmq*\ , or *mpi/two* modes:
For message exchange in *file*, *zmq*, or *mpi/two* modes:
.. code-block:: bash

View File

@ -362,7 +362,7 @@ have to be enabled to be included into a LAMMPS executable. Packages
are enabled through setting variables of the kind ``PKG_<NAME>`` to
``on`` and disabled by setting them to ``off`` (or using ``yes``,
``no``, ``1``, ``0`` correspondingly). ``<NAME>`` has to be replaced by
the name of the package, e.g. ``MOLECULE`` or ``USER-MISC``.
the name of the package, e.g. ``MOLECULE`` or ``EXTRA-PAIR``.
Using presets

View File

@ -5,7 +5,7 @@ The adiabatic core-shell model by :ref:`Mitchell and Fincham <MitchellFincham>`
to a system. In order to mimic the electron shell of an ion, a
satellite particle is attached to it. This way the ions are split into
a core and a shell where the latter is meant to react to the
electrostatic environment inducing polarizability. See the :doc:`Howto polarizable <Howto_polarizable>` doc page for a discussion of all
electrostatic environment inducing polarizability. See the :doc:`Howto polarizable <Howto_polarizable>` page for a discussion of all
the polarizable models available in LAMMPS.
Technically, shells are attached to the cores by a spring force f =
@ -78,7 +78,7 @@ satellite particle if desired.
Since the core/shell model permits distances of r = 0.0 between the
core and shell, a pair style with a "cs" suffix needs to be used to
implement a valid long-range Coulombic correction. Several such pair
styles are provided in the CORESHELL package. See :doc:`this doc page <pair_cs>` for details. All of the core/shell enabled pair
styles are provided in the CORESHELL package. See :doc:`this page <pair_cs>` for details. All of the core/shell enabled pair
styles require the use of a long-range Coulombic solver, as specified
by the :doc:`kspace_style <kspace_style>` command. Either the PPPM or
Ewald solvers can be used.

View File

@ -42,7 +42,7 @@ context of your application.
stand-alone code could communicate with LAMMPS through files that the
command writes and reads.
See the :doc:`Modify command <Modify_command>` doc page for info on how
See the :doc:`Modify command <Modify_command>` page for info on how
to add a new command to LAMMPS.
.. spacer

View File

@ -91,7 +91,7 @@ DRUDE package) to convert a non-polarizable data file (here
This will automatically insert the new atoms and bonds.
The masses and charges of DCs and DPs are computed
from *phenol.dff*\ , as well as the DC-DP bond constants. The file
from *phenol.dff*, as well as the DC-DP bond constants. The file
*phenol.dff* contains the polarizabilities of the atom types
and the mass of the Drude particles, for instance:
@ -106,7 +106,7 @@ and the mass of the Drude particles, for instance:
The hydrogen atoms are absent from this file, so they will be treated
as non-polarizable atoms. In the non-polarizable data file
*data.102494.lmp*\ , atom names corresponding to the atom type numbers
*data.102494.lmp*, atom names corresponding to the atom type numbers
have to be specified as comments at the end of lines of the *Masses*
section. You probably need to edit it to add these names. It should
look like
@ -125,7 +125,7 @@ look like
**Basic input file**
The atom style should be set to (or derive from) *full*\ , so that you
The atom style should be set to (or derive from) *full*, so that you
can define atomic charges and molecular bonds, angles, dihedrals...
The *polarizer* tool also outputs certain lines related to the input
@ -143,7 +143,7 @@ and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O
atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and
the atom types 6 to 8 are the newly created DPs.
By recognizing the fix *drude*\ , LAMMPS will find and store matching
By recognizing the fix *drude*, LAMMPS will find and store matching
DC-DP pairs and will treat DP as equivalent to their DC in the
*special bonds* relations. It may be necessary to extend the space
for storing such special relations. In this case extra space should
@ -340,11 +340,11 @@ For the *thole* pair style the coefficients are
The special neighbors have charge-charge and charge-dipole
interactions screened by the *coul* factors of the *special_bonds*
command (0.0, 0.0, and 0.5 in the example above). Without using the
pair_style *thole*\ , dipole-dipole interactions are screened by the
same factor. By using the pair_style *thole*\ , dipole-dipole
pair_style *thole*, dipole-dipole interactions are screened by the
same factor. By using the pair_style *thole*, dipole-dipole
interactions are screened by Thole's function, whatever their special
relationship (except within each DC-DP pair of course). Consider for
example 1-2 neighbors: using the pair_style *thole*\ , their dipoles
example 1-2 neighbors: using the pair_style *thole*, their dipoles
will see each other (despite the *coul* factor being 0.) and the
interactions between these dipoles will be damped by Thole's function.
@ -384,7 +384,7 @@ For our phenol example, the groups would be defined as
group CORES type 1 2 3 # DCs
group DRUDES type 6 7 8 # DPs
Note that with the fixes *drude/transform*\ , it is not required to
Note that with the fixes *drude/transform*, it is not required to
specify *comm_modify vel yes* because the fixes do it anyway (several
times and for the forces also).

View File

@ -140,8 +140,8 @@ After everything is done, add the files to the branch and commit them:
flag) will automatically include **all** modified **and** new files
and that is rarely the behavior you want. It can easily lead to
accidentally adding unrelated and unwanted changes into the
repository. Instead it is preferable to explicitly use *git add*\ ,
*git rm*\ , *git mv* for adding, removing, renaming individual files,
repository. Instead it is preferable to explicitly use *git add*,
*git rm*, *git mv* for adding, removing, renaming individual files,
respectively, and then *git commit* to finalize the commit.
Carefully check all pending changes with *git status* before
committing them. If you find doing this on the command line too

View File

@ -4,7 +4,7 @@ Calculate thermal conductivity
The thermal conductivity kappa of a material can be measured in at
least 4 ways using various options in LAMMPS. See the examples/KAPPA
directory for scripts that implement the 4 methods discussed here for
a simple Lennard-Jones fluid model. Also, see the :doc:`Howto viscosity <Howto_viscosity>` doc page for an analogous discussion
a simple Lennard-Jones fluid model. Also, see the :doc:`Howto viscosity <Howto_viscosity>` page for an analogous discussion
for viscosity.
The thermal conductivity tensor kappa is a measure of the propensity
@ -58,7 +58,7 @@ between hot and cold regions of the simulation box.
The :doc:`compute heat/flux <compute_heat_flux>` command can calculate
the needed heat flux and describes how to implement the Green_Kubo
formalism using additional LAMMPS commands, such as the :doc:`fix ave/correlate <fix_ave_correlate>` command to calculate the needed
auto-correlation. See the doc page for the :doc:`compute heat/flux <compute_heat_flux>` command for an example input script
auto-correlation. See the page for the :doc:`compute heat/flux <compute_heat_flux>` command for an example input script
that calculates the thermal conductivity of solid Ar via the GK
formalism.

View File

@ -3,7 +3,7 @@ Manifolds (surfaces)
**Overview:**
This doc page is not about a LAMMPS input script command, but about
This page is not about a LAMMPS input script command, but about
manifolds, which are generalized surfaces, as defined and used by the
MANIFOLD package, to track particle motion on the manifolds. See
the src/MANIFOLD/README file for more details about the package

View File

@ -3,7 +3,7 @@ Using LAMMPS with the MDI library for code coupling
.. note::
This Howto doc page will eventually replace the
This Howto page will eventually replace the
:doc:`Howto client/server <Howto_client_server>` doc page.
Client/server coupling of two codes is where one code is the "client"
@ -120,7 +120,7 @@ input script will continue. After finishing execution of the input
script, the instance of LAMMPS will be destroyed.
LAMMPS supports the full set of MD-appropriate engine commands defined
by the MDI library. See the :doc:`mdi/engine <mdi_engine>` doc page for
by the MDI library. See the :doc:`mdi/engine <mdi_engine>` page for
a list of these.
If those commands are not sufficient for a user-developed driver to use

View File

@ -268,7 +268,7 @@ Computes that generate values to output
Every :doc:`compute <compute>` in LAMMPS produces either global or
per-atom or local values. The values can be scalars or vectors or
arrays of data. These values can be output using the other commands
described in this section. The doc page for each compute command
described in this section. The page for each compute command
describes what it produces. Computes that produce per-atom or local
values have the word "atom" or "local" in their style name. Computes
without the word "atom" or "local" produce global values.
@ -281,7 +281,7 @@ Fixes that generate values to output
Some :doc:`fixes <fix>` in LAMMPS produces either global or per-atom or
local values which can be accessed by other commands. The values can
be scalars or vectors or arrays of data. These values can be output
using the other commands described in this section. The doc page for
using the other commands described in this section. The page for
each fix command tells whether it produces any output quantities and
describes them.

View File

@ -8,34 +8,33 @@ periodically.
These are the relevant commands:
* :doc:`neb <neb>` for nudged elastic band calculations
* :doc:`hyper <hyper>` for bond boost hyperdynamics (HD)
* :doc:`neb <neb>` for nudged elastic band calculations (NEB)
* :doc:`neb_spin <neb_spin>` for magnetic nudged elastic band calculations
* :doc:`prd <prd>` for parallel replica dynamics
* :doc:`tad <tad>` for temperature accelerated dynamics
* :doc:`temper <temper>` for parallel tempering
* :doc:`prd <prd>` for parallel replica dynamics (PRD)
* :doc:`tad <tad>` for temperature accelerated dynamics (TAD)
* :doc:`temper <temper>` for parallel tempering with fixed volume
* :doc:`temper/npt <temper_npt>` for parallel tempering extended for NPT
* :doc:`temper/grem <temper_grem>` for parallel tempering with generalized replica exchange (gREM)
* :doc:`fix pimd <fix_pimd>` for path-integral molecular dynamics (PIMD)
NEB is a method for finding transition states and barrier energies.
PRD and TAD are methods for performing accelerated dynamics to find
and perform infrequent events. Parallel tempering or replica exchange
runs different replicas at a series of temperature to facilitate
rare-event sampling.
NEB is a method for finding transition states and barrier potential energies.
HD, PRD, and TAD are methods for performing accelerated dynamics to find and
perform infrequent events. Parallel tempering or replica exchange runs
different replicas at a series of temperature to facilitate rare-event
sampling. PIMD runs different replicas whose individual particles in different
replicas are coupled together by springs to model a system of ring-polymers which
can represent the quantum nature of atom cores.
These commands can only be used if LAMMPS was built with the REPLICA
package. See the :doc:`Build package <Build_package>` doc page for more
info.
PIMD runs different replicas whose individual particles are coupled
together by springs to model a system or ring-polymers.
This commands can only be used if LAMMPS was built with the USER-MISC
package. See the :doc:`Build package <Build_package>` doc page for more
package. See the :doc:`Build package <Build_package>` page for more
info.
In all these cases, you must run with one or more processors per
replica. The processors assigned to each replica are determined at
run-time by using the :doc:`-partition command-line switch <Run_options>` to launch LAMMPS on multiple partitions,
which in this context are the same as replicas. E.g. these commands:
run-time by using the :doc:`-partition command-line switch
<Run_options>` to launch LAMMPS on multiple partitions, which in this
context are the same as replicas. E.g. these commands:
.. code-block:: bash
@ -46,9 +45,11 @@ would each run 8 replicas, on either 16 or 8 processors. Note the use
of the :doc:`-in command-line switch <Run_options>` to specify the input
script which is required when running in multi-replica mode.
Also note that with MPI installed on a machine (e.g. your desktop),
you can run on more (virtual) processors than you have physical
processors. Thus the above commands could be run on a
single-processor (or few-processor) desktop so that you can run
a multi-replica simulation on more replicas than you have
physical processors.
Also note that with MPI installed on a machine (e.g. your desktop), you
can run on more (virtual) processors than you have physical processors.
Thus the above commands could be run on a single-processor (or
few-processor) desktop so that you can run a multi-replica simulation on
more replicas than you have physical processors. This is useful for
testing and debugging, since with most modern processors and MPI
libraries the efficiency of a calculation can severely diminish when
oversubscribing processors.

View File

@ -0,0 +1,154 @@
Output structured data from LAMMPS
##################################
LAMMPS can output structured data with the :doc:`print <print>` and :doc:`fix
print <fix_print>` command. This gives you flexibility since you can build
custom data formats that contain system properties, thermo data, and variables
values. This output can be directed to the screen and/or to a file for post
processing.
Writing the current system state, thermo data, variable values
==============================================================
Use the :doc:`print <print>` command to output the current system state, which
can include system properties, thermo data and variable values.
YAML
----
.. code-block:: LAMMPS
print """---
timestep: $(step)
pe: $(pe)
ke: $(ke)""" file current_state.yaml screen no
.. code-block:: yaml
:caption: current_state.yaml
---
timestep: 250
pe: -4.7774327356321810711
ke: 2.4962152903997174569
JSON
----
.. code-block:: LAMMPS
print """{
"timestep": $(step),
"pe": $(pe),
"ke": $(ke)
}""" file current_state.json screen no
.. code-block:: JSON
:caption: current_state.json
{
"timestep": 250,
"pe": -4.7774327356321810711,
"ke": 2.4962152903997174569
}
Writing continuous data during a simulation
===========================================
The :doc:`fix print <fix_print>` command allows you to output an arbitrary string at defined times during a simulation run.
YAML
----
.. code-block:: LAMMPS
fix extra all print 50 """
- timestep: $(step)
pe: $(pe)
ke: $(ke)""" file output.yaml screen no
.. code-block:: yaml
:caption: output.yaml
# Fix print output for fix extra
- timestep: 0
pe: -6.77336805325924729
ke: 4.4988750000000026219
- timestep: 50
pe: -4.8082494418323200591
ke: 2.5257981827119797558
- timestep: 100
pe: -4.7875608875581505686
ke: 2.5062598821985102582
- timestep: 150
pe: -4.7471033686005483787
ke: 2.466095925545450207
- timestep: 200
pe: -4.7509052858544134068
ke: 2.4701136792591693592
- timestep: 250
pe: -4.7774327356321810711
ke: 2.4962152903997174569
Post-processing of YAML files can be easily be done with Python and other
scripting languages. In case of Python the `yaml` package allows you to load the
data files and obtain a list of dictionaries.
.. code-block:: python
import yaml
with open("output.yaml") as f:
data = yaml.load(f, Loader=yaml.FullLoader)
print(data)
.. code-block::
[{'timestep': 0, 'pe': -6.773368053259247, 'ke': 4.498875000000003}, {'timestep': 50, 'pe': -4.80824944183232, 'ke': 2.5257981827119798}, {'timestep': 100, 'pe': -4.787560887558151, 'ke': 2.5062598821985103}, {'timestep': 150, 'pe': -4.747103368600548, 'ke': 2.46609592554545}, {'timestep': 200, 'pe': -4.750905285854413, 'ke': 2.4701136792591694}, {'timestep': 250, 'pe': -4.777432735632181, 'ke': 2.4962152903997175}]
Line Delimited JSON (LD-JSON)
-----------------------------
The JSON format itself is very strict when it comes to delimiters. For continuous
output/streaming data it is beneficial use the *line delimited JSON* format.
Each line represents one JSON object.
.. code-block:: LAMMPS
fix extra all print 50 """{"timestep": $(step), "pe": $(pe), "ke": $(ke)}""" title "" file output.json screen no
.. code-block:: json
:caption: output.json
{"timestep": 0, "pe": -6.77336805325924729, "ke": 4.4988750000000026219}
{"timestep": 50, "pe": -4.8082494418323200591, "ke": 2.5257981827119797558}
{"timestep": 100, "pe": -4.7875608875581505686, "ke": 2.5062598821985102582}
{"timestep": 150, "pe": -4.7471033686005483787, "ke": 2.466095925545450207}
{"timestep": 200, "pe": -4.7509052858544134068, "ke": 2.4701136792591693592}
{"timestep": 250, "pe": -4.7774327356321810711, "ke": 2.4962152903997174569}
One simple way to load this data into a Python script is to use the `pandas`
package. It can directly load these files into a data frame:
.. code-block:: python
import pandas as pd
data = pd.read_json('output.json', lines=True)
print(data)
.. code-block:: bash
timestep pe ke
0 0 -6.773368 4.498875
1 50 -4.808249 2.525798
2 100 -4.787561 2.506260
3 150 -4.747103 2.466096
4 200 -4.750905 2.470114
5 250 -4.777433 2.496215

View File

@ -28,7 +28,7 @@ can be invoked via the *dpd/tstat* pair style:
:doc:`Fix nvt <fix_nh>` only thermostats the translational velocity of
particles. :doc:`Fix nvt/sllod <fix_nvt_sllod>` also does this, except
that it subtracts out a velocity bias due to a deforming box and
integrates the SLLOD equations of motion. See the :doc:`Howto nemd <Howto_nemd>` doc page for further details. :doc:`Fix nvt/sphere <fix_nvt_sphere>` and :doc:`fix nvt/asphere <fix_nvt_asphere>` thermostat not only translation
integrates the SLLOD equations of motion. See the :doc:`Howto nemd <Howto_nemd>` page for further details. :doc:`Fix nvt/sphere <fix_nvt_sphere>` and :doc:`fix nvt/asphere <fix_nvt_asphere>` thermostat not only translation
velocities but also rotational velocities for spherical and aspherical
particles.
@ -88,7 +88,7 @@ Below is a list of some custom temperature computes that can be used like that:
Thermodynamic output, which can be setup via the
:doc:`thermo_style <thermo_style>` command, often includes temperature
values. As explained on the doc page for the
values. As explained on the page for the
:doc:`thermo_style <thermo_style>` command, the default temperature is
setup by the thermo command itself. It is NOT the temperature
associated with any thermostatting fix you have defined or with any

View File

@ -23,21 +23,21 @@ origin given by **a** = (xhi-xlo,0,0); **b** = (xy,yhi-ylo,0); **c** =
and are called "tilt factors" because they are the amount of
displacement applied to faces of an originally orthogonal box to
transform it into the parallelepiped. In LAMMPS the triclinic
simulation box edge vectors **a**\ , **b**\ , and **c** cannot be arbitrary
simulation box edge vectors **a**, **b**, and **c** cannot be arbitrary
vectors. As indicated, **a** must lie on the positive x axis. **b** must
lie in the xy plane, with strictly positive y component. **c** may have
any orientation with strictly positive z component. The requirement
that **a**\ , **b**\ , and **c** have strictly positive x, y, and z components,
respectively, ensures that **a**\ , **b**\ , and **c** form a complete
that **a**, **b**, and **c** have strictly positive x, y, and z components,
respectively, ensures that **a**, **b**, and **c** form a complete
right-handed basis. These restrictions impose no loss of generality,
since it is possible to rotate/invert any set of 3 crystal basis
vectors so that they conform to the restrictions.
For example, assume that the 3 vectors **A**\ ,\ **B**\ ,\ **C** are the edge
For example, assume that the 3 vectors **A**,\ **B**,\ **C** are the edge
vectors of a general parallelepiped, where there is no restriction on
**A**\ ,\ **B**\ ,\ **C** other than they form a complete right-handed basis i.e.
**A** x **B** . **C** > 0. The equivalent LAMMPS **a**\ ,\ **b**\ ,\ **c** are a linear
rotation of **A**\ , **B**\ , and **C** and can be computed as follows:
**A**,\ **B**,\ **C** other than they form a complete right-handed basis i.e.
**A** x **B** . **C** > 0. The equivalent LAMMPS **a**,\ **b**,\ **c** are a linear
rotation of **A**, **B**, and **C** and can be computed as follows:
.. math::
@ -57,9 +57,9 @@ rotation of **A**\ , **B**\ , and **C** and can be computed as follows:
where A = \| **A** \| indicates the scalar length of **A**\ . The hat symbol (\^)
indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles
between the vectors described below. Note that by construction,
**a**\ , **b**\ , and **c** have strictly positive x, y, and z components, respectively.
**a**, **b**, and **c** have strictly positive x, y, and z components, respectively.
If it should happen that
**A**\ , **B**\ , and **C** form a left-handed basis, then the above equations
**A**, **B**, and **C** form a left-handed basis, then the above equations
are not valid for **c**\ . In this case, it is necessary
to first apply an inversion. This can be achieved
by interchanging two basis vectors or by changing the sign of one of them.
@ -95,7 +95,7 @@ for details.
The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the
time the simulation box is created. This happens in one of 3 ways.
If the :doc:`create_box <create_box>` command is used with a region of
style *prism*\ , then a triclinic box is setup. See the
style *prism*, then a triclinic box is setup. See the
:doc:`region <region>` command for details. If the
:doc:`read_data <read_data>` command is used to define the simulation
box, and the header of the data file contains a line with the "xy xz
@ -135,7 +135,7 @@ example), then configurations with tilt = ..., -15, -5, 5, 15, 25,
... are geometrically all equivalent. If the box tilt exceeds this
limit during a dynamics run (e.g. via the :doc:`fix deform <fix_deform>`
command), then the box is "flipped" to an equivalent shape with a tilt
factor within the bounds, so the run can continue. See the :doc:`fix deform <fix_deform>` doc page for further details.
factor within the bounds, so the run can continue. See the :doc:`fix deform <fix_deform>` page for further details.
One exception to this rule is if the first dimension in the tilt
factor (x for xy) is non-periodic. In that case, the limits on the
@ -160,10 +160,10 @@ For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
Triclinic crystal structures are often defined using three lattice
constants *a*\ , *b*\ , and *c*\ , and three angles :math:`\alpha`,
constants *a*, *b*, and *c*, and three angles :math:`\alpha`,
:math:`\beta`, and :math:`\gamma`. Note that in this nomenclature,
the a, b, and c lattice constants are the scalar lengths of the edge
vectors **a**\ , **b**\ , and **c** defined above. The relationship
vectors **a**, **b**, and **c** defined above. The relationship
between these 6 quantities (a, b, c, :math:`\alpha`, :math:`\beta`,
:math:`\gamma`) and the LAMMPS box sizes (lx,ly,lz) =
(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:
@ -188,10 +188,10 @@ The inverse relationship can be written as follows:
{\rm yz} = & \frac{b*c \cos{\alpha} - {\rm xy}*{\rm xz}}{\rm ly} \\
{\rm lz}^2 = & c^2 - {\rm xz}^2 - {\rm yz}^2 \\
The values of *a*\ , *b*\ , *c* , :math:`\alpha` , :math:`\beta`, and
The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and
:math:`\gamma` can be printed out or accessed by computes using the
:doc:`thermo_style custom <thermo_style>` keywords
*cella*\ , *cellb*\ , *cellc*\ , *cellalpha*\ , *cellbeta*\ , *cellgamma*\ ,
*cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma*,
respectively.
As discussed on the :doc:`dump <dump>` command doc page, when the BOX

View File

@ -42,7 +42,7 @@ command, which determines grad(Vstream) in the equation above.
E.g. the derivative in the y-direction of the Vx component of fluid
motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of
the pressure or stress tensor, as calculated by the :doc:`compute pressure <compute_pressure>` command, can also be monitored, which
is the J term in the equation above. See the :doc:`Howto nemd <Howto_nemd>` doc page for details on NEMD simulations.
is the J term in the equation above. See the :doc:`Howto nemd <Howto_nemd>` page for details on NEMD simulations.
The third method is to perform a reverse non-equilibrium MD simulation
using the :doc:`fix viscosity <fix_viscosity>` command which implements

View File

@ -13,7 +13,7 @@ by several popular visualization tools. The :doc:`dump image <dump_image>` and :
output internally rendered images and convert a sequence of them to a
movie during the MD run. Several programs included with LAMMPS as
auxiliary tools can convert between LAMMPS format files and other
formats. See the :doc:`Tools <Tools>` doc page for details.
formats. See the :doc:`Tools <Tools>` page for details.
A Python-based toolkit distributed by our group can read native LAMMPS
dump files, including custom dump files with additional columns of
@ -25,7 +25,7 @@ RasMol visualization programs. Pizza.py has tools that do interactive
3d OpenGL visualization and one that creates SVG images of dump file
snapshots.
.. _pizza: https://pizza.sandia.gov
.. _pizza: https://lammps.github.io/pizza
.. _ensight: https://www.ansys.com/products/fluids/ansys-ensight

View File

@ -53,7 +53,7 @@ granular particles; all the other commands create smooth walls.
* :doc:`fix wall/region <fix_wall_region>` - use region surface as wall
* :doc:`fix wall/gran <fix_wall_gran>` - flat or curved walls with :doc:`pair_style granular <pair_gran>` potential
The *lj93*\ , *lj126*\ , *colloid*\ , *harmonic*\ , and *morse* styles all
The *lj93*, *lj126*, *colloid*, *harmonic*, and *morse* styles all
allow the flat walls to move with a constant velocity, or oscillate in
time. The :doc:`fix wall/region <fix_wall_region>` command offers the
most generality, since the region surface is treated as a wall, and

View File

@ -29,7 +29,7 @@ The following folks deserve special recognition. Many of the packages
they have written are unique for an MD code and LAMMPS would not be as
general-purpose as it is without their expertise and efforts.
* Metin Aktulga (MSU), REAXFF package for C version of ReaxFF
* Metin Aktulga (MSU), REAXFF package for C/C++ version of ReaxFF
* Mike Brown (Intel), GPU and INTEL packages
* Colin Denniston (U Western Ontario), LATBOLTZ package
* Georg Ganzenmuller (EMI), MACHDYN and SPH packages
@ -37,9 +37,10 @@ general-purpose as it is without their expertise and efforts.
* Reese Jones (Sandia) and colleagues, ATC package for atom/continuum coupling
* Christoph Kloss (DCS Computing), LIGGGHTS code for granular materials, built on top of LAMMPS
* Rudra Mukherjee (JPL), POEMS package for articulated rigid body motion
* Trung Ngyuen (Northwestern U), GPU and RIGID and BODY packages
* Trung Ngyuen (Northwestern U), GPU, RIGID, BODY, and DIELECTRIC packages
* Mike Parks (Sandia), PERI package for Peridynamics
* Roy Pollock (LLNL), Ewald and PPPM solvers
* Julien Tranchida (Sandia), SPIN package
* Christian Trott (Sandia), CUDA and KOKKOS packages
* Ilya Valuev (JIHT), AWPMD package for wave packet MD
* Greg Wagner (Northwestern U), MEAM package for MEAM potential

View File

@ -24,18 +24,22 @@ General features
^^^^^^^^^^^^^^^^
* runs on a single processor or in parallel
* distributed-memory message-passing parallelism (MPI)
* spatial-decomposition of simulation domain for parallelism
* open-source distribution
* highly portable C++
* optional libraries used: MPI and single-processor FFT
* GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features
* distributed memory message-passing parallelism (MPI)
* shared memory multi-threading parallelism (OpenMP)
* spatial decomposition of simulation domain for MPI parallelism
* particle decomposition inside of spatial decomposition for OpenMP and GPU parallelism
* GPLv2 licensed open-source distribution
* highly portable C++-11
* modular code with most functionality in optional packages
* only depends on MPI library for basic parallel functionality, MPI stub for serial compilation
* other libraries are optional and only required for specific packages
* GPU (CUDA, OpenCL, HIP, SYCL), Intel Xeon Phi, and OpenMP support for many code features
* easy to extend with new features and functionality
* runs from an input script
* syntax for defining and using variables and formulas
* syntax for looping over runs and breaking out of loops
* run one or multiple simulations simultaneously (in parallel) from one script
* build as library, invoke LAMMPS through library interface or provided Python wrapper
* build as library, invoke LAMMPS through library interface or provided Python wrapper or SWIG based wrappers
* couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both
.. _particle:
@ -53,9 +57,11 @@ Particle and model types
* granular materials
* coarse-grained mesoscale models
* finite-size spherical and ellipsoidal particles
* finite-size line segment (2d) and triangle (3d) particles
* finite-size line segment (2d) and triangle (3d) particles
* finite-size rounded polygons (2d) and polyhedra (3d) particles
* point dipole particles
* rigid collections of particles
* particles with magnetic spin
* rigid collections of n particles
* hybrid combinations of these
.. _ff:
@ -68,26 +74,30 @@ Interatomic potentials (force fields)
:doc:`improper style <improper_style>`, :doc:`kspace style <kspace_style>`
commands)
* pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
* pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated
* charged pairwise potentials: Coulombic, point-dipole
* many-body potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic
* long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald)
* many-body potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, Streitz-Mintmire, 3-body polymorphic, BOP, Vashishta
* machine learning potentials: SNAP, GAP, ACE, N2P2, RANN, AGNI
* long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald), MSM
* polarization models: :doc:`QEq <fix_qeq>`, :doc:`core/shell model <Howto_coreshell>`, :doc:`Drude dipole model <Howto_drude>`
* charge equilibration (QEq via dynamic, point, shielded, Slater methods)
* coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO
* mesoscopic potentials: granular, Peridynamics, SPH
* mesoscopic potentials: granular, Peridynamics, SPH, mesoscopic tubular potential (MESONT)
* semi-empirical potentials: multi-ion generalized pseudopotential theory (MGPT), second moment tight binding + QEq (SMTB-Q), density functional tight-binding (LATTE)
* electron force field (eFF, AWPMD)
* bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable)
* angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS)
* dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS
* improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS)
* bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable), tabulated
* angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS), tabulated
* dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS, tabulated
* improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS), tabulated
* polymer potentials: all-atom, united-atom, bead-spring, breakable
* water potentials: TIP3P, TIP4P, SPC
* water potentials: TIP3P, TIP4P, SPC, SPC/E and variants
* interlayer potentials for graphene and analogues
* metal-organic framework potentials (QuickFF, MO-FF)
* implicit solvent potentials: hydrodynamic lubrication, Debye
* force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
* force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
* access to the `OpenKIM Repository <http://openkim.org>`_ of potentials via :doc:`kim command <kim_commands>`
* hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
* overlaid potentials: superposition of multiple pair potentials
* hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
* overlaid potentials: superposition of multiple pair potentials (including many-body) with optional scale factor
.. _create:
@ -120,9 +130,10 @@ Ensembles, constraints, and boundary conditions
* harmonic (umbrella) constraint forces
* rigid body constraints
* SHAKE bond and angle constraints
* Monte Carlo bond breaking, formation, swapping
* motion constraints to manifold surfaces
* Monte Carlo bond breaking, formation, swapping, template based reaction modeling
* atom/molecule insertion and deletion
* walls of various kinds
* walls of various kinds, static and moving
* non-equilibrium molecular dynamics (NEMD)
* variety of additional boundary conditions and constraints
@ -146,6 +157,7 @@ Diagnostics
^^^^^^^^^^^
* see various flavors of the :doc:`fix <fix>` and :doc:`compute <compute>` commands
* introspection command for system, simulation, and compile time settings and configurations
.. _output:
@ -160,8 +172,9 @@ Output
* parallel I/O of dump and restart files
* per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc)
* user-defined system-wide (log file) or per-atom (dump file) calculations
* spatial and time averaging of per-atom quantities
* time averaging of system-wide quantities
* custom partitioning (chunks) for binning, and static or dynamic grouping of atoms for analysis
* spatial, time, and per-chunk averaging of per-atom quantities
* time averaging and histogramming of system-wide quantities
* atom snapshots in native, XYZ, XTC, DCD, CFG formats
.. _replica1:
@ -170,9 +183,12 @@ Multi-replica models
^^^^^^^^^^^^^^^^^^^^
* :doc:`nudged elastic band <neb>`
* :doc:`hyperdynamics <hyper>`
* :doc:`parallel replica dynamics <prd>`
* :doc:`temperature accelerated dynamics <tad>`
* :doc:`parallel tempering <temper>`
* path-integral MD: `first variant <fix_pimd>`, `second variant <fix_ipi>`
* multi-walker collective variables with :doc:`Colvars <fix_colvars>` and :doc:`Plumed <fix_plumed>`
.. _prepost:
@ -187,7 +203,7 @@ Pre- and post-processing
plotting, and visualization for LAMMPS simulations. Pizza.py is
written in `Python <python_>`_ and is available for download from `the Pizza.py WWW site <pizza_>`_.
.. _pizza: https://pizza.sandia.gov
.. _pizza: https://lammps.github.io/pizza
.. _python: http://www.python.org
@ -203,11 +219,12 @@ page for details.
These are LAMMPS capabilities which you may not think of as typical
classical MD options:
* :doc:`static <balance>` and :doc:`dynamic load-balancing <fix_balance>`
* :doc:`static <balance>` and :doc:`dynamic load-balancing <fix_balance>`, optional with recursive bisectioning decomposition
* :doc:`generalized aspherical particles <Howto_body>`
* :doc:`stochastic rotation dynamics (SRD) <fix_srd>`
* :doc:`real-time visualization and interactive MD <fix_imd>`
* :doc:`real-time visualization and interactive MD <fix_imd>`, :doc:`built-in renderer for images and movies <dump_image>`
* calculate :doc:`virtual diffraction patterns <compute_xrd>`
* calculate :doc:`finite temperature phonon dispersion <fix_phonon>` and the :doc:`dynamical matrix of minimized structures <dynamical_matrix>`
* :doc:`atom-to-continuum coupling <fix_atc>` with finite elements
* coupled rigid body integration via the :doc:`POEMS <fix_poems>` library
* :doc:`QM/MM coupling <fix_qmmm>`

View File

@ -32,7 +32,7 @@ Here are suggestions on how to perform these tasks:
are simple programs that will build simple molecular systems, such as
linear bead-spring polymer chains. The moltemplate program is a true
molecular builder that will generate complex molecular models. See
the :doc:`Tools <Tools>` doc page for details on tools packaged with
the :doc:`Tools <Tools>` page for details on tools packaged with
LAMMPS. The `Pre/post processing page <http:/www.lammps.org/prepost.html>`_ of the LAMMPS website
describes a variety of third party tools for this task. Furthermore,
some LAMMPS internal commands allow to reconstruct, or selectively add
@ -49,7 +49,7 @@ Here are suggestions on how to perform these tasks:
* **Simulation analysis:** If you want to perform analysis on-the-fly as
your simulation runs, see the :doc:`compute <compute>` and
:doc:`fix <fix>` doc pages, which list commands that can be used in a
LAMMPS input script. Also see the :doc:`Modify <Modify>` doc page for
LAMMPS input script. Also see the :doc:`Modify <Modify>` page for
info on how to add your own analysis code or algorithms to LAMMPS.
For post-processing, LAMMPS output such as :doc:`dump file snapshots <dump>` can be converted into formats used by other MD or
post-processing codes. To some degree, that conversion can be done
@ -61,7 +61,7 @@ Here are suggestions on how to perform these tasks:
LAMMPS will do these conversions. Scripts provided in the
tools/python directory can extract and massage data in dump files to
make it easier to import into other programs. See the
:doc:`Tools <Tools>` doc page for details on these various options.
:doc:`Tools <Tools>` page for details on these various options.
* **Visualization:** LAMMPS can produce NETPBM, JPG or PNG snapshot images
on-the-fly via its :doc:`dump image <dump_image>` command and pass
them to an external program, `FFmpeg <https://www.ffmpeg.org>`_ to generate
@ -71,13 +71,13 @@ Here are suggestions on how to perform these tasks:
LAMMPS website for
visualization packages that can process LAMMPS output data.
* **Plotting:** See the next bullet about Pizza.py as well as the
:doc:`Python <Python_head>` doc page for examples of plotting LAMMPS
:doc:`Python <Python_head>` page for examples of plotting LAMMPS
output. Scripts provided with the *python* tool in the tools
directory will extract and massage data in log and dump files to make
it easier to analyze and plot. See the :doc:`Tools <Tools>` doc page
for more discussion of the various tools.
* **Pizza.py:** Our group has also written a separate toolkit called
`Pizza.py <https://pizza.sandia.gov>`_ which can do certain kinds of
`Pizza.py <https://lammps.github.io/pizza>`_ which can do certain kinds of
setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS
simulations. It thus provides some functionality for several of the
above bullets. Pizza.py is written in `Python <http://www.python.org>`_

View File

@ -1,40 +1,61 @@
LAMMPS open-source license
--------------------------
LAMMPS is a freely-available open-source code, distributed under the
terms of the `GNU Public License Version 2 <gpl_>`_, which means you can
use or modify the code however you wish for your own purposes, but have
to adhere to certain rules when redistributing it or software derived
GPL version of LAMMPS
^^^^^^^^^^^^^^^^^^^^^
LAMMPS is an open-source code, available free-of-charge, and distributed
under the terms of the `GNU Public License Version 2 <gpl_>`_ (GPLv2),
which means you can use or modify the code however you wish for your own
purposes, but have to adhere to certain rules when redistributing it -
specifically in binary form - or are distributing software derived
from it or that includes parts of it.
LAMMPS comes with no warranty of any kind. As each source file states
in its header, it is a copyrighted code that is distributed free-of-
charge, under the terms of the `GNU Public License Version 2 <gpl_>`_
(GPLv2). This is often referred to as open-source distribution - see
`www.gnu.org <gnuorg_>`_ or `www.opensource.org <opensource_>`_. The
legal text of the GPL is in the LICENSE file included in the LAMMPS
distribution.
LAMMPS comes with no warranty of any kind.
As each source file states in its header, it is a copyrighted code, and
thus not in the public domain. For more information about open-source
software and open-source distribution, see `www.gnu.org <gnuorg_>`_
or `www.opensource.org <opensource_>`_. The legal text of the GPL as it
applies to LAMMPS is in the LICENSE file included in the LAMMPS distribution.
.. _gpl: https://github.com/lammps/lammps/blob/master/LICENSE
.. _lgpl: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
.. _gnuorg: http://www.gnu.org
.. _opensource: http://www.opensource.org
Here is a summary of what the GPL means for LAMMPS users:
Here is a more specific summary of what the GPL means for LAMMPS users:
(1) Anyone is free to use, modify, or extend LAMMPS in any way they
(1) Anyone is free to use, copy, modify, or extend LAMMPS in any way they
choose, including for commercial purposes.
(2) If you **distribute** a modified version of LAMMPS, it must remain
open-source, meaning you distribute **all** of it under the terms of
the GPL. You should clearly annotate such a code as a derivative version
of LAMMPS.
open-source, meaning you are required to distribute **all** of it under
the terms of the GPL. You should clearly annotate such a modified code
as a derivative version of LAMMPS.
(3) If you release any code that includes or uses LAMMPS source code,
then it must also be open-sourced, meaning you distribute it under
the terms of the GPL.
the terms of the GPL. You may write code that interfaces LAMMPS to
a differently licensed library. In that case the code that provides
the interface must be licensed GPL, but not necessarily that library
unless you are distributing binaries that require the library to run.
(4) If you give LAMMPS files to someone else, the GPL LICENSE file and
source file headers (including the copyright and GPL notices) should
remain part of the code.
LGPL version of LAMMPS
^^^^^^^^^^^^^^^^^^^^^^
We occasionally make stable LAMMPS releases available under the `GNU
Lesser Public License v2.1 <lgpl_>`_. This is on request only and with
non-LGPL compliant files removed. This allows uses linking non-GPL
compatible software with the (otherwise unmodified) LAMMPS library
or loading it dynamically at runtime. Any **modifications** to
the LAMMPS code however, even with the LGPL licensed version, must still
be made available under the same open source terms as LAMMPS itself.

View File

@ -10,23 +10,26 @@ conditions. It can model 2d or 3d systems with only a few particles
up to millions or billions.
LAMMPS can be built and run on a laptop or desktop machine, but is
designed for parallel computers. It will run on any parallel machine
that supports the `MPI <mpi_>`_ message-passing library. This includes
shared-memory boxes and distributed-memory clusters and
supercomputers.
designed for parallel computers. It will run in serial and on any
parallel machine that supports the `MPI <mpi_>`_ message-passing
library. This includes shared-memory boxes and distributed-memory
clusters and supercomputers. Parts of LAMMPS also support
`OpenMP multi-threading <omp_>`_, vectorization and GPU acceleration.
.. _mpi: https://en.wikipedia.org/wiki/Message_Passing_Interface
.. _lws: https://www.lammps.org
.. _omp: https://www.openmp.org
LAMMPS is written in C++. Earlier versions were written in F77 and
F90. See the `History page <https://www.lammps.org/history.html>`_ of
the website for details. All versions can be downloaded from the
`LAMMPS website <lws_>`_.
LAMMPS is written in C++ and requires a compiler that is at least
compatible with the C++-11 standard. Earlier versions were written in
F77, F90, and C++-98. See the `History page
<https://www.lammps.org/history.html>`_ of the website for details. All
versions can be downloaded as source code from the `LAMMPS website
<lws_>`_.
LAMMPS is designed to be easy to modify or extend with new
capabilities, such as new force fields, atom types, boundary
conditions, or diagnostics. See the :doc:`Modify <Modify>` doc page for
more details.
LAMMPS is designed to be easy to modify or extend with new capabilities,
such as new force fields, atom types, boundary conditions, or
diagnostics. See the :doc:`Modify <Modify>` page for more details.
In the most general sense, LAMMPS integrates Newton's equations of
motion for a collection of interacting particles. A single particle
@ -41,8 +44,10 @@ short distances, so that the local density of particles never becomes
too large. This is in contrast to methods used for modeling plasma
or gravitational bodies (e.g. galaxy formation).
On parallel machines, LAMMPS uses spatial-decomposition techniques to
partition the simulation domain into small sub-domains of equal
computational cost, one of which is assigned to each processor.
Processors communicate and store "ghost" atom information for atoms
that border their sub-domain.
On parallel machines, LAMMPS uses spatial-decomposition techniques with
MPI parallelization to partition the simulation domain into small
sub-domains of equal computational cost, one of which is assigned to
each processor. Processors communicate and store "ghost" atom
information for atoms that border their sub-domain. Multi-threading
parallelization and GPU acceleration with with particle-decomposition
can be used in addition.

View File

@ -20,7 +20,8 @@ available online are listed below.
* `Glossary of terms relevant to LAMMPS <https://www.lammps.org/glossary.html>`_
* `LAMMPS highlights with images <https://www.lammps.org/pictures.html>`_
* `LAMMPS highlights with movies <https://www.lammps.org/movies.html>`_
* `Mail list <https://www.lammps.org/mail.html>`_
* `Mailing list <https://www.lammps.org/mail.html>`_
* `LAMMPS forum <https://www.lammps.org/forum.html>`_
* `Workshops <https://www.lammps.org/workshops.html>`_
* `Tutorials <https://www.lammps.org/tutorials.html>`_

View File

@ -17,6 +17,7 @@ It documents the following functions:
- :cpp:func:`lammps_gather_atoms_subset`
- :cpp:func:`lammps_scatter_atoms`
- :cpp:func:`lammps_scatter_atoms_subset`
- :cpp:func:`lammps_gather_bonds`
- :cpp:func:`lammps_gather`
- :cpp:func:`lammps_gather_concat`
- :cpp:func:`lammps_gather_subset`
@ -51,6 +52,11 @@ It documents the following functions:
-----------------------
.. doxygenfunction:: lammps_gather_bonds
:project: progguide
-----------------------
.. doxygenfunction:: lammps_gather
:project: progguide

View File

@ -8,7 +8,11 @@ functions. They do not directly call the LAMMPS library.
- :cpp:func:`lammps_decode_image_flags`
- :cpp:func:`lammps_set_fix_external_callback`
- :cpp:func:`lammps_fix_external_set_energy_global`
- :cpp:func:`lammps_fix_external_set_energy_peratom`
- :cpp:func:`lammps_fix_external_set_virial_global`
- :cpp:func:`lammps_fix_external_set_virial_peratom`
- :cpp:func:`lammps_fix_external_set_vector_length`
- :cpp:func:`lammps_fix_external_set_vector`
- :cpp:func:`lammps_free`
- :cpp:func:`lammps_is_running`
- :cpp:func:`lammps_force_timeout`
@ -33,7 +37,7 @@ where such memory buffers were allocated that require the use of
-----------------------
.. doxygenfunction:: lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*)
.. doxygenfunction:: lammps_set_fix_external_callback(void *, const char *, FixExternalFnPtr, void*)
:project: progguide
-----------------------
@ -43,11 +47,31 @@ where such memory buffers were allocated that require the use of
-----------------------
.. doxygenfunction:: lammps_fix_external_set_energy_peratom
:project: progguide
-----------------------
.. doxygenfunction:: lammps_fix_external_set_virial_global
:project: progguide
-----------------------
.. doxygenfunction:: lammps_fix_external_set_virial_peratom
:project: progguide
-----------------------
.. doxygenfunction:: lammps_fix_external_set_vector_length
:project: progguide
-----------------------
.. doxygenfunction:: lammps_fix_external_set_vector
:project: progguide
-----------------------
.. doxygenfunction:: lammps_free
:project: progguide

View File

@ -2,12 +2,21 @@ What does a LAMMPS version mean
-------------------------------
The LAMMPS "version" is the date when it was released, such as 1 May
2014. LAMMPS is updated continuously. Whenever we fix a bug or add a
feature, we release it in the next *patch* release, which are
typically made every couple of weeks. Info on patch releases are on
`this website page <https://www.lammps.org/bug.html>`_. Every few
months, the latest patch release is subjected to more thorough testing
and labeled as a *stable* version.
2014. LAMMPS is updated continuously and we aim to keep it working
correctly and reliably at all times. You can follow its development
in a public `git repository on GitHub <https://github.com/lammps/lammps>`_.
Whenever we fix a bug or update or add a feature, it will be merged into
the `master` branch of the git repository. When a sufficient number of
changes have accumulated *and* the software passes a set of automated
tests, we release it in the next *patch* release, which are made every
few weeks. Info on patch releases are on `this website page
<https://www.lammps.org/bug.html>`_.
Once or twice a year, only bug fixes and small, non-intrusive changes are
included for a period of time, and the code is subjected to more detailed
and thorough testing than the default automated testing. The latest
patch release after such a period is then labeled as a *stable* version.
Each version of LAMMPS contains all the features and bug-fixes up to
and including its version date.

View File

@ -6,7 +6,7 @@ Body particles can represent complex entities, such as surface meshes
of discrete points, collections of sub-particles, deformable objects,
etc.
See the :doc:`Howto body <Howto_body>` doc page for an overview of using
See the :doc:`Howto body <Howto_body>` page for an overview of using
body particles and the various body styles LAMMPS supports. New
styles can be created to add new kinds of body particles to LAMMPS.

View File

@ -25,13 +25,16 @@ the work of others (and possibly get scooped by them) or have your work
duplicated by others.
For informal communication with (some of) the LAMMPS developers you may
ask to join the `LAMMPS developers on Slack <https://lammps.slack.com>`_.
This slack work space is by invitation only. Thus for access, please
send an e-mail to ``slack@lammps.org`` explaining what part of LAMMPS
you are working on. Only discussions related to LAMMPS development are
tolerated, so this is **NOT** for people that look for help with compiling,
installing, or using LAMMPS. Please contact the `lammps-users mailing
list <https://www.lammps.org/mail.html>`_ for those purposes instead.
ask to join the `LAMMPS developers on Slack
<https://lammps.slack.com>`_. This slack work space is by invitation
only. Thus for access, please send an e-mail to ``slack@lammps.org``
explaining what part of LAMMPS you are working on. Only discussions
related to LAMMPS development are tolerated, so this is **NOT** for
people that look for help with compiling, installing, or using
LAMMPS. Please contact the
`lammps-users mailing list <https://www.lammps.org/mail.html>`_ or the
`LAMMPS forum <https://www.lammps.org/forum.html>`_ for those purposes
instead.
How quickly your contribution will be integrated depends largely on how
much effort it will cause to integrate and test it, how many and what
@ -49,11 +52,9 @@ with gzip. Please only use gzip compression, as this works well and is
available on all platforms.
If the new features/files are broadly useful we may add them as core
files to LAMMPS or as part of a :doc:`package <Packages_list>`. The
USER-MISC package is simply a collection of (mostly) unrelated single
files, which is the simplest way to have your contribution quickly added
to the LAMMPS distribution. All packages are listed and described
on the :doc:`Packages details <Packages_details>` doc page.
files to LAMMPS or as part of a :doc:`package <Packages_list>`. All
packages are listed and described on the :doc:`Packages details
<Packages_details>` doc page.
Note that by providing us files to release, you are agreeing to make
them open-source, i.e. we can release them under the terms of the GPL
@ -61,7 +62,7 @@ them open-source, i.e. we can release them under the terms of the GPL
a LGPL (version 2.1) distribution that we make available to developers
on request only and with files that are authorized for that kind of
distribution removed (e.g. interface to FFTW). See the
:doc:`LAMMPS license <Intro_opensource>` doc page for details.
:doc:`LAMMPS license <Intro_opensource>` page for details.
.. note::
@ -79,7 +80,7 @@ distribution removed (e.g. interface to FFTW). See the
.. _lws: https://www.lammps.org
The previous sections of this doc page describe how to add new "style"
The previous sections of this page describe how to add new "style"
files of various kinds to LAMMPS. Packages are simply collections of
one or more new class files which are invoked as a new style within a
LAMMPS input script. If designed correctly, these additions typically
@ -92,7 +93,7 @@ trivial change is making a parent-class method "virtual" when you derive
a new child class from it.
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
or package for our consideration. Following these steps will save
both you and us time. Please have a look at the existing files in
packages in the src directory for examples. If you are uncertain, please ask.
@ -106,7 +107,7 @@ packages in the src directory for examples. If you are uncertain, please ask.
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 100 characters. I/O is done via
level, **no tabs**, no lines over 100 characters. I/O is done via
the C-style stdio library (mixing of stdio and iostreams is generally
discouraged), class header files should not import any system headers
outside of <cstdio>, STL containers should be avoided in headers,
@ -150,37 +151,40 @@ packages in the src directory for examples. If you are uncertain, please ask.
You may also use ``// clang-format on/off`` throughout your file
to protect sections of the file from being reformatted.
* If you want your contribution to be added as a user-contributed
feature, and it's a single file (actually a \*.cpp and \*.h file) it can
rapidly be added to the USER-MISC directory. Send us the one-line
entry to add to the USER-MISC/README file in that dir, along with the
2 source files. You can do this multiple times if you wish to
contribute several individual features.
* Please review the list of :doc:`available Packages <Packages_details>`
to see if your contribution could be added to be added to one of them.
It should fit into the general purposed of that package. If it does not
fit well, it can be added to one of the EXTRA- packages or the MISC package.
* If you want your contribution to be added and it has several related
features or is dependent on an external or bundled library, it is best
to make it a package directory with a name like FOO. In addition to
your new files, the directory should contain a README text file. The
README should contain your name and contact information and a brief
description of what your new package does. If your files depend on
other LAMMPS style files also being installed (e.g. because your file
is a derived class from the other LAMMPS class), then an Install.sh
file is also needed to check for those dependencies. See other README
and Install.sh files in other directories as examples. Submit a pull
request on GitHub or send us a tarball of this FOO directory. Pull
requests are strongly encouraged since the greatly reduce the effort
to integrate a contribution and simplify the process of adjusting the
contributed code to cleanly integrate into the LAMMPS distribution.
* If your contribution has several related features that are not covered
by one of the existing packages or is dependent on a library (bundled
or external), it is best to make it a package directory with a name
like FOO. In addition to your new files, the directory should contain
a README text file. The README should contain your name and contact
information and a brief description of what your new package does. If
your files depend on other LAMMPS style files also being installed
(e.g. because your file is a derived class from the other LAMMPS
class), then an Install.sh file is also needed to check for those
dependencies and modifications to src/Depend.sh to trigger the checks.
See other README and Install.sh files in other directories as examples.
Similarly for CMake support changes need to be made to cmake/CMakeLists.txt,
the files in cmake/presets, and possibly a file to cmake/Modules/Packages/
added. Please check out how this is handled for existing packages and
ask the LAMMPS developers if you need assistance. Please submit a pull
request on GitHub or send us a tarball of this FOO directory and all
modified files. Pull requests are strongly encouraged since they greatly
reduce the effort required to integrate a contribution and simplify the
process of adjusting the contributed code to cleanly fit into the
LAMMPS distribution.
* 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.
that is inside the LAMMPS namespace. To simplify maintenance, we
may ask to adjust the programming style and formatting style to closer
match the rest of LAMMPS. We bundle a clang-format configuration file
that can help with adjusting the formatting, although this is not a
strict requirement.
* You **must** also create a **documentation** file for each new command
or style you are adding to LAMMPS. For simplicity and convenience,
@ -199,13 +203,13 @@ packages in the src directory for examples. If you are uncertain, please ask.
pdf" in the doc folder. As appropriate, the text files can include
inline mathematical expression or figures (see doc/JPG for examples).
Additional PDF files with further details (see doc/PDF for examples)
may also be included. The doc page should also include literature
may also be included. The 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. Citation labels must be unique across all .rst files.
The "Restrictions" section of the doc page should indicate if your
The "Restrictions" section of the page should indicate if your
command is only available if LAMMPS is built with the appropriate
USER-MISC or FOO package. See other package doc files for examples of
FOO package. See other package doc files for examples of
how to do this. Please run at least "make html" and "make spelling"
and carefully inspect and proofread the resulting HTML format doc page
before submitting your code. Upon submission of a pull request,

View File

@ -129,7 +129,7 @@ derived class. See fix.h for details.
Typically, only a small fraction of these methods are defined for a
particular fix. Setmask is mandatory, as it determines when the fix
will be invoked during the timestep. Fixes that perform time
integration (\ *nve*\ , *nvt*\ , *npt*\ ) implement initial_integrate() and
integration (\ *nve*, *nvt*, *npt*\ ) implement initial_integrate() and
final_integrate() to perform velocity Verlet updates. Fixes that
constrain forces implement post_force().

Binary file not shown.

View File

@ -7,7 +7,7 @@ specific set of features. For example, force fields for molecular
systems or rigid-body constraints are in packages. You can see the
list of all packages and "make" commands to manage them by typing
"make package" from within the src directory of the LAMMPS
distribution. The :doc:`Build package <Build_package>` doc page gives
distribution. The :doc:`Build package <Build_package>` page gives
general info on how to install and un-install packages as part of the
LAMMPS build process.

View File

@ -49,11 +49,17 @@ page gives those details.
* :ref:`DPD-SMOOTH <PKG-DPD-SMOOTH>`
* :ref:`DRUDE <PKG-DRUDE>`
* :ref:`EFF <PKG-EFF>`
* :ref:`EXTRA-COMPUTE <PKG-EXTRA-COMPUTE>`
* :ref:`EXTRA-DUMP <PKG-EXTRA-DUMP>`
* :ref:`EXTRA-FIX <PKG-EXTRA-FIX>`
* :ref:`EXTRA-MOLECULE <PKG-EXTRA-MOLECULE>`
* :ref:`EXTRA-PAIR <PKG-EXTRA-PAIR>`
* :ref:`FEP <PKG-FEP>`
* :ref:`GPU <PKG-GPU>`
* :ref:`GRANULAR <PKG-GRANULAR>`
* :ref:`H5MD <PKG-H5MD>`
* :ref:`INTEL <PKG-INTEL>`
* :ref:`INTERLAYER <PKG-INTERLAYER>`
* :ref:`KIM <PKG-KIM>`
* :ref:`KOKKOS <PKG-KOKKOS>`
* :ref:`KSPACE <PKG-KSPACE>`
@ -83,6 +89,7 @@ page gives those details.
* :ref:`NETCDF <PKG-NETCDF>`
* :ref:`OPENMP <PKG-OPENMP>`
* :ref:`OPT <PKG-OPT>`
* :ref:`ORIENT <PKG-ORIENT>`
* :ref:`PERI <PKG-PERI>`
* :ref:`PHONON <PKG-PHONON>`
* :ref:`PLUGIN <PKG-PLUGIN>`
@ -108,7 +115,6 @@ page gives those details.
* :ref:`VORONOI <PKG-VORONOI>`
* :ref:`VTK <PKG-VTK>`
* :ref:`YAFF <PKG-YAFF>`
* :ref:`USER-MISC <PKG-USER-MISC>`
----------
@ -183,6 +189,7 @@ atomic information to continuum fields.
**Install:**
This package has :ref:`specific installation instructions <atc>` on the :doc:`Build extras <Build_extras>` page.
The ATC package requires that also the `MANYBODY <PKG-MANYBODY>`_ package is installed.
**Supporting info:**
@ -311,6 +318,11 @@ rigid-body integrators with improved stability.
**Author:** Oliver Henrich (University of Strathclyde, Glasgow).
**Install:**
The CG-DNA package requires that also the `MOLECULE <PKG-MOLECULE>`_ and
`ASPHERE <PKG-ASPHERE>`_ packages are installed.
**Supporting info:**
* src/CG-DNA: filenames -> commands
@ -507,6 +519,11 @@ compute for simulating systems using boundary element solvers for
computing the induced charges at the interface between two media with
different dielectric constants.
**Install:**
To use this package, also the :ref:`KSPACE <PKG-KSPACE>` and
:ref:`EXTRA-PAIR <PKG-EXTRA-PAIR>` packages need to be installed.
**Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U)
**Supporting info:**
@ -557,6 +574,7 @@ short-range or long-range interactions.
* :doc:`pair_style lj/cut/dipole/cut <pair_dipole>`
* :doc:`pair_style lj/cut/dipole/long <pair_dipole>`
* :doc:`pair_style lj/long/dipole/long <pair_dipole>`
* :doc: `angle_style dipole <angle_dipole>`
* examples/dipole
----------
@ -750,6 +768,86 @@ tools/eff; see its README file.
* tools/eff
* https://www.lammps.org/movies.html#eff
-------------------
.. _PKG-EXTRA-COMPUTE:
EXTRA-COMPUTE package
---------------------
**Contents:**
Additional compute styles that are less commonly used.
**Supporting info:**
* src/EXTRA-COMPUTE: filenames -> commands
* :doc:`compute <compute>`
----------
.. _PKG-EXTRA-DUMP:
EXTRA-DUMP package
------------------
**Contents:**
Additional dump styles that are less commonly used.
**Supporting info:**
* src/EXTRA-DUMP: filenames -> commands
* :doc:`dump <dump>`
----------
.. _PKG-EXTRA-FIX:
EXTRA-FIX package
-----------------
**Contents:**
Additional fix styles that are less commonly used.
**Supporting info:**
* src/EXTRA-FIX: filenames -> commands
* :doc:`fix <fix>`
----------
.. _PKG-EXTRA-MOLECULE:
EXTRA-MOLECULE package
----------------------
**Contents:**
Additional bond, angle, dihedral, and improper styles that are less commonly used.
**Supporting info:**
* src/EXTRA-MOLECULE: filenames -> commands
* :doc:`molecular styles <Commands_bond>`
----------
.. _PKG-EXTRA-PAIR:
EXTRA-PAIR package
------------------
**Contents:**
Additional pair styles that are less commonly used.
**Supporting info:**
* src/EXTRA-PAIR: filenames -> commands
* :doc:`pair_style <pair_style>`
----------
.. _PKG-FEP:
@ -933,6 +1031,24 @@ This package has :ref:`specific installation instructions <intel>` on the :doc:`
----------
.. _PKG-INTERLAYER:
INTERLAYER package
------------------
**Contents:**
A collection of pair styles specifically to be used for modeling layered
materials, most commonly graphene sheets (or equivalents).
**Supporting info:**
* src/INTERLAYER: filenames -> commands
* :doc:`Pair style <Commands_pair>` page
* examples/PACKAGES/interlayer
----------
.. _PKG-KIM:
KIM package
@ -1100,6 +1216,10 @@ can be used to model MD particles influenced by hydrodynamic forces.
**Authors:** Frances Mackay and Colin Denniston (University of Western
Ontario).
**Install:**
The LATBOLTZ package requires that LAMMPS is build in :ref:`MPI parallel mode <serial>`.
**Supporting info:**
* src/LATBOLTZ: filenames -> commands
@ -1423,7 +1543,7 @@ MISC package
**Contents:**
A variety of compute, fix, pair, dump styles with specialized
A variety of compute, fix, pair, bond styles with specialized
capabilities that don't align with other packages. Do a directory
listing, "ls src/MISC", to see the list of commands.
@ -1435,18 +1555,16 @@ listing, "ls src/MISC", to see the list of commands.
**Supporting info:**
* src/MISC: filenames -> commands
* :doc:`compute ti <compute_ti>`
* :doc:`fix evaporate <fix_evaporate>`
* :doc:`bond_style special <bond_special>`
* :doc:`compute viscosity/cos <compute_viscosity_cos>`
* :doc:`fix accelerate/cos <fix_accelerate_cos>`
* :doc:`fix imd <fix_imd>`
* :doc:`fix oneway <fix_oneway>`
* :doc:`fix orient/fcc <fix_orient>`
* :doc:`fix ttm <fix_ttm>`
* :doc:`fix thermal/conductivity <fix_thermal_conductivity>`
* :doc:`fix viscosity <fix_viscosity>`
* examples/KAPPA
* examples/VISCOSITY
* https://www.lammps.org/pictures.html#ttm
* https://www.lammps.org/movies.html#evaporation
* :doc:`fix ipi <fix_ipi>`
* :doc:`pair_style agni <pair_agni>`
* :doc:`pair_style list <pair_list>`
* :doc:`pair_style srp <pair_srp>`
* :doc:`pair_style tracker <pair_tracker>`
* :doc:`fix pair/tracker <fix_pair_tracker>`
----------
@ -1495,9 +1613,9 @@ A general interface for machine-learning interatomic potentials, including PyTor
**Install:**
To use this package, also the :ref:`ML-SNAP package <PKG-ML-SNAP>` package needs
To use this package, also the :ref:`ML-SNAP <PKG-ML-SNAP>` package needs
to be installed. To make the *mliappy* model available, also the
:ref:`PYTHON package <PKG-PYTHON>` package needs to be installed, the version
:ref:`PYTHON <PKG-PYTHON>` package needs to be installed, the version
of Python must be 3.6 or later, and the `cython <https://cython.org/>`_ software
must be installed.
@ -1762,6 +1880,10 @@ MPIIO library. It adds :doc:`dump styles <dump>` with a "mpiio" in
their style name. Restart files with an ".mpiio" suffix are also
written and read in parallel.
**Install:**
The MPIIO package requires that LAMMPS is build in :ref:`MPI parallel mode <serial>`.
**Supporting info:**
* src/MPIIO: filenames -> commands
@ -1931,6 +2053,23 @@ This package has :ref:`specific installation instructions <opt>` on the :doc:`Bu
* Search the :doc:`pair style <Commands_pair>` page for styles followed by (t)
* `Benchmarks page <https://www.lammps.org/bench.html>`_ of web site
.. _PKG-ORIENT:
ORIENT package
--------------
**Contents:**
A few fixes that apply orientation dependent forces for studying
grain boundary migration.
**Supporting info:**
* src/ORIENT: filenames -> commands
* :doc:`fix orient/bcc <fix_orient>`
* :doc:`fix orient/fcc <fix_orient>`
* :doc:`fix orient/eco <fix_orient_eco>`
----------
.. _PKG-PERI:
@ -1978,6 +2117,12 @@ And a :doc:`dynamical_matrix <dynamical_matrix>` as well as a
:doc:`third_order <third_order>` command to compute the dynamical matrix
and third order tensor from finite differences.
**Install:**
The PHONON package requires that also the `KSPACE <PKG-KSPACE>`_
package is installed.
**Authors:** Ling-Ti Kong (Shanghai Jiao Tong University) for "fix phonon"
and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order"
@ -2269,10 +2414,10 @@ for monitoring molecules as bonds are created and destroyed.
* src/REAXFF: filenames -> commands
* src/REAXFF/README
* :doc:`pair_style reax/c <pair_reaxc>`
* :doc:`fix reax/c/bonds <fix_reaxc_bonds>`
* :doc:`fix reax/c/species <fix_reaxc_species>`
* examples/reax
* :doc:`pair_style reaxff <pair_reaxff>`
* :doc:`fix reaxff/bonds <fix_reaxff_bonds>`
* :doc:`fix reaxff/species <fix_reaxff_species>`
* examples/reaxff
----------
@ -2300,10 +2445,13 @@ another set.
* :doc:`prd <prd>`
* :doc:`tad <tad>`
* :doc:`temper <temper>`,
* :doc:`temper/npt <temper_npt>`,
* :doc:`temper/grem <temper_grem>`,
* :doc:`run_style verlet/split <run_style>`
* examples/neb
* examples/prd
* examples/tad
* examples/PACKAGES/grem
----------
@ -2358,6 +2506,7 @@ the Forschungszentrum Juelich.
**Install:**
This package has :ref:`specific installation instructions <scafacos>` on the :doc:`Build extras <Build_extras>` page.
The SCAFACOS package requires that LAMMPS is build in :ref:`MPI parallel mode <serial>`.
**Supporting info:**
@ -2653,26 +2802,3 @@ which discuss the `QuickFF <quickff_>`_ methodology.
* :doc:`pair_style mm3/switch3/coulgauss/long <pair_lj_switch3_coulgauss_long>`
* :doc:`pair_style lj/switch3/coulgauss/long <pair_lj_switch3_coulgauss_long>`
* examples/PACKAGES/yaff
----------
.. _PKG-USER-MISC:
USER-MISC package
-----------------
**Contents:**
A potpourri of (mostly) unrelated features contributed to LAMMPS by
users. Each feature is a single fix, compute, pair, bond, angle,
dihedral, improper, or command style.
**Authors:** The author for each style in the package is listed in the
src/USER-MISC/README file.
**Supporting info:**
* src/USER-MISC: filenames -> commands
* src/USER-MISC/README
* one page per individual command listed in src/USER-MISC/README
* examples/USER-MISC

View File

@ -143,6 +143,31 @@ whether an extra library is needed to build and use the package:
- :doc:`pair_style eff/cut <pair_eff>`
- PACKAGES/eff
- no
* - :ref:`EXTRA-COMPUTE <PKG-EXTRA-COMPUTE>`
- additional compute styles
- :doc:`compute <compute>`
- n/a
- no
* - :ref:`EXTRA-DUMP <PKG-EXTRA-DUMP>`
- additional dump styles
- :doc:`dump <dump>`
- n/a
- no
* - :ref:`EXTRA-FIX <PKG-EXTRA-FIX>`
- additional fix styles
- :doc:`fix <fix>`
- n/a
- no
* - :ref:`EXTRA-MOLECULE <PKG-EXTRA-MOLECULE>`
- additional molecular styles
- :doc:`molecular styles <Commands_bond>`
- n/a
- no
* - :ref:`EXTRA-PAIR <PKG-EXTRA-PAIR>`
- additional pair styles
- :doc:`pair_style <pair_style>`
- n/a
- no
* - :ref:`FEP <PKG-FEP>`
- free energy perturbation
- :doc:`compute fep <compute_fep>`
@ -168,6 +193,11 @@ whether an extra library is needed to build and use the package:
- :doc:`Speed intel <Speed_intel>`
- `Benchmarks <https://www.lammps.org/bench.html>`_
- no
* - :ref:`INTERLAYER <PKG-INTERLAYER>`
- Inter-layer pair potentials
- :doc:`several pair styles <Commands_pair>`
- PACKAGES/interlayer
- no
* - :ref:`KIM <PKG-KIM>`
- OpenKIM wrapper
- :doc:`pair_style kim <pair_kim>`
@ -313,6 +343,11 @@ whether an extra library is needed to build and use the package:
- :doc:`Speed opt <Speed_opt>`
- `Benchmarks <https://www.lammps.org/bench.html>`_
- no
* - :ref:`ORIENT <PKG-ORIENT>`
- fixes for orientation depended forces
- :doc:`fix orient/* <fix_orient>`
- PACKAGES/orient_eco
- no
* - :ref:`PERI <PKG-PERI>`
- Peridynamics models
- :doc:`pair_style peri <pair_peri>`
@ -370,7 +405,7 @@ whether an extra library is needed to build and use the package:
- no
* - :ref:`REAXFF <PKG-REAXFF>`
- ReaxFF potential (C/C++)
- :doc:`pair_style reaxc <pair_reaxc>`
- :doc:`pair_style reaxff <pair_reaxff>`
- reax
- no
* - :ref:`REPLICA <PKG-REPLICA>`
@ -423,11 +458,6 @@ whether an extra library is needed to build and use the package:
- :doc:`fix nvt/uef <fix_nh_uef>`
- PACKAGES/uef
- no
* - :ref:`USER-MISC <PKG-USER-MISC>`
- single-file contributions
- USER-MISC/README
- USER-MISC
- no
* - :ref:`VORONOI <PKG-VORONOI>`
- Voronoi tesselation
- :doc:`compute voronoi/atom <compute_voronoi_atom>`

View File

@ -43,7 +43,7 @@ complex loop with branching logic, than can be created using the
simple looping and branching logic enabled by the :doc:`next <next>` and
:doc:`if <if>` commands.
See the :doc:`python <python>` doc page and the :doc:`variable <variable>`
See the :doc:`python <python>` page and the :doc:`variable <variable>`
doc page for its python-style variables for more info, including
examples of Python code you can write for both pure Python operations
and callbacks to LAMMPS.

View File

@ -35,9 +35,9 @@ visualization package you have installed.
Note that for GL, you need to be able to run the Pizza.py GL tool,
which is included in the pizza sub-directory. See the Pizza.py doc pages for more info:
* `https://pizza.sandia.gov <pizza_>`_
* `https://lammps.github.io/pizza <pizza_>`_
.. _pizza: https://pizza.sandia.gov
.. _pizza: https://lammps.github.io/pizza
Note that for AtomEye, you need version 3, and there is a line in the
scripts that specifies the path and name of the executable. See the

View File

@ -20,7 +20,7 @@ computes, fixes, or variables in LAMMPS using the :py:mod:`lammps` module.
global vector or array, a single double value from the vector or array
is returned, indexed by I (vector) or I and J (array). I,J are
zero-based indices.
See the :doc:`Howto output <Howto_output>` doc page for a discussion of
See the :doc:`Howto output <Howto_output>` page for a discussion of
global, per-atom, and local data, and of scalar, vector, and array
data types. See the doc pages for individual :doc:`computes <compute>`
and :doc:`fixes <fix>` for a description of what they calculate and

View File

@ -41,4 +41,4 @@ first importing from the ``lammps`` module:
>>> CDLL("liblammps.so")
If an error occurs, carefully go through the steps in :ref:`python_install_guides` and on the
:doc:`Build_basics <Build_basics>` doc page about building a shared library.
:doc:`Build_basics <Build_basics>` page about building a shared library.

View File

@ -42,7 +42,7 @@ single processor. In theory you should get identical answers on any
number of processors and on any machine. In practice, numerical
round-off due to using floating-point math can cause slight differences
and an eventual divergence of molecular dynamics trajectories. See the
:doc:`Errors common <Errors_common>` doc page for discussion of this.
:doc:`Errors common <Errors_common>` page for discussion of this.
LAMMPS can run as large a problem as will fit in the physical memory of
one or more processors. If you run out of memory, you must run on more

View File

@ -365,7 +365,7 @@ to insure that a specific Kspace processor (in the second partition) is
matched up with a specific set of processors in the first partition.
See the :doc:`General tips <Speed_tips>` page for more details.
If the keyword *nth* is used with a setting *N*\ , then it means every
If the keyword *nth* is used with a setting *N*, then it means every
Nth processor will be moved to the end of the ranking. This is useful
when using the :doc:`run_style verlet/split <run_style>` command with 2
partitions via the -partition command-line switch. The first set of
@ -397,7 +397,7 @@ so that the processors in each partition will be
See the "processors" command for how to insure processors from each
partition could then be grouped optimally for quad-core nodes.
If the keyword is *custom*\ , then a file that specifies a permutation
If the keyword is *custom*, then a file that specifies a permutation
of the processor ranks is also specified. The format of the reorder
file is as follows. Any number of initial blank or comment lines
(starting with a "#" character) can be present. These should be
@ -464,7 +464,7 @@ The syntax following restartfile (or remap), namely
datafile keyword value ...
is identical to the arguments of the :doc:`write_data <write_data>`
command. See its doc page for details. This includes its
command. See its page for details. This includes its
optional keyword/value settings.
----------
@ -505,11 +505,11 @@ The syntax following restartfile (or remap), namely
group-ID dumpstyle dumpfile arg1 arg2 ...
is identical to the arguments of the :doc:`write_dump <write_dump>`
command. See its doc page for details. This includes what per-atom
command. See its page for details. This includes what per-atom
fields are written to the dump file and optional dump_modify settings,
including ones that affect how parallel dump files are written, e.g.
the *nfile* and *fileper* keywords. See the
:doc:`dump_modify <dump_modify>` doc page for details.
:doc:`dump_modify <dump_modify>` page for details.
----------
@ -537,7 +537,7 @@ partition screen files file.N.
**-suffix style args**
Use variants of various styles if they exist. The specified style can
be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt*\ , or *hybrid*\ . These
be *gpu*, *intel*, *kk*, *omp*, *opt*, or *hybrid*\ . These
refer to optional packages that LAMMPS can be built with, as described
in :doc:`Accelerate performance <Speed>`. The "gpu" style corresponds to the
GPU package, the "intel" style to the INTEL package, the "kk"

View File

@ -152,7 +152,7 @@ information is provided about the line search and statistics on how
many iterations and force-evaluations the minimizer required.
Multiple force evaluations are typically done at each iteration to
perform a 1d line minimization in the search direction. See the
:doc:`minimize <minimize>` doc page for more details.
:doc:`minimize <minimize>` page for more details.
----------

View File

@ -71,7 +71,7 @@ by AMD.
**Building LAMMPS with the GPU package:**
See the :ref:`Build extras <gpu>` doc page for
See the :ref:`Build extras <gpu>` page for
instructions.
**Run with the GPU package from the command line:**
@ -118,7 +118,7 @@ automatic selection of the number of GPUs to use.
Using the "-pk" switch explicitly allows for setting of the number of
GPUs/node to use and additional options. Its syntax is the same as
the "package gpu" command. See the :doc:`package <package>`
command doc page for details, including the default values used for
command page for details, including the default values used for
all its options if it is not specified.
Note that the default for the :doc:`package gpu <package>` command is to
@ -182,7 +182,7 @@ deterministic results.
calculations can be dynamically balanced across the CPU cores and
GPUs. GPU-specific settings can be made which can be optimized
for different hardware. See the :doc:`package <package>` command
doc page for details.
page for details.
* As described by the :doc:`package gpu <package>` command, GPU
accelerated pair styles can perform computations asynchronously with
CPU computations. The "Pair" time reported by LAMMPS will be the

View File

@ -103,7 +103,7 @@ Quick Start for Experienced Users
"""""""""""""""""""""""""""""""""
LAMMPS should be built with the INTEL package installed.
Simulations should be run with 1 MPI task per physical *core*\ ,
Simulations should be run with 1 MPI task per physical *core*,
not *hardware thread*\ .
* Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary.
@ -205,7 +205,7 @@ this information can normally be obtained with:
Building LAMMPS with the INTEL package
"""""""""""""""""""""""""""""""""""""""""""
See the :ref:`Build extras <intel>` doc page for
See the :ref:`Build extras <intel>` page for
instructions. Some additional details are covered here.
For building with make, several example Makefiles for building with

View File

@ -67,7 +67,7 @@ produce an executable compatible with a specific hardware.
Building LAMMPS with the KOKKOS package
"""""""""""""""""""""""""""""""""""""""
See the :ref:`Build extras <kokkos>` doc page for instructions.
See the :ref:`Build extras <kokkos>` page for instructions.
Running LAMMPS with the KOKKOS package
""""""""""""""""""""""""""""""""""""""
@ -217,7 +217,7 @@ threads/task as Nt. The product of these two values should be N, i.e.
be best for many-body potentials. For simpler pair-wise potentials, it
may be faster to use a "full" neighbor list with Newton flag to "off".
Use the "-pk kokkos" :doc:`command-line switch <Run_options>` to change
the default :doc:`package kokkos <package>` options. See its doc page for
the default :doc:`package kokkos <package>` options. See its page for
details and default settings. Experimenting with its options can provide
a speed-up for specific calculations. For example:
@ -279,7 +279,7 @@ one or more nodes, each with two GPUs:
setting the neighbor binsize equal to twice the CPU default value will
give speedup, which is the default when running on GPUs. Use the "-pk
kokkos" :doc:`command-line switch <Run_options>` to change the default
:doc:`package kokkos <package>` options. See its doc page for details and
:doc:`package kokkos <package>` options. See its page for details and
default settings. Experimenting with its options can provide a speed-up
for specific calculations. For example:

View File

@ -18,7 +18,7 @@ launched by each MPI task on the local node (using shared memory).
Building LAMMPS with the OPENMP package
"""""""""""""""""""""""""""""""""""""""""
See the :ref:`Build extras <openmp>` doc page for
See the :ref:`Build extras <openmp>` page for
instructions.
Run with the OPENMP package from the command line
@ -50,7 +50,7 @@ threads per MPI task via the OMP_NUM_THREADS environment variable.
You can also use the "-pk omp Nt" :doc:`command-line switch <Run_options>`, to explicitly set Nt = # of OpenMP threads
per MPI task to use, as well as additional options. Its syntax is the
same as the :doc:`package omp <package>` command whose doc page gives
same as the :doc:`package omp <package>` command whose page gives
details, including the default values used if it is not specified. It
also gives more details on how to set the number of threads via the
OMP_NUM_THREADS environment variable.
@ -70,7 +70,7 @@ Use the :doc:`suffix omp <suffix>` command, or you can explicitly add an
You must also use the :doc:`package omp <package>` command to enable the
OPENMP package. When you do this you also specify how many threads
per MPI task to use. The command doc page explains other options and
per MPI task to use. The command page explains other options and
how to set the number of threads via the OMP_NUM_THREADS environment
variable.

View File

@ -15,7 +15,7 @@ Any hardware. Any compiler.
Building LAMMPS with the OPT package
""""""""""""""""""""""""""""""""""""
See the :ref:`Build extras <opt>` doc page for instructions.
See the :ref:`Build extras <opt>` page for instructions.
Run with the OPT package from the command line
""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -15,7 +15,7 @@ Sandia which provides tools for doing setup, analysis, plotting, and
visualization for LAMMPS simulations.
.. _lws: https://www.lammps.org
.. _pizza: https://pizza.sandia.gov
.. _pizza: https://lammps.github.io/pizza
.. _python: https://www.python.org
Additional tools included in the LAMMPS distribution are described on
@ -76,7 +76,6 @@ Post-processing tools
* :ref:`phonon <phonon>`
* :ref:`pymol_asphere <pymol>`
* :ref:`python <pythontools>`
* :ref:`reax <reax_tool>`
* :ref:`replica <replica>`
* :ref:`smd <smd>`
* :ref:`spin <spin>`
@ -173,7 +172,7 @@ Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London.
chain tool
----------------------
The file chain.f creates a LAMMPS data file containing bead-spring
The file chain.f90 creates a LAMMPS data file containing bead-spring
polymer chains and/or monomer solvent atoms. It uses a text file
containing chain definition parameters as an input. The created
chains and solvent atoms can strongly overlap, so LAMMPS needs to run
@ -364,7 +363,7 @@ michele.ceriotti at gmail.com, to interface to a variety of molecular
dynamics codes.
See the tools/i-pi/manual.pdf file for an overview of i-PI, and the
:doc:`fix ipi <fix_ipi>` doc page for further details on running PIMD
:doc:`fix ipi <fix_ipi>` page for further details on running PIMD
calculations with LAMMPS.
----------
@ -947,20 +946,6 @@ while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com)
----------
.. _reax_tool:
reax tool
--------------------------
The reax sub-directory contains stand-alone codes that can
post-process the output of the :doc:`fix reax/c/bonds <fix_reaxc_bonds>`
command from a LAMMPS simulation using :doc:`ReaxFF <pair_reaxc>`. See
the README.txt file for more info.
These tools were written by Aidan Thompson at Sandia.
----------
.. _smd:
smd tool

View File

@ -1,4 +1,4 @@
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
@ -7,11 +7,11 @@ produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, INTEL, KOKKOS,
OPENMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more
See the :doc:`Speed packages <Speed_packages>` page for more
instructions on how to use the accelerated styles effectively.

View File

@ -56,7 +56,7 @@ radian\^2.
----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are
functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
@ -65,13 +65,13 @@ produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, INTEL, KOKKOS,
OPENMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script.
See :doc:`Speed packages <Speed_packages>` doc page for more
See :doc:`Speed packages <Speed_packages>` page for more
instructions on how to use the accelerated styles effectively.
----------

View File

@ -54,7 +54,7 @@ Restrictions
""""""""""""
This angle style can only be used if LAMMPS was built with the
MOLECULE package. See the :doc:`Build package <Build_package>` doc page
EXTRA-MOLECULE package. See the :doc:`Build package <Build_package>` doc page
for more info.
Related commands

View File

@ -58,7 +58,7 @@ Restrictions
""""""""""""
This angle style can only be used if LAMMPS was built with the
MOLECULE package. See the :doc:`Build package <Build_package>` doc page
EXTRA-MOLECULE package. See the :doc:`Build package <Build_package>` doc page
for more info.
Related commands

View File

@ -53,7 +53,8 @@ Restrictions
""""""""""""
This angle style can only be used if LAMMPS was built with the
USER-MISC package.
EXTRA-MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info.
Related commands
""""""""""""""""

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